“ 大模型就相当于厨师,参数就相当于调料。”
不过那个讲的比较抽象,这里就用一个更形象的例子来解释一下大模型的参数到底是什么,以及训练的原理。
01.大模型和厨师
从我们使用者的角度来说,大模型就是一个黑盒,它需要输入,然后给出一个输出。
如下图就是大模型的黑盒模型:
而从我们使用上来看,基本上就是一个聊天框,然后我们输入文字/图片/视频等,然后大模型给我们一个输出。
而这种模式和我们去饭店吃饭一样,我们到饭店之后点菜,然后厨师就会把我们的菜做好,而厨房对我们来说也是一个黑盒。
大模型那么多参数是干什么的呢?厨师又是怎么做菜的呢?
如果把没有训练过的大模型比作一个新东方烹饪学校的学生;那么刚开始这个学生并不会做菜,如果你让他做菜,那么他只能根据自己的感觉乱七八糟的一通操作。
这个就是初始化的大模型,它虽然可以输出结果,但它输出的结果乱七八糟。
所以学生需要去学习怎么做菜;不论会不会做饭的人应该都知道,炒菜需要控制火候与调料,不同的菜需要不同的火候和调料。
火候有大火小火中火,调料有必须的葱姜蒜,还有盐,辣椒,鸡精,麻辣虾,油等等。
做菜的时候,不同的菜需要不同的搭配,而且需要不同的火候和调料;比如,西红柿炒蛋需要有西红柿和鸡蛋,然后调料需要有盐,也可以放葱姜蒜;
而如果做辣椒炒肉,那么就需要有肉和辣椒,然后口味重的人就可以多放一点辣椒和盐,口味清淡的人就可以少放一点。
对比到大模型也是如此,厨师做菜的材料,调料与火候是厨师的参数;而大模型也有自己的参数,比如权重,偏置,卷机网络的卷积核,嵌入矩阵,损失函数参数,激活值,参数梯度,训练轮次等。
从技术等角度来说,大模型的参数就是大模型的一些变量,之所以是变量是因为这些参数的值并不是固定的,而是可以变化的;
就像做菜一样,盐可以多放一点,也可以少放一点;并不是每次必须放多少盐。
02.做菜与大模型的训练
专业的厨师学习做菜时,会测试不同的菜品放不同含量的调料会有什么样的效果,比如放一克盐和放十克盐,放葱姜蒜和不放葱姜蒜在口味上的区别。
然后经过很多次的测试之后,厨师就知道做什么菜需要放多少盐,放多少辣椒,然后口味会是什么样。
而大模型的训练也是如此,大模型是基于神经网络的架构而开发的;而一个大模型有很多神经网络层,每一层又有很多的神经元节点;
那么,不同的神经元节点的权重和偏置,会对其它神经元以及神经层会产生什么样的影响及效果?
不同神经网络的架构的参数又会有什么样的影响?比如卷积神经网络的卷积层的个数,多一层和少一层的区别?如果是循环神经网络呢?
而这些问题都是需要经过大量的数据训练,然后给大模型找到一个最优的参数值。
而具体怎么训练呢?
比如第一次训练,所有神经元的权重都是1,然后生成了一个结果;这就类似于第一次做菜,所有的调料都放1克,然后做出之后尝尝好不好吃。
而因为神经网络是有层的,这样数据在一层一层神经网络之间的传递就叫做正向传播。
当用1克调料把“菜”做出来之后,尝了一下发现盐放少了;这时第二次做菜的时候,就可以把盐多放一点,比如放四克或五克。
而大模型毕竟不是人,所以需要有一个方法来测试它做的“菜”是否合格,而这个东西就是损失差,损失差越大,说明输出效果越差,“菜”做的越差。
而具体的损失差怎么计算,不同的大模型和架构有不同的方法,比如交叉熵损失。
而这时,就需要告诉大模型做的“菜”不好吃,这个告诉的过程就叫做反向传播。
厨师知道菜做的不好吃的时候,就可以直接调整下次放调料的数量和种类;而大模型也有这种类似的功能,这个功能就是优化器,优化器的功能就是去调整大模型的参数,下次把“盐”放多一点,“辣椒”放少一点。
最小二乘法损失函数
而这个盐和辣椒就是大模型中的权重,偏置,损失函数参数等参数。
而训练次数就是厨师锻炼做菜的次数,可能是十次,也可能是一百次,一千次。
所以说,厨师训练是不断的调整其调料的数量和含量;大模型的训练本质上也是在不断的去调整它的参数。
等厨师全部学会之后,还会找一个专业的老师去评价他做的菜;而在大模型里面,这个就是大模型的评估函数,去测试其效果。
当然,大模型并不是参数和训练次数越多越好,最重要的是合适。
这就是大模型的参数以及训练的过程及原理。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。