MobileLLM

MobileLLM

轻量高效的移动设备语言模型

MobileLLM是一个针对移动设备优化的大型语言模型项目。该模型通过SwiGLU激活函数、深窄架构、嵌入共享和分组查询注意力等技术,在亿级参数规模下实现了高性能。MobileLLM在零样本常识推理任务中表现出色,不仅在125M和350M参数规模上超越了现有最先进模型,还成功扩展至600M、1B和1.5B参数规模,展示了其在移动设备应用中的潜力。

MobileLLM语言模型AI模型深度学习神经网络Github开源项目

MobileLLM

本仓库包含了我们在ICML 2024发表的论文"MobileLLM: 优化小于十亿参数的语言模型用于设备端场景"中介绍的MobileLLM的训练代码。

在这项工作中,我们全面考虑了多个设计因素,以获得高质量的、参数少于十亿的大语言模型。我们整合了(1) SwiGLU激活函数、(2)深而窄的架构、(3)嵌入共享、(4)分组查询注意力来构建MobileLLM。MobileLLM-125M/350M在零样本常识推理任务上比之前的125M/350M最先进模型分别提高了2.7%/4.3%的准确率。在我们更新的版本中,我们进一步证明了我们的设计理念可以有效扩展到更大的模型,MobileLLM-600M/1B/1.5B取得了最先进的结果。

<div align=center> <img width=50% src="https://yellow-cdn.veclightyear.com/835a84d5/2e0d8abd-0453-4c25-8214-943d1f017a38.png"/> </div>

引用

如果您发现我们的代码对您的研究有用,请考虑引用:

@article{liu2024mobilellm,
    title={MobileLLM: Optimizing Sub-billion Parameter Language Models for On-Device Use Cases},
    author={Liu, Zechun and Zhao, Changsheng and Iandola, Forrest和Lai, Chen和Tian, Yuandong和Fedorov, Igor和Xiong, Yunyang和Chang, Ernie和Shi, Yangyang和Krishnamoorthi, Raghuraman和others},
    journal={arXiv preprint arXiv:2402.14905},
    year={2024}
}

运行

步骤1. 要求:

  • python 3.9, pytorch >= 2.0
  • pip install -r requirement.txt

步骤2. 数据预处理

将分词后的数据集划分或对您自己的数据集进行分词,并均匀分布到总训练节点数量上,每个节点由1x8个GPU组成。然后,将数据组织成以下结构:

  • basepath
    • 1
      • xxx.jsonl
    • 2
      • xxx.jsonl
    • ...
    • #nodes
      • xxx.jsonl

jsonl文件的每一行是一个分词数据的键值对{"token_ids": [1,2,3,4,...]}。

我们的训练代码与https://github.com/LLM360/amber-data-prep中的数据预处理方法兼容。

步骤3. 训练脚本

提供了pretrain.sh脚本,用于在1x8节点设置上使用torchrun启动训练。可以修改此脚本以调整--nnodes参数和其他设置,以适应不同的多节点配置,如使用slurm或torchx。脚本中的学习率适用于1x8节点,批量大小为32。如果您增加节点数量或批量大小,需要线性增加学习率。

运行步骤:

  • pretrain.sh文件中,指定--train_data_local_path为步骤2中预处理的数据路径,并将--input_model_filename指定为./configs/{model_size}/
  • 运行bash pretrain.sh

其他

模型权重仍在法律审查中。如有任何问题,请随时发送电子邮件至(zechunliu at meta dot com)和(cszhao at meta dot com)

训练成本

使用32个NVIDIA A100 80G GPU在1T个token上训练MobileLLM需要以下天数。

125M350M600M1B1.5B
~3天~6天~8天~12天~18天

零样本常识推理任务结果

MobileLLM-125M

模型boolqpiqasiqahellaswagwinograndearc_easyarc_challengeobqa平均
OPT-125M41.325.257.562.041.931.131.250.842.6
GPT-neo-125M40.724.861.362.541.929.731.650.742.9
Pythia-160M40.025.359.562.041.529.931.250.942.5
MobileLLM-125M43.927.160.265.342.438.939.553.146.3
MobileLLM-LS-125M45.828.760.465.742.939.541.152.147.0

MobileLLM-350M

模型boolqpiqasiqahellaswagwinograndearc_easyarc_challengeobqa平均
OPT-350M41.925.754.064.842.636.233.352.443.9
Pythia-410M47.130.355.367.243.140.136.253.446.6
MobileLLM-350M53.833.562.468.644.749.640.057.651.3
MobileLLM-LS-350M54.432.562.869.844.150.645.857.252.1

MobileLLM-600M

模型boolqpiqasiqahellaswagwinograndearc_easyarc_challengeobqa平均
Qwen1.5-500M54.732.146.968.946.048.837.755.048.8
BLOOM-560M43.727.553.765.142.536.532.652.244.2
MobiLlama-800M52.031.754.673.043.352.342.556.350.7
MobileLLM-600M58.135.861.072.344.955.947.958.654.3

MobileLLM-1B

模型boolqpiqasiqahellaswagwinograndearc_easyarc_challengeobqa平均
Pythia-1B49.930.458.769.243.347.438.652.248.7
MobiLlama-1B59.738.459.274.544.962.043.759.055.2
Falcon-1B59.538.463.974.644.662.945.660.956.3
BLOOM-1.1B47.627.358.667.042.442.236.653.846.9
TinyLlama-1.1B59.237.158.172.943.959.144.758.854.2
MobileLLM-1B63.039.066.774.445.061.446.862.357.3

MobileLLM-1.5B

模型boolqpiqasiqahellaswagwinograndearc_easyarc_challengeobqa平均
GPT-neo-1.3B51.333.061.870.943.748.641.254.550.6
OPT-1.3B54.431.758.471.544.753.744.659.152.3
BLOOM-1.7B50.931.261.770.043.247.236.256.149.6
Qwen1.5-1.8B61.136.568.374.147.260.442.961.256.5
GPT-neo-2.7B55.834.362.472.943.655.640.057.952.8
OPT-2.7B56.634.661.874.545.660.248.259.655.1
Pythia-2.8B59.438.966.173.844.559.645.059.455.8
BLOOM-3B55.133.662.170.543.253.941.658.252.3
MobileLLM-1.5B67.540.965.774.846.464.550.564.759.4

致谢

本代码部分基于Hugging Face transformer仓库。

联系方式

Zechun Liu,Meta公司(zechunliu@meta.com

Changsheng Zhao,Meta公司(cszhao@meta.com

许可证

BiT目前采用CC-BY-NC 4.0许可证。

编辑推荐精选

音述AI

音述AI

全球首个AI音乐社区

音述AI是全球首个AI音乐社区,致力让每个人都能用音乐表达自我。音述AI提供零门槛AI创作工具,独创GETI法则帮助用户精准定义音乐风格,AI润色功能支持自动优化作品质感。音述AI支持交流讨论、二次创作与价值变现。针对中文用户的语言习惯与文化背景进行专门优化,支持国风融合、C-pop等本土音乐标签,让技术更好地承载人文表达。

QoderWork

QoderWork

阿里Qoder团队推出的桌面端AI智能体

QoderWork 是阿里推出的本地优先桌面 AI 智能体,适配 macOS14+/Windows10+,以自然语言交互实现文件管理、数据分析、AI 视觉生成、浏览器自动化等办公任务,自主拆解执行复杂工作流,数据本地运行零上传,技能市场可无限扩展,是高效的 Agentic 生产力办公助手。

lynote.ai

lynote.ai

一站式搞定所有学习需求

不再被海量信息淹没,开始真正理解知识。Lynote 可摘要 YouTube 视频、PDF、文章等内容。即时创建笔记,检测 AI 内容并下载资料,将您的学习效率提升 10 倍。

AniShort

AniShort

为AI短剧协作而生

专为AI短剧协作而生的AniShort正式发布,深度重构AI短剧全流程生产模式,整合创意策划、制作执行、实时协作、在线审片、资产复用等全链路功能,独创无限画布、双轨并行工业化工作流与Ani智能体助手,集成多款主流AI大模型,破解素材零散、版本混乱、沟通低效等行业痛点,助力3人团队效率提升800%,打造标准化、可追溯的AI短剧量产体系,是AI短剧团队协同创作、提升制作效率的核心工具。

seedancetwo2.0

seedancetwo2.0

能听懂你表达的视频模型

Seedance two是基于seedance2.0的中国大模型,支持图像、视频、音频、文本四种模态输入,表达方式更丰富,生成也更可控。

nano-banana纳米香蕉中文站

nano-banana纳米香蕉中文站

国内直接访问,限时3折

输入简单文字,生成想要的图片,纳米香蕉中文站基于 Google 模型的 AI 图片生成网站,支持文字生图、图生图。官网价格限时3折活动

扣子-AI办公

扣子-AI办公

职场AI,就用扣子

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

堆友

堆友

多风格AI绘画神器

堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。

图像生成AI工具AI反应堆AI工具箱AI绘画GOAI艺术字堆友相机AI图像热门
码上飞

码上飞

零代码AI应用开发平台

零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

下拉加载更多