Mobilellm 350M
模型简介
模型特点
模型能力
使用案例
🚀 MobileLLM
MobileLLM是一款专为设备端应用场景优化的语言模型,它采用了优化的Transformer架构,在受限资源的设备上也能高效运行。该模型在零样本常识推理任务中表现出色,相比之前的模型有显著的准确率提升。
🚀 快速开始
我们提供了两种方式来运行该模型:
HuggingFace
要加载预训练模型以进行进一步的微调或评估,可以使用以下代码:
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("facebook/MobileLLM-350M", use_fast=False)
model = AutoModelForCausalLM.from_pretrained("facebook/MobileLLM-350M", trust_remote_code=True)
请注意,默认的分词器不包含特殊标记。例如,你可以使用以下代码添加特殊标记:
tokenizer.add_special_tokens(
{
"eos_token": "</s>",
"bos_token": "<s>",
"unk_token": "<unk>",
}
)
MobileLLM代码库
我们在https://github.com/facebookresearch/MobileLLM提供了预训练代码。
> git clone https://github.com/facebookresearch/MobileLLM
> pip install -r requirement.txt
# 数据预处理并在pretrain.sh中指定数据路径
# 运行预训练
> bash pretrain.sh
我们还提供了用于计算wikitext - 2测试集困惑度的评估脚本:
> bash eval.sh
你可以在GitHub仓库中找到更多详细信息。
✨ 主要特性
- 优化架构:MobileLLM是一个自回归语言模型,采用了优化的Transformer架构,专为资源受限的设备端应用而设计。
- 关键技术集成:集成了多种关键技术,包括SwiGLU激活函数、深而窄的架构、嵌入共享和分组查询注意力。
- 性能提升:在零样本常识推理任务中,MobileLLM - 125M/350M相比之前的125M/350M最优模型分别实现了2.7%/4.3%的准确率提升。在更新版本中,MobileLLM - 600M/1B/1.5B也取得了最优结果。
📦 安装指南
HuggingFace方式
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("facebook/MobileLLM-350M", use_fast=False)
model = AutoModelForCausalLM.from_pretrained("facebook/MobileLLM-350M", trust_remote_code=True)
MobileLLM代码库方式
> git clone https://github.com/facebookresearch/MobileLLM
> pip install -r requirement.txt
💻 使用示例
基础用法
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("facebook/MobileLLM-350M", use_fast=False)
model = AutoModelForCausalLM.from_pretrained("facebook/MobileLLM-350M", trust_remote_code=True)
高级用法
tokenizer.add_special_tokens(
{
"eos_token": "</s>",
"bos_token": "<s>",
"unk_token": "<unk>",
}
)
📚 详细文档
模型详情
MobileLLM在论文"MobileLLM: Optimizing Sub - billion Parameter Language Models for On - Device Use Cases"中被提出,并发表于ICML 2024。
模型参数
模型 | 层数 | 注意力头数 | KV头数 | 令牌维度 | 参数数量 |
---|---|---|---|---|---|
MobileLLM - 125M | 30 | 9 | 3 | 576 | 124.6M |
MobileLLM - 350M | 32 | 15 | 5 | 960 | 345.3M |
MobileLLM - 600M | 40 | 18 | 6 | 1152 | 603.1M |
MobileLLM - 1B | 54 | 20 | 5 | 1280 | 1.01B |
MobileLLM - 1.5B | 54 | 25 | 5 | 1600 | 1.51B |
训练数据及相关信息
模型 | 训练数据 | 输入模态 | 输出模态 | 上下文长度 | GQA | 共享嵌入 | 令牌数量 |
---|---|---|---|---|---|---|---|
MobileLLM - 125M | 公开可用的在线数据 | 文本 | 文本 | 2k | 是 | 是 | 1T令牌 |
MobileLLM - 350M | 公开可用的在线数据 | 文本 | 文本 | 2k | 是 | 是 | 1T令牌 |
MobileLLM - 600M | 公开可用的在线数据 | 文本 | 文本 | 2k | 是 | 是 | 1T令牌 |
MobileLLM - 1B | 公开可用的在线数据 | 文本 | 文本 | 2k | 是 | 是 | 1T令牌 |
MobileLLM - 1.5B | 公开可用的在线数据 | 文本 | 文本 | 2k | 是 | 是 | 1T令牌 |
训练成本
使用32个NVIDIA A100 80G GPU在1T令牌上训练MobileLLM所需的天数如下:
125M | 350M | 600M | 1B | 1.5B |
---|---|---|---|---|
~3天 | ~6天 | ~8天 | ~12天 | ~18天 |
评估
我们在零样本常识推理任务上对预训练的MobileLLM模型进行了评估。
MobileLLM - 125M
模型 | arc_easy | arc_challenge | boolq | piqa | siqa | hellaswag | obqa | winogrande | 平均 |
---|---|---|---|---|---|---|---|---|---|
OPT - 125M | 41.3 | 25.2 | 57.5 | 62.0 | 41.9 | 31.1 | 31.2 | 50.8 | 42.6 |
GPT - neo - 125M | 40.7 | 24.8 | 61.3 | 62.5 | 41.9 | 29.7 | 31.6 | 50.7 | 42.9 |
Pythia - 160M | 40.0 | 25.3 | 59.5 | 62.0 | 41.5 | 29.9 | 31.2 | 50.9 | 42.5 |
MobileLLM - 125M | 43.9 | 27.1 | 60.2 | 65.3 | 42.4 | 38.9 | 39.5 | 53.1 | 46.3 |
MobileLLM - LS - 125M | 45.8 | 28.7 | 60.4 | 65.7 | 42.9 | 39.5 | 41.1 | 52.1 | 47.0 |
MobileLLM - 350M
模型 | arc_easy | arc_challenge | boolq | piqa | siqa | hellaswag | obqa | winogrande | 平均 |
---|---|---|---|---|---|---|---|---|---|
OPT - 350M | 41.9 | 25.7 | 54.0 | 64.8 | 42.6 | 36.2 | 33.3 | 52.4 | 43.9 |
Pythia - 410M | 47.1 | 30.3 | 55.3 | 67.2 | 43.1 | 40.1 | 36.2 | 53.4 | 46.6 |
MobileLLM - 350M | 53.8 | 33.5 | 62.4 | 68.6 | 44.7 | 49.6 | 40.0 | 57.6 | 51.3 |
MobileLLM - LS - 350M | 54.4 | 32.5 | 62.8 | 69.8 | 44.1 | 50.6 | 45.8 | 57.2 | 52.1 |
MobileLLM - 600M
模型 | arc_easy | arc_challenge | boolq | piqa | siqa | hellaswag | obqa | winogrande | 平均 |
---|---|---|---|---|---|---|---|---|---|
Qwen1.5 - 500M | 54.7 | 32.1 | 46.9 | 68.9 | 46.0 | 48.8 | 37.7 | 55.0 | 48.8 |
BLOOM - 560M | 43.7 | 27.5 | 53.7 | 65.1 | 42.5 | 36.5 | 32.6 | 52.2 | 44.2 |
MobiLlama - 800M | 52.0 | 31.7 | 54.6 | 73.0 | 43.3 | 52.3 | 42.5 | 56.3 | 50.7 |
MobileLLM - 600M | 58.1 | 35.8 | 61.0 | 72.3 | 44.9 | 55.9 | 47.9 | 58.6 | 54.3 |
MobileLLM - 1B
模型 | arc_easy | arc_challenge | boolq | piqa | siqa | hellaswag | obqa | winogrande | 平均 |
---|---|---|---|---|---|---|---|---|---|
Pythia - 1B | 49.9 | 30.4 | 58.7 | 69.2 | 43.3 | 47.4 | 38.6 | 52.2 | 48.7 |
MobiLlama - 1B | 59.7 | 38.4 | 59.2 | 74.5 | 44.9 | 62.0 | 43.7 | 59.0 | 55.2 |
Falcon - 1B | 59.5 | 38.4 | 63.9 | 74.6 | 44.6 | 62.9 | 45.6 | 60.9 | 56.3 |
BLOOM - 1.1B | 47.6 | 27.3 | 58.6 | 67.0 | 42.4 | 42.2 | 36.6 | 53.8 | 46.9 |
TinyLlama - 1.1B | 59.2 | 37.1 | 58.1 | 72.9 | 43.9 | 59.1 | 44.7 | 58.8 | 54.2 |
MobileLLM - 1B | 63.0 | 39.0 | 66.7 | 74.4 | 45.0 | 61.4 | 46.8 | 62.3 | 57.3 |
MobileLLM - 1.5B
模型 | arc_easy | arc_challenge | boolq | piqa | siqa | hellaswag | obqa | winogrande | 平均 |
---|---|---|---|---|---|---|---|---|---|
GPT - neo - 1.3B | 51.3 | 33.0 | 61.8 | 70.9 | 43.7 | 48.6 | 41.2 | 54.5 | 50.6 |
OPT - 1.3B | 54.4 | 31.7 | 58.4 | 71.5 | 44.7 | 53.7 | 44.6 | 59.1 | 52.3 |
BLOOM - 1.7B | 50.9 | 31.2 | 61.7 | 70.0 | 43.2 | 47.2 | 36.2 | 56.1 | 49.6 |
Qwen1.5 - 1.8B | 61.1 | 36.5 | 68.3 | 74.1 | 47.2 | 60.4 | 42.9 | 61.2 | 56.5 |
GPT - neo - 2.7B | 55.8 | 34.3 | 62.4 | 72.9 | 43.6 | 55.6 | 40.0 | 57.9 | 52.8 |
OPT - 2.7B | 56.6 | 34.6 | 61.8 | 74.5 | 45.6 | 60.2 | 48.2 | 59.6 | 55.1 |
Pythia - 2.8B | 59.4 | 38.9 | 66.1 | 73.8 | 44.5 | 59.6 | 45.0 | 59.4 | 55.8 |
BLOOM - 3B | 55.1 | 33.6 | 62.1 | 70.5 | 43.2 | 53.9 | 41.6 | 58.2 | 52.3 |
MobileLLM - 1.5B | 67.5 | 40.9 | 65.7 | 74.8 | 46.4 | 64.5 | 50.5 | 64.7 | 59.4 |
🔧 技术细节
MobileLLM集成了多种关键技术,包括SwiGLU激活函数、深而窄的架构、嵌入共享和分组查询注意力。这些技术的集成使得模型在资源受限的设备端应用中能够高效运行,并在零样本常识推理任务中取得了优异的性能。
📄 许可证
MobileLLM采用FAIR非商业研究许可证。点击下方的“我接受”或使用、分发研究材料的任何部分或元素,即表示您同意受本协议的约束。详细的许可证信息如下:
FAIR非商业研究许可证
最后更新时间:2025年4月17日
“可接受使用政策”指适用于研究材料并纳入本协议的FAIR可接受使用政策。
“协议”指本协议中规定的使用、复制、分发和修改研究材料的条款和条件。
“文档”指Meta分发的研究材料随附的规格、手册和文档。
“被许可方”或“您”指您,或您的雇主,或任何其他人或实体(如果您代表该人或实体签订本协议),且该人或实体达到适用法律、规则或法规要求的提供法律同意的年龄,并且如果您代表其签订本协议,具有约束您的雇主或该其他人或实体的法律权力。
“Meta”或“我们”指Meta Platforms Ireland Limited(如果您位于欧洲经济区(EEA)或瑞士,或者如果您是一个实体,您的主要营业地位于欧洲经济区或瑞士)和Meta Platforms, Inc.(如果您位于欧洲经济区或瑞士以外)。
“非商业研究用途”指与研究、开发、教育、处理或分析相关的非商业研究用例,并且在每种情况下,主要目的不是为您或他人带来商业利益或金钱补偿。
“研究材料”指文档以及模型、软件和算法的统称,包括机器学习模型代码、训练好的模型权重、推理启用代码、训练启用代码、微调启用代码、演示材料以及Meta分发并根据本协议提供的上述其他元素。
1. 许可权利和再分发
a. 权利授予
您被授予在Meta体现在研究材料中的知识产权或其他权利下的非排他性、全球性、不可转让且免版税的有限许可,以使用、复制、分发、拷贝、创作衍生作品并对研究材料进行修改。
b. 再分发和使用
i. 您不得将研究材料或研究材料的任何输出或结果用于任何商业用途,或用于非商业研究用途以外的任何用途。 ii. 研究材料及其任何衍生作品的再分发须遵守本协议的条款。如果您将研究材料或其任何衍生作品分发给第三方,您只能根据本协议的条款进行。您还应向该第三方提供本协议的副本。 iii. 如果您提交使用研究材料进行的研究结果以供发表,您必须在出版物中承认使用了研究材料。 iv. 您对研究材料的使用必须遵守适用的法律和法规(包括贸易管制法律),并遵守FAIR可接受使用政策,该政策特此通过引用纳入本协议。
2. 用户支持
您自行决定对研究材料进行非商业研究使用;Meta不处理任何信息,也不就此类使用提供任何服务。Meta没有义务为研究材料提供任何支持服务。任何提供的支持均“按现状”、“带有所有缺陷”提供,且不提供任何形式的保证。
3. 保证免责声明
除非适用法律要求,研究材料及其任何输出和结果均“按现状”提供,不提供任何形式的保证,Meta否认所有明示和暗示的保证,包括但不限于所有权、不侵权、适销性或特定用途适用性的任何保证。您独自负责确定使用或再分发研究材料的适当性,并承担与您使用研究材料及其任何输出和结果相关的任何风险。
4. 责任限制
在任何情况下,Meta或其关联公司均不对因本协议引起的任何责任理论(无论是合同、侵权、疏忽、产品责任还是其他)下的任何利润损失或任何直接或间接、特殊、后果性、偶发性、惩戒性或惩罚性损害负责,即使Meta或其关联公司已被告知存在任何上述可能性。
5. 知识产权
a. 所有权
在Meta对研究材料及其由Meta或代表Meta制作的衍生作品拥有所有权的前提下,就您对研究材料制作的任何衍生作品和修改而言,在您和Meta之间,您是且将是此类衍生作品和修改的所有者。
b. 诉讼和索赔
如果您对Meta或任何实体提起诉讼或其他程序(包括在诉讼中的交叉索赔或反诉),声称研究材料、输出或结果或上述任何部分构成侵犯您拥有或可许可的知识产权或其他权利,则本协议授予您的任何许可将自该诉讼或索赔提起之日起终止。您将赔偿并使Meta免受任何第三方因您使用或分发研究材料而产生或与之相关的任何索赔。
6. 期限和终止
本协议的期限将自您接受本协议或访问研究材料时开始,并将持续完全有效,直至根据本协议的条款和条件终止。如果您违反本协议的任何条款或条件,Meta可终止本协议。本协议终止后,您应删除并停止使用研究材料。第5、6和9条在本协议终止后仍然有效。
7. 适用法律和管辖权
本协议将受加利福尼亚州法律管辖并依其解释,不考虑法律选择原则,并且《联合国国际货物销售合同公约》不适用于本协议。加利福尼亚州的法院对因本协议引起的任何争议具有专属管辖权。
8. 修改和修订
Meta可不时通过在https://huggingface.co/facebook/Perception-LM-8B/blob/main/LICENSE发布修订版本来修改本协议;前提是这些修改在精神上与本协议的当前版本相似,但在细节上可能有所不同,以解决新的问题或关切。所有此类更改将立即生效。在本协议进行任何修改后,您继续使用研究材料即表示您同意此类修改。除非本协议另有规定,否则对本协议任何条款的修改或补充除非以书面形式并由您和Meta的授权代表签字,否则不具有约束力。
FAIR可接受使用政策
Meta的基础人工智能研究(FAIR)团队旨在通过开放研究推进人工智能的最新技术水平,以造福所有人,进一步理解新的和现有的研究领域。
作为这一使命的一部分,Meta提供某些研究材料供非商业研究使用。Meta致力于促进此类研究材料的安全和负责任使用。
禁止使用情况
您同意您不会使用或允许他人使用研究材料来:
- 违反法律或他人权利,包括:
- 从事、促进、生成、促成、鼓励、策划、煽动或进一步推动非法或违法活动或内容,例如:
- 暴力或恐怖主义
- 对儿童的剥削或伤害,包括招揽、创作、获取或传播儿童剥削内容或未报告儿童性虐待材料
- 人口贩运、剥削和性暴力
- 向未成年人非法分发信息或材料,包括淫秽材料,或未对此类信息或材料采用法律要求的年龄限制
- 性招揽
- 任何其他犯罪活动
- 从事、促进、煽动或便利对个人或个人群体的骚扰、虐待、威胁或欺凌
- 从事、促进、煽动或便利在就业、就业福利、信贷、住房、其他经济福利或其他基本商品和服务的提供方面的歧视或其他非法或有害行为
- 从事未经授权或无执照的任何专业实践,包括但不限于金融、法律、医疗/健康或相关专业实践
- 在未获得适用法律要求的权利和同意的情况下,收集、处理、披露、生成或推断个人的健康、人口统计或其他敏感个人或私人信息
- 从事或便利任何侵犯、盗用或以其他方式侵犯任何第三方权利的行为或生成任何内容,包括使用FAIR研究材料的任何技术的输出或结果
- 创建、生成或便利创建恶意代码、恶意软件、计算机病毒或做任何可能禁用、使负担过重、干扰或损害网站或计算机系统的正常运行、完整性、操作或外观的事情
- 从事、促进、生成、促成、鼓励、策划、煽动或进一步推动非法或违法活动或内容,例如:
- 从事、促进、煽动、便利或协助策划或开展对个人造成死亡或身体伤害风险的活动,包括使用与以下相关的研究制品:
- 军事、战争、核工业或应用、间谍活动、用于受美国国务院维护的《国际武器贸易条例》(ITAR)管制的材料或活动
- 枪支和非法武器(包括武器开发)
- 非法药物和受管制/受控物质
- 关键基础设施、运输技术或重型机械的操作
- 自我伤害或伤害他人,包括自杀、自残和饮食失调
- 任何旨在煽动或促进暴力、虐待或对个人造成身体伤害的内容
- 故意欺骗或误导他人,包括使用与以下相关的FAIR研究材料:
- 生成、促进或进一步推动欺诈或创建或促进虚假信息
- 生成、促进或进一步推动诽谤性内容,包括创建诽谤性声明、图像或其他内容
- 生成、促进或进一步分发垃圾邮件
- 在未获得同意、授权或合法权利的情况下冒充他人
- 表示FAIR研究材料的输出或使用FAIR研究材料的技术的输出是人类生成的
- 生成或便利虚假的在线互动,包括虚假评论和其他虚假在线互动方式
- 未向最终用户适当披露研究材料的任何已知危险。
请通过https://docs.google.com/forms/d/e/1FAIpQLSeb11cryAopJ7LNrC4nxEUXrHY26hfkXQMf_uH-oFgA3WlYZQ/viewform提交报告,报告任何违反本政策的行为或可能导致违反本政策的其他问题。
致谢
此代码部分基于HuggingFace的Transformers仓库,该仓库采用Apache许可证。
引用
如果您发现我们的代码对您的研究有用,请考虑引用:
@article{liu2024mobilellm,
title={MobileLLM: Optimizing Sub-billion Parameter Language Models for On-Device Use Cases},
author={Liu, Zechun and Zhao, Changsheng and Iandola, Forrest and Lai, Chen and Tian, Yuandong and Fedorov, Igor and Xiong, Yunyang and Chang, Ernie and Shi, Yangyang and Krishnamoorthi, Raghuraman and others},
journal={arXiv preprint arXiv:2402.14905},
year={2024}
}



