“ 预训练一般采用无监督的方式进行,而微调一般采用监督学习的方式进行 ”
说到预训练大模型,首先就要先了解一下pre-training(预训练) 和 fine-tuning(微调)。
什么是预训练?
比如说你想做一个图像识别的大模型,这时你需要使用某种神经网络架构(比如Transformer)来设计一个神经网络,然后通过某种初始化方法对神经网络参数进行初始化。
然后,你就可以使用大量的训练数据对模型进行训练,也就是不断的调整其参数;直到损失差不断的降低,然后达到一个合适的值;这就是一个完整的训练过程,而这个训练完成的模型就叫做预训练模型。
预训练一般使用无监督学习。
那什么是微调?
所谓的微调其实和预训练差不多,只不过预训练是一个从未训练过的模型,其参数值都是随机的,而微调是在预训练的基础之上对部分参数进行调整。
这就类似于二八定律,你想让大模型统计一下社会的财富分配,然后使用没经过预训练的模型,然后经过大量的数据进行预训练之后发现,社会的财富分配基本符合二八原则,也就是说百分之八十的财富在百分之二十的人手上;而微调就是,在微调之前,别人就告诉你基本上属于二八定律,你只需要在这附近统计一下即可。
微调一般使用监督学习。
为什么需要预训练和微调?
一般情况下,很少有人会从0开始设计和训练一个模型,原因就是技术难度大,算力要求高,而且需要大量的训练数据集,而这些对绝大部分人来说都是一个无法跨越的坎;其次,从0开始设计和训练一个模型属于严重的资源浪费,明明已经有现存的模型可以使用,为什么还要浪费资源去重新做一个差不多的。
所以,一般做大模型研究的组织或企业就会开源一部分已经预训练过的模型,这样其他人就可以基于这个模型做二次训练或微调,这样就可以大量节约技术,算力和时间成本。
还有一个原因就是,对大模型训练来说,必须要有足够的训练数据做支撑,否则就很容易形成过拟合的现象,而避免这种现象唯一的解决办法就是增加数据量。
为什么预训练要使用无监督学习呢?
在上面的内容中介绍了一些关于预训练的背景,但还有一点没有完全说清楚,预训练还有一个原因就是,让模型在接触特定任务数据之前,先通过学习大量通用数据来捕获更多广泛有用的特征,从而提升模型在目标任务上的表现和泛化能力。
预训练技术通过从大规模未标记数据中学习通用特征和先验知识,减少对标记数据的依赖,加速并优化在有限数据集上的模型训练。
模型在训练过程中容易产生欠拟合和过拟合的现象,欠拟合就是模型训练之后的表现能力很差,说白了就类似于啥东西都懂,但啥玩意都说不明白;而过拟合就是,对某个东西太擅长,而其它什么玩意都不会。
比如,欠拟合就是有眼睛,鼻子,并且有四肢的就是人,但事实上猫狗等很多动物都具备这些特征。而过拟合就是,有眼睛,鼻子和四肢,并且皮肤必须是黄色的才是人;但其实人类还有黑色和白色人种,这就是过拟合。
所以说预训练为什么要使用无监督学习?
总结就两点,一是因为数据的稀缺性,训练出一个专业领域的大模型需要大量的数据,特别是标注数据,但这些数据的获取困难重重;而预训练能够让模型从大量未标记的数据中学习到大量特征,从而减少对标记数据的依赖,这样就可以在有限的数据集上训练出良好的模型。
二是因为先验知识的问题,有些公司在做模型时,会自己设计和训练模型;但事实上很多时候模型在具备一定的其它知识的情况下,会表现的更好。
比如,我们九年制义务教育让我们每个人从小学就开始学习语数外,物化生等学科;这玩意就类似于预训练,虽然你学了这些东西并不一定有用;但由于学科之间的关联性,你有了其它科目的基础再去学一些科目就会变得更容易。
比如说,你有语文和外语的基础,你才能通畅的阅读其它学科的文献资料;你有数学基础才能更好的去学习物理化学和生物,这就是先验知识的问题。
而如果你上来就使用监督学习的方式,通过大量的标记数据进行训练;那么你就相当于一开始就扎进了物理,化学,数学等其中的某一个科目,其它的科目一窍不通。
虽然你拼命学习也可以学习到很多物理,化学和数学的知识;但没有数学的支撑,你永远也学不好物理和化学;而且深入到其中某一个领域,而对其它领域完全不了解,那么也会严重限制你的眼光和视角。
所以说一般情况下,一个大模型的出现需要经过模型的设计,架构的选择,无监督学习的预训练和监督学习的强化训练,才能让大模型表现更好,而不至于过拟合或欠拟合。
如何学习大模型 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 的正确特征了。