大家好,今天我要给大家分享的是关于神奇的Zephyr-7B模型和Lora训练的故事。这是一次跨越三大洲的合作,让我们一起探索这个令人兴奋的AI世界。
Zephyr:直接蒸馏语言模型对齐
在 AI 的世界中,出现了一款名为 Zephyr-7B 的模型,它的出现可谓是一次划时代的突破。那么,Zephyr-7B 是如何诞生的呢?
几个月之前,一个位于巴黎的团队发布了他们的第一个模型:Mistral 7B。这个模型虽然体积小巧,但性能强大,在基准测试中超过了所有同类模型,更令人振奋的是,这是一个开源项目。
然后,Hugging Face H4团队的两名成员在一次小聚中,讨论了使用斯坦福大学新发表的 DPO 方法对 Mistral 7B 这个模型进行微调的可能性。他们在 HF hub 上找到了一些公开的数据集,包括由面壁智能和清华大学 NLP 共同支持的 OpenBMB 开源的两个大规模、高质量的微调数据集:UltraFeedback 和 UltraChat。
UltraFeedback 是一个大规模、多样化、细粒度 的偏好数据集。UltraChat 则是高质量的对话数据集,包含了 150 余万条多轮指令数据。
经过几轮实验,使用 OpenBMB 两个数据集训练出来的新模型非常强大,是 H4 团队在伯克利和斯坦福的基准测试中见过的最强模型,并在之后被命名为 Zephyr模型。Zephyr-7B-alpha 的 MT-Bench 平均得分7.09,超越了 Llama2-70B-Chat。
这引发了一个重要的思考:一个基于高质量数据集的 7B 模型竟然打败了参数十倍之大的 LLaMA2-70B-Chat,这说明了什么?这说明,底层的数据工作才是最稀缺的和有时间价值的,这或许是各家各派大模型在百模大战中的突破口之一。
然后我们看到,Zephyr的优秀性能还得归功于使用了由斯坦福大学和CZ Biohub不久前合作提出的 DPO 方法。与传统的 PPO 强化学习方法不同,DPO 方法舍弃了强化学习,要比 PPO 稳定得多。
DPO的简单解释是:它绕过了建模奖励函数,相当于直接在偏好数据上优化模型,它解决了人类反馈的强化学习训练难、训练成本高的问题。
Zephyr-7B-beta的变革
进一步的,开发二代模型 Zephyr-7B-beta 时,团队思考了大模型所用的蒸馏监督微调(dSFT)。然而,用这种方法模型是不对齐的,不能很好地生成符合用户意图的输出。
所以,团队尝试使用AI反馈(AI Feedback,AIF)的偏好数据,用一个“教师模型”对输出进行排名,形成一个数据集,然后应用蒸馏直接偏好优化(dDPO)进行训练。这样,训练出的模型就能更好地对齐用户的意图,生成更好的输出。
Zephyr-7B-beta的测试数据也验证了这种方法的有效性。比对7B版本的模型,这款新模型在MT-Bench上的平均得分达到了7.18,几乎是目前所有模型中的最高分。
低成本训练Zephyr
接下来,我们来看看如何用低成本的方式训练Zephyr。这里就要提到一个名为"alignment-handbook"的项目。
"alignment-handbook"是一个非常实用的项目,为大家提供了全面的训练步骤,包括环境配置、SFT训练、DPO训练等。通过这个指南,你可以方便地在自己的电脑上完成训练。
使用SFT训练,我们可以在预训练模型的基础上进行微调,以达到我们期望的效果。而DPO训练则可以直接在偏好数据上优化模型。这两种训练方法都非常高效,可以在短时间内得到高质量的模型。
Lora训练
最后,我要与大家分享的是Lora训练。Lora是一种新的训练方法,通过给模型添加一些额外的参数,可以让模型的性能得到进一步的提升。
Lora训练虽然需要额外的计算资源,但它可以显著提高模型的性能。所以,如果你有足够的计算资源,我强烈推荐你尝试使用Lora训练。
总结
在这篇文章中,我向大家介绍了Zephyr-7B模型和Lora训练的神奇故事。希望通过这个故事,你能感受到AI技术的魅力,也希望你能够通过学习和实践,将这些技术应用到你的工作和生活中,让AI技术为你带来更多的便利和乐趣。
在未来的日子里,我相信我们会看到更多的突破和创新。让我们期待这个未来,一起探索这个充满无限可能的AI世界。