文章摘要
该文章介绍了一个名为Deltafin的研究项目,在配备64GB内存的M1 Max Mac上运行拥有2.8万亿参数的Kimi K3混合专家模型,速度约为每14.6秒生成一个token。文章提供了安装步骤和两种下载模式(完整版和流式版),并说明了不同模式对磁盘空间和网络的要求。
文章总结
好的,这是根据您的要求,对原文进行中文重述和精简后的版本:
Deltafin:在Apple Silicon Mac上运行Kimi K3(2.8T参数)的实验
Deltafin是一个小型研究项目,旨在让一个远超其所在机器规模的混合专家模型(MoE)得以运行。目前,在一台64GB内存的M1 Max Mac上,其运行速度中位数约为每秒0.0687个token(即每token耗时14.6秒)。所有已公布的数据均来自这台初代M1 Max机器,而非更新的Max或Ultra芯片。该项目通过自动内存预算管理和能力门控路径,使其引擎也能在更新的Apple Silicon Mac上运行。
安装与运行
安装过程只需三个命令,核心在于选择模型的下载模式。
- 环境准备:创建Python 3.12+虚拟环境,并安装必要的依赖库。
- 内核编译:编译一个用于加速的MXFP4融合内核。
- 模型下载:运行脚本下载模型,有两种模式可选:
- 完整模式(推荐):需要约1.7TB磁盘空间,下载耗时5-10小时(可断点续传)。下载后推理速度最快,在M1 Max上中位速度为每token 14.6秒。推理时无需网络。
- 流式模式:仅需约215GB磁盘空间,下载约30分钟。推理时需从网络按需获取专家数据,速度较慢(约每token 3分钟以上)。
两种模式的核心区别在于:每个token都需要读取约25.8GB的专家数据。从本地磁盘读取约需4秒,而从网络读取则需要数分钟。
使用方式
- 命令行交互:通过
kimi_run.py脚本提问或进行文本补全。生成的token会实时打印,可按Ctrl-C中断。 - OpenAI兼容服务器:运行
serve_openai.py脚本可启动一个兼容OpenAI API的服务器,支持/v1/chat/completions等接口。这意味着任何支持OpenAI API的聊天界面、SDK或编程助手,只需更改基础URL即可接入Deltafin。
重要提醒
- 速度极慢:模型思考时间很长,一个完整的聊天回复可能需要很长时间。请将客户端的超时时间设置为小时级别,而非秒级。
- 流式模式更慢:在流式安装模式下,由于需要从网络获取数据,推理速度会显著下降。
- 功能限制:仅支持贪婪解码(
temperature和top_p参数会被忽略),且同一时间只能处理一个请求。
工作原理
K3模型权重总计约1.56TB,远超普通Mac的内存。其运行的关键在于,混合专家模型(MoE)每次只激活一小部分参数。
- 常驻骨干网络:约114GB的模型核心部分(如注意力机制、共享专家等)会被下载并量化到本地,每个token按层读取并计算。
- 路由专家:约1.45TB的82,432个路由专家。每个token,模型的路由器会从每层中挑选16个专家进行读取。完整安装模式下,所有专家都在本地;流式模式下,则按需从Hugging Face下载。
性能与预期
所有数据均基于64GB内存的初代M1 Max Mac。当前版本的性能相比早期版本有巨大提升,例如首个token的生成时间从约40分钟缩短至28秒,稳定解码速度从约20分钟/个token提升至14.6秒/个token。
解码速度目前受限于磁盘带宽,因为每生成一个token都需要重新读取约53GB的骨干网络数据。在更先进的Mac上,更高的内存带宽、更强的GPU、更快的SSD以及更大的内存(如128GB)都将带来显著的性能提升,尤其是更大的内存可以让骨干网络常驻内存,从而避免重复的磁盘读取。
技术亮点
- I/O优化:采用合并专家获取、原始数据缓存、并行专家读取和双缓冲层加载等技术,大幅减少了数据读取时间。
- 计算优化:开发了融合的MXFP4反量化与矩阵乘法内核、模板层缓冲区复用、int8量化骨干网络、自定义Metal反量化内核等技术,提升了计算效率。
- 解码优化:实现了N-gram推测解码,在无质量损失的前提下,通过一次前向传播生成多个token,从而提升速度。
致谢与许可
Deltafin项目借鉴了colibri、ds4/DwarfStar等开源项目的设计思路,并直接使用了Moonshot AI开源的Kimi K3模型权重和代码。Deltafin自身代码采用MIT许可,而K3模型权重则遵循Moonshot AI的许可协议。
评论总结
根据评论内容,总结如下:
主要观点与论据:
速度极慢,实用性存疑(多数评论认可)
- 评论1、2、7、13、16指出速度极低,如“under 0.02 tok/s”“0.01 tk/s is unusable”“~60–76 s/token”,认为这种速度无法实际使用。
- 关键引用:
- “under 0.02 tok/s”(lostmsu)
- “0.01 tk/s is unusable for anything, you would wait a whole day for just 1000 token of output”(Azantys)
硬件要求高,但仍有潜力(部分评论认可)
- 评论3、8、12提到在高端硬件(如M5 Max 128GB、4x Mac Studio 512GB)上可能实现更快速度,但成本高昂(如512GB Mac Studio约4万美元)。
- 关键引用:
- “Soon decent speed across two Mac Studios with 512GB of RAM”(antirez)
- “idk how people access (soldout) and even afford 512GB RAM MacStudio's. Isn't it $40k or so?”(ALLTaken)
对本地AI未来的乐观(部分评论认可)
- 评论17认为本地模型是未来趋势,无需依赖数据中心,但训练仍需集中资源。
- 关键引用:
- “Local AI on your device seems like a much more likely future to me than datacenters in space”(mindwok)
技术细节与质疑(少数评论)
- 评论4、5、6、14、18关注存储需求(2TB NVMe)、对SSD寿命的影响、能否在ESP32运行、以及通过小模型替代的可能性。
- 关键引用:
- “Says it requires a 2TB disk? Must it be internal NVMe?”(als0)
- “Does anyone else feel like the writing is on the wall for a future of local models?”(mindwok)
平衡性总结:
评论整体对项目速度持批评态度,认为当前实用性低,但认可其技术突破和本地AI的潜力。少数评论关注硬件成本、存储限制等细节,并质疑项目实际价值。