JetMoE:以 10 万美元实现 LLaMA2 性能 github
JetMoE:以 10 万美元实现 LLaMA2 性能
关键信息
JetMoE-8B 的训练成本不到 10 万美元1 ,但表现却优于拥有数十亿美元训练资源的Meta AI 的 LLaMA2-7B。LLM培训可能比人们之前想象的要便宜得多。
JetMoE-8B 是完全开源且适合学术界的,因为:
- 它只使用公共数据集进行训练,并且代码是开源的。不需要专有资源。
- 它可以利用大多数实验室能够承受的非常有限的计算预算(例如,消费级 GPU)进行微调。
JetMoE-8B在推理过程中仅需要 2.2B 活动参数,大大降低了计算成本。与 Gemma-2B 等具有类似推理计算的模型相比,JetMoE-8B 的表现持续优于其他模型。
1我们使用了 96×H100 GPU 集群持续了 2 周,花费约为 8 万美元。
网址:
HuggingFace:
Lepton AI 在线演示:
技术报告:
作者
、、和共同贡献。技术咨询请联系。媒体和合作咨询请联系。
合作
如果你有很好的想法,但需要更多资源(GPU、数据、资金等) ,欢迎通过曾毅联系MyShell.ai。MyShell.ai开放合作,积极支持优质开源项目。
基准
我们使用与 Open LLM 排行榜相同的评估方法。对于 MBPP 代码基准,我们使用与 LLaMA2 和 Deepseek-MoE 论文相同的评估方法。结果如下所示:
模型 | 激活参数 | 训练代币 | 开放法学硕士排行榜平均值 | 弧 | 赫拉斯瓦格 | 莫尔登大学 | 诚实问答 | 维诺格兰德 | GSM8k | 马来西亚公共服务局 | 人力评估 |
---|---|---|---|---|---|---|---|---|---|---|---|
射击 | 二十五 | 10 | 5 | 0 | 5 | 5 | 3 | 0 | |||
公制 | acc_norm | acc_norm | 会计 | 麦克 | 会计 | 会计 | 通行证@1 | 通行证@1 | |||
LLaMA2-7B | 7B | 2T | 51.0 | 53.1 | 78.6 | 46.9 | 38.8 | 74 | 14.5 | 20.8 | 12.8 |
LLaMA-13B | 13B | 1吨 | 51.4 | 56.2 | 80.9 | 47.7 | 39.5 | 76.2 | 7.6 | 22.0 | 15.8 |
DeepseekMoE-16B | 2.8亿 | 2T | 51.1 | 53.2 | 79.8 | 46.3 | 36.1 | 73.7 | 17.3 | 34.0 | 25.0 |
杰玛-2B | 2B | 2T | 46.4 | 48.4 | 71.8 | 41.8 | 33.1 | 66.3 | 16.9 | 28.0 | 24.4 |
杰特莫E-8B | 2.2B | 1.25吨 | 53.0 | 48.7 | 80.5 | 49.2 | 41.7 | 70.2 | 27.8 | 34.2 | 14.6 |
模型 | MT-Bench 分数 |
---|---|
GPT-4 | 9.014 |
GPT-3.5-涡轮 | 7.995 |
克劳德-v1 | 7.923 |
JetMoE-8B-聊天 | 6.681 |
骆驼-2-13b-聊天 | 6.650 |
Vicuna-13b-v1.3 | 6.413 |
巫师-13b | 6.353 |
骆驼-2-7b-聊天 | 6.269 |
令人惊讶的是,尽管训练成本和计算量较低,JetMoE-8B 的表现甚至优于 LLaMA2-7B、LLaMA-13B 和 DeepseekMoE-16B。与具有类似训练和推理计算量的模型(如 Gemma-2B)相比,JetMoE-8B 取得了更好的性能。
模型使用
要加载模型,您需要安装此包:
<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>pip install -e .
</code></span></span></span></span>
然后您可以使用以下代码加载模型: from transformers import AutoTokenizer, AutoModelForCausalLM, AutoConfig, AutoModelForSequenceClassification from jetmoe import JetMoEForCausalLM, JetMoEConfig, JetMoEForSequenceClassification AutoConfig.register("jetmoe", JetMoEConfig) AutoModelForCausalLM.register(JetMoEConfig, JetMoEForCausalLM) AutoModelForSequenceClassification.register(JetMoEConfig, JetMoEForSequenceClassification) tokenizer = AutoTokenizer.from_pretrained('jetmoe/jetmoe-8b') model = AutoModelForCausalLM.from_pretrained('jetmoe/jetmoe-8b')
模型详细信息
模型细节和训练细节请参阅技术报告
致谢
感谢对第二阶段数据混合提出的宝贵建议,也感谢在搭建GPU集群方面给予的帮助。