大模型微调方法之Delta-tuning
大模型微调方法自从23年之后可谓是百花齐放,浙大有团队在8月将关于大模型微调方法的综述上传了ArXiv。论文将微调方法总结为等几个类别。本次讨论的
1 大模型业务分类
当前的大模型行业可谓百花齐放,自然语言处理(natural language processing, NLP)、计算机视觉(computer vision, CV)、音频处理(audio processing, AP)、控制科学(control science, CS)等有大量训练数据的研究方向均可通过大模型来提供解决方案。但实际上目前商用最成熟的还是涉及 NLP 和 CV 方向的大模型应用,如图所示:

下面,将根据大模型涉及的主流业务方向,对当前较成熟的大模型进行介绍,如下表所示
大模型名称 | 发布年份 | 模型类别 | 模型业务范围 / 特色 |
---|---|---|---|
ChatGPT3.5 | 2022年11月 | 对话大模型(商用/不开源) | 交互式对话 / 文本解读 |
ChatGPT-3.5 Sonnet | 2022年11月 | 多模态大模型(商用/不开源) | 交互式对话 / 文本解读 / 图像解读 |
ChatGPT4o / ChatGPT-4o-mini | 2024年5月/7月 | 多模态大模型(商用/不开源) | 文本 / 图像 / 音频 / 视频解读 / 交互式对话 |
bard / gemini | 2023年2月/12月 | 多模态大模型(商用/不开源) | 文本 / 图像 / 音频 / 视频解读 / 交互式对话 |
LLaMA | 2023年2月 | 对话大模型(开源) | 交互式对话 / 文本解读 |
Qwen2 | 2024年7月 | 对话大模型(开源) | 交互式对话 / 文本解读 |
kimi | 2023年10月 | 对话大模型(开源) | 交互式对话 / 长文本处理 |
在上述模型中,ChatGPT作为最成熟的商用大模型,也同时开放了对于自己模型的微调,详情可参考官方文档中对于微调的描述(Fine-tuning - OpenAI API)。此外,openAI还开放了非常实用的playground功能,可以多开在线对比模型效果,非常好用(Chat Playground - OpenAI API)。当然了,这些功能也有劣势,就是要钱💲💲💲。
当然,如果需要开展对大模型的部分参数 / 全参数微调,最好的选择是使用开源大模型,如 LLaMA 和 通义千问(Qwen)。当然,这两个大模型也有各自的官方微调版本可供用户选择,如LLaMA的视觉版本 LLaVA ,通义千问的推理强化版 Qwen2-math,音频版 Qwen2-audio ,以及视觉 — 文字多模态版 Qwen2-VL 。
在之前的博客中,已经对大模型微调的方法进行了介绍,大家可以在通用开源模型的基础上,通过部分参数微调对大模型进行扩展,以在基础模型上开发新的业务。在接下来的部分中,本文将会从 系统设定 、 工具调用 、 提示工程 、 业务丰富 4个方向介绍各类提升大模型提示(prompt)质量的策略。
2 大模型prompt改进策略
除了微调方式外,作为数据集的一部分,提示工程也是改进大模型的主要策略之一。通过提示工程, 可以扩展基础大模型的业务范围,甚至提高大模型的推理能力。而微调方法则决定了提示工程对于大模型的影响程度,以及改进效率。
2.1 系统设定
系统设定,是各类数据集中均会出现的一项重要组成部分,其中可以包含系统(所有用户)对于大模型回复的样式要求和格式要求。对恰当的问题设置对应的系统提示,可有效提高其回答质量:
例一: 你是一个用于天气播报的模型,为用户提供天气信息与建议的出行方式
例二: 你是一个用于解决数学问题的模型,回答中的其他的部分需要尽量简洁,突出推理过程
2.2 工具调用
工具调用是另一种改进大模型表现的方法,比如某个大模型并不具备随时在线更新的方式,但在训练时,数据集中留有指定外部函数的接口,比如可联网的实时天气查询函数,那么此时大模型在被问到现在某地的天气如何这个问题时,接受过工具调用训练的大模型就会根据工具(外部函数)返回的信息,给出用户给定的具体城市具体时间的天气,而基准模型则完全不具备这个能力,无法返回天气。
当前此类专门扩展大模型工具调用业务的数据集已被提出,如 glaiveai ,当前该数据集已发展到V3。LLaMA factory中也有应用该数据集进行改进的经典例子 大模型 Agent:基于 LLaMA Factory 实战 。
2.3 提示工程
作为当前应用范围较广,也是最早🔥🔥爆火🔥🔥的大模型, ChatGPT 的官网中,已经有很多提示工程的相关文档 OpenAI API OFFICIAL ,可帮助用户快速提高提示质量,当前较常用的策略包括:
此外,还有个比较好的学习网站,是OpenAI API官方使用指南(中文修订版) .
2.4 业务丰富
在前面的介绍中,其实已经对这一部分进行了叙述,即:
大模型的业务本质上是由数据集驱动的。
对于同一份数据的不同组织形式,或扩展、或缩减都会驱动不同的业务, 这一部分也有较成熟的官方文档用以介绍: LLaMA-Factory-data_preparation 。其中对不同的数据组织形式都进行了介绍:
- 最普通的 alpaca 格式;
[
{
"instruction": "user instruction (required)",
"input": "user input (optional)",
"output": "model response (required)",
"system": "system prompt (optional)",
"history": [
["user instruction in the first round (optional)", "model response in the first round (optional)"],
["user instruction in the second round (optional)", "model response in the second round (optional)"]
]
}
]
- 分角色对话的 sharegpt 格式:
[
{
"conversations": [
{
"from": "human",
"value": "user instruction"
},
{
"from": "gpt",
"value": "model response"
}
],
"system": "system prompt (optional)",
"tools": "tool description (optional)"
}
]
其他业务扩展数据集组织形式详见LLaMA官方文档 qwen.readthedocs.io .