当前位置: 首页 > 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.jsqmd.com/news/42735/

相关文章:

  • 是搬运他人的,来源于xt2025
  • 2025 最新石灰料仓厂家推荐!专利加持 + 多场景适配石灰料仓及投加系统 / 装置优质厂家排行榜石灰料仓投加系统/石灰料仓投加装置公司推荐
  • 坯子插件 v3.2.5 for SketchUp 2022-2024下载地址与安装教程
  • 20232310 2025-2026-1 《网络与系统攻防技术》实验六实验报告
  • 2025年环形导轨输送线直销厂家权威推荐榜单:环形导轨/圆弧导轨/ 环形导轨生产线源头厂家精选
  • Bootstrap在MySQL数据管理中作用大吗
  • PlantAssistant-管道数据文件PCF
  • Homework - Section Three
  • 【HD200I A2(8T)】青翼凌云科技-基于昇腾 310B 的智能计算模组
  • 2025 年尼龙扎带厂家最新推荐排行榜:不锈钢扎带、线卡、定位片等配件源头厂家权威测评推荐尼龙扎带厂家推荐
  • STM32 缓上电导致死机的问题分析
  • 2025! jenkins 添加节点
  • wtl with visual studio 2022
  • 生成用于验证 TDM slot 配置的波形
  • 20251117noip模拟赛
  • Bootstrap在MySQL应用中有何优势
  • blob字段在oracle中如何进行索引
  • [Python刷题记录]-多数元素-技巧-简单
  • 2025年武汉喷码机厂家最新企业推荐榜,油墨喷码机/手持喷码机/日期喷码机/喷码机维修/聚焦服务品质与产品竞争力深度剖析
  • 2025年国货抗老面霜哪家值得入?淡纹紧致/敏感肌适用/高保湿抗初老,实力品牌推荐
  • 算法可视化平台 - 让算法学习变得直观生动
  • 2025年智慧客房系统供应商口碑排行榜Top10权威发布
  • 2025年智慧客房系统供应商口碑推荐榜单TOP10权威发布
  • 2025 最新推荐!清理工具权威榜单,甄选云端管理 + 深度优化 + 安全防护全能型应用云储存 / 谷歌云盘 /icloud 储存空间 /macOS/ 苹果笔记本清理推荐
  • 2025年浙江自助免费建站公司权威推荐榜单:智能建站模板/ai建站平台/ ai自助建站源头公司精选
  • 2025年苏州森系婚礼跟拍公司权威推荐:城市街拍婚纱照/海边婚纱照/教堂婚礼拍摄源头服务机构精选
  • 2025年知识变现新蓝海:阿卡德平台——普通人逆袭的黄金赛道
  • [Python刷题记录]-翻转二叉树-二叉树-简单
  • 2025年11月美胸护理品牌评测:五强口碑榜与性能对比报告
  • 2025年抗老化污水池盖板实力厂家权威推荐榜单:玻璃钢格栅地沟盖板/化工污水池盖板/ 防滑玻璃钢盖板源头厂家精选