当前位置: 首页 > news >正文

[玩转AIGC]LLaMA2之如何微调模型

目录

  • 1、下载训练脚本
  • 2、 下载模型
    • 2.1、申请下载权限
    • 2.2、模型下载
  • 3、模型微调
    • 3.1、使用单卡微调
    • 3.2、使用多卡训练:

1、下载训练脚本

首先我们从github上下载Llama 2的微调代码:GitHub - facebookresearch/llama-recipes: Examples and recipes for Llama 2 model

执行命令:

git clone https://github.com/facebookresearch/llama-recipes
cd llama-recipes

下载完成之后,安装对应环境,执行命令:

pip install -r requirements.txt

2、 下载模型

在这里我补充一下模型下载权限的申请

2.1、申请下载权限

需先在Meta上申请权限(国家选中国不行,要选其他国家)
https://ai.meta.com/resources/models-and-libraries/llama-downloads/

申请的邮箱必须是跟huggingface注册邮箱一致

申请完权限之后你会收到邮件:
在这里插入图片描述
然后再去HuggingFace上submit权限申请,连接在下面
https://huggingface.co/meta-llama/Llama-2-7b-hf

打开后点击提交:
在这里插入图片描述

提交后还要等待仓库作者的确认,请求将在 1-2 天内得到处理

实测大概一个小时,会有邮件通知已授权,邮件如下:
在这里插入图片描述
然后回到HuggingFace

点击头像->setting->Access Tokens 里面获取tokens

在这里插入图片描述
没有的话就自己创建一个token,也就是点击new token,再把创建的token复制下来

2.2、模型下载

有了权限就可以从HuggingFace上下载模型:https://huggingface.co/meta-llama

打开可看到模型有多个:

在这里插入图片描述
这里我们选择:Llama-2-7b-hf

通过代码下载:

下面的your token就是要填从你自己的HuggingFace复制下来的token,根据上面的步骤走过来,你已经申请过权限了,所以token可用


import huggingface_hubhuggingface_hub.snapshot_download("meta-llama/Llama-2-7b-hf",local_dir="./Llama-2-7b-hf",token="your token"
)import huggingface_hubhuggingface_hub.snapshot_download("meta-llama/Llama-2-7b-hf",local_dir="./Llama-2-7b-hf",token="**********************"
)

3、模型微调

3.1、使用单卡微调

#创建模型输出文件
mkdir output# 使用单卡
export CUDA_VISIBLE_DEVICES=0#开始训练
python llama_finetuning.py  --use_peft --peft_method lora --quantization --model_name Llama-2-7b-hf --output_dir output

3.2、使用多卡训练:

比如多GPU单节点


torchrun --nnodes 1 --nproc_per_node 4  examples/finetuning.py --enable_fsdp --use_peft --peft_method lora --model_name /path_of_model_folder/7B --fsdp_config.pure_bf16 --output_dir path/to/save/PEFT/model
http://www.lryc.cn/news/268579.html

相关文章:

  • 使用克魔助手进行iOS数据抓包和HTTP抓包的方法详解
  • 【递归 回溯】LeetCode-301. 删除无效的括号
  • C++ 基本的输入输出
  • vue3老项目如何引入vite
  • javaEE -19(9000 字 JavaScript入门 - 4)
  • 二叉树的非递归遍历|前中后序遍历
  • 开源minio-AWS-S3存储的部署及go操作详细
  • 【Web2D/3D】Canvas(第三篇)
  • 紫光展锐T820与飞桨完成I级兼容性测试 助推端侧AI融合创新
  • 3DV 2024 Oral | SlimmeRF:可动态压缩辐射场,实现模型大小和建模精度的灵活权衡
  • 【unity学习笔记】4.场景切换
  • LeetCode75| 滑动窗口
  • gulimall-002 分布式基础概念
  • K8s之声明式APIs
  • Hive执行计划
  • Leetcode—62.不同路径【中等】
  • 【汇编笔记】初识汇编-内存读写
  • Shell脚本通过渗透测试检测服务器安全!
  • 数据结构--查找
  • IntelliJ IDEA Apache Dubbo,IDEA 官方插件正式发布!
  • 使用Visual Studio 2022 winform项目打包成安装程序.exe
  • 报错-idea pom.xml 有一条灰色横线
  • openmediavault(OMV) (19)云相册(3)mt-photos
  • 基于openGauss5.0.0全密态数据库等值查询小案例
  • Oracle中varchar2和nvarchar2的区别
  • linux环境下从一个服务器复制文件到另一个服务器
  • JSoup 爬虫遇到的 404 错误解决方案
  • Vue.set 方法原理
  • CentOS 7的新特性
  • Vue 模板编译原理