𝗥𝘂𝗻𝗻𝗶𝗻𝗴 𝗧𝘄𝗼 𝗠𝗼𝗱𝗲𝗹𝘀 𝗼𝗻 𝗢𝗻𝗲 𝗚𝗣𝗨: 𝗧𝗵𝗲 𝗠𝗮𝘁𝗵 𝗕𝗲𝗵𝗶𝗻𝗱 𝗟𝗼𝗰𝗮𝗹 𝗟𝗟𝗠𝘀
Saya menjalankan agent stack pada sebuah workstation. Model-model tersebut berjalan di DGX Spark melalui LAN. Saya menggunakan vLLM alih-alih Ollama untuk mengelola memori dengan lebih baik.
Tujuannya adalah menjalankan dua model sekaligus:
- Qwen3-Next-80B untuk penalaran berat (heavy reasoning).
- Qwen3-4B untuk giliran cepat (fast turns).
Kedua model mengakses satu URL melalui proxy LiteLLM. Pengaturan ini gagal beberapa kali sebelum saya menemukan perhitungan matematika yang tepat.
Berikut adalah pelajaran dari perjuangan tersebut.
𝗧𝗵𝗲 𝗠𝗲𝗺𝗼𝗿𝘆 𝗧𝗿𝗮𝗽
Pengaturan gpu_memory_utilization bukanlah target untuk memori bebas. Itu adalah pecahan dari total memori GPU.
Jika Anda memiliki kartu 120 GB dan mengatur utilitas ke 0,80, vLLM akan mencoba mengambil 96 GB dari total kapasitas. Ia tidak melihat berapa banyak memori yang saat ini sedang bebas. Jika Anda mencoba menjalankan dua proses, jumlah persentasenya harus kurang dari 0,95. Anda harus menyisakan ruang untuk overhead framework CUDA.
𝗪𝗵𝗮𝘁 𝗛𝗮𝗽𝗽𝗲𝗻𝗲𝗱 𝗪𝗶𝘁𝗵 𝗧𝗵𝗲 𝗠𝗼𝗱𝗲𝗹𝘀
Saya mencoba menggunakan versi Thinking dari model 80B. Hasilnya gagal. Model tersebut akan melakukan penalaran di dalam tag <think> tetapi tidak pernah benar-benar memicu panggilan alat (tool call). Ia hanya akan berhenti begitu saja.
Saya harus mengganti backbone 80B ke versi Instruct. Hal ini memungkinkan agen untuk menggunakan alat (tools) dengan benar.
𝗧𝗵𝗲 𝗔𝗰𝘁𝘂𝗮𝗹 𝗠𝗮𝘁𝗵 Setelah pengujian, saya menemukan angka-angka ini bekerja untuk pengaturan saya:
• Qwen3-Next-80B (pada target 0,80): Menggunakan ~87,8 GiB memori aktual. • Qwen3-4B (pada target 0,10): Menggunakan ~13,8 GiB memori aktual. • Total penggunaan: ~101,6 GiB. • Sisa ruang bebas (headroom): ~18 GiB.
Jika saya mendorong 80B ke 0,85, model 4B tidak dapat berjalan. Model 80B akan mengambil terlalu banyak, sehingga tidak ada ruang tersisa untuk kebutuhan minimum model 4B.
𝗠𝘆 𝗣𝗹𝗮𝘆𝗯𝗼𝗼𝗸 𝗳𝗼𝗿 𝗖𝗼-𝗿𝗲𝘀𝗶𝗱𝗲𝗻𝘁 𝗠𝗼𝗱𝗲𝗹𝘀
- Muat model terbesar terlebih dahulu.
- Biarkan ia stabil (settle).
- Jalankan
nvidia-smiuntuk melihat memori aktual yang digunakan. - Tentukan ukuran model yang lebih kecil berdasarkan sisa memori bebas dikurangi 5 GB untuk overhead.
- Mulai ulang kedua model sebanyak dua kali untuk memastikan stabilitas.
Jangan menebak pengaturan memori Anda. Gunakan perintah ini untuk melihat realitasnya:
nvidia-smi --query-gpu=memory.used --format=csv
Jika alokasi target dan penggunaan aktual Anda berbeda lebih dari 10%, perhitungan Anda salah. Perbaiki sebelum Anda menerapkan (deploy) agent stack Anda.
Optional learning community: https://t.me/GyaanSetuAi