知识蒸馏是一种模型压缩方法。在训练过程中,大模型作为教师模型,轻量级模型作为学生模型,学生模型不仅学习任务的真实标签,还学习教师模型生成的软标签,从而能够“站在巨人的肩膀上”学习,提高自身性能。例如,NVIDIA 技术博客介绍了通过剪枝和知识蒸馏将 Llama-3.1 8B 模型缩减为 Llama-3.1-Minitron 4B 模型的方法。剪枝通过移除模型中的一些参数来减少计算需求和内存占用,而知识蒸馏让小模型学习大模型的输出。此外,在一些情况下,可能存在无意导致的信息蒸馏现象。
使用知识蒸馏的训练方法,大模型作为教师模型,轻量级模型作为学生模型,轻量级模型通过模仿大模型的行为进行训练。轻量级模型不仅学习任务的真实标签,还学习大模型生成的软标签,能够“站在巨人的肩膀上”学习。轻量级模型的基础能力越来越强,意味着同样的能力,模型能够越来越快、成本越来越低地实现,这对2025年的AI应用生态可能有着不小的意义。另一个值得瞩目的进展是,12月的发布中,OpenAI推出了强化微调技术,使用极少训练数据即在特定领域轻松地创建专家模型。使用几十到几千个高质量数据,微调后的o1-mini模型得分提高80%,能直接反超o1正式版。使用强化微调,轻量级模型能够通过精选数据的训练,直接超越同代大模型的表现,这对垂直领域的未来的模型应用,也将产生很大影响。
NVIDIA技术博客介绍了如何通过剪枝和知识蒸馏将Llama-3.1 8B模型缩减为Llama-3.1-Minitron 4B模型的方法。提供了一个详细的流程,用于将大型的Llama-3.1 8B模型通过剪枝和知识蒸馏技术转换为更小的Llama-3.1-Minitron 4B模型。剪枝是一种减少模型大小的技术,它通过移除模型中的一些参数来减少计算需求和内存占用,而不显著降低性能。知识蒸馏则是一种模型压缩方法,它通过让一个小模型(学生模型)学习一个大模型(教师模型)的输出来提高小模型的性能。[heading2][如何构建Townie——一个能够生成全栈应用的应用程序](https://blog.val.[content]Posma描述了自己如何通过Val Town平台构建Townie的原型,包括如何使用Vercel的AI SDK、如何通过LLM生成代码、如何处理数据库持久性问题、如何实现前后端代码的分离以及如何优化成本和速度。他还展示了如何通过“Make Real”功能将绘图转换为具有后端的HTML,以及如何通过E-VALL-UATOR评估LLM生成的代码质量。[heading2][Anthropic的提示工程互动教程](https://github.com/anthropic[content]Anthropic发布了两个用来学习提示工程的教程,完成课程后,将能够学到:掌握一个良好提示的基本结构识别常见故障模式,并学习解决它们的“80/20”技术了解Claude的优点和缺点从头开始为常见用例构建强大的提示另一个课程是面向中高级人员的,将学习如何将关键提示技术融入复杂的实际提示中。
模型会有一些共同的特点,比如很爱用“delve”这个词,这是个挺有意思的现象,我发现自己最近也在使用这个词,不知道是不是从模型那里学来的。另外可能还存在一些无意导致的信息蒸馏(unintentional distillation),比如说公司雇人做数据标注,但这个人直接把任务扔给了他最爱用的chatbot模型,再把结果粘贴回来,这也许是为什么各个模型之间的风格会趋向一致。另外一些模型显示出来的特征其实就是人们喜欢的方式,比如大家确实喜欢bullet point和结构化的回答,喜欢从模型那里得到大量信息。我们现在也还不清楚这些特征中有多少是由于post-training过程中特定的选择和设计造成的,又有多少是因为大家真的喜欢这样的回答。Dwarkesh Pa tel:模型生成的文本确实经常比用户希望的要长很多,有可能是因为标注的时候评分员更倾向于详尽的回答,这是不是也是模型pre-training方式的固有缺陷?因为模型没有经常遇到停止序列(stop sequence),导致模型在没有明确停止信号时一直生成下去?John Schulman:我觉得这可能是人类在标注过程中看到的信息太片面造成的。现在的模型训练一般都是一条一条地去做训练,而不是整个交互过程一起标注,所以很多单条信息会因为可能性更多、信息更丰富,在评分员眼里看起来更“完整”,同时比较简短的回答,或者说只回答了澄清问题的回答会被当作不够“完整”。另外还有一个问题是用户的偏好会不会随着模型输出文本的速度而变化。如果用户要坐在那等模型一个个地生成token,那用户肯定会希望它能直入主题。但如果模型能够一次性提供一大段文本,那用户就没那么在乎答案里是不是包含了模板,或者说有没有他们本来想一带而过的内容,相反会更愿意这样一次性拥有完整的信息。