每天早上一封邮件,把昨天的 AI 梳理好订阅邮件

METAL LAB

开源应用可在MacBook上从零训练迷你LLM

LabLLM基于苹果芯片与MLX,支持在本地从设计GPT式模型到训练、对话的全流程

이미지: METAL LAB 생성

摘要

  • 开发者Greninja9257在GitHub上公开了面向苹果芯片的开源macOS应用"LabLLM"
  • 从GPT风格解码器设计、分词器制作,到预训练、SFT、LoRA、DPO训练、检查点管理、本地对话,一个应用全部搞定
  • 需要macOS 14以上系统及M1以上苹果芯片,采用MIT许可证,无需账号或订阅,仅在本地运行
레포명
Greninja9257/LabLLM
라이선스
MIT
필수 사양
macOS 14 이상, Apple Silicon M1 이상
가속 프레임워크
Apple MLX (mlx-swift 0.31.6 고정)
훈련 방식 지원
사전학습, SFT, LoRA, DPO
토크나이저
문자·바이트·학습형 BPE
현재 상태
베타, 스타 22개·커밋 40건

公开了什么

开发者Greninja9257在GitHub上发布了一款名为"LabLLM"的macOS原生应用。该应用可以让用户从随机初始化状态开始设计GPT风格的Transformer模型,用自制数据集进行训练,并与训练出的成果进行对话。界面使用SwiftUI搭建,运算则通过苹果的MLX框架完成,mlx-swift版本固定为0.31.6。模型、数据集、检查点、对话记录全部只保存在用户自己的Mac电脑中。

根据仓库说明,该应用目前仍处于测试阶段。项目介绍写道:"LabLLM is beta software",称虽然可以实际训练和微调模型,但尚未达到最终完成形态。截至公开时点,该项目已获得22个星标,累计40次提交。

如何使用

从哪里开始 — 下载GitHub仓库(Greninja9257/LabLLM)后,在macOS 14以上、Apple Silicon M1以上的设备上通过Swift Package Manager构建。仓库中建议使用Xcode 15以上版本。

分步使用流程

  1. 在终端中执行swift build命令编译源代码。由于是首次下载MLX相关库,可能需要一些时间。
  2. 执行swift run LabLLM运行应用,会出现带动画背景的欢迎界面和教程浮层。
  3. 在模型构建器中选择tiny、small、medium、large预设之一,或自行调整层数与维度。此步骤中,参数量、预计内存与磁盘占用会实时显示。
  4. 在数据浏览器中搜索Hugging Face数据集并预览后导入,或直接导入本地的TXT、JSON、JSONL、CSV文件及iMessage对话记录。
  5. 在字符级、字节级、可训练BPE分词方式中选择一种。Simple模式下会自动配置。
  6. 在训练面板中启动预训练后,会同时显示蓝色训练损失曲线、橙色验证损失曲线、处理吞吐量以及实时样本输出。训练过程中可暂停、恢复或中止。
  7. 保存检查点后可加载并重命名或量化,再通过LoRA、DPO进行追加微调。
  8. 训练完成的模型可通过X-Ray令牌检视器查看内部结构,也可开启本地服务器,以OpenAI格式端点与其他工具连接。

谁可以使用 — 必备条件是macOS 14以上系统及M1以上苹果芯片Mac电脑。据悉在英特尔Mac或Windows、Linux系统上无法运行。无需注册账号或缴纳订阅费即可免费使用,并以MIT许可证发布。

可以尝试哪些操作 — 例如,将个人iMessage对话记录作为数据导入并微调一个小型模型,就能在本地打造出模仿自己说话方式的聊天机器人。又或者,专门挑选Hugging Face上某一特定领域的文本,从零开始进行预训练,就能亲手体验大型模型是经过怎样的过程学会"说话"的。

功能构成一览

领域支持内容
模型设计GPT风格解码器预设、验证、参数量与内存估算
数据Hugging Face浏览、本地导入、数据集混合、行数与比例调节
训练预训练、SFT、LoRA、DPO、实时指标、检查点、暂停与恢复
运行采样、对话、令牌检视、嵌入、本地服务器、量化导出

背景:MLX与设备端学习的交汇点

MLX是苹果为在自家芯片上快速运行深度学习运算而打造的开源框架。大型语言模型训练通常被认为需要云端大规模GPU集群支持,但MLX借助苹果芯片的统一内存架构,开辟了在本地训练相对较小模型的路径。LabLLM则是在MLX之上叠加图形界面,使用户无需亲自编写代码,就能在一个界面中完成模型设计、数据准备、训练、评估直至部署的全过程。

编辑视角

过去几年间,使用LLM的方式大致分成了两条路径。一条是通过API租用OpenAI或Anthropic等公司打造的巨型模型,另一条是下载LlamaQwen等开放权重模型,在自有服务器上运行。而LabLLM展示的是不属于这两条路径中任何一条的第三种选择:从随机初始化的权重开始,在个人笔记本电脑内亲眼见证模型学习的全过程。与其说这是一种可用于实际业务的替代方案,不如说更接近一间用于学习的实验室——事实上,项目名称本身就带有"Lab(实验室)"之意。

调用大型模型API的人很多,但真正亲眼见过Transformer画出损失曲线、逐步"学会说话"这一瞬间的人却很少,原因就在于租用云端GPU集群所需的成本与配置门槛。若像LabLLM这样,用一台MacBook从零训练一个tiny尺寸的模型,就能亲身体会到:参数量增加时内存需求会陡增到何种程度,数据质量不佳时损失曲线又会如何剧烈波动。缺少这种切身体验,"令牌数量"或"参数量"之类的数字就只会停留在文章里的词语层面。

对于正在筹备国内AI教育或企业内部工作坊的团队来说,这类工具值得关注。因为无需服务器费用,也无需经过GPU集群的审批流程,仅凭一台笔记本电脑就能让人实际体验"模型是如何学习的"。不过必须明确的是,这款软件仍处于测试阶段,而且tiny、small级别的模型很难具备可用于实际业务的语言能力。指望直接把由此产出的成果用于产品,还为时尚早——这是一款用于学习的工具,而非用于部署的工具。

未来几周内,类似这种本地训练实验室形式的开源项目很可能还会陆续出现。原因在于苹果仍在持续打磨MLX,设备端能够完成的工作范围也在逐季扩大。接下来值得关注的是,这类工具能否超越tiny模型的实习练习,发展到可以在本地对实际可用规模的模型进行微调的水平。