当前位置:首页|资讯|LoRA|大语言模型|Stable Diffusion

学习教程:从零开始构建LoRA

作者:ReadPaper论文阅读发布时间:2024-01-24

最近看到了个博客,感觉是一个很不错的新手上路的方法。LoRA(Low-Rank Adaptation,低秩适应)是一种流行的技术,用于更高效地微调大型语言模型(LLMs)和Stable Diffusion文生图。与调整深度神经网络的所有参数不同,LoRA专注于仅更新一小组低秩矩阵。这个博客通过从头开始编码LoRA来解释其工作原理,是一个深入理解算法内部机制的练习机会。


文章:https://lightning.ai/lightning-ai/studios/code-lora-from-scratch?view=public&section=all


理解LoRA

预训练的LLMs通常被称为基础模型,因为它们在各种任务中都具有多功能性。通过微调,可以将预训练的LLM适应特定数据集或任务,这比昂贵的预训练更为有效,但更新所有层仍然计算成本高昂。LoRA提供了一种更高效的微调替代方案。LoRA通过低秩格式近似层权重在训练期间的变化ΔW。


写代码


微调LoRA的实战

使用预训练的DistilBERT模型进行文本分类,展示了LoRA的应用。通过替换模型中的预训练线性层为LinearWithLoRA层,可以装备并微调模型。


与传统微调的比较

LoRA在测试精度上与仅训练模型的最后两层相比有优势,同时使用的参数数量更少。全层微调虽然性能更好,但涉及的参数数量远多于LoRA设置。


观点

这是一次很好的从零开始动手搭建LoRA的实践。


特邀作者:日本早稻田大学计算机系博士生  王军杰



Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1