MobileLLM:Meta 开源适用于移动设备的语言模型,具备高质量的语言理解和生成能力

❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

  1. MobileLLM 是 Meta 为移动设备优化的语言模型,参数少于十亿。
  2. 该模型在零样本常识推理任务上表现优异,并支持多种语言相关的任务。
  3. 技术上采用深薄架构、SwiGLU 激活函数、嵌入共享等优化策略。

正文(附运行示例)

MobileLLM 是什么

在这里插入图片描述

MobileLLM 是 Meta(前 Facebook)推出的一种专为移动设备设计和优化的大型语言模型。该模型通过采用多种设计策略,如深薄架构和嵌入共享等,在少于十亿参数的条件下达到了高质量的语言理解和生成能力。MobileLLM 旨在解决云计算成本上升和延迟问题,使其非常适合在资源受限的设备上运行。

MobileLLM 的主要功能

  • 语言理解与生成:能够理解和生成自然语言,支持多种语言任务。
  • 零样本常识推理:在没有特定训练数据的情况下,能够解决需要常识推理的问题。
  • 聊天交互:在对话系统中提供流畅的交互体验。
  • API 调用:将自然语言指令转换为 API 调用,实现与后端服务的交互。
  • 文本重写与摘要:支持文本重写和摘要生成。
  • 数学问题解决:具备解决数学问题的能力。

MobileLLM 的技术原理

MobileLLM 通过以下技术手段实现了在移动设备上的高效运行:

  • 深度与薄架构:采用更多的层数和较少的参数,有助于模型学习更抽象的概念。
  • SwiGLU 激活函数:用 SwiGLU 激活函数替代传统的 ReLU,提高模型的非线性表达能力。
  • 嵌入共享:输入和输出嵌入层共享权重,减少模型参数量并保持性能。
  • 分组查询注意力机制:优化注意力机制,减少键值头的数量并重复使用它们,提高模型效率。
  • 量化兼容性:支持量化技术,如 W8A8,使模型在资源受限的设备上运行良好。

如何运行 MobileLLM

步骤 1: 安装依赖

* python 3.9, pytorch >= 2.0
* pip install -r requirements.txt

步骤 2: 数据预处理

将数据集进行标记化处理,并分布到多个训练节点,每个节点包含 1x8 GPUs。数据需按照以下结构组织:

basepath
  ├── 1
  │   └── xxx.jsonl
  ├── 2
  │   └── xxx.jsonl
  └── ...
  └── #nodes
      └── xxx.jsonl

每个 jsonl 文件的每一行是标记化数据的键值对,例如{"token_ids": [1,2,3,4,...]}

步骤 3: 训练模型

使用pretrain.sh脚本开始训练:

* 指定 `--train_data_local_path` 为预处理数据路径。
* 指定 `--input_model_filename` 为模型配置路径,如`./configs/{model_size}/`。
* 运行 `bash pretrain.sh`

评估模型

下载模型并更新eval.sh中的检查点路径:

* 运行 `bash eval.sh`

资源

  • 关注并回复公众号【62】或【MobileLLM】获取相关项目资源。

❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值