なぜ今まで rpc-server のことを見ていなかったのか分からない。でも、なんてゲームチェンジャーだ!
私は GPU が不足しているため、しばらく小型モデルを使ってきました。27b-dense は現実的な速度では到底実用できませんでした。
私は qwen3.5 ファミリーが大好きです。llamacpp に貢献したすべての人を愛しています。unsloth も大好きです。みんな大好き! :D
私のセットアップは、1 台のコンピュータに 12GB の 4070 Ti、i7-14700K、64GB DDR4-3600、そしてもう 1 台に 16GB VRAM の AMD RX6800、i5-11600K、48GB DDR4-3200 です。
4070Ti のコンピュータは Windows 11、RX6800 のコンピュータは Ubuntu 24.04、ROCM 7.2、どちらも llamacpp の b8348 を実行しています。
コンピュータ2でのコマンド:
./rpc-server --host 0.0.0.0 -p 50052 -c
キャッシュ機能は素晴らしい。モデルを初めて読み込むとネットワーク経由の転送に1〜2分かかるが、以降はキャッシュ済みテンソルを直接ディスクからロードします。とても速い。
それからメインのコンピューターで:
.\llama-server.exe -m D:\LLMs\unsloth\qwen3.5-27b-gguf\Qwen3.5-27B-UD-Q5_K_XL.gguf -c 84000 -ngl 99 --rpc 192.168.10.230:50052 --tensor-split 64,36 -t 8 --flash-attn on -ctk f16 -ctv f16 --parallel 1 --reasoning on --temp 0.7 --top-p 0.9 --min-p 0.05 --top-k 20 --repeat-penalty 1.1 --repeat-last-n 64
半分程度の大きめのプロンプトをどう処理するかを見るために、既存のコードベースを修正してみました:
prompt eval time = 126132.09 ms / 33386 tokens ( 3.78 ms per token, 264.69 tokens per second)
eval time = 10325.83 ms / 134 tokens ( 77.06 ms per token, 12.98 tokens per second)
total time = 136457.92 ms / 33520 tokens
slot release: id 0 | task 0 | stop processing: n_tokens = 33519, truncated = 0
これ以上なく幸せです。これは私の期待をはるかに超えています。すべてのレイヤーが GPU 上、KV も全て GPU 上。初回のモデル読み込み以外はほとんどネットワークを流れるトラフィックは不要です。同じモデルの後の読み込みは非常に速いです。
84k コンテキストは、システムメモリの使用なしで KV を GPU に保持する最大値のようです。しかし、それで確実に作業できます。エージェント間で作業を分割します。
これをさらに改善するための提案があれば、遠慮なく教えてください!
明日、ツールの精度をテストします。しかし、期待は高いです :)