本期主要是为后面深入大模型微调的研究进行开篇,需要理清楚模型蒸馏、检索增强、模型微调的基本概念和区别
蒸馏:适合快速部署、资源受限的场景
RAG(检索增强):适合需要外部信息增强、实时更新的应用
微调:适合领域专用、高精度需求的场景
蒸馏(Knowledge Distillation)
老师讲技能传授给学生, 继往圣之绝学
概念:将一个大而复杂的"老师"(即一个大模型)的知识,提取并简化成一个"小而轻便的学生"来执行任务。通过这种方式,虽然"学生"模型比"老师"小,但它仍然能够保留老师大部分的的能力。
| 优点 | * 效率高 快速执行任务,适合资源有限的场景(如移动设备、低功耗设备)减少计算开销,需要的计算和存储资源少,适合商业化产品的快速响应和低成本要求 * 保留知识 通过蒸馏,依然能保留大模型的一部分知识,模型的性能基本可以得到保证 |
| 缺点 | * 损失精度 虽然蒸馏模型能够保留大部分知识,但会丢失一些细节,尤其是在复杂任务上的表现可能逊色于原始大模型。 * 依赖大量数据标注和训练 为了蒸馏出高效的小模型,通常需要大量标注数据,且训练过程较为复杂。 |
| 适用条件 | * 硬件资源有限 比如手机、物联网设备 * 需要快速部署 当需要迅速推出一个市场化的产品时,蒸馏可以帮助在保证合理精度的前提下,快速减小模型的体积 |
| 典型案例 | * Deepseek-R1模型 * 百度的Ernie轻量化模型 * 华为的MindSpore |
检索增强生成(RAG)
老师去找参考资料,虽然我不懂,但我可以帮你找一下
概念:RAG不仅仅依赖模型的内部知识,还通过外部的检索系统统(如数据库、文档或网络)来增强生成的内容。它就像是一个"知识更加全面、查阅资料更高效的学生"。
| 优点 | * 信息丰富 能够在生成答案时,利用外部数据库或文档,确保模型提供的信息更准确、更有针对性。 * 动态更新 模型可以通过检索最新的资料来增强回答,适应快速变化的环境。 * 解决模型过时问题 当数据更新或领域知识不断变化时,RAG能帮助模型获取最新信息,而不需要重新训练整个模型 |
| 缺点 | * 依赖外部数据源 如果外部数据源的质量不高或无法获取,模型的输出质量会受到影响。 * 增加计算开销 每次生成回答时需要进行检索,可能导致延迟增加,尤其是在大规模的数据库检索时。 |
| 适用条件 | * 需要实时更新信息 如果模型应用场景需要实时获取最新信息,比如金融分析、新闻推荐、医疗诊断等,RAG是一个很好的选择。 * 复杂任务 需要结合多种有针对性来源的信息来生成答案时,RAG能够提供更具综合性的解决方案。 |
| 典型案例 | * 智能客服 * 大模型联网搜索回答 |
微调(Fine-Tuning)
让学生精进技能, 闻道有先后,术业有专攻, 青出于蓝而胜于蓝
概念:它是在一个已经学习过大量基础知识的"学生"上,通过专项训练,让其在某些特定任务上表现得更好。可以看作是对原始模型进行定制,使其更适应具体任务。
| 优点 | * 针对性强 通过微调,可以让模型在某个特定领域(如法律文书分析、医学影像识别、写公司的代码、回答特定问题)上表现得更优秀。 * 快速适应特定任务 只需要少量的训练数据,就能使模型快速适应新的领域或任务。 * 资源节约 不需要从头训练模型,节省了大量的计算资源和时间。 |
| 缺点 | * 过拟合风险 如果微调数据量不足,容易导致模型在特定任务上过拟合,影响泛化能力。 * 依赖标注数据 微调仍然需要领域内的标注数据,尤其是在一些新领域或小众领域。 |
| 适用条件 | * 特定领域应用 当模型已经具备一定基础的知识(例如通用语言模型),但需要在特定领域(如法律、医疗)提高性能时,微调是最有效的策略。 * 任务复杂度适中 微调对于特定任务的表现提升非常显著,但如果任务本身需要极大的多样性或动态调整,可能需要结合其他方法。 |
| 典型案例 | * 字节跳动的飞书智能客服 * 华为云的ModelArts * 腾讯云AI开放平台 * 写我们公司的SQL代码 |
选型参考
| 蒸馏 | 如果目标是快速推出产品,且应用场景对模型体积和响应速度有严格要求(例如移动端应用、边缘计算设备等),那么采用蒸馏可能是最优选择。 通过蒸馏,可以减小模型的体积,加快推向市场的速度,同时保证一定的精度。 |
| RAG | 如果产品需要处理的是大量不确定、动态的信息,并且希望保持生成结果的准确性和时效性(例如智能客服、金融咨询等),那么RAG将会非常适用。 它能够实时获取外部信息并结合生成高质量的答案,适合数据流动快速、知识更新频繁的场景。 |
| 微调 | 如果已经拥有一个基础模型,且希望让其在某个特定领域(如医疗、法律、写SQL等)表现更好,能够提高精准度和用户体验,那么微调是最佳选择。 通过微调,模型能够适应特定领域的需求,提高商业化应用中的性能和可用性。 |
微调模型LoRA极简入门
论文原文:https://arxiv.org/abs/2106.0968
LoRA是什么
LORA (Low-Rank Adaptation) 微调是一种针对大规模预训练模型的优化技术,用于在较少计算资源和数据的情况下,对这些模型进行有效微调。
LORA通过引入低秩矩阵来减少模型参数的更新量,进而显著降低训练的计算开销,同时保持微调的性能。由于LLM参数量巨大,直接微调耗费大量资源,LORA的做法是冻结模型的绝大部分参数,只更新很小一部分参数。这就像修车时不需要重造整辆车,而是只修理一些特定的部件。
矩阵的秩是指矩阵中线性无关行或列的最大数量,低秩矩阵表示矩阵的秩较低。
这里的alpha/r可以看成是学习率;
全参数训练和LoRA的对比
在每个层里头应用LoRA, 从而极大减小参数量
这里是其中一个层的示例
QLoRA的极简入门
LoRa的使用小技巧
- 进行LoRA高效的模型微调,重点是保持参数尺寸最小化。
- 使用PEFT库来实现LORA,避免复杂的编码需求。
- 将LORA适应扩展到所有线性层,增强整体模型的能力。
- 保持偏置层归一化可训练,因为它们对模型的适应性至关重要,并且不需要低秩适应。
- 应用量化低秩适应 (QLORA)以节省GPU显存并训练模型,从而能够训练更大的模型。
如何学习大模型 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 的正确特征了。