AI开发平台MODELARTS-Wan2.1系列文/图生视频模型基于ModelArts Lite Server适配PyTorch NPU训练指导(6.5.906):步骤四:安装依赖和软件包

时间:2025-12-15 17:54:45

步骤四:安装依赖和软件包

  1. 拉取代码。
    mkdir MindSpeed_Dir
    cd MindSpeed_Dir
    git config --global http.sslVerify false
    git clone https://gitee.com/ascend/MindSpeed-MM.git
    cd MindSpeed-MM
    git checkout de390d902b57621cd900fa343ea62168bd578bc9
    cd ..  
    git clone https://github.com/NVIDIA/Megatron-LM.git 
    cd Megatron-LM 
    git checkout core_r0.8.0 
    cp -r megatron ../MindSpeed-MM/ 
    cd ../MindSpeed-MM

    修改/home/ma-user/MindSpeed_Dir/MindSpeed-MM/pyproject.toml文件中20行torch的版本为2.5.1,修改后的内容如下图所示。

  2. 安装加速库。
    git clone https://gitee.com/ascend/MindSpeed.git 
    cd MindSpeed 
    git checkout 4d9041071da5214e038ebf9f76e8574a60c89c2e
    pip install -r requirements.txt  
    pip install -e .
    cd ..  
    pip install -e .  
    pip install diffusers==0.33.1
  3. 安装依赖Decord。
    确保服务器网络正常,确保yum可以正常使用,确保git可以正常clone。
    export BUILD_ROOT_PATH=/home/ma-user/MindSpeed_Dir # 改成实际需要安装的根目录
    
    cd /home/ma-user/MindSpeed_Dir
    sudo yum install -y autoconf automake bzip2 bzip2-devel freetype-devel gcc gcc-c++ git libtool make mercurial pkgconfig zlib-devel
     
    curl -O -L -k https://github.com/Kitware/CMake/releases/download/v3.19.3/cmake-3.19.3-Linux-aarch64.sh
    chmod +x cmake-3.19.3-Linux-aarch64.sh
    sudo ./cmake-3.19.3-Linux-aarch64.sh --skip-license --prefix=/usr/local
    sudo /usr/local/bin/cmake -version
    
    mkdir ./ffmpeg_sources
    cd ./ffmpeg_sources
    sudo yum install nasm
    
    cd ../
    curl -O -L -k https://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
    tar xzf yasm-1.3.0.tar.gz
    cd yasm-1.3.0
    sudo ./configure --prefix="$BUILD_ROOT_PATH/ffmpeg_build" --bindir="$HOME/bin"
    sudo make -j$(nproc)
    sudo make install
    
    cd ../
    git clone --depth 1 https://code.videolan.org/videolan/x264.git
    cd x264
    export PATH="$HOME/bin:$PATH"
    sudo PKG_CONFIG_PATH="$BUILD_ROOT_PATH/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$BUILD_ROOT_PATH/ffmpeg_build" --bindir="$HOME/bin" --enable-shared --enable-pic
    sudo make -j$(nproc)
    sudo make install
    
    cd ../
    git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git
    cd libvpx
    export PATH="$HOME/bin:$PATH"
    sudo ./configure --prefix="$BUILD_ROOT_PATH/ffmpeg_build" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm --enable-shared --enable-pic
    sudo make -j$(nproc)
    sudo make install
    
    cd ../
    curl -O -L -k https://ffmpeg.org/releases/ffmpeg-4.1.6.tar.bz2
    tar xjf ffmpeg-4.1.6.tar.bz2
    cd ffmpeg-4.1.6
    export PATH="$HOME/bin:$PATH"
    sudo PKG_CONFIG_PATH="$BUILD_ROOT_PATH/ffmpeg_build/lib/pkgconfig" ./configure \
      --prefix="/$BUILD_ROOT_PATH/ffmpeg_build" \
      --extra-cflags="-I$BUILD_ROOT_PATH/ffmpeg_build/include" \
      --extra-ldflags="-L$BUILD_ROOT_PATH/ffmpeg_build/lib" \
      --extra-libs=-lpthread \
      --extra-libs=-lm \
      --bindir="$HOME/bin" \
      --enable-gpl \
      --enable-libvpx \
      --enable-libx264 \
      --enable-nonfree \
      --disable-static \
      --enable-shared \
      --enable-pic
    sudo make -j$(nproc)
    sudo make install
    
    cd $BUILD_ROOT_PATH
    git clone https://github.com/dmlc/decord.git
    cd decord
    git submodule update --init --recursive
    
    sudo mkdir -p build
    
    sudo /usr/local/bin/cmake . -DUSE_CUDA=0 -DFFMPEG_DIR=$BUILD_ROOT_PATH/ffmpeg_build
    sudo make -j$(nproc)
    sudo cp libdecord.so /usr/local/lib/
    sudo cp libdecord.so ./python/decord/libdecord.so
    
    cd python
    pip install numpy
    
    sudo chown ma-user:ma-group decord/libdecord.so
    python setup.py install
    
    # 执行如下指令不报错,证明decord安装成功
    python -c "import decord; from decord import VideoReader"
  4. 安装加速库APEX。
    cd /home/ma-user/MindSpeed_Dir
    git clone -b master https://gitee.com/ascend/apex.git
    cd apex/
    bash scripts/build.sh --python=3.11
    cd apex/dist/
    pip install --upgrade *.whl
  5. 下载模型权重https://huggingface.co/Wan-AI。
    1. 下载文生视频训练权重,如下图所示,下载文生视频14B预训练权重的所有文件,保存在Wan2.1-T2V-14B-Diffusers目录下,并上传Wan2.1-T2V-14B目录到容器/home/ma-user路径下。
      图1 下载Wan2.1-T2V-14B-Diffusers训练权重
    2. 下载文生视频训练权重,如下图所示,下载文生视频1.3B预训练权重的所有文件,保存在Wan2.1-T2V-1.3B-Diffusers目录下,并上传Wan2.1-T2V-1.3B-Diffusers目录到容器/home/ma-user路径下。
      图2 下载Wan2.1-T2V-1.3B-Diffusers训练权重
    3. 下载图生视频训练权重,如下图所示,下载图生视频14B-720p预训练权重的所有文件,保存在Wan-AI/Wan2.1-I2V-14B-720P-Diffusers目录下,并上传Wan2.1-I2V-14B-720P-Diffusers目录到容器/home/ma-user路径下。
      图3 下载Wan2.1-I2V-14B-720P-Diffusers训练权重
    4. 下载图生视频训练权重,如下图所示,下载图生视频14B-480p预训练权重的所有文件,保存在Wan2.1-I2V-14B-480P-Diffusers目录下,并上传Wan2.1-I2V-14B-480P-Diffusers目录到容器/home/ma-user路径下。
      图4 下载Wan2.1-I2V-14B-480P-Diffusers训练权重
  6. 请自行准备训练数据集,上传到容器/home/ma-user路径下。数据集处理成如下格式。

    其中,videos/下存放视频,data.json中包含该数据集中所有的视频-文本对信息,具体示例如下:

    修改/home/ma-user/MindSpeed_Dir/MindSpeed-MM/examples/wan2.1/feature_extract/data.txt文件,其中每一行表示一个数据集,第一个参数表示数据文件夹的路径,第二个参数表示data.json文件的路径,用,分隔 , 示例如下

support.huaweicloud.com/bestpractice-modelarts/modelarts_wan_train_5906.html