大模型Qwen微调案例

环境:conda python=3.10 下载数据 使用 modelscope ,Hugging Face 需要科学上网。

大模型微调

大型模型的全面微调(Fine-tuning)涉及调整所有层和参数,以适配特定任务。
需要了解几个概念:目前分2个微调方式

  1. 全量微调:使用完整数据集调整所有参数,算力消耗大但能力改造彻底,适合全量指令微调(如生成对话能力)。
  2. 高效微调:(Parameter-Efficient Fine-Tuning,PEFT)仅调整部分参数(如LoRA),轻量化且灵活,适合特定领域优化。

PEFT包括LoRA、QLoRA、适配器调整(Adapter Tuning)、前缀调整(Prefix Tuning)、提示调整(Prompt Tuning)、P-Tuning及P-Tuning v2等多种方法。
微调实际上是迁移学习的一个实例,其中预训练的模型(通常在大型通用数据集上训练)被用作特定任务的起点。这种方法使得即使是对于小数据集的任务,也可以实现高效的学习。

LoRA适配器

LoRA适配器(Low-Rank Adaptation)是一种用于微调大型语言模型的技术,旨在通过低秩分解优化模型参数,从而减少显存和计算资源的需求,同时保持模型的性能。 在微调时需要配置这个参数。
可以将 LoRA 想象成给一个大型通用模型添加一小组专门的指令。与重新训练整个模型(既昂贵又耗时)不同,LoRA 允许你高效地为模型添加新功能。
PEFT(Parameter-Efficient Fine-Tuning,参数高效微调)是 Hugging Face 的一个库,用于实现像 LoRA 这样的高效模型微调技术。 pip install peft

微调中的LoRA适配器 配置:

# 2. 添加LoRA适配器
peft_config = LoraConfig(
    r=8,    # r是LoRA算法中的超参数,它控制了权重矩阵的秩。
    lora_alpha=32,  # lora_alpha是LoRA算法中的超参数,它控制了权重矩阵的缩放因子。
    target_modules=["q_proj", "k_proj", "v_proj"],  # target_modules是LoRA算法中的关键参数,它指定了需要做LoRA适配的层。
    lora_dropout=0.05,      # lora_dropout是LoRA算法中的超参数,它控制了权重矩阵的随机化程度。
    bias="none",    # bias是LoRA算法中的超参数,它控制了权重矩阵的偏置项。
    task_type="CAUSAL_LM"   # task_type是LoRA算法中的超参数,它控制了权重矩阵的初始化方式。
)

window完整微调代码

# -*- coding: utf-8 -*-
# file: data_ready.py
# author: laich
"""
数据集准备
# 安装依赖
pip install langchain torch transformers modelscope peft
如果ImportError: cannot import name 'get_metadata_patterns' from 'datasets.data_files' 是 datasets版本过高
pip install datasets==3.3.0
数据集描述:https://www.modelscope.cn/datasets/AI-ModelScope/alpaca-gpt4-data-zh  可以通过git下载到本地。
"""

from modelscope import AutoTokenizer, AutoModelForCausalLM
from peft import LoraConfig, get_peft_model
import torch

# 1. 加载模型和tokenizer
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芳心村

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值