Distilling Step-by-Step: 可以用更少的训练数据与模型尺寸战胜同级别的LLM!

Distilling Step-by-Step: 可以用更少的训练数据与模型尺寸战胜同级别的LLM!

Introduction

作者提到部署大模型存在时延、内存、算力等挑战,所以目前的趋势是微调、蒸馏一个不是很大的语言模型,如Vicuna、Alpaca,但是获取特定下游任务的数据是困难的、昂贵的。

在这里插入图片描述

为了解决上述问题,作者提出了Distilling Step-by-Step,可以通过用更少的数据、更小模型战胜在同等数据集上的大模型。(本文中作者通过实验770M-T5战胜了540BPaLM)

Method

在这里插入图片描述
Distilling step-by-step 一共分为两步:

  1. 把一些未标注的数据通过CoT的方式prompt LLM生成label与理论基础(也就是为什么得到这样结果)。
  2. 把得到的数据在小模型中finetune。

其中第一步案例如下:

在这里插入图片描述

这样就可让小模型既可以学到这个任务怎么做,怎可以学到为什么这么做,增加小模型对特定任务的理解。

现在有了 xi(来自于原始为标注的数据)、ri(理论基础)、yi(标签),作者为了更好的将三者联系起来:
在这里插入图片描述

输入问题,把output改为答案+答案的解题思路。

在计算损失函数的时候,对二者加权计算。
在这里插入图片描述

实验

在这里插入图片描述

在这里插入图片描述

参考

https://arxiv.org/pdf/2305.02301.pdf

猜你喜欢

转载自blog.csdn.net/qq_18555105/article/details/130490101