一、项目背景
随着大语言模型的快速发展,如何让通用模型具备垂直领域的深度知识与特定的角色人格,已成为参数高效微调(PEFT)技术的重要应用方向。传统的提示词难以让模型长期、稳定地维持复杂的角色设定和世界观知识,而全参数微调成本高昂。
本项目旨在利用 LlamaFactory 这一大模型微调框架,结合 LoRA(低秩适应)技术,在保留基础模型通用能力的前提下,低成本地注入特定游戏内的专属知识。目标是打造一个不仅能流畅对话,更能深度理解游戏内世界观设定、模拟特定人格说话方式的智能聊天机器人。
二、核心概念简介
2.1 LlamaFactory
LlamaFactory 是一个专注于高效微调大型语言模型的开源工具库。它简化了模型微调流程,支持多种主流开源模型,并提供丰富的训练策略和优化技术。其支持多种微调方法,包括全参数微调、轻量级微调(如 LoRA、QLoRA)、适配器微调等,且兼容 Hugging Face 生态系统,可直接加载预训练模型。
2.2 LoRA
构建大语言模型需要耗费大量时间和资源。这些模型可能包含数万亿个参数,要使模型在特定环境下运行,传统方式意味着所有参数都会改变,既耗时又费力。LoRA(Low-Rank Adaptation)提供了一种无需重新训练即可快速调整模型的方法。其通过引入低秩矩阵来调整模型的权重,从而显著减少需要训练的参数数量。这种方法在保持模型性能的同时,降低了计算成本和内存占用。
三、环境搭建与数据准备
3.1 搭建环境
首先克隆仓库并安装依赖:
# 克隆仓库
git clone --depth 1 https://github.com/hiyouga/LlamaFactory.git
cd LlamaFactory
# 安装依赖
pip install -e .
pip install -r requirements/metrics.txt
安装完成后,执行以下命令进入 WebUI:
llamafactory-cli webui
3.2 下载基座模型
在开始微调之前,将基座模型下载到本地是非常重要的一步。相比于每次训练从 HuggingFace 下载,本地文件更加稳定且安全。用户可以选择通过 Modelscope 或 HuggingFace 拉取模型。
这里以从 Modelscope 下载 Qwen2.5-7B-Instruct 为例:
# 安装 Modelscope
pip install modelscope
# 下载完整模型库
modelscope download --model Qwen/Qwen2.5-7B-Instruct
也可以使用 Git 下载(需确保 lfs 已正确安装):
git lfs install
git clone https://www.modelscope.cn/Qwen/Qwen2.5-7B-Instruct.git
3.3 准备数据集
这是微调前最关键的一步,直接影响最终效果。LlamaFactory 主要支持以下三种数据集格式:
Alpaca 格式
[
{
"instruction": "user instruction (required)",
"input": "user input (optional)"











