Crane:类似llama.cpp实现本地运行模型

banq


基于纯 Rust 的 LLM 推理引擎,由 Candle 框架提供支持。

Crane 专注于利用 candle 框架中内核的强大功能来加速 LLM 推理速度,同时减少开发开销,使其在 CPU 和 GPU 上都具有可移植性和快速运行模型。

背景:
很长一段时间以来,每当我想在本地运行 LLM 时,唯一的选择就是 llama.cpp 或其他具有神奇优化的工具。然而,llama.cpp 并不总是容易设置,尤其是当涉及到新模型和新架构时。如果没有社区的帮助,你很难将新模型转换为 GGUF。即使你可以,让它在 llama.cpp 中工作仍然非常困难。

现在,我们可以采用另一种方式在本地以最大速度推断 LLM。而且它是纯 Rust!不需要 C++。

使用 pyo3,您仍然可以使用 python 调用它,但 Rust 足够简单,对吧?

我做了一个和 llama.cpp chat cli 一样的最小示例,基于 Candle 框架,比使用 pytorch 快 6 倍。看看吧:
https://github.com/lucasjinreal/Crane
接下来我将添加 Spark-TTS 和Orpheus-TTS支持,如果您对 Rust 和快速推理感兴趣,请加入并一起开发 Rust!

为什么选择 Crane?
尽管传统方法面临局限性:

  • PyTorch 的推理性能不佳
  • llama.cpp 的复杂 C++ 代码库和模型集成

Crane 通过以下方式弥补了这一差距:
  1. Candle 框架:将 Rust 的效率与类似 PyTorch 的人体工程学相结合
  2. 跨平台加速:Metal GPU 支持比仅使用 CPU 实现 3-5 倍加速
  3. 简化部署:在大多数情况下,添加新模型的行数少于 100 行

对于 macOS 开发人员来说,Crane 提供与 llama.cpp 相当的性能,但维护开销却明显较低。您可以直接使用它,无需任何 GGUF 转换或安装 llama.cpp 等操作。

特点
Crane() -基于C andle 的Rust加速神经引擎一种高性能推理框架,利用 Rust 的 Candle 在 CPU/GPU 上实现最大速度。
支持的型号:

  • ️ TTS 系统:Spark-TTS | Orpheus-TTS(正在开发中)
  • 基础模型:Qwen2.5 系列 (Base/VL)、基础 LLM
  • 多模式模型:Namo-R1、Qwen2.5-VL

主要优势:
  • 极快的推理:通过 Candle 优化的内核,其表现优于原生 PyTorch;
  •  Rust-Powered:消除 C++ 复杂性,同时保持本机性能;
  • 针对 Apple Silicon 优化:在 macOS 设备上通过 Metal 实现 GPU 加速;
  • 与硬件无关:CPU/CUDA/Metal 执行的统一代码库;

使用方法
使用时crane请注意以下几点:

  • crane-core:所有模型都进入核心,这是一个库;
  • crane:所有应用程序(可运行的 AI 管道,例如 Qwen2-Chat、Spark-TTS、Qwen2.5-VL 等),您可以在其中构建您的应用程序,每个应用程序都是一个二进制文件,用于演示目的;
  • crane-oai:OpenAI API 服务器,以 OpenAI 格式提供各种服务;

  1. 确保安装了最新的 Rust;
  2. 建造:cargo run --bin llmbench --release cargo run --bin qwenchat --release

就是这样!

现在您可以极快地运行 LLM(比 M1 上的 vanilla transformer 快约 6 倍)!