模型简介
模型特点
模型能力
使用案例
许可证:其他 许可证名称:公平非商业研究许可 额外授权提示:>+ 公平非商业研究许可
最后更新日期:2025年4月17日
“可接受使用政策”指适用于研究材料的公平可接受使用政策,该政策已纳入本协议。
“协议”指本文规定的关于研究材料的使用、复制、分发和修改的条款和条件。
“文档”指Meta分发的与研究材料配套的规范、手册和文档。
“被许可方”或“您”指您、您的雇主或任何其他个人或实体(如果您代表该个人或实体签订本协议),需符合适用法律、法规规定的法定年龄要求,并具有法律约束力,能够代表您的雇主或其他个人或实体签订本协议。
“Meta”或“我们”指Meta Platforms Ireland Limited(如果您位于欧洲经济区或瑞士,或您的实体主要营业地点位于欧洲经济区或瑞士)和Meta Platforms, Inc.(如果您位于欧洲经济区或瑞士以外)。
“非商业研究用途”指与研究、开发、教育、处理或分析相关的非商业研究用例,且主要目的并非为您或他人获取商业优势或金钱补偿。
“研究材料”指Meta根据本协议分发并提供使用的文档、模型、软件和算法(包括机器学习模型代码、训练模型权重、推理支持代码、训练支持代码、微调支持代码、演示材料及其他相关元素)的统称。
点击下方的“我接受”或使用或分发研究材料的任何部分或元素,即表示您同意受本协议约束。
- 许可权利和再分发。
a. 权利授予。根据Meta在研究材料中体现的知识产权或其他权利,授予您一项非排他性、全球性、不可转让且免版税的有限许可,允许您使用、复制、分发、复制、创建衍生作品及修改研究材料。
b. 再分发和使用。
i. 您不得将研究材料或其任何输出或结果用于任何商业用途或非商业研究用途以外的用途;
ii. 研究材料及其任何衍生作品的分发受本协议条款约束。如果您向第三方分发或提供研究材料或其任何衍生作品,您只能根据本协议的条款进行。您还应向该第三方提供本协议的副本。
iii. 如果您提交基于研究材料或与之相关的研究成果进行发表,您必须在出版物中承认使用了研究材料。
iv. 您对研究材料的使用必须符合适用法律和法规(包括贸易管制法律),并遵守公平可接受使用政策,该政策已通过引用纳入本协议。
-
用户支持。您对研究材料的非商业研究使用由您自行决定;Meta不会处理任何信息或提供与此类使用相关的任何服务。Meta无义务为研究材料提供任何支持服务。提供的任何支持均为“按现状”提供,“包含所有缺陷”,且不提供任何形式的保证。
-
免责声明。除非适用法律要求,研究材料及其任何输出和结果均按“现状”提供,不提供任何形式的保证,Meta否认所有明示或默示的保证,包括但不限于所有权、非侵权、适销性或特定用途适用性的保证。您全权负责确定使用或再分发研究材料的适当性,并承担与使用研究材料及其任何输出和结果相关的所有风险。
-
责任限制。在任何情况下,Meta或其关联公司均不对因本协议引起的任何利润损失或任何直接、间接、特殊、附带、示范性或惩罚性损害承担任何责任,即使Meta或其关联公司已被告知此类损害的可能性。
-
知识产权。
a. 在Meta拥有研究材料及由其或为其制作的衍生作品的前提下,对于您制作的任何衍生作品和修改,您与Meta之间,您现在是并将继续是此类衍生作品和修改的所有者。
b. 如果您对Meta或任何实体提起诉讼或其他程序(包括诉讼中的交叉索赔或反诉),指控研究材料、输出或结果或其任何部分构成对您拥有或可许可的知识产权或其他权利的侵权,则本协议授予您的任何许可应自提起诉讼或索赔之日起终止。您应赔偿并使Meta免受因您使用或分发研究材料而引起的任何第三方索赔。
-
期限和终止。本协议的期限自您接受本协议或访问研究材料之日起开始,并在本协议规定的条款和条件下持续有效,直至终止。如果您违反本协议的任何条款或条件,Meta可终止本协议。本协议终止后,您应删除并停止使用研究材料。第5、6和9条在本协议终止后仍然有效。
-
适用法律和管辖权。本协议受加利福尼亚州法律管辖并按其解释,不考虑法律冲突原则,且《联合国国际货物销售合同公约》不适用于本协议。加利福尼亚州的法院对本协议引起的任何争议具有专属管辖权。
-
修改和修订。Meta可通过在[https://huggingface.co/facebook/Perception-LM-8B/blob/main/LICENSE]发布修订版本不时修改本协议;前提是修订版本在精神上与当前版本相似,但可能在细节上有所不同以解决新问题或关注点。所有此类修改将立即生效。您在本协议修改后继续使用研究材料即表示您同意此类修改。除非本协议另有规定,对本协议任何条款的修改或补充不具有约束力,除非以书面形式并由您和Meta的授权代表签署。
公平可接受使用政策
Meta的基础人工智能研究(FAIR)团队致力于通过开放研究推动人工智能领域的前沿发展,造福全人类。
作为这一使命的一部分,Meta提供某些研究材料供非商业研究使用。Meta致力于促进此类研究材料的安全和负责任使用。
禁止用途
您同意不会使用或允许他人使用研究材料从事以下行为:
违反法律或他人权利,包括:
从事、促进、生成、促成、鼓励、计划、煽动或进一步实施非法或违法行为或内容,例如:
暴力或恐怖主义
剥削或伤害儿童,包括招揽、创建、获取或传播儿童剥削内容或未报告儿童性虐待材料
人口贩卖、剥削和性暴力
向未成年人非法分发信息或材料,包括淫秽材料,或未对此类信息或材料实施法律要求的年龄限制
性招揽
任何其他犯罪活动
从事、促进、煽动或便利对个人或群体的骚扰、虐待、威胁或欺凌
在就业、就业福利、信贷、住房、其他经济利益或其他基本商品和服务提供中从事、促进、煽动或便利歧视或其他非法或有害行为
未经授权或无执照从事任何职业,包括但不限于金融、法律、医疗/健康或相关专业实践
未经适用法律要求的权利和同意,收集、处理、披露、生成或推断健康、人口统计或其他敏感个人或私人信息
侵犯、盗用或以其他方式侵犯任何第三方权利的行为或生成任何内容,包括使用FAIR研究材料的技术输出或结果
创建、生成或便利恶意代码、恶意软件、计算机病毒或任何可能禁用、超载、干扰或损害网站或计算机系统正常运行、完整性、操作或外观的行为
- 从事、促进、煽动、便利或协助计划或开发可能导致个人死亡或身体伤害的活动,包括使用与以下内容相关的研究成果:
军事、战争、核工业或应用、间谍活动、受美国国务院《国际武器贸易条例》(ITAR)管制的材料或活动
枪支和非法武器(包括武器开发)
非法药物和受管制/受控物质
关键基础设施、交通技术或重型机械的操作
自残或伤害他人,包括自杀、自残和饮食失调
任何旨在煽动或促进暴力、虐待或对个人造成身体伤害的内容
- 故意欺骗或误导他人,包括使用与以下内容相关的FAIR研究材料:
生成、促进或进一步实施欺诈或虚假信息的创建或推广
生成、促进或进一步实施诽谤性内容,包括诽谤性陈述、图像或其他内容的创建
生成、促进或进一步分发垃圾信息
未经同意、授权或合法权利冒充他人
将FAIR研究材料的输出或使用FAIR研究材料的技术输出表示为人类生成
生成或便利虚假在线互动,包括虚假评论和其他虚假在线互动手段
- 未向最终用户适当披露研究材料的任何已知危险。
请通过提交报告[https://docs.google.com/forms/d/e/1FAIpQLSeb11cryAopJ7LNrC4nxEUXrHY26hfkXQMf_uH-oFgA3WlYZQ/viewform]报告违反本政策或可能导致违反本政策的任何问题。 额外授权字段: 名字:文本 姓氏:文本 出生日期:日期选择器 国家:国家 所属机构:文本 职位: 类型:选择 选项: - 学生 - 研究生 - AI研究员 - AI开发人员/工程师 - 记者 - 其他 地理位置:IP定位 点击下方的提交按钮即表示我接受许可条款,并确认我提供的信息将根据Meta隐私政策进行收集、存储、处理和共享:复选框 额外授权描述:>- 您提供的信息将根据Meta隐私政策进行收集、存储、处理和共享。 额外授权按钮内容:提交 额外授权标题:>- 请务必提供您的全名、出生日期和完整的组织名称(包括公司标识符)。避免使用缩写和特殊字符。未遵循这些说明可能会阻止您访问此模型及Hugging Face上的其他模型。提交后您将无法编辑此表单,因此请确保所有信息准确无误。 语言:
- 英语 库名称:transformers 标签:
- meta
- pytorch
- mobilellm
模型详情
MobileLLM介绍:"MobileLLM: Optimizing Sub-billion Parameter Language Models for On-Device Use Cases",发表于ICML 2024。
模型开发者:Meta
模型架构:MobileLLM是一种自回归语言模型,采用优化的Transformer架构,专为资源受限的端侧应用设计。 MobileLLM集成了多项关键技术,包括:(1) SwiGLU激活函数,(2) 深度细窄架构,(3) 嵌入共享,(4) 分组查询注意力机制。MobileLLM-125M/350M在零样本常识推理任务上分别比前代125M/350M SoTA模型实现了2.7%/4.3%的显著准确率提升。在我们的更新版本中,我们进一步证明我们的设计理念能有效扩展到更大模型,MobileLLM-600M/1B/1.5B均取得SoTA结果。
层数 | 注意力头数 | 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 tokens |
MobileLLM-350M | 公开可用的在线数据。 | 文本 | 文本 | 2k | 是 | 是 | 1T tokens |
MobileLLM-600M | 公开可用的在线数据。 | 文本 | 文本 | 2k | 是 | 是 | 1T tokens |
MobileLLM-1B | 公开可用的在线数据。 | 文本 | 文本 | 2k | 是 | 是 | 1T tokens |
MobileLLM-1.5B | 公开可用的在线数据。 | 文本 | 文本 | 2k | 是 | 是 | 1T tokens |
使用方法
我们提供两种运行模型的方式:
HuggingFace
加载预训练模型以进行进一步微调或评估:
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("facebook/MobileLLM-1.5B", use_fast=False)
model = AutoModelForCausalLM.from_pretrained("facebook/MobileLLM-1.5B", 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测试集ppl的评估脚本:
> bash eval.sh
您可以在GitHub仓库中找到更多细节。
训练成本
使用32张NVIDIA A100 80G GPU训练MobileLLM 1T tokens所需天数如下:
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 |
致谢
本代码部分基于HuggingFace Transformers仓库的Apache License。
引用
如果您发现我们的代码对研究有帮助,请考虑引用:
@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}
}
许可证
MobileLLM目前采用FAIR NC许可证


