Devotd Github
新着推論・サービング

tildaslashalef/nuclis — キャッシュ済みプロンプトのエラー、ASRの繰り返し、minimal推論の追加

Zigで書かれ、Metalバックエンドを備えたローカルLLM推論エンジン nuclisの2026-11-01コミットは、完全にキャッシュされたプロンプトの500エラー、nemotron-asr-0.6bの単語繰り返し、そして新しいreasoning_effort 'minimal'をまとめて扱っている。

リポジトリ情報tildaslashalef/nuclis ↗

Zigで書かれ、Metalバックエンドを備えたローカルLLM推論エンジン nuclisの2026-11-01コミットは、完全にキャッシュされたプロンプトの500エラー、nemotron-asr-0.6bの単語繰り返し、そして新しいreasoning_effort 'minimal'をまとめて扱っている。

GitHub の説明: Local LLM inference engine in Zig with a Metal backend

スター
★ 1
フォーク
0
言語
Zig
ライセンス
MIT
最新リリース
v0.7.0
原文を見る ↗GitHub で見る ↗

tildaslashalef/nuclisはZigで書かれ、Metalバックエンドを備えたローカルLLM推論エンジンである。2026-11-01のコミット(177daa1c、https://github.com/tildaslashalef/nuclis/commit/177daa1cd71b1fd3c4e3271bf360839a5b101df7)は、単一のクライアントMuonが報告した3つの問題をまとめて扱っている。Muonは3つすべてを`0.12.0-dev+990ba6c`で確認したと記している。第1は、プロンプトがすべてキャッシュされたリクエストが`500 model_failed EmptyPrompt`で失敗していた問題である。Gemma 4では、ツール結果で終わるレンダリングに生成プロンプトが存在せず、キャッシュ終了マーカーがリクエスト全体を覆っていたため、同じリクエストを再送しても埋めるトークンが残っていなかった。現在`Completer`はマーカーの直前のトークンを保持し、セッションを1つ分巻き戻してから、そのトークンを入れ直してlogitsを取得する。巻き戻しができない場合(drafterがロードされ、前のトークンがわからない状態)では、セッションを初期化し、プロンプト全体をもう一度プリフィルする。

第2は、`nemotron-asr-0.6b`がlookahead 3で最終書き起こしの末尾に「plus」を10回繰り返した問題である。これはRNN-Tのgreedyループが、1つのエンコーダ行で同じ単語開始ピースを出し続けた結果だった。現在は、1つの行で単語開始ピースが連続して2回現れたらその行を終了する。この規則はピースがU+2581で始まる単語開始トークンにのみ適用し、単語内のピース繰り返しは許容する。CPUの`Decoder.decodeRow`とMetalの`Stream.decode`の両方に同時に取り込まれた。`scripts/api-check.py`には、同じリクエストを3回送信し、ユーザーメッセージで終わる場合とツールメッセージで終わる場合をそれぞれ確認する`check_again`が追加された。

第3に`reasoning_effort: "minimal"`が現れた。`low`と同じ方式でレンダリングされるが、思考予算の半分で閉じため、デフォルトの思考予算1,024トークン 기준으로512トークンで終わる。コミットに添付された計測値はMuonの実際の`tasks_add`リクエストによるもので、`gemma-4-26b-a4b`上で4種のプロンプトに4つずつシードを付け、`none`リクエストの直後に送った結果である。`low`は32回中31回がツール呼び出しか問い戻しで応答し、中央値は14〜20秒だった。`minimal`は512トークンで28/32と10秒、256トークンで20/32と5.5秒だった。256ではツール呼び出しの3分の1が消えたため、予算は512に設定された。

残る制約もコミットに 함께記載されている。`minimal`は32回中4回、約8分の1のツール呼び出しを依然として取り逃がす。Muonはその場合に`low`へ戻しており、`none`リクエスト直後の最初の`low`はシステムブロックが異なるため、キャッシュトークンを1つも再利用できない。このコストは記録されているだけで、まだ修正されていない。検査の結果、`make verify-auto`は通過したが、`make verify`は71件中56件のみ通過し、残り15件はこの端末に存在しないモデル(Muse、Bonsai、Saluki)のためスキップされた。ASR側も、60クリップの書き起こしはlookahead 0・3・6・13で変わらず、Metal WERは6.52・6.11・6.44・6.36%を維持した。CPU WERゲートは8.13%で、11%の上限内だった。単一のクライアントの実運用報告に絞った修正であるため、残る品質差は別途待つ必要がある。