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-core crate 提供干净的 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。

📚 底层工作原理

  1. 模型加载 – crane-core 读取 GGUF 头部,检测架构(例如 qwen3_5),并以适当的 dtype/device 构建 Candle VarBuilder。
  2. 后端选择 – 运行时选择设备(cpu、cuda、metal、rocm);相同的 Rust 代码分派到对应的 Candle 内核。
  3. 生成循环 – 使用 Candle 的 ModelForCausalLM trait;TextStreamer 将 token 流式返回给客户端。
  4. 服务器层 – crane-serve 将生成逻辑包装在异步 HTTP 服务器中,提供 OpenAI 兼容的端点。

🛣️ 路线图 / 未来计划

  • 更多多模态模型(VLA、高级视觉语言管道)。
  • 在 ROCm 上完整支持 MoE。
  • 更好的内存高效注意力内核(flash 风格),以移除分数矩阵。
  • 扩展模型转换和量化的工具。

以上所有信息直接取自存储库的 README;未添加任何外部假设。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目