模型简介
模型特点
模型能力
使用案例
🚀 GRIN: GRadient-INformed MoE
GRIN MoE是一款参数高效的语言模型,仅需66亿激活参数,就能在编码和数学等多种任务中表现出色。它采用了独特的训练方法,在不依赖专家并行和令牌丢弃的情况下,实现了高效的训练。
🚀 快速开始
你可以通过以下两种方式使用GRIN MoE模型:
命令行演示
运行以下脚本,即可设置环境、下载模型权重,并对数学问题进行推理:
# 此脚本可在 `https://github.com/microsoft/GRIN-MoE/blob/main/demo/demo.sh` 获取,需要使用docker运行。
curl https://raw.githubusercontent.com/microsoft/GRIN-MoE/main/demo/demo.sh | bash -s
交互式演示
运行以下命令,将在localhost:8887
启动一个Jupyter Notebook,你可以输入更多问题进行交互:
# 此脚本需要使用docker运行。
docker run --gpus all -p 8887:8887 --rm nvcr.io/nvidia/pytorch:24.08-py3 /bin/bash -c 'git clone https://github.com/microsoft/GRIN-MoE.git && jupyter notebook --port 8887 --notebook-dir GRIN-MoE/demo'
✨ 主要特性
- 参数高效:仅需66亿激活参数,就能在多种任务中取得出色表现,尤其在编码和数学任务中表现优异。
- 独特的梯度估计方法:使用 SparseMixer-v2 估计与专家路由相关的梯度,而传统的MoE训练将专家门控作为梯度估计的代理。
- 高效的训练策略:在不使用专家并行和令牌丢弃的情况下进行MoE训练,而传统的MoE训练通常采用专家并行和令牌丢弃策略。
📚 详细文档
预期用途
主要用例
该模型适用于多语言的商业和研究用途,可用于以下通用人工智能系统和应用:
- 内存/计算受限的环境
- 低延迟场景
- 需要强大推理能力的场景(尤其是编码、数学和逻辑推理)
该模型旨在加速语言和多模态模型的研究,可作为生成式AI功能的构建块。
使用注意事项
该模型并非专门为所有下游用途设计或评估。开发者在选择用例时,应考虑语言模型的常见局限性,并在特定下游用例中使用之前,评估和减轻准确性、安全性和公平性方面的问题,特别是在高风险场景中。开发者应了解并遵守与其用例相关的适用法律法规(包括隐私、贸易合规等)。
基准测试
流行基准测试
该模型在多种流行基准测试中与其他模型进行了比较,结果如下:
GRIN MoE (16x3.8B) | Phi-3.5-MoE (16x3.8B) | Mixtral (8x7B) | Mixtral (8x22B) | Llama3 (8B) | Llama3 (70B) | GPT3.5 | GPT4o | |
---|---|---|---|---|---|---|---|---|
MMLU | 79.4 | 78.9 | 70.5 | 76.2 | 66.5 | 80.2 | 71.4 | 86.9 |
HellaSwag | 83.7 | 83.8 | 70.4 | 79.0 | 71.1 | 82.6 | 78.8 | 91.7 |
ANLI | 60.6 | 59.8 | 55.2 | 65.2 | 57.3 | 68.3 | 58.1 | 75.7 |
GSM-8K | 90.4 | 88.7 | 64.7 | 83.8 | 77.4 | 93.5 | 78.1 | 93.8 |
MedQA | 70.4 | 70.5 | 62.2 | 67.9 | 60.5 | 78.5 | 63.4 | 88.9 |
AGIEval | 48.2 | 50.3 | 45.2 | 54.0 | 42.0 | 56.9 | 48.4 | 37.6 |
TriviaQA | 73.9 | 71.6 | 78.5 | 82.2 | 67.7 | 84.5 | 85.8 | 66.0 |
Arc-C | 92.0 | 91.0 | 87.3 | 91.3 | 82.8 | 93.0 | 87.4 | 97.0 |
Arc-E | 98.0 | 97.1 | 95.6 | 96.9 | 93.4 | 98.2 | 96.3 | 99.0 |
PIQA | 89.0 | 88.6 | 86.0 | 85.0 | 75.7 | 85.3 | 86.6 | 92.9 |
SociQA | 79.5 | 78.0 | 75.9 | 78.2 | 73.9 | 81.1 | 68.3 | 81.4 |
BigBench-Hard | 81.4 | 79.1 | 69.7 | 81.8 | 51.5 | 80.2 | 68.3 | 81.2 |
WinoGrande | 81.4 | 81.3 | 62.0 | 75.3 | 65.0 | 83.3 | 68.8 | 89.3 |
OpenBookQA | 89.8 | 89.6 | 85.8 | 88.6 | 82.6 | 91.8 | 86.0 | 95.2 |
BoolQ | 83.4 | 84.6 | 77.6 | 82.7 | 80.9 | 89.1 | 79.1 | 90.6 |
CommonSenseQA | 81.8 | 83.5 | 78.1 | 82.0 | 79.0 | 84.4 | 79.6 | 88.5 |
TruthfulQA | 74.5 | 77.5 | 60.1 | 67.4 | 63.2 | 81.9 | 85.8 | 85.6 |
HumanEval | 74.4 | 70.7 | 37.8 | 39.6 | 60.4 | 78.7 | 62.2 | 92.1 |
MBPP | 80.3 | 80.8 | 60.2 | 70.7 | 67.7 | 81.3 | 77.8 | 90.4 |
Average | 79.6 | 79.2 | 69.6 | 76.2 | 69.4 | 82.8 | 75.2 | 85.7 |
Livebench
该模型在LiveBench-2024-07-25上的表现如下,模型按平均得分(AVG)排名:
Reasoning | Coding | Mathematics | Data Analysis | Language | IF | AVG | |
---|---|---|---|---|---|---|---|
Claude-3-haiku* | 29.3 | 24.5 | 25.7 | 41.5 | 30.1 | 64.0 | 35.9 |
Mixtral-8x22B-instruct-v0.1* | 29.3 | 32.0 | 28.3 | 31.7 | 26.5 | 63.1 | 35.2 |
GPT-3.5-turbo-0125* | 26.7 | 27.7 | 26.9 | 41.2 | 24.2 | 60.5 | 34.5 |
GRIN MoE | 35.3 | 23.7 | 29.8 | 32.0 | 16.9 | 57.6 | 32.5 |
Mistral-small-2402* | 26.0 | 21.2 | 28.2 | 31.9 | 22.1 | 63.9 | 32.2 |
Command-r-plus* | 28.7 | 19.5 | 24.9 | 24.6 | 23.9 | 71.5 | 32.2 |
Gemma-2-9B-it* | 17.3 | 22.5 | 24.0 | 35.1 | 27.6 | 61.6 | 31.3 |
训练信息
模型信息
属性 | 详情 |
---|---|
开发者 | Microsoft |
架构 | GRIN MoE有16x3.8B参数,使用2个专家时激活参数为66亿。该模型是一个仅解码器的Transformer混合专家模型,使用词汇量为32,064的分词器。 |
输入 | 文本,最适合使用聊天格式的提示。 |
上下文长度 | 4K令牌 |
GPU | 512个H100-80G |
训练时间 | 18天 |
训练数据 | 4.0T令牌 |
输出 | 对输入文本的生成响应 |
训练日期 | 2024年4月至6月 |
状态 | 这是一个在离线数据集上训练的静态模型,公开可用数据截止日期为2023年10月。未来可能会发布调优后的版本。 |
支持语言 | 英语 |
发布日期 | 2024年9月 |
许可证 | MIT |
训练数据集
训练数据包括多种来源,总计4万亿令牌,主要包括:
- 经过严格筛选的公开文档、高质量教育数据和代码
- 新创建的合成“教科书式”数据,用于教授数学、编码、常识推理和世界常识(科学、日常活动、心智理论等)
- 高质量的聊天格式监督数据,涵盖各种主题,反映了人类在指令遵循、真实性、诚实性和有用性等方面的偏好
更多数据详情可参考 Phi-3技术报告。
负责任的AI考虑
模型局限性
与其他语言模型一样,GRIN MoE模型可能存在不公平、不可靠或冒犯性的行为,需要注意以下限制:
- 服务质量:该模型主要在英语文本上训练,非英语语言的性能可能较差。训练数据中代表性较低的英语变体的性能可能不如标准美式英语。
- 伤害表示与刻板印象延续:该模型可能会过度或不足地代表某些人群,抹去某些群体的代表性,或强化贬低性或负面的刻板印象。尽管进行了安全后训练,但由于不同群体的代表性水平不同或训练数据中负面刻板印象的普遍存在,这些局限性可能仍然存在。
- 不适当或冒犯性内容:该模型可能会产生其他类型的不适当或冒犯性内容,在敏感环境中部署时,需要采取额外的缓解措施。
- 信息可靠性:语言模型可能会生成无意义的内容或编造听起来合理但不准确或过时的内容。
- 代码局限性:大部分训练数据基于Python,并使用常见的包,如 "typing, math, random, collections, datetime, itertools"。如果模型生成的Python脚本使用其他包或其他语言的脚本,建议用户手动验证所有API的使用。
开发者注意事项
开发者应应用负责任的AI最佳实践,并确保特定用例符合相关法律法规(如隐私、贸易等)。需要考虑的重要方面包括:
- 资源分配:该模型可能不适用于对法律地位、资源分配或生活机会有重大影响的场景(如住房、就业、信贷等),需要进一步评估和额外的去偏技术。
- 高风险场景:开发者应评估在高风险场景中使用该模型的适用性,在这些场景中,不公平、不可靠或冒犯性的输出可能会造成极大的损失或伤害。这包括在敏感或专业领域提供建议,如法律或健康建议。应根据部署上下文在应用层面实施额外的保障措施。
- 错误信息:模型可能会产生不准确的信息。开发者应遵循透明度最佳实践,并告知最终用户他们正在与AI系统交互。在应用层面,开发者可以建立反馈机制和管道,将响应与特定用例的上下文信息相结合,即检索增强生成(RAG)技术。
- 有害内容生成:开发者应根据上下文评估输出,并使用适用于其用例的安全分类器或自定义解决方案。
- 滥用:可能存在其他形式的滥用,如欺诈、垃圾邮件或恶意软件生产。开发者应确保其应用不违反适用的法律法规。
- 版权内容:模型可能会生成侵犯版权保护的内容。开发者应实施检测和过滤版权材料的措施,并告知最终用户可能存在的意外版权侵权问题以及验证原始来源以避免法律纠纷的重要性。
- 选举错误信息:开发者应确保建立强大的验证机制,以检测和纠正与选举相关的错误信息,并告知用户需要对AI生成的选举相关内容进行批判性评估,以减轻错误信息的传播。
📄 许可证
该模型遵循 MIT许可证。
商标说明
本项目可能包含项目、产品或服务的商标或标志。对Microsoft商标或标志的授权使用需遵循 Microsoft商标和品牌指南。在修改版本的项目中使用Microsoft商标或标志不得造成混淆或暗示Microsoft的赞助。任何第三方商标或标志的使用需遵循第三方的政策。



