当前位置: 首页 > news >正文

LLaMA-Factory 使用 Qwen2-1.5B-Instruct 在华为 Ascend NPU docker环境上进行模型微调

制作 LLaMA-Factory 华为 npu 镜像

https://hub.docker.com/r/hiyouga/llamafactory/tags

默认情况下 LLaMA-Factory 镜像有

cuda版本的镜像:

docker pull hiyouga/llamafactory:latest

Atlas A2训练系列(Atlas 800T A2, Atlas 900 A2 PoD, Atlas 200T A2 Box16, Atlas 300T A2)
Atlas 800I A2推理系列(Atlas 800I A2)

npu A2版本的镜像

docker pull hiyouga/llamafactory:latest-npu-a2

我的环境是华为昇腾 910b 系列,所以自己制作镜像

下载 LLaMA-Factory 代码

git clone https://github.com/hiyouga/LLaMA-Factory.git

构建 npu 镜像

使用 docker-compose 构建并启动 docker 容器

进入 LLaMA-Factory 项目中存放 Dockerfiledocker-compose.yamldocker-npu 目录:

cd docker/docker-npu

构建 docker 镜像并启动 docker 容器:

docker-compose up -d

进入 docker 容器:

docker exec -it llamafactory bash

不使用 docker-compose

使用 docker build 直接构建 docker 镜像:

docker build -f ./docker/docker-npu/Dockerfile --build-arg INSTALL_DEEPSPEED=false --build-arg PIP_INDEX=https://pypi.org/simple -t llamafactory:latest .

启动 docker 容器:

docker run -dit \
-v ./hf_cache:/root/.cache/huggingface \
-v ./ms_cache:/root/.cache/modelscope \
-v ./data:/app/data \
-v ./output:/app/output \
-v /usr/local/dcmi:/usr/local/dcmi \
-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver \
-v /etc/ascend_install.info:/etc/ascend_install.info \
-p 7860:7860 \
-p 8000:8000 \
--device /dev/davinci0 \
--device /dev/davinci_manager \
--device /dev/devmm_svm \
--device /dev/hisi_hdc \
--shm-size 16G \
--name llamafactory \
llamafactory:latest

进入 docker 容器:

docker exec -it llamafactory bash

只启动 web UI界面

8000 是API接口地址

docker run -dit --ipc=host \-v /usr/local/dcmi:/usr/local/dcmi \-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \-v /usr/local/Ascend/driver:/usr/local/Ascend/driver \-v /etc/ascend_install.info:/etc/ascend_install.info \-p 7860:7860 \--device /dev/davinci0 \--device /dev/davinci_manager \--device /dev/devmm_svm \--device /dev/hisi_hdc \--name llamafactory \llamafactory:latest \python src/webui.py --host 0.0.0.0 --port 7860

开始模型微调

创建本地挂载目录

mkdir -p ~/niuben/llama-factory-workspace/{models,data,saves}

下载 Qwen2.5-1.5B-Instruct 模型

https://modelscope.cn/models/Qwen/Qwen2.5-1.5B-Instruct/files

python 安装 modelscope

pip install modelscope

下载完整模型库到指定文件夹中

modelscope download --model Qwen/Qwen2.5-1.5B-Instruct  --local_dir ~/niuben/llama-factory-workspace/models

启动交互式进入容器

docker run -it --rm \--name llamafactory-npu \--device=/dev/davinci0 \--device=/dev/davinci_manager \--device=/dev/devmm_svm \--device=/dev/hisi_hdc \-v /usr/local/Ascend/driver:/usr/local/Ascend/driver \-v /usr/local/dcmi:/usr/local/dcmi \-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \-v ~/niuben/llama-factory-workspace:/workspace \-e ASCEND_RT_VISIBLE_DEVICES=0 \-p 7860:7860 \--network=host \llamafactory:latest \/bin/bash

微调配置文件

train_qwen2_npu.yaml

### modelmodel_name_or_path: /workspace/models/qwen2-1.5b/dir
cache_dir: /workspace/models          # 你的挂载目录
trust_remote_code: true### method
stage: sft
do_train: true
finetuning_type: lora
lora_target: all### dataset
dataset: alpaca_gpt4_zh_50       # 对应 data/alpaca_zh_demo.json
template: qwen
cutoff_len: 1024
max_samples: 1000### output
output_dir: /workspace/saves/qwen2-1.5b-lora
overwrite_output_dir: true
logging_steps: 5
save_steps: 200### training hyperparams
per_device_train_batch_size: 2
gradient_accumulation_steps: 8
learning_rate: 1e-4
num_train_epochs: 3
lr_scheduler_type: cosine
warmup_ratio: 0.1
fp16: true
flash_attn: sdpa

数据集和数据集描述

数据集文件,alpaca_gpt4_zh_50.json

[{"instruction": "解释量子纠缠","input": "","output": "量子纠缠是一种量子力学现象,当两个或多个粒子在量子态上相互关联时,一个粒子的状态改变会立即影响另一个粒子的状态,无论它们相距多远。"},{"instruction": "写一首关于春天的诗","input": "","output": "春风轻拂柳梢绿,\n燕子归来呢喃声。\n桃花流水鲑鱼肥,\n草长莺飞二月天。"}
]

数据集描述文件,dataset_info.json

{"alpaca_gpt4_zh_50": {"file_name": "alpaca_gpt4_zh_50.json","columns": {"prompt": "instruction","query": "input","response": "output"}}
}

开始训练微调

pip install bitsandbytes>=0.39.0
ASCEND_RT_VISIBLE_DEVICES=0 llamafactory-cli train /workspace/train_qwen2_npu.yaml

开始模型合并

模型合并导出配置

export.yaml

### model
model_name_or_path: /workspace/models/qwen2-1.5b/dir
adapter_name_or_path: /workspace/saves/qwen2-1.5b-lora
finetuning_type: lora
template: qwen### export
export_dir: /workspace/saves/qwen2-1.5b-merged
export_size: 2
export_device: cpu   # 强烈推荐 cpu,避免 NPU OOM

模型导出

llamafactory-cli export \/workspace/train_qwen2_npu.yaml \--export_dir /workspace/saves/qwen2-1.5b-merged \--export_size 2 \--export_device npu
http://www.rkmt.cn/news/52149.html

相关文章:

  • 是搬运他人的,来源于xt2025
  • 坯子插件 v3.2.5 for SketchUp 2022-2024下载地址与安装教程
  • 20232310 2025-2026-1 《网络与系统攻防技术》实验六实验报告
  • 2025 年尼龙扎带厂家最新推荐排行榜:不锈钢扎带、线卡、定位片等配件源头厂家权威测评推荐尼龙扎带厂家推荐
  • 2025年连续全自动玻璃钢缠绕生产线厂家权威推荐榜单:玻璃钢管缠绕机/管道缠绕机/ 玻璃钢管道连续全自动缠绕机源头厂家精选
  • 2025! jenkins 添加节点
  • 20251117noip模拟赛
  • Bootstrap在MySQL应用中有何优势
  • [Python刷题记录]-多数元素-技巧-简单
  • 算法可视化平台 - 让算法学习变得直观生动
  • 2025年智慧客房系统供应商口碑推荐榜单TOP10权威发布
  • 2025年苏州森系婚礼跟拍公司权威推荐:城市街拍婚纱照/海边婚纱照/教堂婚礼拍摄源头服务机构精选
  • 2025年11月洛阳品质好的伸缩门品牌
  • 2025年热缩膜重型设备包装生产厂家权威推荐榜单:热缩膜设备包装/热缩膜包装/ 精密设备热缩膜包装源头厂家精选
  • 筑牢“中国芯”安全底座:有度即时通支撑芯片设计高效协同
  • Linux服务器上安装配置GitLab
  • 2025口碑水乳品牌TOP5:抗初老/保湿/修护款任你挑,构象亮感水乳凭抗初老实力出圈
  • 拼多多关键字搜索接口逆向:从 WebSocket 实时推送解析到商品数据结构化重建
  • 2025留学机构哪家好机构排名
  • 2025出国留学机构怎么样
  • 本年度靠谱的运动场馆装修设计公司推荐
  • 2025 最新铣头厂家推荐!直角 / 双向 / 万向 / 万能 / 加工中心侧 / 加长 / CNC 侧 / BT50 侧 / 90 度铣头优质厂家品牌排行榜及选型指南
  • uni-app 无法实现全局 Toast?这个方法做到了!
  • 2025较好的留学机构排名前十
  • 使用 x11vnc 与 systemd 实现持久化 VNC 远程桌面服务
  • 2025 最新珩磨管厂家推荐!珩磨管 / 活塞杆 / 合金管 / 精密无缝管优质品牌排行榜,含 20#45#/304 材质数控珩磨工艺企业权威推荐
  • 2025年口碑炸裂的湿敷水有哪些?抗初老+匀净透亮,成分党认准这几款
  • 目前口碑好的消波块生产厂家推荐
  • 2025年污水管网检测公司权威推荐榜单:污水管网闭水检测/管网疏通检测/管网改造修复源头公司精选
  • aio linux