如何从头开始编写LoRA代码,这有一份教程


LoRA(Low-Rank Adaptation)是一项流行的技术,旨在微调大语言模型(LLM)。这项技术最初由微软的研究人员提出,并收录在《LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS》的论文中。LoRA与其他技术不同之处在于,并非调整神经网络的所有参数,而是专注于更新少量低秩矩阵,从而显著减少了训练模型所需的计算量。

由于 LoRA 的微调质量与全模型微调相当,很多人将这种方法称为微调神器。自发布以来,很多人对这项技术感到好奇,希望通过编写代码来更好地理解这一研究。以往,缺乏适当的文档说明一直是一个困扰,但现在,我们有了教程的帮助。

这篇教程的作者是知名机器学习与 AI 研究者 Sebastian Raschka,他表示在各种有效的 LLM 微调方法中,LoRA 仍然是自己的首选。为此,Sebastian 专门写了一篇博客《Code LoRA From Scratch》,从头开始构建 LoRA,在他看来,这是一种很好的学习方法。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

如何从头开始编写LoRA代码,这有一份教程

本文通过从头编写代码的方式介绍低秩自适应(LoRA),Sebastian在实验中对DistilBERT模型进行微调,并将其应用于分类任务。

LoRA方法与传统微调方法的比较结果表明,LoRA方法在测试准确率方面达到了92.39%,这比仅对模型最后几层进行微调(86.22%的测试准确率)表现出更优异的性能。这表明LoRA方法在优化模型性能方面具有明显优势,能够更好地提升模型的泛化能力和预测准确性。这个结果强调了在模型训练和调优过程中采用先进的技术和方法的重要性,以获得更好的性能表现和结果。通过比

Sebastian 是如何实现的,我们接着往下看。

从头开始编写 LoRA

用代码的方式表述一个 LoRA 层是这样的:

如何从头开始编写LoRA代码,这有一份教程

其中,in_dim 是想要使用 LoRA 修改的层的输入维度,与此对应的 out_dim 是层的输出维度。代码中还添加了一个超参数即缩放因子 alpha,alpha 值越高意味着对模型行为的调整越大,值越低则相反。此外,本文使用随机分布中的较小值来初始化矩阵 A,并用零初始化矩阵 B。

值得一提的是,LoRA 发挥作用的地方通常是神经网络的线性(前馈)层。举例来说,对于一个简单的 PyTorch 模型或具有两个线性层的模块(例如,这可能是 Transformer 块的前馈模块),其前馈(forward)方法可以表述为:

如何从头开始编写LoRA代码,这有一份教程

在使用 LoRA 时,通常会将 LoRA 更新添加到这些线性层的输出中,又得到代码如下:

如何从头开始编写LoRA代码,这有一份教程

如果你想通过修改现有 PyTorch 模型来实现 LoRA ,一种简单方法是将每个线性层替换为 LinearWithLoRA 层:

如何从头开始编写LoRA代码,这有一份教程

以上这些概念总结如下图所示:

如何从头开始编写LoRA代码,这有一份教程

为了应用 LoRA,本文将神经网络中现有的线性层替换为结合了原始线性层和 LoRALayer 的 LinearWithLoRA 层。

如何上手使用 LoRA 进行微调

LoRA 可用于 GPT 或图像生成等模型。为了简单说明,本文采用一个用于文本分类的小型 BERT(DistilBERT) 模型来说明。

如何从头开始编写LoRA代码,这有一份教程

由于本文只训练新的 LoRA 权重,因而需要将所有可训练参数的 requires_grad 设置为 False 来冻结所有模型参数:

如何从头开始编写LoRA代码,这有一份教程

接下来,使用 print (model) 检查一下模型的结构:

如何从头开始编写LoRA代码,这有一份教程

由输出可知,该模型由 6 个 transformer 层组成,其中包含线性层:

如何从头开始编写LoRA代码,这有一份教程

此外,该模型有两个线性输出层:

如何从头开始编写LoRA代码,这有一份教程

通过定义以下赋值函数和循环,可以选择性地为这些线性层启用 LoRA:

如何从头开始编写LoRA代码,这有一份教程

使用 print (model) 再次检查模型,以检查其更新的结构:

如何从头开始编写LoRA代码,这有一份教程

正如上面看到的,线性层已成功地被 LinearWithLoRA 层取代。

如果使用上面显示的默认超参数来训练模型,则会在 IMDb 电影评论分类数据集上产生以下性能:

  • 训练准确率:92.15%
  • 验证准确率:89.98%
  • 测试准确率:89.44%

在下一节中,本文将这些 LoRA 微调结果与传统微调结果进行了比较。

与传统微调方法的比较

在上一节中,LoRA 在默认设置下获得了 89.44% 的测试准确率,这与传统的微调方法相比如何?

为了进行比较,本文又进行了一项实验,以训练 DistilBERT 模型为例,但在训练期间仅更新最后 2 层。研究者通过冻结所有模型权重,然后解冻两个线性输出层来实现这一点:

如何从头开始编写LoRA代码,这有一份教程

只训练最后两层得到的分类性能如下:

  • 训练准确率:86.68%
  • 验证准确率:87.26%
  • 测试准确率:86.22%

结果显示,LoRA 的表现优于传统微调最后两层的方法,但它使用的参数却少了 4 倍。微调所有层需要更新的参数比 LoRA 设置多 450 倍,但测试准确率只提高了 2%。

优化 LoRA 配置

前面讲到的结果都是 LoRA 在默认设置下进行的,超参数如下:

如何从头开始编写LoRA代码,这有一份教程

假如用户想要尝试不同的超参数配置,可以使用如下命令:

如何从头开始编写LoRA代码,这有一份教程

不过,最佳超参数配置如下:

如何从头开始编写LoRA代码,这有一份教程

在这种配置下,得到结果:

  • 验证准确率:92.96%
  • 测试准确率:92.39%

值得注意的是,即使 LoRA 设置中只有一小部分可训练参数(500k VS 66M),但准确率还是略高于通过完全微调获得的准确率。

原文链接:https://lightning.ai/lightning-ai/studios/code-lora-from-scratch?cnotallow=f5fc72b1f6eeeaf74b648b2aa8aaf8b6

Machine Translation Machine Translation

聚合多个来源的AI翻译

Machine Translation 49 查看详情 Machine Translation

以上就是如何从头开始编写LoRA代码,这有一份教程的详细内容,更多请关注其它相关文章!


# 两层  # 线上推广营销有用吗  # seo增长面试  # 营销团队是要负责推广吗  # 网站推广怎么做的比较好  # 西藏seo推广怎么操作  # 运动ip营销推广案例  # 青岛手机网站建设费用  # 上海短视频seo代理  # 海口论坛营销推广费用  # 网站推广有哪些模式  # 进行了  # ai  # 与传统  # 上海  # 来实现  # 文档  # 谁能  # 的是  # 开源  # 这有  # udio  # 训练 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: 苹果式 AI 哲学:不着一字,处处落子  陈根:AI冥想教练为用户提供个性化指导  AI遇上大运丨热身拉伸、娱乐K歌……AI智能健身镜将亮相成都大运会  美图设计室2.0使用教程  跑不动的元宇宙,虚拟世界比现实更冷酷  厂商陆续公布AI进展 完美世界游戏展示复合应用AI in GamePlay  字节团队提出猞猁Lynx模型:多模态LLMs理解认知生成类榜单SoTA  看了天美对AI的布局,我感觉它想得是真明白  英伟达推出 L40S GPU,AI 推理性能超过 A100 约 1.2 倍  人才智能平台转型中的人工智能的关键角色  美妆行业在AI时代蓬勃发展  无人机在电力巡检中的应用:全面解析高效巡检流程  湖北科技职业学院举行工业机器人及智能制造技术专精特新产业学院建设启动仪式  浪潮KaiwuDB:“快人一步” - 打造更懂物联网的数据库  改动一行代码,PyTorch训练三倍提速,这些「高级技术」是关键  OpenAI 已全面开放 GPT-3.5 Turbo、DALL-E 及 Whisper API  2025 世界人工智能大会闭幕,32 个重大产业签约总额达 288 亿元  论文插图也能自动生成了,用到了扩散模型,还被ICLR接收  iPhone两秒出图,目前已知的最快移动端Stable Diffusion模型来了  小艺将具备大模型能力,鸿蒙4加速AI普及之路  印象笔记开放旗下“印象 AI”,可一键生成思维导图、写文章等  华为大模型登Nature正刊!审稿人:让人们重新审视预报模型的未来  参考封面|人工智能“淘金热”  谷歌计划在上海举办开发者大会,重点关注机器学习和生成式AI领域  V社谈AI制作游戏被ban:为确保开发者有素材所有权  AI大模型,将为智慧城市带来哪些新变化?  ​布局智能物联新时代,中国移动“5G+物联网”亮相2025 MWC  生成式人工智能来了,如何保护未成年人? | 社会科学报  AI新风口?首个高质量「文生视频」模型Zeroscope引发开源大战:最低8G显存可跑  利用AI探索抗体“钥匙”、加速药物研发——访百图生科团队  Moka发布AI原生HR SaaS产品“Moka Eva”,布局AGI时代  大模型的“黄金搭档”来了!腾讯云正式发布AI原生向量数据库,提供10亿级向量检索能力  【首发】首款“消化内镜手术机器人”进入临床尾声,ROBO医疗获数千万元A轮融资  第 66 届格莱美奖规定,AI 作品将无法获得评奖资格  普林斯顿Infinigen矩阵开启!AI造物主100%创造大自然,逼真到炸裂  上海发布大模型政策 打造AI“模”都  小岛秀夫不反对使用AI 但认为人类应该凌驾于AI  大脚攀爬者车主福利!无人机、运动相机大奖等你来挑战  日本学校探索引入 AI 和无人机:提高安保效率,节省劳动力  特斯拉首发人形机器人“擎天柱”亮相世界人工智能大会  曝索尼在开发新头显设备:游戏中使用AR技术  郭帆导演成功利用AI技术制作的《流浪地球3》预告片在央视热播,引发巨大反响  "探索Meta发布的Quest MR/VR视频录制与拍摄指南"  XREAL Beam 投屏盒子正式发布:支持“可悬停 AR 空间屏”  如何获得元宇宙的第一个属于自己的空间  航拍无人机怎么选?大疆无人机盘点推荐  苹果2万5的AR遭遇砍单95%:不及预期  人工智能和神经网络有什么联系与区别?  2025世界人工智能大会(上海)开幕式纪要  美图吴欣鸿:希望更多人用上AI时代的影像生产力工具 

 2024-03-20

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.