引言
在人工智能领域,大模型微调是一个热门话题,尤其是在自然语言处理(NLP)领域。本文将介绍大模型中的 instruct、chat 和 base 模型的不同点,探讨常见的微调框架,并详细介绍使用 LLaMA-Factory 进行微调的步骤。
1. 大模型类型介绍
1.1 Base 模型
Base 模型,也称为基座模型,是在大量无标注数据上进行预训练的模型,学习到广泛的语言特征。这些模型具有大规模预训练、泛化能力强和可微调性等特点。
1.2 Chat 模型
Chat 模型专为处理人机交互而设计,能够理解上下文,维持对话历史,生成连贯且情境相关的响应。这类模型的特点是上下文感知、互动性和创意生成。ChatGPT 就是一个典型的 chat 模型。
1.3 Instruct 模型
Instruct 模型是为遵循指令或完成特定任务而设计和优化的模型。它们经过指令数据集微调,能够更好地理解和执行用户提供的指令。
2. 常见微调框架
在微调大模型时,有多种框架可供选择。以下是一些常见的微调框架:
- LoRA:一种基于低阶自适应的大语言模型微调方法,模拟全量微调的效果。
- PEFT:围绕部分参数进行微调的方法,目前比较常用。
- RLHF:基于强化学习的微调方法,由 OpenAI 团队提出。
3. 微调工具选择
本文选择使用的微调框架是 LLaMA-Factory,这是一个开源的低代码大模型训练框架,专为大型语言模型(LLMs)的微调而设计。它具有高效且低成本、易于访问和使用、丰富的数据集选项、多样化的算法支持等特点。
4. 环境配置
4.1 硬件与驱动
首先,需要确定一下显卡驱动和 CUDA是否已安装完成。如果有同学确实是不会安装,建议查阅相关教程。可以使用以下命令进行一个简单的校验:
nvidia-smi
会出现如下输出,显示 GPU 的当前状况与一些配置信息。
4.2 相关依赖
现在我们需要下载本次微调所使用到的开源项目。
- 使用 git clone 进行项目下载:
git clone https://github.com/hiyouga/LLaMA-Factory.git - 下载完成后,使用cd命令进入LLaMA-Factory目录下:
cd LLaMA-Factory - 安装相关依赖。这一步有两种选择:
- 第一种:如果你使用的是自己的电脑,或者说是在本地环境下,建议创建一个虚拟环境,避免破坏你原有的开发环境。推荐使用 conda。
- 第二种:如果你是像我一样使用的云端开发环境,那你可以不去创建虚拟环境。在这大模型中微调操作中我是没有创建虚拟环境的。
此时假设你已经完成了上述两种判断,并且根据自己的情况进行了相应的操作。那么接下来可以使用该命令进行相关环境依赖的安装:pip install -e '.[torch,metrics]' --user。–user这个可加可不加,如果你拥有你开发环境的 root 权限,那就可以考虑不加。但是如果你是像我一样在云端平台进行操作的,那还是加上比较好。
执行完上面三步后,再使用如下命令进行一个校验:
- 在终端输入 Python ,或直接使用某个代码编译器均可,执行如下命令:
import torch
torch.cuda.current_device()
torch.cuda.get_device_name(0)
torch.__version__
若过程中未出现报错,并且输出结果正常,那么便算通过。


