AGI时代,程序员想学习大语言模型(LLM),应该从哪里开始?
程序员25岁做什么能够改变35岁被淘汰的命运?对于程序员的新一轮革命,我觉得人工智能大模型方向是你可以认真审视的一个方向,你可以选择通过它创业,也可以选择进入这个领域,它是一个更加开放的领域,也让程序员有更多的选择,也能创造无限的可能。
大模型技术栈不断更新发展,作为程序员的我们该如何应用大模型技术实现自己的技术飞跃,哪怕只是实现效率提升呢!相信很多的伙伴都有这样的想法,期望通过应用大模型去做一些自己的应用。加上前段时间OpenAI发布会介绍的GPTs,更是无限降低了技术人才以及非技术人才去开发自己的应用门槛。当然,更深层次的应用是我们做技术的更向往的,不管是AI编程,还是模型微调,甚者想要实现自己的模型私有化。这篇文章,我将分享自己应用大模型技术迈出的第一步,希望对你有帮助。
2022年底,随着ChatGPT的横空出世,大模型时代来临了,千亿甚至万亿参数的大模型陆续出现,各大企业、高校争相发声,纷纷推出自己的大模型,这些都预示着通用智能时代的到来。那么我们可以做些什么呢?
作为一个技术开发者,ChatGPT的出现带给我巨大的震撼,也促使我开始思考,相信就像很多人思考的一样,在大模型时代的洪流下,我会被大模型所取代吗?我能够做些什么来抵挡它带来的冲击,他又会带给我什么样的机遇呢?
我开始在各大网站上搜索大模型相关的信息,希望能够尽量多的了解一些大模型的知识,得到一些指导,但很遗憾,大部分信息要么浅尝辄止,要么专业性极强,这些都不是我想要的,我亦很难在其中汲取到我需要的养分。
直到有一天,一个知乎上的老师联系我,他推荐我听两堂关于大模型的公开课,我半信半疑的接受了。第一堂是关于AI大模型颠覆程序员的价值,第二堂是LangChain框架和如何Fine-tune实现模型的定制化,这节课的内容技术性非常强,但老师的讲解深入浅出,令我醍醐灌顶,我想我知道了应该怎样做,以及我会被取代吗?不会的,所有与时俱进的大家都不会,AI是我们的帮手,不是对手,它的出现只会让我们的工作更便捷,更轻松,而我们需要做的,就是尽快了解它,掌握它。当然我也极力推荐你去听一下他们的公开课,干货满满,也会让你重新审视自己的工作方式,会让你对自己未来长远发展有一个新的规划,赶快行动起来。
基于所有这些思考,我报名了《AI全栈工程师培养计划》,我相信我能够有所收获,能够追寻到我想要的答案。
我上了第一堂课,是孙志岗老师给讲的,他是哈工大的副教授,还独立开发了ChatALL,此外还有非常多的title,是一个有实战和影响力的开发者。整堂课老师从三个层面进行了展开,这堂课对我影响深远,并对未来充满了希望,在此记录下来,跟大家一起分享。
一、 怎样学好,并应用大模型
AGI(Artificial General Intelligence,通用人工智能)时代,懂AI、懂编程、懂业务的超级个体,会是AGI时代最重要的人。为了成为这样的超级个体,我们需要在哪几个方向发力呢?那就是:原理、实践和认知。
不懂原理就不会举一反三,走不了太远。
不懂实践就只能纸上谈兵,做事不落地。
认知不高就无法做对决策,天花板太低。
接着,老师给我们展示了我们学员的职业构成,我从来没有见过有哪一门课,学员的组成是这样的复杂与多样。而这也反证了,大模型时代,对各行业的大家都提出了要求,也都给予了机遇,我们站在风口上,应当抓住它。下面我放一张关于这个课程的学习人群,我们也能看出来各个行业领域,看看是否你也是其中一员。
孙老师在课上也给同学们吃了几颗定心丸,这也让我认识到多模态新一代人工智能的变化之大,相较于过去得确存在很大的变化,我总结以下核心几点:
1. 用好AI需要很多数学知识吗?
以前真需要,以后可能不那么需要了。
2. 有的知识太深,我理解不了怎么办?
[用到再讲,学以致用]是这堂课的教学理念,很多知识,用着用着就了解了;
少部分数学知识主要集中在数据和模型训练部分,不理解,也不影响使用。
3. 感觉讲的太浅了,没学到知识怎么办?
更深的东西,在实践中未必有用;
欢迎随时在群里提问。
4. 课听懂了,实际工作中还是不会用怎么办?
NLP的实际问题通常不是由一个算法解决的,我们把拆解问题的思路融入课程中,用心体会。
在了解了这些之后,接下来我们看一些更干、更实的内容,大模型到底能干什么?
大模型能干什么?
大模型,全称「大语言模型」,英文「Large Language Model」,缩写「LLM」。例如以下这些都是目前访问量较高的大语言模型,我们能够看到越来越多的头部公司、创业公司开始布局大模型,我也给大家放了访问地址,大家可以自行体验:
ChatGPT:https://chat.openai.com/
Bing Chat:https://bing.com/new
文心一言:https://yiyan.baidu.com/
讯飞星火:https://xinghuo.xfyun.cn/
智谱清言:https://chatglm.cn/
当然,我们不难发现,在大模型快速发展的一年,ChatGPT 仍然是当家扛把子,别人追赶的对象。对于问答类的大模型大家难免会有疑问,那大语言模型只能充当聊天机器人吗?
我的回答是:NONONO,它的应用场景,远不止于此。在图像、音视频、编程、文案、知识库等应用上,它都能比传统的处理方式或工具强N多倍,接下来我就结合几个大家常用的案例来抛砖引玉一下。
1. 按格式输出
我们提供给大模型一个收件地址,并用自然语言描述我们希望它输出的格式,那么大模型就会按照“name”、“address”以及“phone”三个字段对进行整合。
2. 分类
我们提供给大模型一个新闻标题,以及几个类别,让大模型为我们在这几个类别里面进行分类,那么大模型就会给出它认为的答案并输出。
3.聚类
我们提供给大模型几个句子,并让大模型根据它自己的理解,对这几个句子进行聚类,以数组的形式进行输出,可以看到大模型也给出了它认为的答案。
4.持续互动
当然大模型也可以与用户进行多轮对话,即持续互动,以下举了一个下棋的例子,首先将三个子连成一行的那方赢,第一轮对话中我们给大模型介绍了游戏规则,并以坐标的形式放了4个棋子,这轮对话结束后,我们继续问大模型“该X方放置棋子了,他应该把棋子放在哪里?”,大模型给出了图示以及这样放置的原因,可见大模型是能够保存上一轮对话的历史的,我们可以基于历史对大模型进行进一步的交流。
4.持续互动
当然大模型也可以与用户进行多轮对话,即持续互动,以下举了一个下棋的例子,首先将三个子连成一行的那方赢,第一轮对话中我们给大模型介绍了游戏规则,并以坐标的形式放了4个棋子,这轮对话结束后,我们继续问大模型“该X方放置棋子了,他应该把棋子放在哪里?”,大模型给出了图示以及这样放置的原因,可见大模型是能够保存上一轮对话的历史的,我们可以基于历史对大模型进行进一步的交流。
5. 技术相关问题
技术相关的问题肯定是程序员的必问问题之一,以下例子中我们用自然语言描述了我们的需求,我们在Ubuntu的系统中,我们没有安装任何软件包,我们需要运行一个MySQL的数据库,我们应该怎样做,可见大模型给到了我们非常详细的代码。当然了,除此之外,我们还可以将我们运行代码过程中遇到的报错信息粘贴到大模型对话框里,可能下一秒这个问题就解决了~
结合上面几个简单的小例子,可能没那么难,这也是它的冰山一角。
而这仅仅是一个入门,《AI全栈工程师培养计划》这门课是一个全面、系统、实践创新的综合性课程,旨在培养掌握前沿技术的全栈工程师。该计划包括多个阶段,涵盖了从基础知识到大模型框架、大模型微调的方方面面。我建议你可以先通过公开课,来全方位剖析一下在你的工作领域有哪些工作是可以通过大模型来进行优化。
大模型如何生成结果
其实,大模型只是根据上文,猜测下一个词(的概率),相当于逐字逐句的生成,而OpenAI 的接口名就叫「completion」,也证明了其只会「生成」的本质。
举个例子:假如我们将“今天我很”的prompt给到大模型,那么他就会返回“高兴,因为我学会了如何使用github”,我们也不知道他为什么返回这句话,但这个例子证明了大模型的回复是一个字一个字依次往后生成的,且每次生成的字都是概率最大的字。
简单解释下以下代码,首先我们需要导入openai的包,然后导入我们自己的api_key,如果有小伙伴还不知道api_key是怎样生成的以及有什么作用,后面我会单独再出一篇文章来讲解一下。这些给出以后,我们定义prompt,也就是给到大模型的输入“今天我很”,定义一个response参数来接收大模型的返回结果,其中需要的参数包括:model(我们选用的大模型是哪个)、prompt(输入模板)、max_tokens(最大返回字符数)、temperature(回答随机性大小)、stream(是否回持续生成文本,知道用户手动停止或达到设定的生成长度)。
我们可以通俗的解读一下ChatGPT 的工作原理:
GPT「大模型」阅读了人类曾说过的所有的话。这就是「学习」
把一串 token 后面跟着的不同 token 的概率记下来。记下的就是「参数」,也叫「权重」
当我们给它若干 token,GPT 就能算出概率最高的下一个 token 是什么。这就是「生成」
用生成的 token,再加上上文,就能继续生成下一个 token。以此类推,生成更多文字
在了解了我们相关原理之后,我们浅浅来解析一下大模型的开发框架,我们想要学习并应用大模型,那么我们对大模型的原理还是要非常熟悉的。
大模型应用架构
大模型技术分两个部分:
1. 训练基础大模型:全世界只需要1000个人
2. 建造大模型应用:所有技术人员都应该掌握
目前大模型在业务中是如何应用的呢?典型的业务架构有以下三种。
AI Embedded模式是指,大模型技术在业务中仅仅参与某一个单独的分支,是大模型刚刚介入业务的初期阶段。
AI Copilot是指大模型已经逐渐参与到业务中的每个分支,但是还需要人做总体把控与业务派分,是大模型发展的中期阶段。
AI Agent是指大模型已经完全可以独立完成业务分派与执行,人工只需要在最初的时候进行发号指令。
目前Agent还太超前,我们正处于由AI Embedded追求AI Copilot的阶段。
以上便是我在第一堂课中的收获,接下来还有两个月的课程,从一开始的犹豫不决到现在,我十分确定,我一定可以在这系列课程中有所收获,我也将随时将课后的思考与领悟同大家分享。
页:
[1]