lucasjinreal/Crane
A Pure Rust based LLM, VLM, VLA, TTS, OCR Inference Engine, powering by Candle & Rust. Alternate to your llama.cpp but much more simpler and cleaner..
🚀 什么是 Crane?
Crane(Candle‑based Rust Accelerated Neural Engine)是一个用 Rust 编写的开源推理框架,构建在 Candle 机器学习库之上。其目标是让大型语言模型(LLM)和多模态模型的推理在各种硬件上快速、可移植且易于使用——包括 CPU、NVIDIA CUDA、Apple Metal,甚至 AMD ROCm。
核心概念
| 概念 | 含义 |
|---|---|
| Rust + Candle | Rust 提供安全性和单一二进制部署模型;Candle 提供类似 PyTorch 的 API 以及用 Rust/CUDA/Metal 编写的优化内核。 |
| GGUF 优先 | 模型直接从 GGUF 格式加载(与 llama.cpp 使用的格式相同)。无需额外的转换步骤。 |
| 硬件无关的后端 | 运行时,同一模型可在 CPU、CUDA、Metal(macOS)或 ROCm(AMD)上运行,无需更改代码。 |
| OpenAI 兼容服务器 | crane‑serve 实现了 OpenAI 的 chat/completions API(以及 SGLang),因此现有的客户端代码可直接使用。 |
| 开箱即用的 AI 能力 | 除了纯文本生成外,它还提供 OCR、语音转文本(ASR)、文本转语音(TTS)、音乐转录和视觉语言任务的现成管道。 |
你可以用它做什么
- 在普通硬件上运行大型模型 – 例如,27 B Bonsai 三元模型仅需 16 GB RAM,可在 CPU 或单个 GPU 上运行。
- 通过 API 提供模型服务 – 启动
crane‑serve并调用/v1/chat/completions、/v1/audio/speech等。 - 编写你自己的 Rust 应用程序 –
crane-corecrate 提供干净的 Rust API(ModelForCausalLM、GenerationConfig、tokenizer 等),让你可以将推理嵌入任何 Rust 二进制文件中。 - 实验量化 –
--quant q4_0及类似标志在加载时执行 in‑situ 量化,减少 VRAM/RAM 使用量。
📦 支持的模型(截至 README)
- Bonsai 2 Ternary 27B – 原生 Prism PTQ1_0 / PQ2_0 GGUF,支持 CPU 和 CUDA。
- Qwen 3.8‑Flash‑Next(177 B MoE)– 通过 SYCL 在 Intel Arc GPU 上运行。
- Qwen 3.5 / 3.6 / 3.8(各种尺寸,密集和视觉语言变体)。
- Ornith‑1.0‑9B – 工具调用代理。
- Gemma 4、Hunyuan Dense、Moonshine ASR、Silero VAD、Qwen3‑TTS、Voxtral‑4B‑TTS、KugelAudio、MuScriptor(音乐转录)、PaddleOCR‑VL 等。
- 更多模型列为“即将推出”。
🛠️ 快速入门(快速开始)
# 克隆并安装
git clone https://github.com/lucasjinreal/Crane
./install.sh
# 运行服务器(以 Bonsai 三元模型为例)
./target/release/crane-serve \
--model-path checkpoints/Ternary-Bonsai-2-27B-gguf/Ternary-Bonsai-2-27B-PTQ1_0.gguf \
--ui
UI 会在浏览器中打开,让你可以聊天、运行 OCR、ASR 等,无需编写代码。
运行简单的 Rust 程序
README 包含一个最小示例,加载 Qwen2.5‑0.5B‑Instruct 并以纯 Rust 生成响应——仅需几十行代码。
⚡ 性能亮点(来自变更日志)
| 硬件 | 模型 | 速度 vs. PyTorch / llama.cpp |
|---|---|---|
| Apple M1/M2/M3(CPU) | Qwen3‑VL 2B | 比原生 PyTorch 快约 50 倍 |
| NVIDIA RTX 3090(CUDA) | Qwen 3.5‑2B‑Q8_0 | 比 llama.cpp 快 3 倍(内核融合后) |
| AMD RX 7800 XT(ROCm) | Qwen 3.5‑2B‑Q8_0 | 比 CPU 快 5–7 倍,缩小与 CUDA 的差距 |
| Intel Arc Pro B70(SYCL) | Qwen 3.8‑Flash‑Next | 在单个 32 GB GPU 上运行 |
关键优化包括:
- 内核融合(归一化、GDN 递归、top‑k 采样)。
- In‑situ 量化,避免将全精度权重加载到 GPU 内存。
- 减少内核启动开销 – 每个 token 的提交时间从约 22 ms 降至约 7 ms。
📚 底层工作原理
- 模型加载 –
crane-core读取 GGUF 头部,检测架构(例如qwen3_5),并以适当的 dtype/device 构建 CandleVarBuilder。 - 后端选择 – 运行时选择设备(
cpu、cuda、metal、rocm);相同的 Rust 代码分派到对应的 Candle 内核。 - 生成循环 – 使用 Candle 的
ModelForCausalLMtrait;TextStreamer将 token 流式返回给客户端。 - 服务器层 –
crane-serve将生成逻辑包装在异步 HTTP 服务器中,提供 OpenAI 兼容的端点。
🛣️ 路线图 / 未来计划
- 更多多模态模型(VLA、高级视觉语言管道)。
- 在 ROCm 上完整支持 MoE。
- 更好的内存高效注意力内核(flash 风格),以移除分数矩阵。
- 扩展模型转换和量化的工具。
以上所有信息直接取自存储库的 README;未添加任何外部假设。
相关
- 项目
- 项目
- 项目
- 项目
- 项目