腾讯云TI-ONE训练平台自定义镜像规范_AI解决方案_同尘科技
若平台内置镜像不满足您的需求,您也可以使用自定义镜像创建训练任务和 Notebook 实例,以下是自定义镜像的 Dockerfile 示例:
基本镜像规范
若想要自定义镜像能在 任务式建模 启动训练任务,要求镜像安装 openssh-server 组件,示例如下:
# 基础镜像请自行修改FROM ubuntu:20.04
# 安装 openssh-server RUN apt-get update && apt-get install -y openssh-server && apt-get clean && mkdir -p /var/run/sshd
说明:若基础镜像是 centos 系统的话,使用 yum/dnf 进行包管理,请自行调整安装命令。
Notebook 镜像规范
若想要自定义镜像能在 Notebook 启动实例,除了要满足上述基本镜像规范以外,还要求安装 JupyterLab 组件,并设置相应的 /opt/dl/run 启动脚本,示例如下:
# 基础镜像请自行修改FROM ubuntu:20.04
# 安装 openssh-serverRUN apt-get update && apt-get install -y openssh-server && apt-get clean && mkdir -p /var/run/sshd
# 安装 python3、pip3RUN apt-get update && apt-get install -y python3.8 python3.8-distutils curl && \ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && \ python3.8 get-pip.py && rm -f get-pip.py
# 安装 jupyterlabRUN pip3 install jupyterlab
# 配置 /opt/dl/run 启动脚本RUN mkdir -p /opt/dl && echo "cd /home/tione/notebook && jupyter lab --allow-root --no-browser --ip=0.0.0.0 --port=8888 --notebook-dir=/home/tione/notebook --NotebookApp.allow_origin='*' --NotebookApp.token=''" > /opt/dl/run && chmod a+x /opt/dl/run
说明:若基础镜像已经包含了对应的包,请自行跳过对应安装命令。这里 /home/tione/notebook 是 Notebook 默认的磁盘挂载路径,镜像中是否有该路径不影响平台中使用。
完整自定义镜像 Dockerfile 示例
以下是一个基于 NVIDIA 的 PyTorch 镜像构建支持创建训练任务和 Notebook 实例的完整自定义镜像示例,推荐直接基于此示例制作自定义镜像:
# [推荐] 使用 NVIDIA 的 PyTorch 镜像作为基础镜像,以兼容较新的开源库和 GPU 卡类型FROM nvcr.io/nvidia/pytorch:23.07-py3
# [推荐] 修改软件源(若在腾讯云使用推荐用内网源)# [腾讯外网软件源] mirrors.tencent.com# [腾讯云内网软件源] mirrors.tencentyun.comENV TENCENT_MIRRORS="mirrors.tencentyun.com"RUN sed -i "s/archive.ubuntu.com/${TENCENT_MIRRORS}/g" /etc/apt/sources.list && \ sed -i "s/security.ubuntu.com/${TENCENT_MIRRORS}/g" /etc/apt/sources.list && \ pip config set global.index-url http://${TENCENT_MIRRORS}/pypi/simple && \ pip config set global.no-cache-dir true && \ pip config set global.trusted-host ${TENCENT_MIRRORS}
# [推荐] 若使用 NVIDIA 的 PyTorch 镜像,推荐删除默认的 NVIDIA 源,以加快 pip 包查询和安装速度RUN rm /etc/xdg/pip/pip.conf /etc/pip.conf /root/.pip/pip.conf /root/.config/pip/pip.conf && pip config unset global.extra-index-url
# [基本镜像规范] 安装 openssh-serverRUN apt-get update && apt-get install -y openssh-server && apt-get clean && mkdir -p /var/run/sshd
# [Notebook 镜像规范] 配置 /opt/dl/run 启动入口RUN mkdir -p /opt/dl && echo "cd /home/tione/notebook && jupyter lab --allow-root --no-browser --ip=0.0.0.0 --port=8888 --notebook-dir=/home/tione/notebook --NotebookApp.allow_origin='*' --NotebookApp.token=''" > /opt/dl/run && chmod a+x /opt/dl/run
# [推荐] 使用tini作为entrypoint,方便回收僵尸进程RUN apt-get update && apt-get install -y tini && apt-get cleanENTRYPOINT ["/usr/bin/tini", "-g", "--"]
# [可选 - 使用 HCC-GPU 实例时推荐安装] TCCL RDMA 通信优化# (若使用 NVIDIA 的 PyTorch 镜像,需要删除 /opt/hpcx/nccl_rdma_sharp_plugin/lib 中预装的 NCCL 插件)RUN wget https://taco-1251783334.cos.ap-shanghai.myqcloud.com/nccl/nccl-rdma-sharp-plugins_1.2_amd64.deb && \ dpkg -i nccl-rdma-sharp-plugins_1.2_amd64.deb && rm -f nccl-rdma-sharp-plugins_1.2_amd64.deb && \ rm -rf /opt/hpcx/nccl_rdma_sharp_plugin/lib/*
# [可选] 安装 Tikit (不含大数据组件)RUN pip install tencentcloud-sdk-python==3.0.955 coscmd==1.8.6.31 && \ pip install --no-dependencies -U tikit
# [自定义] 安装需要的依赖库RUN pip3 install accelerate==0.21.0 bitsandbytes==0.40.2 datasets==2.14.1 deepspeed==0.10.0 evaluate==0.4.0 peft==0.4.0 protobuf==3.20.3 scipy==1.10.1 sentencepiece==0.1.99 transformers==4.31.0
说明:推荐自定义镜像统一使用腾讯云的软件源,以支持更快的安装速度,上述示例已包含配置方法。若要配置其他软件源,可进一步参考:腾讯云软件源加速软件包下载和更新。若需要使用 HCC-GPU 型机型进行多机训练,推荐镜像安装 TCCL 插件以优化腾讯云星脉网络下的 RDMA 通信,上述示例已包含配置方法。若要使用别的安装方式,可进一步参考:GPU 型实例安装 TCCL 说明。推荐 Notebook 镜像中安装 Tikit 以方便地提交训练任务,上述示例已包含最简安装方法,若需要使用大数据组件要完整安装 Tikit,可进一步参考:Tikit 的安装与初始化。
对解决方案有疑惑?想了解解决方案收费? 联系解决方案专家
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠
阿里云解决方案也看看?: 点击对比阿里云的解决方案
暂无评论,你要说点什么吗?