LLaMA-Factory适配昇腾开源验证任务心得
Llama-factory适配昇腾开源验证任务心得
根据任务计划书(https://bbs.huaweicloud.com/blogs/437813)了解任务内容,主要目的是在昇腾npu上利用 Llama-factory完成一个大模型的训练推理,确保其在昇腾上能够正常运行。
开发过程
明确目的后开始熟悉框架,Llama-factory的github网址:https://github.com/hiyouga/LLaMA-Factory,把Llama-factory项目从github上用git命令拉取下来。
NPU验证
(1)安装依赖包
NPU上需要CANN、torch_npu、pytorch
先安装CANN,参考:
https://www.hiascend.com/zh/developer/download/community/result?module=cann。
torch_npu的安装参考:https://github.com/Ascend/pytorch/blob/master/README.zh.md。
Llama_factory适配NPU还需要下载:pip install -e ".[torch-npu,metrics]"。
注:python环境为3.8的话,torch_npu、torch均下载2.1.0版本,transformer下载4.46.1版本,tokenizers下载0.20.3版本,否则会报错。
(2)修改训练脚本
在脚本Llama3_lora_pretrain.yaml中修改:
直接从huggingface会报错,使用本地路径加载模型的办法
在脚本qwen2vl_lora_sft.yaml中修改:
同样使用本地路径加载模型的办法
1 验收材料
1.1 验收清单
(1)开源软件fork地址:不涉及
(2)开源软件修改记录(可以有多个修改记录):不涉及
(3)推送上游社区PR(包括代码、文档、可以有多个):不涉及
(4)验证DEMO地址:https://gitcode.com/hlc0101/Llama_factory/overview
(5)验证DEMO修改记录(可以有多个修改记录,只包含和本任务验证强相关的提交记录,比如添加依赖、增加配置文件、演示开源软件功能使用的代码等):https://gitcode.com/hlc0101/Llama_factory/commits/detail/e2cedf01fbd3e92e8e49a52b62d328456e5086ed?ref=main
(6)博客地址:https://bbs.huaweicloud.com/blogs/440784
2 资源清单
产品名称 |
NPU架构 |
CPU架构 |
操作系统 |
云堡垒机 |
Ascend 910B3
|
鲲鹏计算 Kunpeng-920 |
Huawei Cloud EulerOS 2.0 (aarch64) |
3 验证截图
4.1验证思路
从github上拉取ChatTTS仓库,使用modelscope下载模型放置model下,这里验证了Mete-llama -3-8B-Instruct和Qwen2-VL-7B-Instruct,运行llama-factory中example/train_lora下的训练脚本,得到训练结果保存在saves下。
4.2 NPU训练验证结果
(1)Mete-llama -3-8B-Instruct:
运行代码:
NPU上运行:
训练结果:
终端打印训练结果在终端并输出.json文件
生成train_result.json文件
程序运行前:
程序运行后:
(2)Qwen2-VL-7B-Instruct:
运行代码:
NPU上运行:
训练结果:
终端打印训练结果在终端并输出.json文件
生成train_result.json文件
程序运行前:
程序运行后:
- 点赞
- 收藏
- 关注作者
评论(0)