提示工程
大型语言模型(LLM)精细调优的理解:根据您的独特需求定制大型语言模型

截至2023年9月,大型语言模型(LLM)的发展仍在不断进步,包括Alpaca、Falcon、Llama 2、GPT-4等模型的出现。
利用这些LLM的潜力的一个重要方面在于精细调优过程,这是一种可以根据特定任务定制预训练模型的策略。通过这种精细调优,这些模型可以真正地与个性化需求相符,提供创新且定制化的解决方案。
然而,需要注意的是,并非所有精细调优方法都是一样的。例如,访问GPT-4的精细调优功能需要付费订阅,这相比其他选项来说更昂贵。另一方面,开源领域提供了更易于获取的途径来利用大型语言模型的力量。这些开源选项使得先进的AI技术更加民主化,促进了AI领域的创新和包容性。
为什么LLM精细调优重要?
LLM精细调优不仅仅是一种技术增强,它是LLM模型开发的一个关键方面,可以使模型在特定任务中更具针对性和精确性。精细调优可以调整预训练模型以更好地适应特定数据集,提高其在特定任务中的性能,并使其更有针对性地应用。它展现了LLM在面对新数据时的出色适应能力,这在AI应用日益增长的兴趣中至关重要。
大型语言模型的精细调优开启了许多机会,使得它们能够在从情感分析到医学文献审查等一系列特定任务中表现出色。通过将基础模型调整为特定的用例,我们可以解锁新的可能性,提高模型的效率和准确性。此外,它还可以更经济地利用系统资源,因为精细调优需要的计算能力相比从头开始训练模型要少得多。
随着我们深入探讨LLM精细调优的细节,我们将提供一个基于最新进展和最佳实践的全面概述。
基于指令的精细调优
生成式AI生命周期中的精细调优阶段,如下图所示,涉及将指令输入和输出与逐步推理的示例相结合。这种方法使得模型能够生成不仅相关而且与特定指令精确对齐的响应。它是在这个阶段,预训练模型被调整以解决不同的任务和用例,利用个性化的数据集来增强其功能。
单任务精细调优
单任务精细调优专注于使模型在特定任务中表现出色,例如总结。这种方法在优化涉及大量文档或对话线程的工作流程(包括法律文件和客户支持票据)方面尤其有益。值得注意的是,这种精细调优可以通过相对较小的示例集(从500到1000个示例)实现显著的性能增强,这与预训练阶段使用的数十亿个标记形成鲜明对比。
LLM精细调优的基础:Transformer架构和更进一步
理解LLM精细调优的旅程始于对构成LLM的基础元素的掌握。在这些模型的核心是Transformer架构,一种利用自注意力机制来优先考虑单词的上下文而非其在句子中的位置的神经网络。这种创新方法使得模型能够更深入地理解输入中不同标记之间的遥远关系。
当我们深入探讨Transformer的细节时,我们遇到了一个多步骤的过程,它从编码器开始。这个初始阶段涉及标记化输入并创建表示输入及其在句子中的位置的嵌入向量。随后的阶段涉及使用称为查询、值和键的矩阵的一系列计算,最后得出一个自注意力评分,决定了对句子不同部分和标记的关注程度。
精细调优是LLM开发中的一个关键阶段,涉及对预训练模型进行微调以获得更理想的输出。这个阶段虽然至关重要,但也带来了挑战,包括处理大量参数的计算和存储需求。参数高效精细调优(PEFT)技术提供了减少需要精细调优的参数数量的方法,从而简化了训练过程。
LLM预训练:建立坚实的基础
在LLM开发的初始阶段,预训练占据了中心位置,使用过参数化的Transformer作为基础架构。这个过程涉及在大规模无监督语料库上对自然语言进行建模,使用诸如双向、自回归或序列到序列等方法。这里的目标是创建一个可以后期为特定下游任务进行精细调优的基础,通过引入任务特定的目标。
一个值得注意的趋势是预训练LLM的规模的不可避免增加,衡量标准是参数数量。经验数据一致表明,较大的模型加上更多数据几乎总是能带来更好的性能。例如,GPT-3拥有175亿个参数,在生成高质量自然语言和执行各种零样本任务方面树立了标杆。
精细调优:模型适应的路径
在预训练之后,LLM经过精细调优以适应特定任务。尽管在预训练LLM(如GPT-3)中进行的上下文学习表现出希望,但精细调优在任务特定设置中仍然更为出色。然而,传统的全参数精细调优方法带来了挑战,包括高计算和内存需求,特别是在处理大规模模型时。
对于拥有超过十亿个参数的大型语言模型,高效管理GPU内存至关重要。单个模型参数在全32位精度下需要4字节的空间,这意味着仅加载一个十亿参数的模型就需要4GB的GPU内存。训练过程需要更多内存来容纳各种组件,包括优化器状态和梯度,可能需要高达80GB的GPU内存用于此规模的模型。
为了应对GPU内存的限制,使用了量化技术,即降低模型参数的精度,从而减少内存需求。例如,将精度从32位降低到16位可以将内存需求减半。在后面的内容中,我们将学习到QLoRA如何利用量化概念进行调优。
探索PEFT方法的类别
在对大型语言模型进行全精细调优的过程中,拥有能够高效处理不仅模型权重(对于最先进的模型,大小已达到数百GB),而且能够管理其他关键元素的计算设置至关重要。这些元素包括为优化器状态、梯度、前向激活和训练过程的各个阶段分配内存。
加法方法
这种调优方法可以通过添加额外的参数或层来增强预训练模型,仅训练新增的参数。尽管增加了参数数量,但这些方法提高了训练时间和空间效率。加法方法进一步分为子类别:
- 适配器:在Transformer子层之后插入小型全连接网络,值得注意的例子包括AdaMix、KronA和Compactor。
- 软提示:通过梯度下降对模型的输入嵌入进行精细调优,值得注意的例子包括IPT、prefix-tuning和WARP。
- 其他加法方法:包括LeTS、AttentionFusion和Ladder-Side Tuning等技术。
选择性方法
选择性PEFTs仅对基于层类型和内部模型结构的顶层进行精细调优。这种类别包括BitFit和LN调优等方法,它们专注于调优特定元素,如模型偏差或特定行。
基于重参数化的方法
这些方法利用低秩表示来减少可训练参数的数量,其中最著名的是低秩适应(LoRA)。这种方法利用简单的低秩矩阵分解来参数化权重更新,展示了在低秩子空间中进行有效的精细调优。
1) LoRA(低秩适应)
LoRA作为一种开创性的PEFT技术,由Edward J. Hu等人在2021年提出。它属于重参数化类别,通过在Transformer架构的每个层中引入新的可训练的低秩矩阵来实现,同时冻结原始权重。这种方法不仅减少了可训练参数的数量,还降低了训练时间和计算资源的需求,从而提供了一种比全精细调优更高效的替代方案。
为了理解LoRA的机制,我们需要回顾Transformer架构,其中输入提示经过标记化并转换为嵌入向量。这些向量经过编码器和/或解码器段,遇到自注意力和前馈网络,其权重是预训练的。
LoRA使用奇异值分解(SVD)的概念。基本上,SVD将矩阵分解为三个不同的矩阵,其中一个是对角矩阵,包含奇异值。这些奇异值至关重要,因为它们衡量矩阵中不同维度的重要性,较大的值表示更高的重要性,较小的值表示较低的重要性。
这种方法使LoRA能够在降低维度的同时保持数据的基本特征,从而优化精细调优过程。
LoRA通过在原始权重旁边引入一对“秩分解矩阵”来干预这个过程,冻结所有原始模型参数。这些较小的矩阵,表示为A和B,通过监督学习进行训练。
这种策略中的关键元素是秩(’r’),它决定了低秩矩阵的大小。仔细选择’r’可以带来令人印象深刻的结果,即使使用较小的值,也可以创建一个低秩矩阵,具有更少的参数需要训练。这种策略已经使用开源库如HuggingFace Transformers成功实施,实现了LoRA对各种任务的高效精细调优。
2) QLoRA:提高LoRA的效率
在LoRA的基础上,QLoRA进一步降低了内存需求。由Tim Dettmers等人在2023年提出,QLoRA将低秩适应与量化相结合,采用称为NormalFloat(nf4)的4位量化格式。量化本质上是一个将数据从高信息表示转换为低信息表示的过程。这种方法保持了16位精细调优方法的有效性,在计算过程中需要时将4位权重反量化为16位。
QLoRA利用NumericFloat4(nf4),针对Transformer架构中的每一层,并引入双重量化的概念,以进一步减少精细调优所需的内存占用。这种方法通过对已经量化的常数进行量化来避免典型的梯度检查点内存峰值,利用分页优化器和统一内存管理。
Guanaco,即QLoRA调优的集成模型,在开源聊天机器人解决方案中树立了标杆。其性能通过系统的人工和自动评估得到了验证,凸显了其在该领域的优势和效率。
Guanaco的65B和33B版本通过修改后的OASST1数据集进行了精细调优,成为与知名模型如ChatGPT和GPT-4等相媲美的竞争者。
使用来自人类反馈的强化学习进行精细调优
来自人类反馈的强化学习(RLHF)在精细调优预训练语言模型以更好地与人类价值观相符时发挥作用。这个概念由Open AI在2017年提出,奠定了增强文档摘要和开发InstructGPT的基础。
RLHF的核心是强化学习范式,一种机器学习技术,代理通过在环境中执行动作并接收奖励来学习如何行为。它是一个持续的动作和反馈循环,代理被激励去做出能带来最高奖励的选择。
将其转移到语言模型的领域,代理就是模型本身,在特定上下文窗口的环境中运作,根据定义为当前上下文窗口中的标记的状态做出决定。”动作空间“涵盖了模型可以选择的所有潜在标记,目标是选择与人类偏好最为接近的标记。
RLHF过程大量依赖于人类反馈,利用它来训练一个奖励模型。这个模型在精细调优过程中起着至关重要的作用,引导预训练模型生成更符合人类价值观的输出。它是一个动态且迭代的过程,模型通过一系列“展开”来学习,这是指在语言生成的背景下,状态和动作序列导致一个奖励的术语。
RLHF的一个显著潜力是其能够在AI助手中培养个性化,使其能够与个体用户的偏好产生共鸣,无论是他们的幽默感还是日常习惯。它开启了创造不仅技术上娴熟,而且情感上聪明的AI系统的途径,这些系统能够理解和应对人类交流中的细微差别。
然而,需要注意的是,RLHF并不是万能的解决方案。模型仍然容易生成不理想的输出,这反映了它们所训练的数据的广泛性和偏见。
结论
精细调优过程是利用LLM(如Alpaca、Falcon和GPT-4)全部潜力的关键步骤,已经变得更加精细和针对特定任务,提供了针对广泛任务的定制解决方案。
我们已经看到单任务精细调优,它使模型在特定角色中表现出色,以及参数高效精细调优(PEFT)方法,包括LoRA和QLoRA,它们旨在使训练过程更加高效和划算。这些发展为更广泛的受众打开了大型AI功能的大门。
此外,Open AI在2017年引入的来自人类反馈的强化学习(RLHF)是朝着创建更好地与人类价值观和偏好相符的AI系统迈出的一步,为我们展现了一个未来:AI不仅仅是一种工具,而是一种理解和适应人类背景的伙伴,提供创新和个性化的解决方案。
随着企业、机构和个人开始将这些精细调优的LLM集成到他们的运营中,他们基本上是在欢迎一个AI不仅仅是一种工具,而是一种理解和适应人类背景的伙伴的未来,这种伙伴提供的解决方案不仅创新,还能满足个性化需求。
























