clearwind

clearwind

首页
分类
登录 →
clearwind

clearwind

首页 分类
登录
  1. 首页
  2. 🚀AI
  3. xtuner微调大模型

xtuner微调大模型

0
  • 🚀AI
  • 发布于 2025-02-26
  • 21 次阅读
clearwind
clearwind

构建环境

# 创建虚拟环境
conda create --name xtuner-env python=3.10 -y
conda activate xtuner-env

# 安装xtuner
git clone https://github.com/InternLM/xtuner.git
cd xtuner
pip install -e '.[all]' # “-e” 表示在可编辑模式下安装项目,因此对代码所做的任何本地修改都会生效

# 验证xtuner安装是否成功
xtuner list-cfg

下载模型

pip install modelscope
modelscope download --model Shanghai_AI_Laboratory/internlm2-chat-1_8b --local_dir ./model/internlm2-chat-1_8b

微调

创建微调训练相关的配置文件在左侧的文件列表,xtuner 的文件夹里,打开 xtuner/xtuner/configs/internlm/internlm2_chat_1_8b/internlm2_chat_1_8b_qlora_alpaca_e3.py, 复制一份至根目录。 打开这个文件,然后修改预训练模型地址,数据文件地址。


#######################################################################
#                          PART 1  Settings                           #
#######################################################################
# Model
pretrained_model_name_or_path = "/workspace/model/internlm2-chat-1_8b"

# Data
data_files = "/workspace/data/data/target_data.json"

# Scheduler & Optimizer
batch_size = 2  # per_device
max_epochs = 3

evaluation_inputs = [
    '只剩一个心脏了还能活吗?', '爸爸再婚,我是不是就有了个新娘?',
    '樟脑丸是我吃过最难吃的硬糖有奇怪的味道怎么还有人买','马上要上游泳课了,昨天洗的泳裤还没干,怎么办',
    '我只出生了一次,为什么每年都要庆生'
]
#######################################################################
#                      PART 3  Dataset & Dataloader                   #
#######################################################################
alpaca_en = dict(
    dataset=dict(type=load_dataset, path="json", data_files=data_files),
    dataset_map_fn=None,
)

微调训练

xtuner train internlm2_chat_1_8b_qlora_alpaca_e3.py

error: libGL.sl.1:cannot open shared object file: No such file or directory

sudo apt-get update
sudo apt-get install libgl1
02/26 11:51:16 - mmengine - INFO - Iter(train) [20/54]  lr: 1.4828e-09  eta: 0:03:21  time: 6.1277  data_time: 0.2100  memory: 9363  loss: 2.1967  grad_norm: 0.4390
02/26 11:52:16 - mmengine - INFO - Iter(train) [30/54]  lr: 9.1120e-10  eta: 0:02:23  time: 6.0434  data_time: 0.0097  memory: 9363  loss: 2.2208  grad_norm: 0.4390
02/26 11:53:20 - mmengine - INFO - Iter(train) [40/54]  lr: 3.6991e-10  eta: 0:01:25  time: 6.3791  data_time: 0.2100  memory: 9363  loss: 2.2509  grad_norm: 0.4366
02/26 11:54:22 - mmengine - INFO - Iter(train) [50/54]  lr: 4.3599e-11  eta: 0:00:24  time: 6.2547  data_time: 0.0097  memory: 9363  loss: 2.2101  grad_norm: 0.4387

模型转换

模型训练后会自动保存成 PTH 模型(例如 iter_2000.pth ,如果使用了 DeepSpeed,则将会是一个文件夹),利用 xtuner convert pth_to_hf 将其转换为 HuggingFace 模型,以便于后续使用。具体命令为:

xtuner convert pth_to_hf ${FINETUNE_CFG} ${PTH_PATH} ${SAVE_PATH}
# 例如:xtuner convert pth_to_hf internlm2_chat_7b_qlora_custom_sft_e1_copy.py
./iter_2000.pth ./iter_2000_

模型合并

如果使用了 LoRA / QLoRA 微调,则模型转换后将得到 adapter 参数,而并不包含原 LLM 参数。如果期望获得合并后的模型权重(例如用于后续评测),那么可以利用 xtuner convert merge :

xtuner convert merge ${LLM} ${LLM_ADAPTER} ${SAVE_PATH}

标签: #sft 2 #xtuner 1 #LLM 9 #AI 7
相关文章
简述 Transformer 训练计算过程(刷新渲染)

简述 Transformer 训练计算过程(刷新渲染) 2025-01-11 23:54

Step1-定义数据集 用于创建 ChatGPT 的数据集为 570 GB。假设数据集为一下内容: 白日依山尽,黄河入海流。 马无夜草不肥,人无横财不富。 天行健,君子以自强不息,地势坤,君子以厚德载物。 Step2-计算词汇量

基于Deepseek的AI试题问答

基于Deepseek的AI试题问答 2025-02-28 09:46

需求 项目目标‌ 构建一个基于大模型微调的AI试题问答系统,支持数学、历史、英语等多学科试题的智能解析、答案生成及知识点关联,适配考试场景的自动评分与错题分析功能‌。 核心功能需求‌ ‌试题交互与解析‌:支持选择、填空、判断、问答等题型交互,自动生成试题解析(含解题步骤与知识点标注)‌。 ‌智能查询

基于 internlm2 和 LangChain 搭建你的知识库

基于 internlm2 和 LangChain 搭建你的知识库 2025-02-27 14:25

环境配置 internlm2 模型部署 创建虚拟环境 conda create -n deepseek_rag python=3.10 -y conda activate deepseek_rag 并在环境中安装运行 demo 所需要的依赖 # 升级pip python -m pip install

xtuner微调大模型

xtuner微调大模型 2025-02-26 09:31

构建环境 # 创建虚拟环境 conda create --name xtuner-env python=3.10 -y conda activate xtuner-env # 安装xtuner git clone https://github.com/InternLM/xtuner.git cd

Llama-Factory 微调全过程

Llama-Factory 微调全过程 2025-01-13 22:28

数据集 数据集下载:通过ModelScope获取原始数据集https://modelscope.cn/datasets/w10442005/ruozhiba_qa/summary git clone https://www.modelscope.cn/datasets/w10442005/ruozh

矩阵分解 2025-01-11 15:48

矩阵分解是一种通过将较大的矩阵分解为多个小矩阵已降低计算复杂度的技术,在模型训练微调上,通常用于简化模型、提高训练效率。矩阵分解有多种形式,一下是几种常见的模型微调权重分解方法: 奇异值分解 将矩阵分解为三个矩阵乘积的方法: W=U \Sigma V^{T} 其中: W是原始权重矩阵。 U和V是正交

目录
  • clearwind
  • 微信小程序

导航菜单

  • 首页
  • 分类
Copyright © 2024 your company All Rights Reserved. Powered by clearwind.
皖ICP备19023482号