这或许是目前最小的MoE LLM——OLMoE-1B-7B

OLMoE-1B-7B 是 2024 年 9 月(0924 年)发布的专家混合 LLM,有 1B 活动参数和 7B 总参数。 在成本(1B)相近的模型中,它的性能是最先进的,与 Llama2-13B 等更大的模型相比也具有竞争力。 OLMoE 100%开源。

在这里插入图片描述

功能

OLMoE-1B-7B-0924 模型能够生成连贯的上下文文本续篇、回答问题以及执行其他自然语言理解和生成任务。 例如,在提示 "比特币是 "的情况下,模型可以生成相关的续句文本,如 "比特币是一种数字货币,以电子方式创建和持有。 没有人控制它。 比特币并不像美元或欧元那样是印刷出来的,而是由世界各地运行计算机的人们和企业利用解决数学问题的软件生产出来的。

Github: https://github.com/allenai/OLMoE

论文:https://arxiv.org/abs/2409.02060

LLM NameOLMoE 1B 7B 0924
Repository 🤗https://huggingface.co/allenai/OLMoE-1B-7B-0924 
Model Size1b
Required VRAM13.8 GB
Updated2024-09-11
Maintainerallenai
Model Typeolmoe
Supported Languagesen
Model ArchitectureOlmoeForCausalLM
Licenseapache-2.0
Context Length4096
Model Max Length4096
Transformers Version4.43.0.dev0
Tokenizer ClassGPTNeoXTokenizer
Padding Token<|padding|>
Vocabulary Size50304
Torch Data Typebfloat16

使用

from transformers import OlmoeForCausalLM, AutoTokenizer
import torch

DEVICE = "cuda" if torch.cuda.is_available() else "cpu"

# Load different ckpts via passing e.g. `revision=step10000-tokens41B`
model = OlmoeForCausalLM.from_pretrained("allenai/OLMoE-1B-7B-0924").to(DEVICE)
tokenizer = AutoTokenizer.from_pretrained("allenai/OLMoE-1B-7B-0924")
inputs = tokenizer("Bitcoin is", return_tensors="pt")
inputs = {k: v.to(DEVICE) for k, v in inputs.items()}
out = model.generate(**inputs, max_length=64)
print(tokenizer.decode(out[0]))
# > # Bitcoin is a digital currency that is created and held electronically. No one controls it. Bitcoins aren’t printed, like dollars or euros – they’re produced by people and businesses running computers all around the world, using software that solves mathematical

你可以通过安装 huggingface-hub 并运行来列出所有版本/分支:

from huggingface_hub import list_repo_refs
out = list_repo_refs("OLMoE/OLMoE-1B-7B-0924")
branches = [b.name for b in out.branches]

重要分支:

  • step1200000-tokens5033B:用于退火的预训练检查点。 之后还有几个检查点,但我们没有使用:
  • main: 从step1200000-tokens5033B 开始退火的检查点,额外增加了 100B 标记(23842 步)。 我们使用该检查点进行适配(https://huggingface.co/allenai/OLMoE-1B-7B-0924-SFT & https://huggingface.co/allenai/OLMoE-1B-7B-0924-Instruct)。
  • fp32main 的 FP32 版本。 模型权重在训练过程中存储在 FP32 中,但我们没有观察到训练后将权重转换到 BF16 会导致性能下降,因此我们将所有权重上传到 BF16 中。 如果您想使用原始的 FP32 检查点作为主检查点,可以使用此检查点。 你会发现它产生的结果略有不同,但在基准测试中的表现应该差不多。

评估快照

ModelActive ParamsOpen DataMMLUHellaSwagARC-Chall.ARC-EasyPIQAWinoGrande
LMs with ~1B active parameters
OLMoE-1B-7B1.3B54.180.062.184.279.870.2
DCLM-1B1.4B48.575.157.679.576.668.1
TinyLlama-1B1.1B33.660.838.169.571.760.1
OLMo-1B (0724)1.3B32.167.536.453.574.062.9
Pythia-1B1.1B31.148.031.463.468.952.7
LMs with ~2-3B active parameters
Qwen1.5-3B-14B2.7B62.480.077.491.681.072.3
Gemma2-3B2.6B53.374.667.584.378.571.8
JetMoE-2B-9B2.2B49.181.761.481.980.370.7
DeepSeek-3B-16B2.9B45.580.453.482.780.173.2
StableLM-2B1.6B40.470.350.675.375.665.8
OpenMoE-3B-9B2.9B27.444.429.350.663.351.9
LMs with ~7-9B active parameters
Gemma2-9B9.2B70.687.389.595.586.178.8
Llama3.1-8B8.0B66.981.679.591.781.176.6
DCLM-7B6.9B64.482.379.892.380.177.3
Mistral-7B7.3B64.083.078.690.882.877.9
OLMo-7B (0724)6.9B54.980.568.085.779.373.2
Llama2-7B6.7B46.278.954.284.077.571.7

它有哪些用途?

OLMoE-1B-7B-0924 模型可用于各种自然语言处理应用,如文本生成、对话系统、摘要和基于知识的问题解答。 对于公司来说,该模型可以进行微调并部署到客户服务聊天机器人、内容创建工具或智能搜索和推荐系统中。 研究人员也可以使用该模型作为起点,进一步微调和研究语言模型的能力和行为。

值得尝试的东西

OLMoE-1B-7B-0924 模型的一个有趣之处在于其专家混合架构。 这使得该模型可以利用专门的 "专家 "来完成不同类型的语言任务,从而提高性能和通用性。 开发人员可以尝试针对特定能力(如数学推理或常识推理)的提示,以了解模型中不同专家的反应。 此外,该模型的开放源代码特性还有利于对语言模型架构和训练技术进行定制和进一步研究。

感谢大家花时间阅读我的文章,你们的支持是我不断前进的动力。期望未来能为大家带来更多有价值的内容,请多多关注我的动态!

  • 9
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值