🐶 らぼまるの速報チェック!
「Perplexityが突如オープンソース化した『Lily』は、汎用性を完全に捨て去ることでApple Silicon上のローカルLLM推論速度を極限まで引き上げた尖鋭的なRust+Metalエンジンです!Qwen3.6-35B-A3Bモデル専用に手書きされたMetalカーネルが、Macの統合メモリ帯域を限界まで使い倒します。ローカル開発の常識を変える極限最適化のアプローチを解説します🐶⚡」
- 🏢 開発元: Perplexity AI
- 🧠 対象モデル / 規模: Qwen3.6-35B-A3B (総35B / MoE アクティブ約3B)
- 💻 動作要件: Apple Silicon Mac (macOS 15+, メモリ最小24GB / 推奨32GB以上)
- 📜 ライセンス: Apache License 2.0 (オープンソース・商用利用可)
- 💰 利用料金: 完全無料 $0 (クラウドGPU不要で運用コストゼロ)
- ⚡ コア性能: Fused GEMMでPrefill速度+77.4% / GPU内ルーティングで+89%
要点サマリー(結論)と実務インパクト
Perplexity AIが公開した「Lily」は、Apple Silicon環境におけるローカルLLM推論の性能限界を更新する極小・極速の推論エンジンです。標準的なPyTorchやMLXといった既存フレームワークへの依存を一切排除し、Rust言語による超軽量ランタイムと手書きMetalカーネルのみで構築されています。
ターゲットを最新のMoE(Mixture-of-Experts)モデルである「Qwen3.6-35B-A3B」(総パラメータ35B、アクティブ約3B)単一に絞り込むことで、従来の汎用LLMランタイムが抱えていた抽象化のオーバーヘッドを完全に削ぎ落としました。70GB(bfloat16)のモデル重みを4-bit Groupwise Affine量子化により19.4GBまで圧縮し、32GB統合メモリを搭載した標準的なMac StudioやMac mini(M4)単体での完全ローカル高速動作を実現します。
これにより、従来クラウドGPU(H100/A100等)のAPI呼び出しに依存していたエンタープライズのコード解析やインサイト抽出タスクを、API利用料(1 USD = 約156.2 JPY換算での月額数十万円規模のコスト)およびネットワークレイテンシを完全にゼロ化してローカル完結させることが可能となります。
制約と前提の解体(落とし穴と現実の検証)
技術的プロトタイプとしての完成度は極めて高いものの、実務導入においては以下の冷徹な制約を受け入れる必要があります。
- 単一モデル専用設計による汎用性の皆無 LilyはQwen3.6-35B-A3Bのアーキテクチャ(GQA 10層 + Gated DeltaNet 30層、256エキスパート中8選択+1共有)のデータレイアウトにハードコードされた専用エンジンです。Llama 3やDeepSeek、あるいは他のQwenバリアントをロードすることは一切できません。
- 生成サンプリングパラメータの固定
現行の実装では貪欲法(Greedy generation)による単一トークン生成のみをサポートしています。
temperatureやtop_pなどのサンプリングパラメータの変更、マルチ candidate のビームサーチなどは行えません。 - 最小限のAPI実装
提供されるインターフェースはシンプルなCLIと、最小限のOpenAI互換HTTP APIスロット(
/v1/chat/completionsの限定的実装)のみです。複雑な関数呼び出し(Function Calling)のパースや構造化出力のバリデーションは上位アプリケーション側で実装する必要があります。
挙動とワークフローの差異(他モデルとの動作・安全性比較)
従来のOllamaやMLXを用いた推論パイプラインでは、CPUとGPUの間でトークンIDやコンテキスト状態の同期が発生し、これが小規模バッチ処理におけるボトルネックとなっていました。
Lilyはこのボトルネックを打破するため、CPU-GPU間同期を徹底的に排除したパイプラインを採用しています。GPU上でサンプリング(Greedy選択)されたトークンは、CPU側へ戻されることなく直接GPUメモリ上の次入力スロットへ書き込まれます。
| 評価軸 | 汎用フレームワーク (Ollama / MLX) | Lily (Rust + Metal特化) |
|---|---|---|
| 対応モデル | 任意(GGUF / MLXフォーマット全般) | Qwen3.6-35B-A3B 専用 |
| CPU-GPU同期 | トークン生成ごとに同期処理が発生 | 完全GPU内完結 (同期オーバーヘッドゼロ) |
| メモリ割り当て | 動的アロケーション中心 | 起動時静的固定アロケーション |
| サンプリング | Temperature, Top-P, Repetition Penalty対応 | Greedy(貪欲法)固定 |
| 安全マージン | 汎用ガードレールおよび制御オプション | 呼び出し元アプリ依存 |
環境構築と最小実行コード(実装とクイックスタート)
動作要件
- OS: macOS 15.0 Sequoia 以上
- ハードウェア: Apple Silicon (M1/M2/M3/M4) 搭載Mac
- 統合メモリ: 最小24GB(推奨32GB以上)
- 依存ツール: Rust (
cargo), Xcode Command Line Tools (Metalコンパイラ)
ビルドと実行手順
手元に大容量メモリ搭載Macがない場合や事前検証を行いたい場合は、RunPod(従量課金 $0.2/h〜) などのクラウドGPU環境で比較用のベースラインデータを取得することも可能ですが、本ツール自体の真価はMacローカル環境で発揮されます。
# リポジトリのクローン
git clone https://github.com/perplexityai/pplx-garden
cd pplx-garden/lily
# リリースビルドの実行(Metalカーネルの最適化コンパイルが走ります)
cargo build --release
# 4-bit量子化ウェイトのダウンロードおよびサーバー起動
./target/release/lily --model-path ./qwen3.6-35b-a3b-q4.bin --port 8000
クイックスタート(Python経由の呼び出し)
サーバー起動後、標準のOpenAIクライアントライブラリからエンドポイントを叩くことができます。
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:8000/v1",
api_key="not-needed"
)
response = client.chat.completions.create(
model="qwen3.6-35b-a3b",
messages=[
{"role": "system", "content": "あなたは優秀なRustエンジニアです。"},
{"role": "user", "content": "Metal APIを用いた並列スキャンアルゴリズムの要点を簡潔に解説してください。"}
],
stream=True
)
for chunk in response:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
主要競合との比較マトリクス(費用対効果・ベンチマーク比較: 2026年09月05日時点)
Apple Silicon上でQwen3.6-35B級モデルを動作させる場合の各手法のパフォーマンス比較です。
| 比較項目 | Ollama (v0.5+ / GGUF Q4_K_M) | MLX Engine (Q4) | Lily (Rust+Metal特化) |
|---|---|---|---|
| Prefill速度 (512tks) | 約 120 tks/sec | 約 185 tks/sec | 約 328 tks/sec (+77%↑) |
| Decode速度 | 約 28 tks/sec | 約 35 tks/sec | 約 42 tks/sec |
| MoEルーティング遅延 | 高(CPU介入あり) | 中(Metal Graph) | 極小(GPU内直接完結) |
| VRAM / メモリ使用量 | 約 22.5 GB | 約 20.8 GB | 19.4 GB |
| 月額コスト (100万tks) | $0 (ローカル) | $0 (ローカル) | $0 (ローカル) |
| モデル柔軟性 | 非常に高い(何でも動く) | 高い(MLX変換モデル) | 皆無(Qwen3.6-35B専用) |
| 競合が勝る点 | 設定容易性・多種モデル対応 | Pythonエコシステムとの親和性 | 圧倒的な低レイテンシとPrefill速度 |
※2026年09月05日時点の各社公式ドキュメントおよび現行API価格(1 USD = 約156.2円換算)に基づく比較
現場の実践Tips・コミュニティ知見(裏設定・最適化フラグ・回避策)
- スレッドグループメモリを活用した4-bit復元ハック Lilyの真骨頂は、Grouped GEMM計算において4-bit重みの展開(Dequantization)をUnified Memory上で行わず、Metalのスレッドグループメモリ(高速なオンチップSRAM)上のみでオンザフライ展開し、FP32でアキュムレートする点です。これにより、展開後の重みデータがメインメモリを圧迫して帯域を飽和させる現象を完全に防いでいます。
- レジスタ常駐型 Gated DeltaNet スキャン Qwen3.6で導入されたGated DeltaNet層(30層分)の線形アテンションスキャン処理において、状態変数をGPUレジスタ内に常駐させることで、2Kコンテキスト時においてさらに+5.6%のレイテンシ削減を達成しています。
採用判断チェックリスト(導入すべきケース vs 見送るべきケース)
✅ 今すぐ採用すべきケース
- M2/M3/M4 Pro/Max/Ultra搭載のMac(メモリ32GB以上)を所有しており、ローカルで最高速のコード補完・文書解析環境を作りたい場合。
- 社内セキュリティ規定により、外部クラウド(OpenAIやAnthropic)へのデータ送信が一切禁止されている厳格なプライベート環境。
- 決定論的で高速なレスポンスが求められるローカルエージェントの自動化パイプラインのバックエンド。
❌ 見送るべきケース
- Llama 3.3やClaude 3.5 Sonnetなど、複数の異なるモデルを柔軟に切り替えて検証したいユーザー(OllamaやLM Studioを選択すべき)。
- クリエイティブな文章生成や多様な応答を期待し、サンプリングパラメータ(Temperature等)を調整したいユースケース。
- 利用可能なMacの統合メモリが16GB以下である場合(19.4GBのモデルフットプリントでOOMが発生します)。
よくある質問(FAQ)
Q1: 他のモデル(LlamaやDeepSeekなど)をLilyで動かすことはできますか?
A: いいえ、現状は不可能です。Lilyは汎用LLM推論エンジンではなく、Qwen3.6-35B-A3Bのネットワーク構造と量子化方式に特化してMetalカーネルが手書きされた専用エンジンです。
Q2: 16GBメモリのMacBook Airでも動作しますか?
A: 動作しません。4-bit量子化状態でもモデルウェイトのみで19.4GBを消費するため、OSやKVキャッシュの領域を含めると最低でも24GB、安定した運用のために32GB以上の統合メモリが必要です。
Q3: 商用利用やプロダクション環境での組み込みは可能ですか?
A: ライセンス上はApache License 2.0のため商用利用・改変・再配布が可能です。ただし、機能がGreedy生成に限定されている点やエラーハンドリングの範囲を見極めた上で、組み込みアーキテクチャを設計する必要があります。


