Skip to content

LLaMA-Factory 昇腾 Docker 部署指南

1. 镜像信息

镜像名称:LLaMA-Factory-CANN8-Python3.10-PyTorch2.2.0

镜像地址http://mirrors.cn-central-221.ovaijisuan.com/mirrors.html

版本信息

组件版本
Python3.10.13
CANN8.0
操作系统Ubuntu 18.04
昇腾驱动固件23.0.0 以上

2. 使用说明

2.1 镜像拉取

对应 LLaMA-Factory 0.7.1 版本:

bash
docker pull swr.cn-east-317.qdrgznjszx.com/donggang/llama-factory-ascend910b:cann8-py310-torch2.2.0-ubuntu18.04

2.2 镜像启动

创建 docker_run.sh 文件,将以下代码写入文件并执行:

bash
#!/bin/bash
docker_images=llama-factory-ascend910b:cann8-py310-torch2.2.0-ubuntu18.04

docker run -it -u root --ipc=host --net=host \
        --device=/dev/davinci0 \
        --device=/dev/davinci1 \
        --device=/dev/davinci2 \
        --device=/dev/davinci3 \
        --device=/dev/davinci4 \
        --device=/dev/davinci5 \
        --device=/dev/davinci6 \
        --device=/dev/davinci7 \
        --device=/dev/davinci_manager \
        --device=/dev/devmm_svm \
        --device=/dev/hisi_hdc \
        -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 /home/niejzh:/home/niejzh:rw \
        -v /var/log/npu:/usr/slog ${docker_images} \
        /bin/bash

补充说明:请根据实际 NPU 卡数调整 --device 参数。上述示例挂载了 8 张 NPU 卡(davinci0 ~ davinci7)。

2.3 FAQ:docker login 报错 x509

报错信息

text
Error response from daemon: Get "https://swr.cn-east-317.qdrgznjszx.com/v2/": tls: failed to verify certificate: x509: certificate signed by unknown authority

原因:Docker 无法验证镜像仓库的 TLS 证书。

解决方案:编辑 /etc/docker/daemon.json,添加不安全仓库配置:

json
{
    "insecure-registries": [
        "swr.cn-east-317.qdrgznjszx.com"
    ],
    "registry-mirrors": [
        "https://docker.mirrors.ustc.edu.cn"
    ]
}

完整配置示例(含 NVIDIA Runtime):

json
{
    "insecure-registries": [
        "swr.cn-south-222.ai.pcl.cn",
        "https://swr.cn-east-317.qdrgznjszx.com"
    ],
    "registry-mirrors": [
        "https://docker.mirrors.ustc.edu.cn"
    ],
    "runtimes": {
        "nvidia": {
            "args": [],
            "path": "nvidia-container-runtime"
        }
    }
}

配置完成后重启 Docker 服务:

bash
systemctl restart docker

2.4 跨 AICC 环境迁移镜像

在其他 AICC 环境中使用本镜像时,按以下步骤操作:

  1. 在本地 ARM 宿主机上拉取镜像:docker pull <远程镜像地址>
  2. 使用 docker tag 替换为目标局点的组织信息:docker tag <本地镜像名> <目标镜像地址>
  3. 推送至目标局点的 SWR 服务:docker push <目标镜像地址>

Maintained by Robin