最新の密な約30bモデルを実行したいが、VRAMが16GBしかない人向けです。VRAMが6GB以上の古いカードを持っているなら、挿してください。
2枚のカードであっても、すべてがVRAMに収まることが重要です。片方がかなり非力でも問題ありません。
私は5070Ti 16GBと、古い2060 6GBを持っています。一般的には、最大のパフォーマンスを得るには同じGPUを2枚用意する必要がある、という考えがあります。ですがある日、ふと思いました。試してみればどうだろう?
見てみましょう。LLMのためだけにマザーボードを買っていない限り、おそらくあなたのマザーボードには「本当の」PCI-E x16スロットが1つあり、ほかにx16に見えるけれど実際にはx4で配線されているスロットがいくつかあるはずです。これは私と同じ状況です。そういう古いカード用のスロットはちょうど良いです。
16GB + 6GB = 22GBで、24GBクラスのカードにかなり近づきます。より良い古いカードを持っているなら、運がいいですね!
次に、次のような設定でllama-serverを使います
[*] jinja = true cache-prompt = true n-gpu-layers = 999 no-mmap = true mlock = false np = 1 t = 0 [qwen/qwen3.6-27b] model = ./Qwen3.6-27B-GGUF/Qwen3.6-27B-Q4_K_M.gguf mmproj = ./Qwen3.6-27B-GGUF/mmproj-Qwen3.6-27B-BF16.gguf reasoning = on dev = Vulkan1,Vulkan2 c = 128000 no-mmproj-offload = true cache-type-k = q8_0 cache-type-v = q8_0 いくつかのポイント:
- dev=Vulkan1,Vulkan2:これで2つのGPUが有効になります。`llama-server.exe --list-devices` を実行して、どれを設定すべきか確認してください。
- no-mmap と mlock=false により、モデルをRAMから遠ざけます
- np=1、no-mmproj-offload(またはmmprojモデルを指定しないこと)、cache-type-k と cache-type-v によって、必要なVRAMを最小化します
- n-gpu-layers=999:GPUオフロードを優先します。とはいえ不要かもしれませんが、私はこれを維持しています
- split-mode=layer:層(layer)をデバイス間で非対称に分割します。「layer」はデフォルトなので、上では表示されません。
- c=128000 は少し無理があるかもしれませんが、私の環境では十分うまく動いています。
ちなみに、私はモニターを接続したインテルの内蔵GPUも持っていて、それがVulkan0です。
いくつかの数値です。基本的に、最大コンテキスト128kで、実際のコンテキスト使用は71k、pp=186t/s、tg=19t/sです。単一カードの4t/sと比べると、かなり実用的な速度です。
[56288] prompt eval time = 5761.53 ms / 1076 tokens ( 5.35 ms per token, 186.76 tokens per second) [56288] eval time = 58000.15 ms / 1114 tokens ( 52.06 ms per token, 19.21 tokens per second) [56288] total time = 63761.69 ms / 2190 tokens [56288] slot release: id 0 | task 654 | stop processing: n_tokens = 71703, truncated = 0 [link] [comments]




