Swift Transformers 1.0 发布说明 / 新功能

Hugging Face 已发布 Swift Transformers 1.0,这是其库的稳定版本,旨在降低开发者在 Apple Silicon 平台(包括 iPhone)上集成本地大型语言模型(LLM)的难度。此发布标志着库进入稳定阶段,提供了与 Core ML 和 MLX 互补的分词、模型下载和推理等关键基础设施。

Swift Transformers 的核心组件

Swift Transformers 提供了三个主要模块,填补了 Apple Silicon 机器学习生态系统中的空白:

  • Tokenizers:一个高性能的 Swift 分词实现,处理输入准备、聊天模板和代理用例,体现了 Hugging Face 的 Python 和 Rust 库的使用体验。
  • Hub:一个 Swift 接口,用于访问 Hugging Face Hub,能够下载并本地缓存开源模型。它支持离线模式和后台可恢复下载,但目前不支持上传。
  • Models and Generation:针对已转换为 Core ML 格式的 LLM 的包装器,简化了转换完成后进行推理的过程。

版本 1.0 的关键更新

版本 1.0 引入了多项架构改进和稳定性更新,以支持生产应用的开发:

模块化架构与依赖精简

TokenizersHub 现在是一级顶层模块,开发者可以仅导入所需的特定组件,而无需整个包。为降低开销并防止版本冲突,库已移除示例 CLI 目标以及 swift-argument-parser 依赖。

性能与 API 增强

  • Swift Jinja 集成:与 John Mai 合作,库现在使用新版 swift-jinja,据称在处理复杂聊天模板时快了数个数量级。
  • 现代 Core ML API:通过 Apple 的贡献,库现在支持有状态模型(便于更轻松的 KV 缓存)和表达式化的 MLTensor API,省去了数千行自定义张量数学代码。
  • Swift 6 支持:库现已完全兼容 Swift 6。
  • API 精炼:公共 API 表面已被简化,以降低认知负担,并为所有公共 API 添加了文档注释。

社区采纳与集成

Swift Transformers 目前被多个高影响力的 Apple Silicon 项目使用:

  • mlx-swift-examples (Apple):通过 MLX 使用该库运行 LLM 和 VLM(视觉语言模型)。
  • WhisperKit (argmax):一个优化的开源语音识别框架,依赖 HubTokenizers 模块。
  • FastVLM (Apple):一个视觉语言模型演示,以及 Hugging Face 自己的 SmolVLM2 原生应用。

未来路线图

Hugging Face 计划将未来的开发重点放在两个主要方向上:

  1. MLX 集成:提升 MLX 体验的流畅度,特别是通过更好地与 mlx-swift-examples 集成,以在频繁的前后处理操作中支持 LLM 和 VLM。
  2. 代理工作流:探索代理用例和模型上下文协议(MCP),以实现系统资源向本地工作流的暴露。

Sources