Project Icon

slowllama

在Apple和nVidia设备上微调Llama2和CodeLLama模型

slowllama是一个专注于微调Llama2和CodeLLama模型的开源项目,支持70B/35B模型版本,并可在Apple M1/M2设备(如Macbook Air、Mac Mini)或消费级nVidia GPU上运行。通过将模型部分数据转储到SSD或主内存,该项目避免使用量化技巧,优化正向和反向传递性能。采用LoRA方法限制参数更新,操作步骤详尽,包括依赖安装、模型下载和配置脚本,是在资源有限环境下进行大模型微调的理想选择。

slowllama 项目简介

slowllama 是一个为 Llama2 和 CodeLlama 模型(例如 70B/35B 大型模型)进行微调的系统,其特别之处在于可以在 Apple M1/M2 设备(如 MacBook Air 或 Mac Mini)或消费者级别的 nVidia GPUs 上运行。slowllama 的显著特点是不使用量化,而是将模型的某些部分在正向和反向传递过程中卸载到 SSD 或主内存中。

微调:核心关注

相较于难以从头训练大型模型的方式,slowllama 可以通过长时间运行获得微调的结果。当前版本使用 LoRA 技术,将参数更新限制在一小部分参数中。最初版本支持完整微调,但目前已被移除以优化 SSD 的使用寿命。

微调是 slowllama 的唯一关注点。在推理方面,slowllama 未做特殊优化。CUDA 相关的实验可以参见 a10 实验报告。

运行示例

在 Apple M1 和 M2 设备上进行了测试。示例包括安装必要的依赖,如 Torch、Sentencepiece 和 Numpy,然后克隆 Llama 和 CodeLlama 的代码库并下载模型文件和分词器。对于每个测试,准备模型文件以便逐块加载和保存这些大模型。

微调 llama2 7B 模型

通过简单的微调脚本 finetune.py,可以调整 LoRA 权重。用户可以自定义设置,如序列长度、批量大小、学习率、dropout 率等。下述是线性衰减的损失函数示例:

backprop done, loss after forward pass = 2.953
...
backprop done, loss after forward pass = 0.716

经过若干次迭代后,模型输出从基础的 Llama 回答逐渐生成更准确的内容。

技术实现

slowllama 的工作流程包括:

  1. 将大模型分块加载,以降低内存需求。这通过将大模型的权重卸载到 SSD 实现。
  2. 正向传递和反向梯度传播都需要通过将缓存的输入进行重用,从而有效地管理系统资源。
  3. 在 LoRA 微调过程中,仅有 LoRA 权重和梯度被保留在内存中。

实验结果

在 Mac Mini 设备上进行的实验表明,虽然在小型设备上微调 7B 和 70B 模型时间成本较高,但通过逐步优化,如使用 FP16 格式和改进内存分配,执行效率显著提升。

项目结构及待办事项

slowllama 包含多个主要组件,包括模型定义、加载器、训练脚本和其他报表及工具模块。项目计划进一步优化,如引入异步保存与预读取、提升内存利用效率以及实现更通用的训练流程。此外,计划增加针对内存需求的可视化和权重量化的研究。

联系方式

如需更多信息,可以通过 {github handle} @ gmail.com 进行联系。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号