TRL现在支持广义知识蒸馏,可以将🐳大型语言模型压缩成🐭小型语言模型!
这是如何工作的呢?
在标准知识蒸馏中,学生模型在一组固定的输出序列上进行训练,这些序列通常由较大、性能更优的教师模型生成。
这会导致训练-推理分布不匹配,因为学生模型在推理期间看到的部分序列与训练期间看到的不同。结果,与像PPO这样的强化学习方法相比,性能会大大下降😢
解决方案是对学生模型自生成的序列应用知识蒸馏。这会创建一个与教师模型的反馈循环,使学生模型在训练期间可以迭代改进💪
我喜欢这种后训练方法的原因是:
⚖️ 不需要偏好标签,只需要提示
📈 现在我们有几种大模型和小模型的家族可以进行蒸馏:Llama 3、Mixtral、Gemma-2和Qwen2.5
要在TRL中尝试这种方法,只需运行 `pip install -U trl`
享受吧!