启智平台华为昇腾910B使用MS-Swift微调Janus-Pro-7/1B

最近想要微调一下DeepSeek出品的Janus多模态大模型

利用启智平台的昇腾910B国产计算卡进行大模型的微调

查看了一下MS-Swift支持了Janus模型的微调,LLamafactory好像暂时还不支持该模型的微调

看到了MS-Swift有单独对昇腾的支持,因此首先要安装swift,根据下述指令安装即可

首先要准备好底层的华为NPU驱动以及CANN加速库以及Torch-npu安装

一、环境准备与昇腾适配

在启智平台昇腾910B计算卡上进行大模型微调,需特别注意硬件架构与软件生态的适配性。昇腾910B采用华为自研达芬奇架构,其核心特性包括:

  1. 异构计算能力:集成AI Core、AI CPU和DVPP模块,支持混合精度训练(FP16/INT8混合运算)
  2. 能效优化:通过动态电压频率调整(DVFS)实现单卡310W功耗下的640TOPS@INT8算力
  3. 通信优化:RoCE网络支持400Gbps带宽,配合HCCL库实现多卡并行通信效率提升50%
pip install ms-swift -U
# 安装torch-npu
pip install torchvision==0.18.1
pip install torch-npu==2.3.1 decorator
pip install pillow -U

Janus-Pro作为DeepSeek最新多模态模型,其昇腾版本需要源码编译,需要安装昇腾版本的Janus

git clone https://gitee.com/ascend/ModelZoo-PyTorch.git
cd ModelZoo-PyTorch/MindIE/MultiModal/Janus-Pro
pip install -r requirements.txt 
pip install torch-npu
pip install -e .

关键组件说明:

  • 视觉编码器:采用SigLIP-L@384处理384x384输入
  • 生成模块:基于LlamaGen的VQ-VAE实现16倍下采样率图像生成
  • 混合精度支持:通过torch.autocast实现BF16/FP32自动转换

然后需要下载一个数据集启动模型的LoRA微调训练,我在这下载了Modelscope的LaTeX_OCR数据集,使用其中的human_handwrite进行模型的训练,训练脚本如下保存在 swift_lora.sh中

ASCEND_RT_VISIBLE_DEVICES=0 \
swift sft \
    --model /home/ma-user/work/pretrainmodel/Janus-Pro-7B \
    --train_type lora \
    --dataset /home/ma-user/work/dataset/human_handwrite#50 \
    --torch_dtype bfloat16 \
    --num_train_epochs 1 \
    --per_device_train_batch_size 1 \
    --per_device_eval_batch_size 1 \
    --learning_rate 1e-4 \
    --lora_rank 8 \
    --lora_alpha 32 \
    --target_modules all-linear \
    --gradient_accumulation_steps 16 \
    --eval_steps 50 \
    --save_steps 50 \
    --save_total_limit 5 \
    --logging_steps 5 \
    --max_length 2048 \
    --output_dir output \
    --system 'You are a helpful assistant.' \
    --warmup_ratio 0.05 \
    --dataloader_num_workers 4 \
    --model_author swift \
    --model_name swift-robot

运行该脚本会报错 git clone github/deepseek-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值