Fine-Tune SmolLM with Ertas

    HuggingFace 的超紧凑语言模型家族,提供 135M、360M 和 1.7B 三种规模,在高质量 Cosmopedia 合成数据集上训练,专为资源需求最低的设备端 AI 应用设计。

    135M360M1.7BHuggingFace

    Overview

    SmolLM 是由 HuggingFace 开发的紧凑语言模型家族,专为边缘设备、手机和资源受限环境的部署而设计。该家族包括三种规模:135M、360M 和 1.7B 参数。尽管体量极小,SmolLM 模型展示了令人惊喜的性能,在每参数效率指标上超越了许多更大的模型。

    模型在以 Cosmopedia 为锚的精心策划的数据混合上训练,Cosmopedia 是一个由更大模型生成的大规模教科书式合成内容数据集。这些教育内容结合过滤的网络数据和代码,产生了相对于其规模具有强大基础知识的模型。SmolLM 2(当前版本)的 1.7B 模型在约 11 万亿个 token 上训练——极高的数据与参数比率最大化了模型有限参数的信息密度。

    在架构上,SmolLM 使用缩小到目标规模的标准稠密 Transformer 解码器。135M 模型有 12 层、隐藏维度 576,360M 有 32 层、隐藏维度 640,1.7B 有 24 层、隐藏维度 2048。所有模型使用分组查询注意力和 RoPE 位置编码,支持最高 8K token 的上下文窗口。

    SmolLM 模型在 Apache 2.0 许可下发布。HuggingFace 提供了包括 ONNX(跨平台部署)、CoreML(Apple 设备)和标准 safetensors 在内的多种格式,使 SmolLM 成为部署灵活性最高的模型家族之一。

    Key Features

    Cosmopedia 训练数据集是 SmolLM 的关键差异化优势。这个合成数据集包含数十亿 token 的教科书级教育内容,涵盖科学、数学、历史、技术和通用知识。通过在策划的教育内容而非原始网络文本上训练,SmolLM 模型比在未过滤数据上训练的同等规模模型发展出了更结构化的知识表示,从而带来更好的推理和事实准确性。

    多格式模型可用性使 SmolLM 在跨平台部署方面异常简便。HuggingFace 提供 ONNX 导出用于跨平台部署、CoreML 包用于 iOS 和 macOS 集成、TensorFlow Lite 用于 Android,以及 WebAssembly 构建用于浏览器部署。这意味着单个 SmolLM 模型可以在 iOS 应用、Android 应用、桌面应用、网页和服务器后端上部署,每个平台使用原生运行时优化。

    135M 模型特别值得关注——FP16 下不到 300MB,是目前可用的最小的连贯语言模型之一。它可以在低至 512MB 可用内存的设备上运行,开辟了在超低资源设备、功能手机和深度嵌入式系统上的部署场景。虽然相比十亿参数级模型能力有限,但它能有效处理分类、简单提取和基于模板的生成等聚焦任务。

    Fine-Tuning with Ertas

    SmolLM 模型是 Ertas Studio 中微调最快、资源效率最高的模型。135M 模型可以使用低至 1-2GB VRAM 进行完整微调(不仅仅是 LoRA)——几乎可在任何 GPU 上运行,包括较旧的笔记本电脑 GPU。360M 模型完整微调需要 2-3GB,1.7B 模型使用 QLoRA 需要 3-5GB 或完整微调需要 6-8GB。

    小巧的模型尺寸支持独特的微调工作流:您可以尝试许多配置。在一个下午运行 10-20 个实验,变化数据集组成、学习率、训练时长和 LoRA rank。这种快速迭代比使用每次训练运行需要数小时的更大模型产生优化更好的模型要快得多。

    微调完成后,Ertas Studio 导出为 GGUF 格式。SmolLM 的 GGUF 文件非常小:135M 在 Q4_K_M 下约 100MB,360M 约 230MB,1.7B 约 1GB。这些可以直接打包到应用中、通过应用商店分发或包含在容器镜像中,对大小的影响可以忽略不计。通过 Ollama 部署进行本地 API 访问或通过 llama.cpp 的库接口直接集成。

    Use Cases

    SmolLM 模型专为模型必须作为应用一部分交付的设备端 AI 设计。需要离线文本处理的移动应用、带有内置 AI 功能的浏览器扩展、带有集成助手的桌面应用以及具有本地智能的物联网设备都受益于 SmolLM 的最小占用。模型文件小到可以通过蜂窝网络下载并存储在移动设备上,不会造成显著的存储影响。

    聚焦的 NLP 任务是 SmolLM 的最佳应用场景:文本分类、情感分析、实体提取、语言检测、简单摘要和基于模板的生成。在特定任务数据上微调后,SmolLM 模型在窄任务上可以达到更大模型的准确性,同时运行速度快数个数量级且成本更低。许多生产系统使用 SmolLM 进行高吞吐量分类和路由任务。

    SmolLM 对数据不能离开设备的隐私敏感型应用也很有价值。健康应用、金融应用和消息应用的设备端文本分析可以使用 SmolLM 在本地处理敏感信息,无需任何网络通信。模型的小巧尺寸意味着它可以作为后台服务运行而不影响用户体验。

    Hardware Requirements

    SmolLM 135M 在 Q4_K_M 下约需 100MB 内存——可在过去十年中制造的几乎任何计算设备上运行。360M 模型约需 230MB,1.7B 约需 1GB。即使在 FP16 下,需求也很低:270MB(135M)、720MB(360M)和 3.4GB(1.7B)。这些是任何能够进行连贯生成的语言模型中需求最低的。

    推理速度极快。135M 模型在现代 CPU 上每秒可生成 100 个以上 token。1.7B 模型在 RTX 4090 上 Q4_K_M 下每秒可生成 100 个以上 token,CPU 上每秒 30-50 个 token。在移动设备上,135M 和 360M 模型提供实时推理,每个 token 的延迟低于 50 毫秒。

    在 Ertas Studio 中微调时,135M 需要 1-2GB VRAM(完整微调),360M 需要 2-3GB,1.7B 使用 QLoRA 需要 3-5GB 或完整微调需要 6-8GB。较小模型的完整训练运行在几分钟内完成,支持极其快速的迭代。

    Supported Quantizations

    Q4_0Q4_K_MQ5_K_MQ6_KQ8_0F16

    Related Resources

    Ship AI that runs on your users' devices.

    Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.