Siaran
avatar

#Claude #Codex # Saya mencuba LLM tempatan di GPU Ryzen Zen3 (Perbandingan dan Analisis Prestasi Qwen3-8B Heretic CPU dan GPU) Kerja keras, AMD, kerja keras Vulkan Saya fikir ia hanya GPU untuk permainan jadi tidak begitu hebat, dan ternyata betul Dikatakan bahawa lebar pita memori menjadi penghalang (kerana VRAM kecil, maka menggunakan memori utama, tunggu Mac M5 Studio) AMD terkini ialah Zen6, jadi CPU ini adalah generasi ketiga sebelumnya (dengan GPU terbina dalam) ---- # Perbandingan dan Analisis Prestasi Qwen3-8B Heretic CPU dan GPU Tarikh pengukuran: 2026-11-02 / Sasaran: Mesin Ubuntu ## Kesimpulan - **GPU (GPU terbina dalam Radeon) lebih pantas dalam pemuatan prompt, sekitar 2.5 kali lebih pantas daripada CPU.** - **Penghasilan teks hanya 1.1–1.2 kali lebih pantas daripada CPU.** Kelajuan penghasilan terhad oleh kelajuan pemindahan memori, kerana GPU terbina dalam berkongsi memori yang sama dengan CPU. - Dalam penggunaan yang menghantar arahan panjang setiap kali seperti OpenClaw, **cache prompt** memberi kesan lebih besar daripada GPU, dan selepas prompt kedua, masa berkurang dari sekitar 7 minit menjadi sekitar 1 minit. ## Lingkungan Pengukuran | Item | Kandungan | |---|---| | CPU | AMD Ryzen 7 7730U (8 core, 16 thread, Zen 3) | | GPU | GPU terbina dalam AMD Radeon Graphics (Barcelo, setara Vega 8) | | Memori | 30GB (spesifikasi: DDR4-3200 dual-channel. Tidak disahkan pada peranti sebenar) | | Memori GPU | VRAM eksklusif 512MB + memori berkongsi (GTT) sekitar 15.4GB. LM Studio hanya boleh gunakan 10.59GiB | | OS / Pemacu | Ubuntu 24.04.5 LTS, Mesa 25.2.8 (RADV) | | LM Studio | Versi tanpa antaramuka (llmster), llama.cpp 2.66.0 | | Runtime CPU | `llama.cpp-linux-x86_64-avx2` | | Runtime GPU | `llama.cpp-linux-x86_64-vulkan-avx2` (semua lapisan ditempatkan pada GPU, `--gpu max`) | | Model | DreamFast/qwen3-8b-heretic Q4_K_M (5.03GB) | | Tetapan pemuatan | Panjang konteks 32768, bilangan pemprosesan serentak 1 | ## Kaedah Pengukuran - Menghantar prompt yang sama ke API LM Studio (`/api/v0/chat/completions`) dan membandingkan CPU dan GPU. - Setiap kondisi dijalankan dua kali. Pada percubaan kedua, prompt yang telah diproses digunakan semula dari cache, jadi **kelajuan pemuatan menggunakan nilai percubaan pertama**. - Kelajuan penghasilan merujuk kepada `tokens_per_second` yang dikembalikan oleh LM Studio. - Pemikiran sebelum jawapan dihentikan dengan `/no_think`, dan `temperature` ditetapkan ke 0. - Selepas pengukuran GPU, sistem didinginkan selama 2 minit sebelum mengukur CPU. - Skrip dan rekod disimpan di `~/bench/bench.py`, `~/bench/run.sh`, dan `~/bench/result.log` pada mesin Ubuntu. ## Hasil ### Ringkasan Perbandingan | Kandungan | Item | CPU | GPU | Perbezaan | |---|---|---|---|---| | Pertanyaan pendek (24 token) menghasilkan 256 token | Kelajuan penghasilan | 7.3 token/detik | 8.2 token/detik | 1.13x | | | Masa yang diperlukan | 35.7 saat | 31.4 saat | | | Prompt 921 token | Kelajuan pemuatan | 30.5 token/detik | 76.3 token/detik | **2.5x** | | | Hingga huruf pertama | 30.2 saat | 12.1 saat | | | | Kelajuan penghasilan | 7.0 token/detik | 8.0 token/detik | 1.13x | | Prompt 3,621 token | Kelajuan pemuatan | 35.4 token/detik | 87.5 token/detik | **2.5x** | | | Hingga huruf pertama | 102.3 saat | 41.4 saat | | | | Kelajuan penghasilan | 5.9 token/detik | 7.2 token/detik | 1.2x | ### Butiran Nilai Pengukuran | Kaedah | Kandungan | Ujian | Prompt | Penghasilan | Masa yang Diperlukan | Hingga Huruf Pertama | Kelajuan Penghasilan | |---|---|---|---|---|---|---|---| | GPU | Pertanyaan pendek | 1 | 24 | 256 | 31.4 saat | 0.50 saat | 8.26 | | GPU | Pertanyaan pendek | 2 | 24 | 256 | 31.2 saat | 0.12 saat | 8.23 | | GPU | Prompt sekitar 1,000 | 1 | 921 | 32 | 16.0 saat | 12.07 saat | 7.97 | | GPU | Prompt sekitar 1,000 (cache) | 2 | 921 | 32 | 4.0 saat | 0.14 saat | 7.98 | | GPU | Prompt sekitar 4,000 | 1 | 3,621 | 32 | 45.7 saat | 41.38 saat | 7.18 || GPU | Prompt sekitar 4,000 | 2 (cache) | 3,621 | 32 | 4.5 saat | 0.14 saat | 7.22 | | CPU | Pertanyaan singkat | 1 | 24 | 256 | 35.7 saat | 0.73 saat | 7.29 | | CPU | Pertanyaan singkat | 2 | 24 | 241 | 32.8 saat | 0.14 saat | 7.36 | | CPU | Prompt sekitar 1,000 | 1 | 921 | 32 | 34.7 saat | 30.21 saat | 7.03 | | CPU | Prompt sekitar 1,000 | 2 (cache) | 921 | 32 | 4.6 saat | 0.15 saat | 6.96 | | CPU | Prompt sekitar 4,000 | 1 | 3,621 | 32 | 107.5 saat | 102.30 saat | 5.94 | | CPU | Prompt sekitar 4,000 | 2 (cache) | 3,621 | 32 | 5.4 saat | 0.17 saat | 5.96 | Unit prompt dan generasi adalah token, unit kecepatan generasi adalah token/detik. ### Koreksi Pada pengukuran awal sederhana, saya menyatakan bahwa kecepatan generasi pada GPU meningkat sekitar 2,2 kali, tetapi itu salah. Nilai 3,86 token/detik pada CPU merujuk pada saat bot2 memproses prompt sekitar 14.000 token. Karena generasi menjadi lebih lambat dengan prompt yang lebih panjang, membandingkannya dengan nilai pertanyaan singkat adalah kesalahan. Jika dibandingkan dalam kondisi yang sama, perbedaan generasi hanya sekitar 1,1–1,2 kali. ## Alasan Mengapa GPU Tidak Lebih Cepat Seperti Diharapkan ### 1. Generasi Terbatas oleh Kecepatan Transfer Memori Setiap kali LLM menghasilkan satu token, ia harus membaca seluruh bobot model dari memori. Batas atas kecepatan generasi ditentukan kira-kira oleh: “kecepatan transfer memori ÷ ukuran model”. | Item | Nilai | |---|---| | Kecepatan transfer memori (teoretis) | Sekitar 51 GB/detik dengan DDR4-3200 dual-channel | | Jumlah yang dibaca per token | Sekitar 5 GB (seluruh model) | | Batas atas teoretis kecepatan generasi | 51 ÷ 5,03 ≒ **sekitar 10 token/detik** | | Hasil pengukuran (GPU) | 8,2 token/detik (sekitar 80% dari batas atas) | | Hasil pengukuran (CPU) | 7,3 token/detik (sekitar 70% dari batas atas) | GPU internal berbagi memori utama yang sama dengan CPU, sehingga batas atasnya hampir identik. Bahkan dengan GPU, hanya tersisa ruang sekitar 10–20% untuk mendekati batas atas. GPU eksternal memiliki memori khusus berkecepatan tinggi, sehingga batas atasnya jauh lebih tinggi. | GPU | Kecepatan transfer memori | Perbandingan dengan mesin Ubuntu ini | |---|---|---| | GPU internal mesin Ubuntu ini | Sekitar 51 GB/detik (berbagi dengan CPU) | 1x | | RTX 4060 | Sekitar 272 GB/detik | Sekitar 5x | | RTX 4090 | Sekitar 1.008 GB/detik | Sekitar 20x | ### 2. Pembacaan Ditentukan oleh Beban Komputasi, Tetapi Daya Komputasi GPU Internal Kecil Pada pembacaan prompt, banyak token diproses secara bersamaan, sehingga kecepatannya ditentukan oleh daya komputasi, bukan memori. Efek GPU terlihat di sini, dan hasil pengukuran menunjukkan peningkatan hingga 2,5 kali. Namun, GPU ini memiliki beberapa batasan yang membuat peningkatan terhenti di angka 2,5 kali: | Batasan | Detail | |---|---| | Jumlah unit komputasi sedikit | Hanya 8 unit. Diperkirakan sekitar 2 TFLOPS presisi tunggal, kurang dari sepersepuluh GPU gaming | | Tidak ada sirkuit khusus untuk operasi matriks | Tidak ada sirkuit khusus AI seperti Tensor Core milik NVIDIA | | ROCm tidak didukung | Platform komputasi AMD untuk GPU tidak secara resmi mendukung GPU internal ini. Berjalan menggunakan Vulkan generik | Untuk model 8B, diperlukan sekitar 16 GFLOP komputasi per token. Dengan daya sekitar 2 TFLOPS, batas atas teoretisnya adalah sekitar 120 token/detik. Hasil pengukuran aktual sebesar 76–88 token/detik mencapai sekitar 6–7% dari batas tersebut. ### 3. Prompt yang Lebih Panjang Menyebabkan Kecepatan Lebih Lambat Semakin panjang konteks, semakin banyak token masa lalu yang dirujuk setiap token, sehingga baik pembacaan maupun generasi menjadi lebih lambat. | Kondisi | Kecepatan pembacaan | Kecepatan generasi | |---|---|---| | GPU, prompt sekitar 1.000 token | 76 token/detik | 8,0 token/detik | | GPU, prompt sekitar 3.600 token | 88 token/detik | 7,2 token/detik | | GPU, OpenClaw (15.686 token), awalnya 2.048 token | 78,7 token/detik | — | | GPU, OpenClaw (15.686 token), rata-rata keseluruhan | 44,1 token/detik | 5,1 token/detik | | CPU, OpenClaw (14.021 token) | Sekitar 19,5 token/detik | 3,86 token/detik |Hingga 3,600 token, pemuatan justru menjadi lebih cepat kerana jumlah yang boleh diproses secara bersamaan meningkat. Di atas 15,000 token, kadar pemuatan turun hingga 46 token/detik pada akhir proses. ## Pengesahan Cache di OpenClaw (bot2 mei) Dua mesej berturut-turut telah dihantar ke sesi pengesahan, menggunakan Qwen3 yang berjalan di GPU. | Item | Mesej Pertama | Mesej Kedua | |---|---|---| | Prompt yang dihantar oleh OpenClaw | 15,686 token | 15,744 token | | Token yang sebenarnya dimuatkan | 15,686 (semua) | **135 (hanya token baharu)** | | Masa pemuatan | 356.1 saat | **6.1 saat** | | Penghasilan | 247 token, 48.1 saat (5.11 token/detik) | 249 token, 48.5 saat (5.11 token/detik) | | Jumlah | **410 saat** | **58 saat** | - OpenClaw sentiasa menghantar awal arahan dengan kandungan yang sama, jadi mesej kedua memanfaatkan semula bahagian yang telah diproses (98%). - Sebahagian besar masa tunggu mesej kedua adalah untuk pemikiran sebanyak kira-kira 240 token. Walaupun `--thinking off` ditetapkan, pemikiran tidak berhenti. Jika pemikiran boleh dimatikan, masa tunggu diperkirakan akan berkurang kepada sekitar 10 saat. - Cache tidak hilang berdasarkan masa. Ia hanya hilang apabila model dikeluarkan, proses lain menyusup (kerana hanya satu proses serentak dibenarkan), atau percakapan dikompres. ## Pilihan untuk Mempercepatkan Kerana kelajuan penghantaran memori tidak boleh diubah, cara yang paling berkesan adalah mengurangkan jumlah data yang dimuatkan setiap token. | Kaedah | Kesan yang Dijangka | Perhatian | |---|---|---| | Memanfaatkan cache prompt | Pemuatan mesej kedua dan seterusnya hanya memakan beberapa saat (sudah disahkan) | Boleh hilang akibat penyusupan atau kompresi | | Mematikan pemikiran Qwen3 | Mengurangkan masa sebanyak kira-kira 48 saat setiap mesej | Kualiti jawapan mungkin sedikit menurun | | Menukar ke Qwen3-30B-A3B jenis MoE | Setiap token hanya menggunakan berat sekitar 3B. Penghasilan dijangka 2–3 kali lebih pantas, dan kecerdasan meningkat | Saiznya sekitar 18GB, melebihi kapasiti GPU 10.6GiB, jadi sebahagian diproses oleh CPU. Keberadaan versi tanpa sensor belum disahkan | | Menggunakan model lebih kecil (Qwen3-4B) | Penghasilan kira-kira 2 kali lebih pantas | Kecerdasan menurun | | Menggunakan speculative decoding | Menggunakan Qwen3-0.6B sebagai draf. Penghasilan 1.3–2 kali lebih pantas | Kesannya berbeza mengikut kandungan | | Mengurangkan kuantisasi lebih lanjut (Q3 dsb.) | Peningkatan 10–20% | Ketepatan menurun | | Memendekkan arahan | Masa pemuatan mesej pertama dan selepas cache hilang menjadi lebih pendek | Fungsi akan dikurangkan | Kesan dalam jadual ini, selain cache prompt, adalah anggaran dan belum diukur secara langsung. ## Keadaan Semasa (sehingga 2026-11-03) | Item | Keadaan | |---|---| | LM Studio | Dihentikan. Auto-start dinonaktifkan | | Runtime yang dipilih | Vulkan (GPU) | | bot2 (mei) | gpt-5.4-mini | | Port penghantaran untuk bot2 | Dihentikan. Auto-start dinonaktifkan | | Tetapan bot2 untuk Qwen3 | `~/.openclaw-bot2/openclaw.json.bak-qwen3-active-*` |

Kandungan ini adalah bagi tujuan maklumat dan pendidikan sahaja. Ia mungkin termasuk pandangan pihak ketiga, kandungan tajaan, atau bahan promosi yang mana pencipta mungkin menerima pampasan. Tiada apa-apa dalam suapan ini yang merupakan nasihat pelaburan atau jaminan pulangan. Anda bertanggungjawab sepenuhnya ke atas keputusan pelaburan anda sendiri. Sentiasa jalankan penyelidikan anda sendiri dan berhati-hati sebelum berdagang. Kami tidak menjamin ketepatan maklumat pihak ketiga dan tidak bertanggungjawab ke atas sebarang kerugian yang ditanggung. Prestasi masa lalu tidak menunjukkan hasil masa hadapan. Sila rujuk Terma Komuniti dan Penyata Pendedahan Risiko kami untuk mendapatkan butiran.

avatarSiarkan balasan anda

Komen