本期主要是为后面深入大模型微调的研究进行开篇,需要理清楚模型蒸馏、检索增强、模型微调的基本概念和区别
蒸馏:适合快速部署、资源受限的场景
RAG(检索增强):适合需要外部信息增强、实时更新的应用
微调:适合领域专用、高精度需求的场景
老师讲技能传授给学生,继往圣之绝学
概念:将一个大而复杂的"老师"(即一个大模型)的知识,提取并简化成一个"小而轻便的学生"来执行任务。通过这种方式,虽然"学生"模型比"老师"小,但它仍然能够保留老师大部分的的能力。
老师去找参考资料,虽然我不懂,但我可以帮你找一下
概念:RAG不仅仅依赖模型的内部知识,还通过外部的检索系统统(如数据库、文档或网络)来增强生成的内容。它就像是一个"知识更加全面、查阅资料更高效的学生"。
让学生精进技能,闻道有先后,术业有专攻, 青出于蓝而胜于蓝
概念:它是在一个已经学习过大量基础知识的"学生"上,通过专项训练,让其在某些特定任务上表现得更好。可以看作是对原始模型进行定制,使其更适应具体任务。
论文原文:https://arxiv.org/abs/2106.0968
LORA (Low-Rank Adaptation) 微调是一种针对大规模预训练模型的优化技术,用于在较少计算资源和数据的情况下,对这些模型进行有效微调。
LORA通过引入低秩矩阵来减少模型参数的更新量,进而显著降低训练的计算开销,同时保持微调的性能。由于LLM参数量巨大,直接微调耗费大量资源,LORA的做法是冻结模型的绝大部分参数,只更新很小一部分参数。这就像修车时不需要重造整辆车,而是只修理一些特定的部件。
矩阵的秩是指矩阵中线性无关行或列的最大数量,低秩矩阵表示矩阵的秩较低。
这里的alpha/r可以看成是学习率;
全参数训练和LoRA的对比
在每个层里头应用LoRA, 从而极大减小参数量
这里是其中一个层的示例
QLoRA的极简入门
进行LoRA高效的模型微调,重点是保持参数尺寸最小化。
使用PEFT库来实现LORA,避免复杂的编码需求。
将LORA适应扩展到所有线性层,增强整体模型的能力。
保持偏置层归一化可训练,因为它们对模型的适应性至关重要,并且不需要低秩适应。
应用量化低秩适应 (QLORA)以节省GPU显存并训练模型,从而能够训练更大的模型。
| 欢迎光临 链载Ai (https://www.lianzai.com/) | Powered by Discuz! X3.5 |