
Voicebox に Jetson 8GB の Bonsai 27B を繋いだ話 — OpenAI互換APIをRustで全部書いた理由The author ran Bonsai 27B on a Jetson with 8 GB RAM and built a full…
匿名の公開いいねです。記事の保存・お気に入りではなく、Featured、Top 3、重要度、掲載順位には影響しません。仕組みとプライバシーAnonymous public likes are reactions, not saved articles or bookmarks. They do not affect Featured, Top 3, importance, or listing order.How it works and privacy
8GBメモリのJetson上でBonsai 27Bを動かし、VoiceboxからOpenAI互換APIで呼び出せるよう、RustでAPIサーバーをゼロから実装した経緯と技術的な選択理由を解説している。
The author ran Bonsai 27B on a Jetson with 8 GB RAM and built a full OpenAI-compatible API server in Rust to connect it to Voicebox, explaining why Rust was chosen over existing solutions.
本ページの本文と要約は AI による自動生成です。日本語版と英語版は言語ごとに独立して生成されるため、表現や詳しさが異なる場合があります。正確性は元記事 (zenn.dev) をご確認ください。The body and summaries are AI-generated independently for each language, so wording and detail may differ. Verify accuracy at the original source (zenn.dev).
要約と収集メタデータに基づく AI 解説。元記事全文の転載・翻訳ではありません。AI explainer based on the summaries and collected metadata, not a copy or translation of the full source article.
Voicebox接続
8GBメモリのJetson Orin NanoでBonsai 27Bを稼働させ、MacのAI音声スタジオVoiceboxから呼び出す構成が実現された。接続にはOpenAI互換のSSE APIを用い、Tailscale VPNを経由して実測している。
Voicebox側には、OpenAI互換APIとSSEへの対応をForkで実装。本家にはPR #947と#948を提出しており、執筆時点ではOPENとなっている。
全stack自作
推論基盤には、Pure RustのLLM推論エンジンであるALICE-LLMを一から実装した。ライセンスはAGPL-3.0+で、GGUFパーサー、GPU用のwgpuカーネル、OpenAI互換のSSEストリーミングサーバーまでを自作している。
llama.cppやOllamaなどは高速で安定し、巨大なコミュニティを持つ一方、今回の設計目標には合致しなかったと説明されている。特に必要だったのは、DeltaNet層をCPU、Attention層をGPUで処理するといった、エッジ向け8GB SBCでのper-layerハイブリッド推論を細かく制御することだった。
極限量子化
Bonsai 27Bを8GB環境で扱うため、Ternary/Q1_0による極限量子化を採用した。加えて、JetsonのVulkanで発生する2× dupの回避や、M1 ProのCPUで物理限界の45%の帯域幅へ到達することも課題となった。
これらを成立させるには、全stackのメモリ所有権をRustで完全に握る必要があったという。既存ツールが存在していても、エッジ固有の制約下で細粒度の制御と究極の最適化を目指す場合には、車輪の再発明にも合理性があるという結論が示されている。
Voicebox and Jetson
The author describes running Bonsai 27B on a Jetson Orin Nano with 8 GB of memory and connecting it to the Mac AI voice studio Voicebox. The project matters because meeting the memory and optimization constraints required control that the author could not obtain from existing standard tools.
In the reported test, Voicebox called the model through an OpenAI-compatible server-sent events API over a Tailscale VPN. OpenAI-compatible API and SSE support on the Voicebox side was implemented in a fork. The author submitted the changes upstream as pull requests #947 and #948, both of which were open at the time of writing.
Why the Full Stack
The author considered established local LLM software, including llama.cpp, Ollama, vLLM, and text-generation-inference. Although the article describes these options as fast, stable, and supported by large communities, they did not match the project’s design goals.
The central requirement was fine-grained control over per-layer hybrid inference on an edge device with 8 GB of memory. The desired configuration included assigning DeltaNet layers to the CPU while running Attention layers on the GPU. According to the author, llama.cpp and Ollama could not provide that degree of control.
Pure Rust Inference Engine
The resulting system, ALICE-LLM, is a pure Rust LLM inference engine released under AGPL-3.0+ on GitHub. The author built the stack from scratch, including the GGUF parser, GPU kernels using wgpu, and the OpenAI-compatible SSE streaming server.
This approach gave the author complete control over how memory was owned and managed across the stack, rather than placing the API server on top of an existing inference engine.
Extreme Quantization and Optimization
The implementation combined Bonsai 27B’s Ternary/Q1_0 extreme quantization with work to avoid two Vulkan duplication operations on the Jetson. The article also reports reaching 45% of the M1 Pro CPU’s physical bandwidth limit.
The author presents these constraints as the reason complete memory ownership in Rust was necessary. The broader lesson is narrowly framed: even when mature tools already exist, rebuilding core components can be rational when edge constraints and extreme optimization require controls that those tools do not expose.
ポコとTECHガイドPoko & TECH Guide
ポコと当サイトのTECHガイドが、記事の要約と収集した情報から読みどころを語るAI生成の対話です。Poko and TECH Dashboard's own TECH Guide discuss the article's highlights in an AI-generated conversation based on its summary and collected source details.
- ポコPokoBonsai 27Bがメモリ8GBのJetsonで動いたって、数字の差がすごそう!これって大きいこと?Bonsai 27B ran on a Jetson with just 8 GB of memory? That sounds like a huge mismatch. Is this a big deal?
- TECHガイドTECH Guideこの記事では、Ternary/Q1_0の極限量子化などで実現した例じゃ。8GBという制約の中で全体を作り込んだ点が大きいのう。The article credits extreme Ternary/Q1_0 quantization and other optimizations. What stands out is how the entire stack was tailored around that tight 8 GB limit.
- ポコPoko「レイヤーごとのハイブリッド推論」って何?CPUとGPUを両方使うって、つまりどういうこと?What is “per-layer hybrid inference”? If it uses both the CPU and GPU, how does that actually work?
- TECHガイドTECH Guide層ごとに担当を分ける仕組みじゃ。本文ではDeltaNet層をCPU、Attention層をGPUに任せるような細かな制御を指しておる。It means assigning different model layers to different processors. Here, that refers to fine-grained control such as running DeltaNet layers on the CPU and Attention layers on the GPU.
- ポコPoko僕ならVoiceboxからJetsonのBonsai 27Bを呼んで、手元のAI音声スタジオとして使ってみたいな!I’d love to call Bonsai 27B on the Jetson from Voicebox and try it as my own AI voice studio!
- TECHガイドTECH Guide実例ではOpenAI互換SSE APIとTailscale VPN経由じゃ。Voicebox側の対応はForkで実装され、PRは執筆時点で未統合じゃよ。In this setup, it worked through an OpenAI-compatible SSE API over Tailscale VPN. Voicebox support came from a fork, and its pull requests were still open when the piece was written.
