终极Yi-1.5-6B微调教程:基于LLaMa Factory的LoRA实战

【免费下载链接】Yi-1.5-6B 【免费下载链接】Yi-1.5-6B 项目地址: https://ai.gitcode.com/hf_mirrors/AI-Research/Yi-1.5-6B

Yi-1.5-6B是一款高性能的开源大语言模型,通过本教程,你将学习如何使用LLaMa Factory对其进行LoRA微调,快速提升模型在特定任务上的表现。无需深厚的机器学习背景,简单几步即可完成模型定制,让AI更好地满足你的需求。

Yi-1.5-6B模型优势解析 🚀

在开始微调之前,让我们先了解一下Yi-1.5-6B的强大性能。通过对比主流开源模型的基准测试结果,我们可以清晰看到Yi-1.5-6B在多方面的优势。

Yi-1.5-6B基础模型性能对比

从基础模型性能数据来看,Yi-1.5-6B在MMMU(63.5)、CMMMU(70.8)等中文相关评测中表现突出,远超同量级的Gemma-7B和Mistral-7B模型。这为我们进行微调提供了坚实的基础。

而在对话模型评测中,Yi-1.5-6B-chat版本同样表现优异:

Yi-1.5-6B对话模型性能对比

Yi-1.5-6B-chat在GSM8K(78.9)、HumanEval(64.0)等推理和代码任务中展现了强大能力,是进行任务定制的理想选择。

环境准备:三步快速配置 🔧

安装核心依赖库

首先需要安装openMind Hub Client和openMind Library,这是运行Yi模型的基础框架:

pip install openmind_hub
pip install openmind[pt]

获取Yi模型代码

克隆Yi模型的官方仓库并安装相关依赖:

git clone https://gitcode.com/hf_mirrors/AI-Research/Yi-1.5-6B
cd Yi-1.5-6B
pip install -r requirements.txt

安装LLaMa Factory

LLaMa Factory是一个功能强大的大语言模型微调工具,支持多种微调方法和模型类型:

git clone -b v0.9.0 https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -e .

数据准备:高质量数据集是成功的关键 📊

选择合适的数据集

本教程使用Stanford Alpaca英文数据集作为示例,你可以根据自己的任务需求选择或准备其他数据集。下载地址:https://github.com/tatsu-lab/stanford_alpaca/blob/main/alpaca_data.json

配置数据集信息

在LLaMa Factory的data/dataset_info.json文件中添加如下配置:

  "alpaca": {
    "file_name": "alpaca_data.json"  // 修改为你的本地数据集路径
  },

LoRA微调实战:高效定制模型 ✨

创建微调配置文件

在LLaMa Factory目录下新建examples/train_lora/yi_1.5_6b.yaml文件,配置如下(关键参数已标注):

### model
model_name_or_path: /path/to/your/Yi-1.5-6B  # 修改为本地模型路径

### method
stage: sft
do_train: true
finetuning_type: lora  # 使用LoRA微调方法
lora_target: all       # 对所有层进行LoRA微调

### dataset
dataset: alpaca        # 使用我们配置的alpaca数据集
template: yi           # 使用Yi模型的模板
cutoff_len: 2048       # 文本截断长度
max_samples: 1000      # 最大样本数量

### output
output_dir: saves/yi_1.5_6b/lora/sft  # 模型保存路径
logging_steps: 1       # 日志打印频率
plot_loss: true        # 绘制损失曲线

### train
per_device_train_batch_size: 8  # 每设备批大小
learning_rate: 1.0e-6           # 学习率
num_train_epochs: 3.0           # 训练轮数
max_steps: 5000                 # 最大训练步数
lr_scheduler_type: cosine       # 学习率调度器
warmup_ratio: 0.1               # 预热比例
bf16: true                      # 使用bf16加速训练

启动微调过程

使用以下命令开始微调:

llamafactory-cli train examples/train_lora/yi_1.5_6b.yaml

微调过程中,你可以通过日志和损失曲线监控训练进度。根据你的硬件配置,整个过程可能需要几个小时到几天不等。

模型推理:验证微调效果 📝

微调完成后,我们可以使用examples/inference.py脚本验证模型效果:

from openmind import AutoModelForCausalLM, AutoTokenizer

MODEL_DIR = "saves/yi_1.5_6b/lora/sft"  # 微调后的模型路径

model = AutoModelForCausalLM.from_pretrained(MODEL_DIR, torch_dtype="auto").to("cuda")
tokenizer = AutoTokenizer.from_pretrained(MODEL_DIR, use_fast=False)

input_text = "请解释什么是人工智能"
inputs = tokenizer(input_text, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_length=256)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

通过对比微调前后的输出结果,你可以直观感受到模型在特定任务上的提升。

常见问题与解决方案 ❓

训练过程中显存不足怎么办?

可以尝试减小per_device_train_batch_size参数,或启用梯度累积(增大gradient_accumulation_steps)。

如何选择合适的学习率?

对于LoRA微调,推荐使用较小的学习率(如1e-5到1e-6)。如果损失下降缓慢,可以适当提高学习率。

微调后的模型如何部署?

你可以使用openmind库提供的接口将模型部署为API服务,或集成到你的应用程序中。详细部署方法请参考项目中的examples目录。

通过本教程,你已经掌握了使用LLaMa Factory对Yi-1.5-6B进行LoRA微调的完整流程。现在,你可以尝试使用自己的数据集进行微调,让模型更好地适应你的特定需求。祝你的AI项目取得成功!

【免费下载链接】Yi-1.5-6B 【免费下载链接】Yi-1.5-6B 项目地址: https://ai.gitcode.com/hf_mirrors/AI-Research/Yi-1.5-6B

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐