I put together a Rust-native, CPU-only implementation of LFM2.5-8B-A1B

Reddit r/LocalLLaMA 工具

摘要

作者发布了一个纯Rust、纯CPU的LFM2.5-8B-A1B模型推理实现(4-bit Q4KM量化),解码速度约37 tokens/s,内存占用~7GB,旨在让LLM在廉价VPS或旧机器上可运行。该实现已开源并发布为cargo crate。

This is still a work in progress, but since recording the video, I added callbacks for tool use, more tests, and published it as a cargo crate. Currently working on speeding up the prefill. The decode speed is almost the same on my Ryzen 7950x (\~37 tokens/s), but the prefill speed is not yet optimized (almost the same as decode). This model can comfortably run on a machine with 16GB of RAM. Its memory usage will fit within \~7GB. You can reuse the weights between multiple Agent instances, each with their own KV cache. You can also clone Agent object instances if your agents have the same prompt so that you don't need to repeat the prefill work on the prompt.
查看原文
查看缓存全文

缓存时间: 2026/06/09 14:46

TL;DR: 我发布了一个纯 Rust、纯 CPU 的 LFM2.5-8B-A1B 模型实现(4-bit Q4KM 量化),解码速度约 37 tokens/s,内存占用 ~7GB,可嵌入应用并共享权重。 ## 项目动机 本地大语言模型越来越强,80 亿参数的模型能做的已经让人印象深刻。但 GPU 实在太贵了。CPU 服务器(VPS)月费只要几美元,而带 GPU 的云服务器贵得多。很多人想用旧机器或廉价 VPS 跑 LLM,做后端、自动化或实验。这个项目就是为这种场景设计的——一个纯 CPU 可运行的推理引擎,完全用 Rust 编写,依赖极少。 ## 实现细节 - **模型**:选用 LFM 2.5 8B 模型的 4-bit Q4KM 量化版(GGUF 格式)。 - **语言与硬件**:纯 Rust crate,零外部库,跨平台 SIMD 原语(Ryzen 上使用 AVX2,Apple M5 上使用 ARM NEON)。 - **部署**:下载权重文件后,通过环境变量或默认路径加载,直接链接到你的 Rust 应用中。 - **API 设计**:创建模型实例(存储权重),然后可以创建多个 `Agent` 对象共享权重。每个 Agent 拥有独立的聊天历史和 KV 缓存,适合同时处理不同任务。 ## 性能与优化 初期移植时只有 0.89 token/s。经过几轮优化——重写内核、加入并行、启用 SIMD——性能大幅提升: - 在 Ryzen 7950X 上(16 线程): - 预填充(prefill)约 38 tokens/s - 解码(decode)约 33 tokens/s - 与 llama.cpp(强制 CPU)对比:llama 的 prefill 更快,但 decode 速度接近。我的实现仍有优化空间,有望追平。 ## 使用示例 1. **聊天界面**:流式输出 token,支持显示思考模型的“思考 token”。 2. **简单测试**:让模型介绍蒙特利尔——结果基本准确,但问餐厅时有一次编造了不存在的餐馆(无联网能力)。 3. **工具调用**:模型针对工具使用训练,目前我在添加回调机制,让模型调用 Rust 函数。演示用 CSV 表格和 JSON 转换任务,模型表现良好。 ## 命令行与配置 提供基于 Builder 模式的 Agent 配置语法,以及命令行选项。支持限制思考长度、禁用思考(但不稳定)。可通过 `@` 语法嵌入文件内容。 ## 测试环境与兼容性 - 已测试:Ryzen 7950X(支持 AVX2)和 Apple M5(M1–M5 应都支持)。 - 理论可跑:任何支持 AVX2 的 Intel CPU,甚至树莓派 5/4(未测试,欢迎反馈)。 - 内存需求:约 7GB,可在 16GB RAM 机器上舒适运行。 ## 当前状态与未来计划 - 代码已开源:`github.com/maximcv/bb-lm` - 已发布为 cargo crate。 - 已添加工具调用回调、更多测试。 - 计划优化预填充速度,并与 llama.cpp 性能看齐。 - 后续会完善文档和示例。 ## 局限性 - 禁用思考后模型可能输出 `/think` 原文或跑偏。 - 目前预填充速度弱于 llama.cpp,但解码速度已接近。 - 无 GPU 加速,但 CPU 推理已可交互使用。 **Source**: [YouTube 视频 - maximecb](https://www.youtube.com/watch?v=whni8GW3xNM)

相似文章

@NFTCPS: 4GB显存跑70B大模型?这事儿真成了! AirLLM玩了个骚操作——分层推理,不一次性把模型怼进显存,而是一层层加载、算完就扔,硬生生把巨无霸塞进小破卡。 最骚的是:100%开源,白嫖警告 https://github.com/0xSo…

X AI KOLs Timeline

AirLLM 是一个完全开源的工具,通过分层推理技术(逐层加载并立即释放显存),使得 70B 大语言模型可在仅 4GB 显存的 GPU 上运行,无需量化、蒸馏或剪枝,并已支持 Llama3.1 405B 在 8GB 显存上运行。

全新LFM2.5 8b A1b模型!!

Reddit r/LocalLLaMA

介绍LFM2.5 8b A1b,一款性能与Nemotron 3 Nano相当但速度更快的新AI模型。SmallCode正在增加对非标准工具调用的支持。

LiquidAI/LFM2.5-8B-A1B-GGUF

Hugging Face Models Trending

LiquidAI 发布了其 LFM2.5-8B-A1B 模型的 GGUF 量化版本,并提供了在多个推理引擎上的使用说明。

@NFTCPS: 本地跑大模型的注意了! 有人把llama.cpp改造成了性能怪兽——BeeLlama.cpp,同样的显存,推理速度直接干到3倍,上下文容量扩展7.5倍,这不是PPT,是实测数据。 它把三个顶级优化方案塞进一个代码库: DFlash推测解码…

X AI KOLs Timeline

BeeLlama.cpp is a fork of llama.cpp that integrates DFlash speculative decoding, TurboQuant/TCQ KV-cache compression, and adaptive draft control, achieving up to 3x faster inference and 7.5x context expansion on the same hardware.