news 2026/3/28 1:03:26

Ascend LlamaFactory微调书生模型

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ascend LlamaFactory微调书生模型

1.环境安装

conda create -y -n llamafactory_lab python=3.10 conda activate llamafactory_lab git clone https://gh.llkk.cc/https://github.com/hiyouga/LLaMA-Factory.git cd LLaMA-Factory git checkout v0.9.3 pip install -e ".[torch-npu,metrics]" -i https://pypi.tuna.tsinghua.edu.cn/simple pip install torch==2.6.0 torch-npu==2.6.0 torchvision

2.安装校验

使用以下指令对 LLaMA-Factory × 昇腾的安装进行校验: llamafactory-cli env

3.微调前的原模型效果呈现

安装依赖

pip install transformers==4.47.1 # 环境变量设置单卡GPU export ASCEND_RT_VISIBLE_DEVICES=0 # 启动推理 llamafactory-cli chat --model_name_or_path /share/new_models/internlm3/internlm3-8b-instruct --trust_remote_code True

输出结果:

4.微调书生模型

安装依赖

pip install transformers==4.47.1 pip install huggingface_hub==0.34.0 # 创建工作目录 mkdir /root/llamafactory_workdir

安装数据集

export HF_ENDPOINT=https://hf-mirror.com huggingface-cli download --repo-type dataset --resume-download llamafactory/alpaca_en --local-dir /root/dataset/alpaca_en huggingface-cli download --repo-type dataset --resume-download llamafactory/alpaca_zh --local-dir /root/dataset/alpaca_zh

创建dataset_info.json文件

mkdir /root/llamafactory_workdir/data cd /root/llamafactory_workdir/data touch dataset_info.json

dataset_info.json文件

{ "alpaca_en":{ "file_name": "/root/dataset/alpaca_en/alpaca_data_en_52k.json", "columns": { "prompt": "instruction", "query": "input", "response": "output" } }, "alpaca_zh":{ "file_name": "/root/dataset/alpaca_zh/alpaca_data_zh_51k.json", "columns": { "prompt": "instruction", "query": "input", "response": "output" } } }

Yaml配置文件

cd /root/llamafactory_workdir touch internlm3_lora_sft_ds.yaml

internlm3_lora_sft_ds.yaml文件内容

### model model_name_or_path: /share/new_models/internlm3/internlm3-8b-instruct trust_remote_code: True ### method stage: sft do_train: true finetuning_type: lora lora_target: q_proj,v_proj ### dataset dataset: alpaca_en,alpaca_zh template: intern2 cutoff_len: 1024 max_samples: 1000 overwrite_cache: true preprocessing_num_workers: 16 ### output output_dir: saves/internlm3-8b-instruct/lora/sft logging_steps: 10 save_steps: 500 plot_loss: true overwrite_output_dir: true ### train per_device_train_batch_size: 1 gradient_accumulation_steps: 2 learning_rate: 0.0001 num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 fp16: true ### eval val_size: 0.1 per_device_eval_batch_size: 1 eval_strategy: steps eval_steps: 500

开启微调dong

torchrun --nproc_per_node 1 \ --nnodes 1 \ --node_rank 0 \ --master_addr 127.0.0.1 \ --master_port 7007 \ /root/LLaMA-Factory/src/train.py internlm3_lora_sft_ds.yaml

动态合并LoRA的微调

llamafactory-cli chat --model_name_or_path /share/new_models/internlm3/internlm3-8b-instruct \ --adapter_name_or_path saves/internlm3-8b-instruct/lora/sft \ --template intern \ --finetuning_type lora \ --trust_remote_code True

从推理结果看和源模型的输出有所区别了,那就说明微调完成了

微调完成之后可以将微调的权重和原始的模型合并导出

ASCEND_RT_VISIBLE_DEVICES=0 llamafactory-cli export \ --model_name_or_path /share/new_models/internlm3/internlm3-8b-instruct \ --adapter_name_or_path saves/internlm3-8b-instruct/lora/sft \ --template intern2 \ --finetuning_type lora \ --export_dir saves/internlm3-8b-instruct/lora/megred-model-path \ --export_device auto \ --export_legacy_format False \ --trust_remote_code True

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/27 4:43:31

多层板中电镀+蚀刻实现互连的原理探究:系统学习

多层板互连的底层密码:电镀与蚀刻如何“编织”电路的立体神经 你有没有想过,一块指甲盖大小的手机主板,为何能承载数十亿晶体管的数据洪流?又是什么让高速信号在层层叠叠的铜箔之间精准穿行,不迷路、不串扰&#xff1f…

作者头像 李华
网站建设 2026/3/27 20:08:19

XDMA核配置与FPGA逻辑对接:实战案例

XDMA实战:从零打通FPGA到主机的高速数据链路 你有没有遇到过这样的场景? FPGA里跑着1GSPS的ADC数据流,处理得飞快,结果一到传给CPU就卡了——要么丢包,要么延迟高得没法实时分析。传统的PCIe开发又太难:协…

作者头像 李华
网站建设 2026/3/27 12:50:49

Vivado2021.1安装教程:集成SDK的完整环境搭建

Vivado 2021.1 安装实战:从零搭建带 SDK 的 FPGA 开发环境 你是不是正准备开始 FPGA 项目,却被一堆安装文档搞得头大?尤其是看到“Vivado SDK”这种组合时,总担心漏掉哪一步会导致后面软件打不开、工程编译失败? 别…

作者头像 李华
网站建设 2026/3/27 2:29:51

入门必看:Windows平台下C#上位机开发起步

从零开始:用C#打造你的第一款工业级上位机你有没有过这样的经历?手里的单片机已经能采集温度、读取传感器数据,但想实时监控却只能靠串口助手“看数字”?调试时满屏乱跳的十六进制让人头大,客户更是一脸茫然&#xff1…

作者头像 李华
网站建设 2026/3/27 4:29:08

模拟电路设计验证:电路仿真的关键应用

模拟电路设计的“数字沙盘”:为什么仿真决定成败你有没有经历过这样的场景?花了几周时间画好原理图、打样PCB、焊好元件,结果一通电——输出电压不对,运放自激振荡,或者噪声大得像收音机调台。更糟的是,问题…

作者头像 李华
网站建设 2026/3/27 6:57:10

数字电路实验中的逻辑门优化策略深度剖析

数字电路实验中的逻辑门优化:从卡诺图到FPGA的实战精要在数字电路实验室里,你是否曾面对一堆74系列芯片和错综复杂的跳线感到头大?明明功能实现了,但电路板上密密麻麻的连线让人怀疑自己是不是在“绣花”;更糟的是&…

作者头像 李华