Qwen2.5-Coder:32b und Qwen3-Coder:30b sind mit 20 GB bzw. 19 GB zu groß um sie auf einer NVidia GeForce RTX4070 mit 12 GB VRAM unter Ollama auszuführen. Doch wieviel Token pro Sekunde kann man erreichen, wenn man 2 NVidia GeForce RTX4070 GPUs per Thunderbolt-Kabel miteinander koppelt? Dieser Beitrag zeigt ein interessantes Ergebnis.
Ollama Multi-GPU Setup mit 2 x NVidia GeForce RTX4070
Für den KI-Test wird folgendes Setup verwendet:
- Ollama 0.12.7 mit Qwen2.5-Coder:32b (20 GB) und Qwen3-Coder:30b (19GB).
- Windows 11 Pro 25H2
- Zotac Magnus One mit Intel i7 (Gen13) CPU, 32 GB RAM, NVidia RTX4070 mit 12 GB VRAM und Thunderbolt 4 Port.
- Razer Core X V1 eGPU-Gehäuse mit Thunderbolt 3 Port.
- NVidia RTX4070 Super mit 12 GB VRAM als eGPU.
Ollama unterstützt out of the Box Multi-GPU-Szenarios mit NVidia-Karten. Wie in diesem Setup müssen die verwendeten GPUs dabei nicht exakt gleich sein.
Die Geschwindigkeit zwischen der beiden GPUs beträgt maximal 40 Gbit/s per Thunderbolt 3 Protokoll. Da Thunderbolt 4 ebenfalls auf 40 Gbit/s beschränkt ist, spielt es keine große Rolle ob wir hier die eGPU mit Thunderbolt 3 oder 4 betreiben.

NVidia GeForce RTX4070 und RTX4070 Super im Detail
Die beiden verbauten GPUs unterscheiden sich lediglich in der Anzahl der CUDA- und Tensor-Cores sowie geringfügig im Basis-Takt.
| Technische Daten | GeForce RTX 4070 SUPER | GeForce RTX 4070 |
| NVIDIA CUDA®-Cores | 7168 | 5888 |
| Tensor-Cores | 224 | 184 |
| Boost-Taktung | 2.48 GHz | 2.48 GHz |
| Basistaktung | 1,98 GHz | 1,92 GHz |
| Standard-Speicherkonfiguration | 12 GB GDDR6 | 12 GB GDDR6 |
| Speicher-Bandbreite | 504 GB/s | 504 GB/s |
| Breite der Speicherschnittstelle | 192-bit | 192-bit |
| NVIDIA-Architektur | Ada Lovelace | Ada Lovelace |
| CUDA-Level | 8,9 | 8,9 |
Ollama & Qwen2.5-Coder:32b + Qwen3-Coder:30b, zwei fette LLM im Test
Für Ollama verwenden wir folgendes Setup:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
set OLLAMA_HOST=0.0.0.0 set OLLAMA_TEMPERATURE=0.9 set OLLAMA_MIN_P=0.05 set OLLAMA_TOP_P=0.95 set OLLAMA_TOP_K=40 set OLLAMA_MAX_LOADED_MODELS=4 set OLLAMA_NUM_PARALLEL=4 set OLLAMA_MAX_QUEUE=1024 set OLLAMA_ORIGINS=* set OLLAMA_KEEP_ALIVE=24h set OLLAMA_LLM_LIBRARY=cuda_v11 set OLLAMA_FLASH_ATTENTION=1 |
Gestartet wird mit
|
1 |
ollama run qwen2.5-coder:32b --verbose |
Die Aufgabe für das LLM:
|
1 |
Schreibe einen Websocket Server in C# |
Qwen2.5-Coder:32b : Das Ergebnis
Das Ergebnis kann sich sehen lassen:
|
1 2 3 4 5 6 7 8 |
total duration: 55.3763535s load duration: 60.0408ms prompt eval count: 39 token(s) prompt eval duration: 604.9693ms prompt eval rate: 64.47 tokens/s eval count: 984 token(s) eval duration: 54.0917734s eval rate: 18.19 tokens/s |
Mit knapp über 18 Token/s ist die Ausgabe flüssig, trotz dem 40 GB/s “Flaschenhals” durch die externe Thunderbolt-Anbindung.
Stecken beide RTX4070 GPUs im selben System, sollten theoretisch 25-30 Token/s möglich sein.
Qwen3-Coder:30b : Die große Überraschung
Qwen3-Coder:30b ist mit 2 Billionen weniger Parameter und seinen 19 GB nicht viel weniger fett. Doch das Ergebnis überrascht:
|
1 2 3 4 5 6 7 8 9 10 |
ollama run qwen3-coder:30b --verbose total duration: 3.7111205s load duration: 56.0546ms prompt eval count: 43 token(s) prompt eval duration: 227.8805ms prompt eval rate: 188.70 tokens/s eval count: 386 token(s) eval duration: 3.3430239s eval rate: 115.46 tokens/s |
Mit knapp 116 Tolen/s ist Qwen3-Coder mehr als 6 x schneller als Qwen2.5-Coder !
Warum ist Qwen3-Coder so viel schneller?
Die Frage beantwortet Qwen3-Coder selbst:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
Warum ist Qwen3-Coder so viel schneller als Qwen2.5-Coder, bei Verwendung eines Dual-GPU Setups mit 2 GeForce RTX4070? Antworte nur mit Fakten, bei denen Du absolut sicher bist. Die Leistungsunterschiede zwischen Qwen3-Coder und Qwen2.5-Coder auf Ihrem Dual-RTX-4070-Setup können auf folgende sichere Faktoren zurückgeführt werden: 1. **Modellarchitektur-Verbesserungen**: Qwen3-Coder verwendet effizientere Aufmerksamkeitsmechanismen und optimierte Schichtdesigns. 2. **CUDA/Compute-Optimierung**: Qwen3-Coder profitiert von besseren CUDA-Kernel-Optimierungen spezifisch für die RTX 4070-Architektur. 3. **Software-Stack-Verbesserungen**: Qwen3-Coder verwendet aktualisierte Deep-Learning-Frameworks mit besserer GPU-Ausnutzung. 4. **Multi-GPU-Optimierung**: Qwen3-Coder hat bessere Multi-GPU-Synchronisation und Daten-Parallelismus. total duration: 2.3828356s load duration: 51.6038ms prompt eval count: 1381 token(s) prompt eval duration: 299.07ms prompt eval rate: 4617.65 tokens/s eval count: 207 token(s) eval duration: 1.9720198s eval rate: 104.97 tokens/s |
Fantastisch! :-)
Fazit
Die Geschwindigkeit von LLM Interferenz hängt nicht nur von der Anzahl der Parameter, sprich der Größe des LLMs ab. Qwen3-Coder ist ein schönes Beispiel dafür, daß durch clevere Optimierungen bei gleicher Hardware noch viel Luft nach oben sein kann.
Weitere Tests mit der NVidia GeForce RTX4070

