30 秒看懂
Matthew Berman 考察 Mistral AI 的 Mixtral 8x7B,解释其稀疏混合专家设计、所报告的基准测试和开放权重发布。他演示 2023 年的 RunPod 配置,并用编程、事实、逻辑等任务测试指令模型。 他对几个回答感到兴奋,但他的非正式评分存在重要的歧义和错误。部署步骤、价格和比较反映的是视频的历史背景,而非当前建议或排名。
- 1稀疏专家路由每层为每个 token 从八个前馈专家中选择两个,其他参数则共享。这些专家并非八个独立完整的 70 亿参数模型。
- 2所报告的 2023 年比较Mistral 报告了与 Llama 2 70B 和 GPT-3.5 在选定基准上的比较,结果因测试而异。
- 3历史云端配置Berman 演示了两块 A100 的 RunPod 配置、软件更新和模型加载。这些设置和报价描述的是他当时的配置。
- 4Python 与推理测试Snake 程序成功运行,其他回答的表现则各不相同。一个成功示例并非全面评估。
- 5晾衣服与杀人者模型给出的 16 小时晾衣答案与同时晾晒不一致,而杀人者答案将死者计入;评分取决于题目假设。
- 6空间与信念问题模型回答弹珠和球的位置问题的方式让 Berman 信服。这些只是个别示例,并非通用推理能力的证明。
要点建议
- Mixtral 8x7B 总参数约 467 亿,每个 token 激活约 129 亿参数;每层从八个前馈专家中选择两个。
- Mistral 以 Apache 2.0 发布模型权重,并报告了具有竞争力的 2023 年基准成绩;开放权重并不自动意味着所有训练数据和代码都可用。
- Berman 的历史演示使用两块 80 GB A100 GPU 和自定义软件设置;硬件要求、价格与软件支持取决于部署方式。
- 他的 Snake 示例首次运行成功,但晾衣服和杀人者谜题暴露出错误或评分歧义,不应毫无限定地算作成功。
- 模型拒绝协助撬车是安全行为,而非智力测试失败的证据。
- 少量选定提示词和厂商基准不能确立通用智能或模型的永久排名。
按章节阅读整理后的全文
Mixtral 发布与专家路由
Berman 介绍 2023 年 12 月的发布并解释混合专家路由。他讨论历史基准声明,并区分开放权重与完全开放的训练过程。
Mistral AI 于 2023 年 12 月发布 Mixtral 8x7B,此前一个 torrent 链接引起了关注。我很高兴能解释它的工作原理、展示配置并进行测试。我最初将它描述为八个独立完整模型,只是粗略类比:Mixtral 实际上是一个带有共享组件和多个前馈专家的稀疏混合专家模型。

路由器在每一层为每个 token 从八个前馈专家中选择两个,并合并所选输出。Transformer 的其他部分是共享的,因此“8x7B”这个名称并不意味着八个完整的 70 亿参数模型,也不意味着有 560 亿参数。Mistral 报告总参数约为 467 亿,每个 token 激活约 129 亿参数;活跃计算量与保存权重所需的内存是不同的问题。
我将它潜在的计算效率与稠密模型比较,并引用 Mistral 报告的相对于 Llama 2 70B 的表现。实际速度取决于硬件、实现、批大小和内存限制。所报告的 32,000 token 上下文和性能数据描述的是当时的发布情况,并不能保证模型在整个窗口中始终准确推理。
我提到了当时流传的关于 GPT-4 内部混合专家架构和规模的猜测。这些是第三方说法,展示的材料并未确认这些细节,因此不应视为已确立的规格。我还提到 Mistral 单独的高端 Mistral Medium 服务,公司当时将其描述为原型端点。

Mistral 公布的比较显示,Mixtral 在 MT-Bench 上接近 GPT-3.5,并在几项测试中与 Llama 2 70B 有竞争力;表格并未显示 Mixtral 赢得每一项基准。这些是 Mistral 在 2023 年选择的比较和设置。我认为这些结果对开放获取的模型令人鼓舞,但我认为它们很快会赶上闭源模型的说法是一项预测。
Mistral 以 Apache 2.0 发布权重,允许开发者在遵守许可证的前提下下载和改造。我使用“开放权重”一词,区分模型权重可用与全部训练数据、代码和文档可用。我也期待社区微调版本,包括 Eric Hartford 讨论的工作。

Mistral 的 Guillaume Lample 描述了逐 token、逐层的路由,并报告模型在法语、德语、西班牙语和意大利语上的出色成绩,以及相对于 Mistral 7B 在数学和编程上的提升。我引用 Andrej Karpathy 的解释:只有前馈模块被复制,这使总参数量低于八乘以七十亿。
2023 年的 RunPod 安装
Berman 展示双 GPU 云配置、软件修改和模型加载。这是一份历史演示,价格和软件很可能变化。
在我 2023 年 12 月的配置中,我使用 RunPod 和 text-generation-webui,配备两块 A100 GPU,每块有 80 GB 显存。屏幕上显示的按需价格约为每小时 4 美元,我还增加了容器和卷存储。这是当时展示的配置与价格;其他精度或量化部署可能需要不同资源,当前价格与界面也可能不同。

我使用的模板当时还不支持 Mixtral,因此我编辑启动脚本以安装较新的 Transformers 版本,并启用信任远程代码选项,然后重启 pod 并重新连接网页界面。这是对历史过程的描述,而非当前安装指南;启用远程代码会执行仓库提供的代码,需要信任该来源。
我从 Hugging Face 选择 Mixtral 指令模型,下载文件、分配 GPU 内存并选择 BF16。我感谢 Eric Hartford 和 Jon Durbin 帮忙解决配置问题。刷新模型列表并加载模型后,我验证远程代码设置,在开始测试前选择一个生成预设。

编程与基础测试
模型生成了可以运行的 Snake 示例,并回答简单事实和逻辑问题。Berman 还展示了拒答和错误的晾衣回答。
第一个提示词要求编写 Python 脚本,输出 1 到 100,我将其判为正确。随后我要求用 Python 编写 Snake。模型生成了使用 curses 库的程序,在我的演示中首次尝试就成功运行。这是一个令人鼓舞的例子,但不是广泛的编程基准测试。
我还将辞职信和识别 1996 年美国总统为比尔·克林顿的回答判为通过。指令模型拒绝回答如何撬车的问题;我将其描述为受审查,并期待不同的微调版本,但拒绝提供可能造成危害的帮助是一种安全行为,而非智力测试失败。
晾衣服谜题中,五件衬衫需要四小时晾干,我问二十件需要多久。回答称每件衣服独立晾干,却错误地将四小时除以五,最后得出 16 小时。如果二十件衣服在相同条件下一起铺开,自然答案是四小时;如果晾晒空间有限,则需要额外假设。虽然我考虑判为通过,但所给答案和计算不能支持这一评分。

当 Jane 比 Joe 快、Joe 比 Sam 快时,模型正确得出 Sam 不比 Jane 快。我说它还通过了基础加法、运算顺序示例和餐食计划请求。对于让它统计自己回答字数的问题,我认为它的答案不正确。
推理、结构化输出与结论
后续测试包括字数统计、杀人者、摘要、JSON、弹珠和信念状态问题。这些示例展示了非正式评分的成功之处和局限。
杀人者谜题中,房间里有三名杀人者,一名新来者杀死其中一人。模型回答四人,因为它将仍在房间里的死者计入,而我称这个答案正确。按照通常只计算活着的杀人者的理解,两名原有杀人者加上新来者共三人;如果将死者也算作杀人者,则是四人。题目措辞存在歧义,因此我毫无限定的通过评分并不可靠。

对于摘要提示词,模型使用了圆点而不是要求的短横线,但我认为内容足够好。它还为所描述的人物、性别和年龄生成了 JSON 表示。这些是对个别输出的有用观察,但不能衡量模型遵循格式指令的一致性。
弹珠问题询问:装有弹珠的杯子倒扣在桌上,之后杯子被移入微波炉,会发生什么。模型说弹珠留在桌上,我将其判为通过。这依赖于一个通常假设:移动杯子时没有同时带走弹珠。

最后的信念状态问题中,John 把球放进盒子后离开;Mark 将球移到篮子里后也离开。当两人回来且不知道各自离开时发生的事,模型回答 John 认为球在盒子里,Mark 认为球在篮子里。我觉得这个回答令人信服,并认为 Mixtral 是我当时亲自测试过的最强开放权重模型;这是基于 2023 年一组小规模测试的主观评价。
我很期待社区微调和量化版本,它们可能让人们用更少的硬件使用模型。这些可能性并不意味着每个压缩版本都会保持相同质量,也不意味着每种部署都需要我使用的双 GPU 配置。
同频道的其他文章
34:21EN → 简体中文
0:26EN → 简体中文
0:36EN → 简体中文
0:21EN → 简体中文
25:50EN → 简体中文
32:20EN → 简体中文