Hacker News 中文摘要

RSS订阅

Show HN:开源引擎,可在任意M系列Mac的2GB内存中运行Gemma 4 26B -- Show HN: Open-source engine running Gemma 4 26B in 2 GB RAM on any M-series Mac

文章摘要

TurboFieldfare是一个专为Apple Silicon Mac设计的Swift+Metal运行时,能让26B参数的Gemma 4模型在仅约2GB内存中运行。它通过将核心和KV缓存保留在内存中,从SSD流式加载每个token所需的专家,从而在8GB内存Mac上实现推理。

文章总结

好的,这是根据您的要求,对原文进行中文重述后的版本:

TurboFieldfare:在约2GB内存中运行Gemma 4 26B-A4B模型

TurboFieldfare是一个专为Apple Silicon Mac(包括8GB内存版本)设计的自定义Swift + Metal运行时。它能让一个260亿参数的模型在仅约2GB的内存预算下运行。

核心原理

该工具无需将整个14.3GB的模型加载到内存中。它仅在内存中保留共享的1.35GB核心和FP16 KV缓存,然后根据每个token的需要,从SSD流式加载所需的专家模块。这使得模型可以在8GB内存的Mac上运行。

技术实现

运行时、流式安装器、命令行界面和原生Mac应用均使用Swift和Metal编写。TurboFieldfare是模型特定的,而非MLX或llama.cpp的封装。其实验记录汇总了103项关于内核、缓存、I/O、预填充和解码的测量结果。

快速上手

  1. 克隆仓库并构建:git clone https://github.com/drumih/turbo-fieldfare.git,然后执行swift build -c release
  2. 首次运行会下载并构建分词器所需的Swift包。
  3. 打开应用后,选择“下载”以获取并重新打包模型(约15GB)。
  4. 下载完成后,选择“加载模型”,输入提示词,点击“生成”。

性能概览

  • 模型:Gemma 4 26B-A4B IT,总计260亿参数,每个token约激活38.8亿参数。
  • 权重:MLX仿射4-bit,分组大小64;8-bit路由器;4-bit共享和路由专家。
  • 内存:约2GB用于权重和4K KV缓存。
  • 存储:安装后的纯文本模型约14.3GB。
  • 硬件:Apple Silicon Mac,8GB内存。
  • 平台:macOS 26, Metal 4, Swift 6.2。
  • 实测解码速度:8GB M2 MacBook Air为5.1-6.3 tok/s;24GB M5 Pro为31-35 tok/s。

使用方式

TurboFieldfare提供原生Mac应用、命令行界面和实验性的OpenAI兼容服务器。它们共享同一个.gturbo模型目录,但同一时间只能运行一个模型实例。

  • Mac应用:自动处理Gemma的聊天格式,支持用户和模型消息及可选的系统指导。生成参数(温度、Top-K、Top-P)可配置。
  • 命令行界面:支持指令聊天(通过JSON文件)和原始补全(通过--prompt参数)。提供丰富的生成选项。
  • 本地服务器:监听http://127.0.0.1:8080/v1,支持聊天补全、流式传输、函数工具和单前缀提示复用。

系统要求

  • Apple Silicon Mac(已验证目标为8GB M2 MacBook Air)
  • macOS 26及Metal 4
  • Xcode 26和Swift 6.2或更新版本
  • 约14.3GB的可用存储空间
  • 首次安装需要网络连接

推理引擎工作原理

在每个Transformer层,Metal利用常驻权重计算注意力和路由器。CPU根据路由器的前8个专家ID,对照该层的16槽LFU缓存进行规划,然后通过并行的pread调用从SSD填充缓存未命中的数据。Metal在读取操作进行的同时计算常驻的共享专家分支,最后将共享和路由输出合并。

项目状态与范围

当前支持:远程流式重打包、指令微调后的Gemma 4 26B-A4B模型、4-bit量化权重、自定义Metal内核、SSD支持的路由专家流式传输、分块预填充和逐token生成、FP16 KV存储、以及Swift库、安装器、CLI、服务器和原生Mac应用。

未来工作

  • 开发iPhone和iPad应用。
  • 在更多Apple Silicon Mac上进行基准测试。

许可与声明

TurboFieldfare的源代码和文档采用Apache License 2.0许可。模型权重不包含在内,需单独下载,并受其原始条款约束。该项目是一个独立的研究项目,与Google无关。

后记

项目作者是Andrey Mikhaylov,一位专注于图像、视频和设备端AI的iOS和Metal工程师。他将此项目献给妻子Sasha。项目名称“TurboFieldfare”取自一种名为“Fieldfare”的鸫科鸟类,作者认为该项目正如这种鸟一样,虽不显眼,但独具特色。

评论总结

根据评论内容,总结如下:

主要观点与论据:

  1. 性能表现与硬件差异:评论者关注不同设备上的推理速度。例如,M2 MacBook Air(8GB)为5-6 tok/s,M5 MacBook Pro为31-35 tok/s,M4 Mac mini(16GB)约5 tok/s,M3(36GB)约20 tok/s。有评论质疑性能差距来源,认为SSD性能不应主导(addaon: "Where does this big a performance spread come from?")。

  2. 技术实现与优化:专家缓存(expert caching)是亮点,但评论者关心专家切换频率及对SSD的影响。mxmlnkn询问专家切换统计和最长无切换运行;tredre3比较与mmap的差异,认为项目同步SSD读取与推理活动以减少延迟。

  3. 硬件兼容性与风险:用户关注对SSD的潜在损害(touwer: "Is there any info on this doing harm to the SSD?"),以及长时间运行时的散热和SSD耐久性(hsienchuc: "will a fanless MacBook Air overheat and throttle?")。Windows和小显存用户希望支持(h2aichat: "Hope you can do it for Windows users also")。

  4. 应用与协作:有项目寻求合作(mmastrac: "I have a project that's almost ready to run DiffusionGemma"),用户讨论本地模型选择(maxignol: "Anyone got recommendation about what local model to use for what purpose?")。

平衡性总结: - 正面:多数评论赞赏项目实现,如"Nice job implementing expert caching!"(WithinReason)和"Great work, congratulations on the release!"(hsienchuc)。 - 质疑:性能差异原因、SSD风险、与现有方案(如mmap)的比较。 - 建议:扩展Windows支持、优化小显存设备、提供专家切换统计。