Strata v0.1.38リリース: セキュリティ強化、Q4_0カーネル、旧世代GPU最適化
目次
Strataは、Niko1221 (@coldniko) によって開発された、Qwen3.8-Flash-Next (125B MoE) を 8GB 以上の NVIDIA GPU とシステム RAM で動かすためのローカル推論エンジンです。OpenAI/Anthropic 互換 API を提供し、MIT ライセンスで公開されています。
今回の要点
- v0.1.38 リリース: セキュリティ強化(DNSリバインド対策)と、新しい量子化形式 Q4_0 カーネルのサポート、そしてコミュニティからの多数のPR統合。
- AMD GPU 対応の拡大と課題: gfx1100/1201/906 などの新アーキテクチャ対応が進む一方で、RDNA2/3 環境におけるハングやタイムアウト不具合の報告が相次いでいる。
- Volta/Turing 向け最適化: 旧世代 GPU でも BF16 演算を FP16 テンソルコア経由で実行する実験的ビルドにより、プロンプト処理速度の向上が期待できる。
- 推論高速化とVRAM管理: 専門家キャッシュの解放、QSA選択最適化、CPUアフィニティ維持など、パフォーマンスと安定性を改善する技術的改善点が多数取り込まれた。
- API互換性と安定性: Responses API の実験的サポート、セッション保存機能の提案、エラーハンドリングの改善により、既存クライアントとの互換性が向上。
Strata v0.1.38 リリース: セキュリティ修正、Q4_0カーネル、コミュニティPR統合
v0.1.37 からの主要アップデートとして、セキュリティ強化と新量子化対応が実施されました。
セキュリティ強化: DNSリバインド対策とAPIキー
APIキーを設定しない場合、サーバーは DNSリバインドやクロスサイトリクエストに対して脆弱でした。v0.1.38 では、`localhost`、IPアドレス、またはサーバーがリスニングしているアドレスへのリクエストのみを受け付けるようになり、他のサイトからのブラウザページによるリクエストは `403` エラーで拒否されます。また、`/unload` や `/load` コマンドは JSON 形式のみを受け付けるよう変更されました。リバースプロキシやトンネル、Docker 環境で APIキーを使用しない場合、`strata-
プロンプト処理の高速化
プロンプトパスの最適化により、RTX 5070 12 GB 環境で Q2_0 量子化の場合、4K コンテキストで +10%、32K で +2.7%、128K で +3.0% の速度向上が測定されました。IQ2_XS 量子化では 32K で +1.9%、128K で +6.4% の向上が確認されています。
利用者の報告
v0.1.38 のリリースノートには、具体的なユーザーによるベンチマーク結果や環境報告は含まれていません。ただし、コミュニティからの多数の PR が統合されており、開発が活発に進められていることが示されています。
AMD GPUサポート拡大: gfx1100/1201/906対応とRDNA2/3不具合報告
AMD GPU へのサポートが拡大する一方で、新アーキテクチャや既存 GPU での不具合報告が相次いでいます。
新アーキテクチャ対応
gfx1100 (RX 7900 XTX)、gfx1200 (RX 9060 XT)、gfx1201 (RX 9070 XT)、gfx906 (Instinct MI50/MI60/Radeon VII) などの新アーキテクチャに対応する PR や報告が提出されています。特に gfx906 については、2枚の MI50 を使用した環境で 57-59 tok/s の推論速度が報告され、llama.cpp と比較して約2倍の速度が実現されています。
不具合報告
一方で、gfx1100 (RX 7900 XTX) 環境では、デコード速度が約 0.76 tok/s と非常に遅いという報告があります。GPU は 100% 稼働していますが、性能が十分に発揮できていない状態です。また、gfx1201 (RX 9070 XT) では、バッチ処理されたプロンプトの読み込み中にハングが発生し、60秒のウォッチドッグによってエンジンが再起動するという報告があります。gfx1030 (RX 6950 XT) では、特定のレイヤーでタイムアウトが発生する intermittent な問題も報告されています。
利用者の報告
利用者の報告
ibrokers77882 氏は、Ubuntu 26.04 LTS、Ryzen 9 7900X、RX 7900 XTX 24 GB (gfx1100) の環境で、Strata v0.1.34 を使用してベンチマークを実施しました。IQ3_S 量子化、`--expert-cache auto --prefill auto --spec 4 --spec-min-p 0.5 --kv int8 --kv-resident 32768 --max-context 131072 --pcie-frac 0 --mmap-experts --resident-cpu-experts` の設定で、58トークンのプロンプトのプレフィルに約 50 秒、デコード速度は 0.76 tok/s でした。GPU は 100% 稼働し、240-390 W の電力を消費していましたが、ドキュメントに記載されている約 55 tok/s と比較して約 70 倍遅い結果となりました。詳細は Issue #590 を参照してください。
JeanP00l 氏は、2枚の AMD Instinct MI50 16 GB (gfx906, wave64) を使用して、Strata をコーディングエージェントのバックエンドとして運用しています。Coder IQ1_M、128K コンテキスト、レイヤースプリット構成で、17K トークンのエージェントプロンプトに対して 57-59 tok/s のデコード速度が実現されました。同じモデルとマシンで llama.cpp を使用した場合の 26.9 tok/s と比較して、約 2 倍の速度です。詳細は Issue #641 を参照してください。
remielowik 氏は、AMD Radeon RX 9060 XT (16 GB, gfx1200) で Strata を起動しようとした際、`RuntimeError Exception Code: 0xC0000005` が発生し、起動に失敗したと報告しています。Niko1221 氏からは、`--resident-experts` オプションが Windows 上の AMD カードで未検証であるため、`SETUP.bat --low-ram mmap` を試すよう提案されています。詳細は Issue #654 を参照してください。
zimuhuan-code 氏は、2枚の NVIDIA RTX 3060 12 GB (24 GB 合計 VRAM) を使用して、Q2_0 と IQ3_S のベンチマークを実施しました。Q2_0 は 1015 トークンを 22.6 秒で処理し、IQ3_S は 3回のランの中央値と範囲が報告されています。詳細は Issue #602 を参照してください。
API互換性と安定性: Responses API、セッション保存、エラーハンドリング改善
既存クライアントとの互換性向上と、サーバー側の堅牢性強化が図られました。
Responses API の実験的サポート
Codex などのクライアント向けに、実験的なステートレス `POST /v1/responses` アダプターが追加されました。テキスト、推論、関数呼び出し、クライアント所有のツール結果が既存の Strata サービスを通過し、最終的な JSON とタイプ付き SSE が生成されます。詳細は PR #630 を参照してください。
セッション保存機能の提案
maverde73 氏により、会話をディスクに保存・復元する機能の提案がなされました。`POST /slots/0?action=save` と `POST /slots/0?action=restore` により、エンジン再起動後も会話を復元できます。RTX 4070 Ti 環境で、63K トークンのプロンプトを再読み込みするのに約 26 秒かかるのに対し、保存された状態の復元には 0.97 秒しかかかりませんでした。詳細は Issue #661 を参照してください。
エラーハンドリングの改善
malformed な `tools` 値による接続閉鎖の問題が修正されました。以前は、`"tools": "auto"` や `[\"get_weather\"]` などの不正な形式が送信されると、接続が閉鎖され `502` エラーが発生していましたが、現在はフィールド名を指定した `400` エラーが返されるようになりました。詳細は PR #635 を参照してください。
利用者の報告
maverde73 氏は、RTX 4070 Ti 環境でセッション保存機能のベンチマークを実施しました。63K トークンのプロンプトを再読み込みするのに約 26 秒かかるのに対し、保存された状態の復元には 0.97 秒しかかかりませんでした。また、次の 32 トークンのターンには 1.14 秒かかりました。エンジン起動自体には約 70-95 秒かかるため、長い会話では有用な機能です。詳細は Issue #661 を参照してください。
j-luwierski 氏は、`--prefill-preempt` オプションによるプレフィルの協調的プリエンプションの提案を行いました。50K トークンのプレフィル中に短いインタラクティブリクエストを送信すると、最大 40.5 秒のキュー待機が発生していましたが、このオプションにより、長いリクエストが完了したチャンク境界で一時停止し、短いリクエストを即座に実行できるようになります。詳細は PR #656 を参照してください。
Volta/Turing向け最適化: BF16演算のFP16テンスコア利用とQSAカーネル
旧世代 NVIDIA GPU でもプロンプト処理速度を向上させる実験的ビルドが提供されています。
BF16 演算の FP16 テンソルコア利用
Turing (sm_75) や Volta (sm_70) は BF16 テンソルコアを持たないため、BF16 演算は SIMT fp32 カーネルにフォールバックしていました。v0.1.38 では、sm_75 環境で BF16 演算を FP16 テンソルコア経由で実行する最適化が追加されました。RTX 2080 Ti 環境では、4K プロンプトのプレフィル速度が 15-18% 向上しました。詳細は PR #655 を参照してください。
QSA カーネルの最適化
レジスタカーネルの範囲を超える QSA 選択に対して、1,024 スレッドの新しいカーネルが追加されました。RTX 3060 環境で 243K トークンのプロンプトの場合、26% の速度向上が測定されました。詳細は PR #603 を参照してください。
利用者の報告
rafatxf 氏は、RTX 2080 Ti 環境で BF16 演算の FP16 テンソルコア利用による最適化を実施しました。4K プロンプトのプレフィル速度が 15-18% 向上し、GPU カーネル時間が 9.18 秒から 6.73 秒に短縮されました。詳細は PR #655 を参照してください。
sskver 氏は、Tesla V100 32GB (sm_70) で実験的 sm_70 ビルドを実行し、BF16 GEMMs の最適化を実施しました。V100 環境でプロンプト処理時間の約 10% を占めていた `magma_sgemmEx` が、FP16 テンソルコア経由で実行されるようになりました。詳細は PR #540 を参照してください。
fks 氏は、Quadro RTX 4000 (8 GB, sm_75) 環境で、BF16 演算の FP16 テンソルコア利用による最適化を実施しました。3,673 トークンのプロンプトで 131.1 tok/s から 141.8 tok/s (+8%)、7,194 トークンのプロンプトで 137.0 tok/s から 149.5 tok/s (+9%) の速度向上が確認されました。GPU カーネル時間が 9.18 秒から 6.73 秒に短縮されました。詳細は PR #540 コメント を参照してください。
推論高速化: 専門家キャッシュ解放、QSA選択最適化、CPUアフィニティ維持
推論速度と VRAM 管理を改善する複数の技術的改善点が実施されました。
専門家キャッシュの解放
モデルをアンロードせずに、専門家キャッシュの VRAM を解放する `--expert-cache-release` オプションが追加されました。CUDA の仮想メモリ API を使用して、キャッシュの VRAM を他のプログラムに返すことができます。Linux 環境では、2つの Strata プロセスが 1つの GPU の VRAM を時間共有で共有する用途にも使用されています。詳細は PR #563 を参照してください。
QSA 選択の最適化
レジスタカーネルの範囲を超える QSA 選択に対して、1,024 スレッドの新しいカーネルが追加されました。RTX 3060 環境で 243K トークンのプロンプトの場合、26% の速度向上が測定されました。詳細は PR #603 を参照してください。
CPU アフィニティの維持
Windows と Linux 環境で、CPU ピニングによるプロセッサアイデンティティの喪失が修正されました。Windows では `SetThreadGroupAffinity` が使用され、Linux ではホストの保存済み CPU マスクが完全に復元されるようになりました。詳細は PR #626 を参照してください。
利用者の報告
q8atnight 氏は、2枚の RTX 3090 (NVLink) 環境で、`--expert-cache-release` オプションを使用して 2つの Strata プロセスが 1つの GPU の VRAM を時間共有で共有する用途を実施しました。RELEASE 操作は 9-10 ms で 14.06 GiB の VRAM を解放し、REFILL 操作は共有ホストアリーナから 1.14 秒で 14.06 GiB を復元しました。詳細は PR #563 コメント を参照してください。
sergqwer 氏は、RTX 5090 32 GB 環境で、QSA 選択の最適化を実施しました。32K トークンのプロンプトでは速度変化なし、125K トークンのプロンプトでは 1.0% の速度向上が確認されました。詳細は PR #603 コメント を参照してください。
出典
- Strata v0.1.38
- Issue #590: RX 7900 XTX (gfx1100), Ubuntu, setup's ROCm 7.10 wheel
- Issue #641: AMD Instinct MI50 / MI60 / Radeon VII (gfx906, wave64)
- Issue #654: HIP (gfx1200) RuntimeError Exception Code: 0xC0000005
- Issue #579: AMD/HIP RX 9070 XT (gfx1201) stalls during batched prompt ingestion
- Issue #649: HIP (gfx1030): intermittent 'verify: timed out at layer N'
- Issue #541: AMD/HIP (R9700, engine 0.1.36): batched prompt read stalls
- PR #656: serve: cooperative prefill preemption at safe chunk boundaries
- PR #630: serve: add opt-in stateless Responses API
- Issue #661: Proposal: save and restore a conversation to disk
- PR #648: native dense: run the architecture guard only on the first shard
- PR #635: serve: a malformed "tools" value is a 400 naming the field
- PR #567: serve: tokenise the prompt from the last shared prefix
- PR #655: sm_75: run the prompt path's BF16 products on the FP16 tensor cores
- PR #540: volta (sm_70) and turing (sm_75): faster prompt reading
- Issue #644: Specifying explicit GPU split crashes Strata
- PR #627: opt for sm_70(just test V100-16g*1 or 2)
- PR #563: Give the expert cache's VRAM back without unloading the model
- PR #603: qsa_select: a 1,024-thread top-k past the register kernel's reach
- PR #626: cpu: preserve full thread affinity on Windows and Linux
- PR #575: qsa select: split the top-k past the register fit
SwitchBot公式ページ
クーポン「AF-4903」で5%引き(アフィリエイトクーポンになりますのでご協力お願いします)
割引の詳しい仕組みに関してはこちらのページを参照ください。
製品ごとの特徴・紹介動画は SwitchBot 製品ガイド にまとめています。