GenStudio LLM API 部分模型价格调整公告GenStudio LLM API 部分模型价格调整公告 ,新价格 2025 年 11 月 1 日生效调价公告
Skip to content

LLaMAFactory 镜像 Dockerfile

如果出现以下情况,我们推荐您自己构建镜像:

  • 环境不匹配:平台提供的镜像不满足您特定的软件版本(如框架、库)组合。
  • 访问受限:您访问外部 Docker Hub 等公共仓库不方便或受限。

说明

本文包含的 Dockerfile 可用于镜像中心基于 Dockerfile 构建镜像,或直接在开发机中构建镜像(使用 docker build/docker buildx build)。

  • 基于 Ubuntu 22.04
  • 安装 CUDA 12.2.2
  • 安装 cuDNN 9.x
  • 安装 LLaMAFactory 当前版本(commit ID 5744f1ea940169303f0c495d067800f829b06599

    注意

    从 Github 下载 LLaMAFactory 仓库时使用了第三方学术加速服务,无法保证有效性。如已失效,请自行寻找替代方案。

Dockerfile 1

以下 Dockerfile 要求预先构建自定义系统级 CUDA 镜像。

  1. 先构建系统级 CUDA 镜像,参考 CUDA + cudnn8.x
  2. 然后将其作为基础镜像(可推送至租户私有镜像仓库),构建其他依赖系统级 CUDA 的应用镜像,可大幅节约构建时间。
dockerfile
# 推荐基于自定义 cuda 镜像构建 LLaMAFactory 镜像
# 请替换 YOUR_CUSTOM_CUDA_IMAGE 为自定义 cuda 镜像
FROM YOUR_CUSTOM_CUDA_IMAGE

# 设置 uv 使用清华镜像源
ENV UV_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple
ENV PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple

# 安装PyTorch/LLaMA-Factory/ModelScope/Tensorboard 等
# 1. 安装指定版本的PyTorch
# 2. 安装 Tensorboard
# 3. 克隆LLaMA-Factory代码库(使用--depth 1只克隆最新版本以减小体积)
# 4. 切换到LLaMA-Factory目录
# 5. 以可编辑模式安装LLaMA-Factory,并包含torch/metrics/modelscope附加功能
RUN pip install --no-cache-dir torch==2.6.0 \
    && pip install --no-cache-dir tensorboard \
    && git clone --depth 1 https://gh-proxy.org/https://github.com/hiyouga/LLaMA-Factory.git \
    && cd LLaMA-Factory \
    && pip install --no-cache-dir -e ".[torch,metrics,modelscope]" \
    && rm -rf ~/.cache/pip

Dockerfile 2

以下 Dockerfile 一次性安装系统级 CUDA、cudnn、LLaMaFactory 及其依赖的 Python 包,耗时较长,适用于在开发机内部使用 docker 命令构建镜像。如果在镜像中心使用该 Dockerfile 构建镜像,构建时间有可能超过 1 小时限制,导致构建失败。

dockerfile
FROM cr.infini-ai.com/infini-ai/ubuntu:22.04-20240429

# 设置环境变量
# DEBIAN_FRONTEND=noninteractive 防止安装过程中的交互式提示
# PATH 添加CUDA可执行文件路径
# LD_LIBRARY_PATH 添加CUDA库文件路径
# CUDA_HOME 设置CUDA根目录
# USE_MODELSCOPE_HUB 启用ModelScope模型仓库
ENV DEBIAN_FRONTEND=noninteractive \
    PATH=/usr/local/cuda/bin:/usr/local/cuda-12.2/bin${PATH:+:${PATH}} \
    LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda-12.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} \
    CUDA_HOME=/usr/local/cuda \
    USE_MODELSCOPE_HUB=1

# 安装CUDA并配置系统环境
# 1. 更新apt并安装必要工具
# 2. 清理apt缓存减小镜像体积
# 3. 下载CUDA安装包
# 4. 静默安装CUDA工具包(请勿安装 driver)
# 5. 配置动态链接库搜索路径
# 6. 更新动态链接库缓存
# 7. 清理安装包
RUN apt-get update && apt-get install -y wget build-essential \
    && rm -rf /var/lib/apt/lists/* \
    && wget https://developer.download.nvidia.com/compute/cuda/12.2.2/local_installers/cuda_12.2.2_535.104.05_linux.run \
    && sh cuda_12.2.2_535.104.05_linux.run --toolkit --silent --override \
    && echo '/usr/local/cuda/lib64' >> /etc/ld.so.conf \
    && echo '/usr/local/cuda-12.2/lib64' >> /etc/ld.so.conf \
    && ldconfig \
    && rm cuda_12.2.2_535.104.05_linux.run


# 设置 uv 使用清华镜像源
ENV UV_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple
ENV PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple

# 安装PyTorch/LLaMA-Factory/ModelScope/Tensorboard 等
# 1. 安装指定版本的PyTorch
# 2. 安装 Tensorboard
# 3. 克隆LLaMA-Factory代码库(使用--depth 1只克隆最新版本以减小体积)
# 4. 切换到LLaMA-Factory目录
# 5. 以可编辑模式安装LLaMA-Factory,并包含torch/metrics/modelscope附加功能
RUN pip install --no-cache-dir torch==2.6.0 \
    && pip install --no-cache-dir tensorboard \
    && git clone --depth 1 https://gh-proxy.org/https://github.com/hiyouga/LLaMA-Factory.git \
    && cd LLaMA-Factory \
    && pip install --no-cache-dir -e ".[torch,metrics,modelscope]" \
    && rm -rf ~/.cache/pip