花500刀“调教”的70亿参数模型,打败700亿参数的Llama 2!
且笔记本就能轻松跑,效果媲美ChatGPT。
重点:免费、不要钱。
HuggingFace H4团队打造的开源模型Zephyr-7B,鲨疯了。
其底层模型是前段时间爆火、由有着“欧洲OpenAI”之称的Mistral AI打造的开源大模型Mistral-7B。
要知道,Mistral-7B发布不到2周,各种微调版本相继现世,大有Llama刚发布时迅速出现各种“羊驼”之风。
而Zephyr能够在各变种中脱颖而出,关键是团队在Mistral的基础上,使用直接偏好优化(DPO)在公开数据集上微调了模型。
团队还发现,删除数据集的内置对齐,可以进一步提高MT Bench性能。初代Zephyr-7B-alpha的MT-Bench平均得分7.09 ,超越Llama2-70B-Chat。
△MT-Bench是评估模型处理多轮对话能力的基准测试,问题集涵盖写作、角色扮演、提取等8个类别。
关键是,它接着又升级了!
H4团队推出二代Zephyr-7B-beta。他们补充道,探索了从GPT-4、Claude 2中提取对齐性,然后将其注入小模型中的想法,开发出了将蒸馏直接偏好优化(dDPO)用于小模型的方法。
二代Zephyr,MT-Bench平均得分升高至7.34。
在AlpacaEval上,Zephyr胜率为90.6%,优于ChatGPT(3.5):
赶来的网友们对Zephyr给予了一致好评,lmsys团队还亮出了Zephyr-7b-beta的Elo评分,目前已飙升得很高?:
内部的Arena排行榜上已超过13B模型。
甚至有人表示:
在实际应用中看到DPO方法表现很好,可能是今年大语言模型发展中最令人兴奋的事情。
更多网友纷纷上手测试Zephyr效果,结果都出奇的好。
Mistral这个单词在法语里代表一种干燥、寒冷且强劲的风,而Zephyr意思则是温和、宜人的西风。
Llama那边是动物园,这边是气象局无疑了。
最好的7B模型再易主
先来说运行Zephyr对电脑配置的要求。网友实测后表示“泰裤辣”!,笔记本(Apple M1 Pro)就够用,“结果非常好”。
效果方面,Llama Index(此前名为GPT Index)团队也进行了测试。
结果发现,Zephyr是目前唯一一个在高级RAG/agentic任务上表现良好的开源7B模型。
数据也显示,Zephyr高级RAG任务效果可以和GPT-3.5、Claude 2相抗衡。
他们还继续补充道,Zephyr不仅在RAG上效果突出,而且在路由、查询规划、检索复杂SQL语句、结构化数据提取方面也表现良好。
官方也给出了测试结果,在MT-Bench上,Zephyr-7B-beta与Llama2-Chat-70B等较大的模型相比具有强大的性能。
但在编码和数学等更复杂的任务上,Zephyr-7B-beta落后于专有模型,需要更多的研究来缩小差距。
舍弃强化学习
大家都在纷纷测试Zephyr的效果,开发人员却表示,最有趣的不是各项指标,而是模型的训练方式。
亮点总结如下:
- 微调最好的小型开源预训练模型:Mistral 7B
- 大规模偏好数据集的用法:UltraFeedback
- 不用强化学习,使用直接偏好优化(DPO)
- 意料之外的是,偏好数据集的过拟合会产生更好的效果
展开来说,正如开头所提到的,Zephyr的效果之所以能够超越70B的Llama 2,主要是因为使用了特殊的微调方法。
与传统的PPO强化学习方法不同,研究团队使用了斯坦福大学和CZ Biohub不久前合作提出DPO方法。
研究人员表示:
DPO要比PPO稳定得多。
DPO简单来讲可以这样解释:
要想使模型的输出更加符合人类偏好,一直以来传统方法是用一个奖励模型来微调目标模型。输出得好给奖励,输出不好不给奖励。
而DPO的方法绕过了建模奖励函数,相当于直接在偏好数据上优化模型。
总的来说,DPO解决了人类反馈的强化学习训练难、训练成本高的问题。
具体到Zephyr的训练上,研究团队最初是在UltraChat数据集精简后的变种上对Zephyr-7B-alpha进行了微调,这个数据集包含了ChatGPT生成的160万个对话(精简后剩下约20万个)。
(之所以要精简过滤,是因为团队发现Zephyr有时大小写写不对,比如“Hi. how are you?”;有时会以“I don’t have personal X”为开头进行回应。)
之后,他们又通过TRL的DPO Trainer方法,用公开的openbmb/UltraFeedback数据集进一步对齐了该模型。
数据集中包含了64000个来自各种模型的提示-响应对。每个响应都由GPT-4根据有用性等标准进行排名,并赋予一个得分,从中推出AI偏好。
一个有趣的发现是,在用DPO的方法时,随着训练时间增加,过拟合后,效果居然更好了。研究人员认为这类似于SFT中的过拟合。
值得一提的是,研究团队还介绍,用这种方法微调模型,成本只需500美元,也就是在16个A100上跑8小时。
在升级Zephyr为beta版本时,团队又继续解释了他们的方法。
他们思考了大模型所用的蒸馏监督微调(dSFT),但用这种方法模型是不对齐的,不能很好地生成符合用户意图的输出。
所以团队尝试使用来自AI反馈(AI Feedback,AIF)的偏好数据,用一个“教师模型”对输出进行排名,形成一个数据集,然后应用蒸馏直接偏好优化(dDPO)来训练一个与用户意图对齐的模型,且在微调期间不需要任何额外的抽样。
研究人员还测试了不用SFT时的效果,结果性能大大降低,说明dSFT步骤至关重要。
目前模型除了已开源可商用,还有Demo可试玩,我们这就上手简单体验了一把。
Demo试玩体验
首先就不得不搬出“弱智吧”问题来考一考了。
在“爸妈结婚不带我”这个问题上,Zephyr总体回答较为准确。
ChatGPT在这道题目上,属实打不过。
在测试中我们还发现Zephyr对OpenAI发布GPT-4等近期的事也知道:
这其实与其底层模型有关,Mistral官方虽然没有具体说明训练数据截止日期。
但之前就有网友测试过,今年三月份的事它也知道。
相比之下Llama 2的预训练数据截止到2022年9月,只有部分微调数据最多到2023年6月。
此外,Zephyr的响应速度也非常快,写代码、编故事都不在话下。:
值得一提的是,Zephyr更擅长用英文回答问题,也会出现“幻觉”这一模型通病。
研究人员也有提到幻觉问题,输入框的下方也标有一行小字,指明该模型生成的内容可能不准确或错误。
关键是因为Zephyr没有用到人类反馈强化学习这样的方法与人类偏好对齐,也没有采用ChatGPT的回应过滤方式。
emmm鱼和熊掌总要选一个。
Zephyr只有70B参数就能做到这样的效果,让《100页的机器学习书》作者Andriy Burkov也很吃惊,甚至表示:
Zephyr-7B战胜Llama 2-70B,用的基础模型是上下文窗口为8k token的Mistral-7B,理论上它的注意力范围可高达128K tokens。
如果Zephyr是一个70B模型会怎样呢?它会胜过GPT-4吗?看起来很可能。
如果你对Zephyr-7B感兴趣,可在huggingface试玩。
https://huggingface.co/spaces/HuggingFaceH4/zephyr-chat
论文链接:https://arxiv.org/abs/2310.16944