Google 开源 AI 微调方法 Distilling Step-by-Step

华盛顿大学与谷歌研究团队开源“逐步蒸馏”技术

华盛顿大学与谷歌研究团队最近开源了一项名为“逐步蒸馏”(Distilling Step-by-Step)的技术,用于微调较小规模的语言模型。该技术相比标准的微调方法,需要更少的训练数据,并且能够在性能上超越参数规模是其700倍的大型语言模型(LLMs)的少样本提示表现。

技术背景与挑战

尽管LLMs在少样本提示下通常能够在多种任务中表现良好,但由于其内存和计算需求,部署这些模型具有挑战性。较小的模型在微调后也能表现良好,但需要手动创建特定任务的数据集。“逐步蒸馏”的核心思想是利用LLM自动生成一个小型的微调数据集,该数据集不仅包含输入和输出标签,还包含选择该输出标签的“推理过程”。微调过程训练小模型同时预测输出标签并生成推理过程。

技术优势与实验结果

在NLP基准测试中,经过微调的小模型在仅使用80%的基准微调数据的情况下,表现优于540B参数的PaLM模型。谷歌表示,逐步蒸馏技术减少了创建任务特定小模型所需的训练数据量,并缩小了模型规模,甚至超越了少样本提示的LLMs表现。总体而言,逐步蒸馏提供了一种资源高效的范式,解决了模型规模与所需训练数据之间的权衡问题。

大型模型的挑战与替代方案

研究表明,增加LLM的参数数量可以提高其性能,当前最先进的模型如PaLM拥有数千亿参数。然而,这些大型模型在推理时成本高昂且难以使用,因为它们需要多个并行GPU来存储参数。最近的努力产生了一些稍小的模型,如Meta的Llama 2,这些模型在参数数量减少一个数量级的情况下仍能表现接近大型模型,但它们仍然相当大且计算密集型。

微调与知识蒸馏的替代方案

另一种方法是使用特定任务的数据集微调较小的语言模型。虽然这个数据集可能相对较小(数千个示例),但收集这些数据仍然可能成本高且耗时。另一种选择是知识蒸馏,即用大模型作为小模型的教师。谷歌最近开发了一种技术,使用PaLM LLM创建训练数据集,生成的微调模型表现与10倍大的LLMs相当。

逐步蒸馏的实现与评估

逐步蒸馏技术需要微调数据集,但减少了创建高性能模型所需的数据量。源数据集通过链式思维提示输入到PaLM LLM中,要求模型给出其答案的推理过程。结果是生成一个修改后的微调数据集,其中包含原始输入、答案以及推理过程。较小的目标模型被微调以执行两个任务:回答原始问题并生成推理过程。

谷歌使用四个NLP基准测试评估了该技术,每个基准测试包含一个微调数据集。他们使用逐步蒸馏技术修改这些数据集,并微调了参数少于1B的T5模型。他们发现,这些模型在使用仅一部分数据集的情况下能够超越基线微调模型;在某些情况下,仅使用12.5%的数据集。他们还发现,他们的770M参数模型在ANLI基准测试中表现优于700倍大的540B参数PaLM模型,且仅需80%的微调数据集。

社区反馈与资源获取

在X(前Twitter)上,AI企业家Otto von Zastrow评论称这些结果非常强大,并称之为“合成数据生成”,而不是蒸馏。他对训练原始LLM使用这种合成的推理过程数据集的效果表示好奇。逐步蒸馏的源代码和训练数据集已在GitHub上公开,谷歌云的Vertex AI平台也提供了该算法的私人预览。

阅读 39
0 条评论