一、前言
我们知道在训练大模型时与传统 AI 表现出显著的不同–大模型训练分为预训练和微调的阶段,那么为什么会分为两个阶段呢?
笔者认为主要出于两个目的:提升大模型泛化能力,降低大模型训练成本。 具体原因请见下文。
二、提升大模型泛化能力
大模型泛化能力是什么?
泛化能力是指模型从训练数据中学习到的知识和模式,能够应用到新的数据、任务或环境中的能力。简单来说,就是模型在面对未曾见过的情况时,依然能够做出合理的判断、预测或生成合适内容的能力。例如,一个图像分类模型在学习了各种动物的图片后,当看到一张从未见过的动物新品种的图片时,能够根据已学的动物特征(如四条腿、毛茸茸等)正确地对其进行分类,这就体现了模型的泛化能力。
举例:小王和小李学做菜
1、小李的方法(传统 AI,泛化能力弱):
-
小李只会严格按照菜谱上的步骤做菜。
-
比如他学了“红烧鱼”,菜谱上写了用草鱼、糖、酱油、料酒等材料,他就必须用这些材料,步骤一模一样才行。
-
如果有一天买不到草鱼,只有鲫鱼,或者家里没酱油了,小李就做不出这道菜
2、小王的方法(大模型 AI,泛化能力强):
-
小王不仅看了菜谱,还理解了为什么加糖可以提鲜、为什么加料酒可以去腥。
-
有一天,家里没有草鱼,他会用鲫鱼代替;没有酱油,他会用盐和糖调出类似的味道。
-
他甚至可以根据不同的食材自由搭配,做出变种的“红烧鱼”。
小李和小王的根本区别是:
小李的做菜方式:学会了具体的规则,只能应对固定的场景,这就像传统 AI,训练中学会了某些任务,但遇到新问题可能“卡壳”。
小王的做菜方式:掌握了规则背后的原理和灵活性,能根据新情况调整做法,这就是泛化能力。大模型 AI 就像小王,可以应对更多样化的任务和场景。
大模型与传统 AI 在泛化能力上区别的原因是什么?
1、大模型是在海量的、极其多样化的数据上进行训练。以自然语言处理大模型为例,它们可以吸收来自互联网的各种文本,包括新闻、博客、学术论文、小说、社交媒体等多种来源。这些数据涵盖了广泛的主题、领域、语言风格和知识层次。通过学习如此丰富的数据,大模型构建了一个非常庞大且通用的知识图谱。当遇到新的任务或数据时,能够利用这个广泛的知识基础进行推理和处理。例如,ChatGPT 可以回答从科学技术到文化艺术等众多领域的问题,即使是一些比较小众或新兴的领域,也能凭借其广泛的知识储备给出相对合理的回答。
2、传统 AI 模型通常是基于特定任务的、相对小规模且单一的数据进行训练。比如,一个传统的手写数字识别模型,其训练数据主要是特定格式的手写数字图像。由于数据范围较窄,传统 AI 模型学到的知识比较局限于其训练的特定任务和数据类型。当面对超出这个范围的数据或任务时,如从手写数字识别转换到识别自然场景中的物体,传统模型很难将已有的知识迁移过来,泛化能力受到很大限制。
为什么泛化能力这么重要?
泛化能力堪称 AGI(通用人工智能) 的根基。它意味着模型能够从有限的经验里汲取养分,进而在全新的任务或环境中崭露头角。打个比方,就如同学生通过学习课本上有限的例题,掌握了解题方法,便能举一反三,应对考试中形形色色的新题目。
一方面,它为从已知迈向未知架起了推理的桥梁,让模型依据已有的知识储备,对未曾接触过的数据和情境做出合理判断。另一方面,在多领域的复杂任务矩阵中,泛化能力使得模型无需推倒重来,就能灵活运用所学,大大提升了知识的复用效率。
为何它至关重要,是因为现实世界犹如一个无穷无尽的宝库,数据的类型和分布千变万化,训练数据不过是沧海一粟,根本无法穷尽所有可能性。泛化能力强的模型,恰似拥有敏锐洞察力的探险家,能够迅速适应新场景,无论面对何种未知挑战,都能展现出强大的实用性和抗干扰的鲁棒性,真正将所学知识的价值最大化。
预训练与微调是如何提升泛化能力的?
大模型训练分为预训练和微调的阶段,这种方法提升了模型的泛化能力。这是因为两阶段训练策略能充分发挥数据与模型架构的优势,使模型既具备通用性,又能在特定场景中表现优异。
预训练提升了通用泛化能力
1、海量数据学习通用知识
预训练阶段使用了多样化的海量语料(如书籍、文章、网站等),这些数据涵盖了广泛的领域和语言结构,帮助模型学习到语言的底层规律(如词汇语义、句法结构),不同场景下的通用模式和上下文关系。
2、构建广泛的知识基础
模型通过预训练,积累了关于语言和世界知识的普遍理解。这种知识能够在下游任务中跨领域迁移和应用。
3、减少过拟合的风险
预训练阶段的无监督学习方式依赖于大量未标注数据,使模型能够专注于学习语言规律,而非记忆训练数据,增强了对未见数据的泛化能力。
微调提升了特定场景的泛化能力
1、针对性调整
微调阶段使用与目标任务相关的小规模、高质量标注数据来进一步训练模型,让模型能更精确地适应特定的场景或任务(如情感分析、机器翻译、法律文本理解等)。
2、增强领域泛化能力
微调让模型可以在一个广泛知识的基础上,快速适应某些特定领域的特定需求,而不必从头训练,体现了迁移学习的强大之处。
3、降低训练数据需求
微调需要的数据量远远小于从头开始训练一个模型,这种高效性使得泛化能力更易拓展到更多场景。
结合预训练和微调的好处
1、通用性与特定性平衡
预训练提供了通用语言能力,微调则强化了特定任务的表现,这种组合让模型既有“广度”也有“深度”。
2、跨任务泛化
微调后的模型往往能在相关任务中表现出色,比如一个在医疗文本上微调过的模型,可能在类似领域(如法律文本)的任务中也具备一定的泛化能力。实际应用表明,经过预训练和微调的模型比传统的单任务训练模型在性能上有巨大提升。
总之预训练和微调的两阶段训练方式不仅提升了大模型的泛化能力,还显著提高了模型的实际应用价值。预训练让模型学会了普适性规律,而微调则针对特定需求进一步优化,从而在广泛的任务和领域中实现高效、可靠的表现。这种训练策略是大模型成功的重要原因之一。
三、降低大模型训练成本
大模型训练成本高昂,已成为 AI 发展的重要瓶颈。以 OpenAI 的 GPT-3 为例,其训练需要数千台高性能 GPU,耗电量高达数兆瓦时,训练成本估计超过 1200 万美元。此外,数据存储、模型优化和人力投入也进一步推高了成本。
大模型训练成本高的问题通过预训练(Pre-training)和微调(Fine-tuning)的分阶段设计得到了有效缓解。
预训练:一次性高投入,长期复用
预训练是大模型训练的核心阶段,虽然需要大量计算资源和数据,但其成本可以通过以下方式分摊:
-
通用知识学习:预训练模型通过海量数据学习通用特征(如语言模式、图像特征),这些知识可以迁移到多种任务中,避免了为每个任务从头训练模型的成本。
-
模型复用:预训练模型可以作为一个通用基础模型,供多个任务和开发者使用。例如,Meta 的 LLama 系列、阿里的通义千问等模型被广泛应用于各种下游任务,显著降低了重复训练的成本。
微调:低成本适应特定任务
微调是在预训练模型的基础上,使用少量任务特定数据进行调整,其成本远低于从头训练模型:
-
数据效率:微调通常只需要少量标注数据(可能是预训练数据的千分之一甚至更少),大大减少了数据收集和标注的成本。
-
计算效率:微调只需要调整部分模型参数或少量训练步骤,计算资源需求显著低于预训练。例如,微调一个百亿参数模型可能只需要几小时到几天,而预训练可能需要数周甚至数月。
-
快速迭代:微调允许开发者快速试验和优化模型,适应不同任务需求,而无需重新进行昂贵的预训练。
降低开发门槛
预训练和微调的分阶段设计降低了开发者的技术门槛和资源需求:
-
无需从头训练:开发者可以直接使用预训练模型,通过微调快速构建应用,而无需掌握复杂的模型设计和训练技术。
-
小团队也能参与:即使是资源有限的小团队或个人开发者,也可以通过微调预训练模型,开发出高性能的 AI 应用。
目前国内用户使用大模型时,大部分都是直接使用开源的预训练模型(如通义千问、LLama 等),这些模型已经通过海量数据训练,具备了强大的通用能力。用户只需根据自己的特殊需求,使用少量领域数据对模型进行微调,即可快速适配具体任务。这种方式不仅节省了从头训练模型的高昂成本,还大幅缩短了开发周期,降低了技术门槛,使得大模型能够更高效地应用于各行各业,如金融、医疗、教育等领域。
如何学习大模型 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 的正确特征了。