純RustでローカルLLM!Candle + BitNetで爆速推論

純RustでローカルLLM!Candle + BitNetで爆速推論

2026年1月9日

はじめに

「ローカルでLLM動かしたいけど、Ollamaだと別プロセス立てないといけないし、HTTPでやり取りするの面倒...」

そんな悩みを解決する方法を見つけました。HuggingFace Candle + BitNet という組み合わせなら、純Rust・HTTP不要・async不要でLLM推論ができるんです。

従来のローカルLLM構成の課題

Ollama方式の問題点

アーキテクチャ比較

従来のOllama方式では、以下のような課題がありました:

理想の構成

一方、Candle + BitNetを使えば:

HuggingFace Candleとは

概要

CandleはHuggingFaceが開発するRust製の軽量MLフレームワークです。

項目詳細
開発元HuggingFace
言語純Rust(FFI不要)
対応モデル130以上(LLaMA, Phi, Gemma, Mistral等)
量子化Q2K〜Q8K(GGML/GGUF形式)
バックエンドCPU, CUDA, Metal

なぜCandleを選ぶのか

  1. 純Rust: C++バインディング不要、ビルドが簡単
  2. 軽量: PyTorchのような巨大依存なし
  3. safetensors対応: HuggingFace Hubから直接読み込み
  4. SIMD最適化: AVX, NEON対応で高速

BitNet 1.58bitの革新

従来の量子化 vs BitNet

BitNet量子化の仕組み

従来の量子化(INT8等)では、重みを-128〜+127の256段階で表現し、整数乗算が必要でした。

しかし BitNet 1.58bit では、重みを{-1, 0, +1}の3値のみで表現します!

なぜ「乗算不要」なのか

重みが3値しかないため、乗算を以下のように単純化できます:

つまり、浮動小数点乗算(重い)→ 整数の加減算(軽い)に変換できるのです!

パフォーマンス

Bit-TTTの実績

指標数値
推論速度60,000 tokens/sec
使用ハードCPU only(GPU不要)
メモリ通常LLMの1/10以下

この驚異的な速度は、BitNetのternary量子化がSIMD命令と相性抜群だからです。

ユースケース

向いている用途

具体例:意図解析への応用

例えば、ユーザーの発言から主題を抽出する処理を考えてみましょう。

「青空文庫って知ってる?」という入力から「青空文庫」を主題として抽出したい場合、Candleを使えば同期的な関数呼び出しで実現できます。タイポがあっても、LLMの柔軟性で対応可能です。

まとめ

項目OllamaCandle + BitNet
プロセス別プロセスインプロセス
通信HTTP関数呼び出し
async必要不要
依存外部バイナリCargoのみ
速度1,000 tok/s60,000 tok/s

純Rust・HTTP不要・async不要でローカルLLM推論を実現!

Candle + BitNetの組み合わせは、Rustアプリケーションに機械学習を組み込む新しい選択肢として、非常に魅力的です。

参考リンク


※この記事はYui AIプロジェクトでの技術検討をもとに作成しました

前の記事
「知っている」と「知ったかぶり」の違い - マルチLLM合議による知識検証システム
次の記事
形態素解析の限界とLLMによる主題抽出