LabLLM:在 Apple Silicon 上本地训练小模型的 macOS 桌面工具
LabLLM 是一款基于 MLX 的 macOS 原生应用,支持在 Apple Silicon 上从零训练、微调并对话小…
LabLLM 是一款面向 Apple Silicon 的 macOS 原生桌面应用,让用户可以在本地从零训练、微调并对话小规模 Transformer 与大语言模型。该项目目前仍处于 beta 阶段,已在 Hacker News 上引发讨论,目标用户是希望在一个应用内走完「数据—分词器—模型架构—训练—微调—采样—对话—检查点管理」全流程的开发者与研究者。
核心能力
LabLLM 使用 SwiftUI 编写,底层依赖 Apple MLX 框架(当前固定在 mlx-swift 0.31.6 版本),所有模型、训练数据、检查点与对话内容均保存在本地,不依赖云端账号或订阅。应用内置 GPT 风格解码器预设,提供 Tiny、Small、Medium、Large-ish 等多档模型规模,并给出参数、内存、磁盘与训练时长的粗略估算,方便用户提前评估资源消耗。分词器支持字符、字节以及可训练的 BPE 方案,Simple 模式下会自动构建。
训练与微调
在训练方面,LabLLM 支持从零预训练,集成 AdamW/SGD、warmup、cosine 学习率、梯度裁剪、梯度累积、检查点保存以及暂停/恢复/停止等常规能力。微调侧则覆盖监督微调(SFT,配合对话模板与仅对回答部分计算 loss 的掩码)、LoRA 与 DPO 偏好训练。训练过程中提供实时损失、验证损失、困惑度、学习率、吞吐、ETA 与进度百分比等指标,并附带「Live Sample」时间轴,可在训练进行中观察模型生成结果的变化。
数据与采样
- 数据源:内置 Hugging Face 数据集浏览与导入,同时支持本地 TXT、JSON、JSONL、CSV 与 iMessage 文件导入,可对不同数据集按比例或行数进行混合;
- 采样:提供温度、top-k、top-p、min-p、重复惩罚、seed、停止序列、贪心与续写模式;
- 可解释性:内置 X-Ray token 检查器,展示每个 token 的概率、熵与 top alternatives;
- Embedding:带 PCA 风格 2D 投影与松弛效果的 embedding 可视化。
模型管理与导出
训练完成后,用户可在「Model Manager」中加载、继续、复制、重命名、量化并整理检查点。应用支持 safetensors 风格的保存与读取、4-bit 与 8-bit 量化导出,并可一键生成 Markdown 模型卡。LabLLM 还能在本地启动一个 OpenAI 形态的 HTTP 端点,支持流式响应,便于与现有工具链对接。
现状与限制
- 项目仍为 beta,开发者明确表示可能存在 bug、缺失功能与快速迭代;
- 仅支持 macOS 14+ 且需要 Apple Silicon(M1 或更新);
- 推荐使用 Xcode 15+ 与 Swift Package Manager 构建;
- 路线图中尚未完成的部分包括更完整的 Tokenizer Lab、Dataset Studio、精选数据集目录以及实验追踪等功能。
