【大模型微调】 是指在已经预训练好的大型语言模型基础上,使用特定的数据集进行进一步的训练,以使模型适应特定任务或领域。是最近两年在深度学习领域快速发展的一个研究领域,相对于从头训练一个大模型可以极大降低成本。近年来,多项优秀的大模型微调方法被提出,也有不少研究者们对已有的方法进行了改进与创新,创造出一系列新颖的大模型技术,并在不同的研究领域得到广泛的应用。
1.QLORA: Efficient Finetuning of Quantized LLMs
方法:
QLORA是一种高效的微调方法,它通过以下关键技术减少内存使用,使得在单个48GB GPU上微调一个65B参数的模型成为可能,同时保持完整的16位微调任务性能:
- 4-bit NormalFloat (NF4):一种针对正态分布权重信息论最优的新数据类型,与4位整数和4位浮点数相比,具有更好的经验结果。
- Double Quantization:通过量化量化常数来减少平均内存占用的方法,平均每个参数可节省约0.37位。
- Paged Optimizers:使用NVIDIA统一内存特性来避免在处理长序列的mini-batch时发生的梯度检查点的内存峰值。
- Low Rank Adapters (LoRA):在量化的预训练模型中添加一小套可学习的低秩适配器权重,通过反向传播梯度进行微调。
创新点:
- 4-bit Quantization with NF4:提出了一种新的4位量化方法,专门针对通常具有零中心正态分布的预训练神经网络权重,通过将权重转换到[-1, 1]范围内,实现了信息论最优的量化。
- Double Quantization:创新性地对量化常数进行二次量化,显著降低了模型的内存占用,为大型模型的微调提供了可能性。
- Paged Optimizers:引入了一种新的内存管理策略,通过在CPU和GPU之间自动转移内存页来处理内存峰值,使得在资源受限的设备上微调大型模型成为可能。
- LoRA Integration:将LoRA技术与量化模型相结合,通过在量化的权重上添加低秩适配器,使得模型能够在微调过程中学习到更丰富的表示。
- State-of-the-art Performance:通过QLORA微调的模型,在Vicuna基准测试中达到了前所未有的性能水平,与ChatGPT的性能接近,同时大大减少了所需的计算资源。
- Extensive Analysis:对使用QLORA微调的1000多个模型进行了深入分析,涵盖了指令跟随和聊天机器人性能,这些分析在常规微调方法中由于内存开销而无法实现。
2.METAMATH: BOOTSTRAP YOUR OWN MATHEMATICAL QUESTIONS FOR LARGE LANGUAGE MODELS
方法:
- 问题自举(Question Bootstrapping): 通过从不同角度重新表述数学问题来自举问题,包括原始问题、LLM(大型语言模型)重述的问题、自我验证问题和FOBAR问题,以增加数据集的多样性。
- MetaMathQA数据集: 结合了正向和逆向推理路径以及增强的答案,创建了一个新的数据集用于微调(finetuning)。
- 微调(Finetuning): 在MetaMathQA数据集上微调现有的开源大型语言模型(如LLaMA-2),以提升其解决数学问题的能力。
- 答案增强(Answer Augmentation): 利用少量示例和温度采样生成多个推理路径,并筛选出正确答案的路径作为数据集的补充。
- 问题重述: 使用LLM对问题进行重述,以生成更多的训练样本,并通过监督方法评估重述问题与原始问题之间的一致性。
- 逆向推理问题: 通过遮蔽问题中的一个标记(例如,用“x”标识),并要求模型在提供答案的情况下预测被遮蔽的标记,以增强模型的逆向推理能力。
创新点:
- MetaMath模型: 提出了一种新的微调语言模型,专门用于数学推理,通过自举问题生成了新的数据集MetaMathQA。
- 正向与逆向推理结合: 创新地结合了正向和逆向推理路径,以增强模型对数学知识的理解,而不是简单地记忆答案。
- 问题多样性: 通过问题自举方法显著增加了问题分布的多样性,有助于模型覆盖更多未见场景,提高泛化能力。
- 简化的数据集: MetaMathQA数据集的简化特性可能使其成为激活LLMs潜在数学知识的有效激活器。
- 无需对比学习: 即使没有采用对比学习,MetaMath模型也能在多个基准数据集上超越现有的开源LLMs,显示出数据增强方法的有效性。
- 开放资源: 论文提供了MetaMathQA数据集、不同大小的MetaMath模型和训练代码,供公众使用,这有助于推动开源社区的发展。
- 显著的性能提升: MetaMath在GSM8K和MATH两个流行的数学推理基准测试中,相比其他开源LLMs取得了显著的性能提升。
3.MELTR: Meta Loss Transformer for Learning to Fine-tune Video Foundation Models
方法:
- 论文提出了一种名为MEta Loss TRansformer (MELTR)的新框架,用于学习如何微调视频基础模型。
- MELTR是一个插件模块,能够自动且非线性地结合各种损失函数,通过辅助学习来帮助学习目标任务。
- 该框架将辅助学习问题表述为双层优化问题,并提出了一种基于近似隐式微分(AID)的高效优化算法。
- MELTR基于Transformer架构,接受目标任务损失和预文本任务损失作为输入,并通过自注意力学习它们之间的关系。
- 为了解决在小规模元数据(或验证数据集)时出现的元过拟合问题,MELTR引入了一个正则化项来鼓励学习到的损失保持在合理范围内。
- 论文将MELTR应用于多个视频基础模型(UniVL、Violet和All-in-one),并在四个下游任务(文本到视频检索、视频问题回答、视频字幕生成和多模态情感分析)上进行了评估。
创新点:
- MELTR是首个提出用于学习如何微调视频基础模型的元损失变换器,它能够自动学习如何结合多个辅助损失以提升目标任务的性能。
- 论文提出了一种新颖的双层优化问题的公式化方法,并通过AID算法提供了一种高效的解决方案,避免了传统方法中的高计算成本。
- MELTR通过自注意力机制学习损失函数之间的关系,能够非线性地转换单个损失函数并将其组合成有效的统一损失。
- 论文进行了深入的定性分析,展示了MELTR如何非线性地转换单个损失函数并将其组合成对目标下游任务有效的统一损失。
- MELTR在多个视频基础模型和五个基准视频数据集上的实验结果表明,其显著优于使用单一任务和多任务学习方案的基线。
- 论文还提供了对MELTR如何从辅助学习中学习、以及提出的优化方法是否高效的深入分析和讨论。
如何学习大模型 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 的正确特征了。