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

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

http://www.jsqmd.com/news/231354/

相关文章:

  • FIR滤波器频率响应特性全面讲解
  • HBuilderX打造高性能H5移动端网页深度剖析
  • 核心要点:模拟电子技术基础中的增益带宽积
  • SPICE仿真中二极管温度特性影响的系统学习与实例分析
  • TTL电平转换芯片在驱动安装中的作用全面讲解
  • C++ 数据类型
  • 一文说清树莓派插针定义的物理编号与BCM区别
  • 一文说清常见USB转串口芯片驱动下载方式
  • C++ 有用的资源
  • 当教育遇上AI:瞬维AI如何为教培行业打开获客新通路?
  • 解密 AI 人工智能里的 Gemini 技术商业化
  • Parasoft C/C++test与MISRA C++兼容性问题解析
  • Altium Designer差分信号布局实战案例详解
  • Multisim下载在虚拟课堂中的应用完整示例
  • arm64平台上交叉编译x64动态库完整步骤
  • 零基础搭建Multisim主数据库:手把手教程
  • iverilog操作指南:常用命令参数深度剖析
  • 毛球修剪器电路图中驱动电路热管理设计:工程实践指南
  • T触发器时序约束设置:FPGA设计中的关键步骤
  • 技术驱动服务型民企突围:玄晶引擎AI数字化方案的落地逻辑与价值实现
  • GDAL 实现矢量合并
  • 提升用户体验的标签切换方案:QTabWidget实战案例
  • circuit simulator中实现前仿真与后仿真的统一平台方案
  • 大电流电感的热管理与散热设计实践案例
  • 一文说清MOSFET工作原理:开关模式基础认知
  • 设计模式学习(11) 23-9 组合模式
  • FreeRTOS任务调度模式选择核心要点
  • 快速理解risc-v五级流水线cpu:核心要点通俗解释
  • 慢生活并非消极躺平,而是主动选择将生活节奏调整到与身心需求匹配的状态
  • OrCAD下载与License配置:实战案例分享