searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

昇腾适配之llama-factory-npu

2024-05-30 01:31:19
208
0
  • step1:按requirements.txt做好镜像。

  • step2:启动容器并挂载npu:

sudo docker run -it --name [container_name] -u root --ipc=host \
--device=/dev/davinci6 \
--device=/dev/davinci7 \  # 容器用到的npu卡号
--device=/dev/davinci_manager \
--device=/dev/devmm_svm \
--device=/dev/hisi_hdc \
-v /etc/ascend_install.info:/etc/ascend_install.info \
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver \
-v /usr/local/Ascend/add-ons/:/usr/local/Ascend/add-ons/ \
-v /usr/local/sbin/npu-smi:/usr/local/sbin/npu-smi \
-v /usr/local/sbin/:/usr/local/sbin/ \
-v /var/log/npu/conf/slog/slog.conf:/var/log/npu/conf/slog/slog.conf \
-v /var/log/npu/slog/:/var/log/npu/slog \
-v /var/log/npu/profiling/:/var/log/npu/profiling \
-v /var/log/npu/dump/:/var/log/npu/dump \
-v /var/log/npu/:/usr/slog \
-v /usr/lib/jvm/:/usr/lib/jvm \
-v /xxx:/xxx \  # 需要挂载的路径
[imageID] \
/bin/bash
  • step3:配置环境变量
vim ~/.bashrc

# 添加以下环境变量配置,根据自己的动态库路径进行修改
export LD_PRELOAD=$LD_PRELOAD:/root/miniconda3/envs/qwen/lib/libgomp.so.1
export LD_PRELOAD=$LD_PRELOAD:/root/miniconda3/envs/qwen/lib/python3.8/site-packages/scikit_learn-1.3.1-py3.8-linux-aarch64.egg/scikit_learn.libs/libgomp-d22c30c5.so.1.0.0
export HCCL_CONNECT_TIMEOUT=1800

# 执行
source ~/.bashrc
  • step4:若微调Qwen1则需在modeling_qwen.py中添加自动迁移代码,Qwen1.5不需要。
import torch_npu
from torch_npu.contrib import transfer_to_npu
  • step5:运行微调脚本,若报transformers版本错误,在脚本里面把报错代码注释掉就行。
# 注释该行
# require_version("transformers>=4.31.0,<4.35.0", "To fix: pip install \"transformers>=4.31.0,<4.35.0\"")
0条评论
作者已关闭评论
胡****楠
2文章数
0粉丝数
胡****楠
2 文章 | 0 粉丝
胡****楠
2文章数
0粉丝数
胡****楠
2 文章 | 0 粉丝
原创

昇腾适配之llama-factory-npu

2024-05-30 01:31:19
208
0
  • step1:按requirements.txt做好镜像。

  • step2:启动容器并挂载npu:

sudo docker run -it --name [container_name] -u root --ipc=host \
--device=/dev/davinci6 \
--device=/dev/davinci7 \  # 容器用到的npu卡号
--device=/dev/davinci_manager \
--device=/dev/devmm_svm \
--device=/dev/hisi_hdc \
-v /etc/ascend_install.info:/etc/ascend_install.info \
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver \
-v /usr/local/Ascend/add-ons/:/usr/local/Ascend/add-ons/ \
-v /usr/local/sbin/npu-smi:/usr/local/sbin/npu-smi \
-v /usr/local/sbin/:/usr/local/sbin/ \
-v /var/log/npu/conf/slog/slog.conf:/var/log/npu/conf/slog/slog.conf \
-v /var/log/npu/slog/:/var/log/npu/slog \
-v /var/log/npu/profiling/:/var/log/npu/profiling \
-v /var/log/npu/dump/:/var/log/npu/dump \
-v /var/log/npu/:/usr/slog \
-v /usr/lib/jvm/:/usr/lib/jvm \
-v /xxx:/xxx \  # 需要挂载的路径
[imageID] \
/bin/bash
  • step3:配置环境变量
vim ~/.bashrc

# 添加以下环境变量配置,根据自己的动态库路径进行修改
export LD_PRELOAD=$LD_PRELOAD:/root/miniconda3/envs/qwen/lib/libgomp.so.1
export LD_PRELOAD=$LD_PRELOAD:/root/miniconda3/envs/qwen/lib/python3.8/site-packages/scikit_learn-1.3.1-py3.8-linux-aarch64.egg/scikit_learn.libs/libgomp-d22c30c5.so.1.0.0
export HCCL_CONNECT_TIMEOUT=1800

# 执行
source ~/.bashrc
  • step4:若微调Qwen1则需在modeling_qwen.py中添加自动迁移代码,Qwen1.5不需要。
import torch_npu
from torch_npu.contrib import transfer_to_npu
  • step5:运行微调脚本,若报transformers版本错误,在脚本里面把报错代码注释掉就行。
# 注释该行
# require_version("transformers>=4.31.0,<4.35.0", "To fix: pip install \"transformers>=4.31.0,<4.35.0\"")
文章来自个人专栏
文章 | 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0