Я перестав гнатися за MTP TPS і отримав локального 27B агента, який працює на 24GB VRAM
Мене не цікавлять бенчмарки на один промпт.
Мене цікавить цикл (loop).
Агент для програмування має працювати годинами. Йому потрібно обробляти правки, виклики термінала, повторні спроби та зростаючий контекст. Якщо модель «падає» після десяти промптів, вона марна.
Я хотів перевірити, чи зможу я запустити модель 27B на одній відеокарті 24GB. Я протестував Qwopus3.6-27B-v2 і створив нову версію: XReyRobert/Qwopus3.6-27B-v2-GPTQ-Pro-v1.
Ось мій сетап для стабільного циклу агента на 24GB:
- Модель: Qwopus3.6-27B GPTQ-Pro 4-bit
- Двигун: vLLM з GPTQ-Marlin
- Контекст: 131k токенів
- KV Cache: FP8 (fp8_e5m2)
- Стратегія: Prefix caching увімкнено
- Обмеження: max_num_seqs=1
Чому max_num_seqs=1?
На одній картці 24GB паралелізм не є безкоштовним. Якщо ви запускаєте кілька запитів, вони змагаються за пам'ять. Я хочу, щоб один запит завершувався чисто. Я краще отримаю одну корисну відповідь, ніж дві зламані.
Я також відмовився від спекулятивного декодування (MTP). На одній 3090 MTP створював додаткове навантаження на пам'ять і складність, не збільшуючи загальну швидкість (end-to-end speed) для довгих контекстів.
Справжні метрики, які мають значення:
- Prefix cache hit ratio: ~83%
- Середній TTFT: ~5.7s при 33k токенах
- Пропускна здатність prefill: ~1917 tok/s
- Швидкість декодування: ~43 tok/s
Коли відбувається попадання в prefix cache, затримка (latency) падає. Коли ви змінюєте завдання, кеш «холоне», і затримка зростає. Це нормально. Мета полягає в тому, щоб повернутися до високого рівня повторного використання кешу, щойно завдання стабілізується.
Якщо ви тестуєте лише один промпт, ви тестуєте не те. Для агентів програмування потрібно тестувати довгострокову стабільність.
Ви запускаєте цикли агентів на одній GPU? Які трюки ви використовуєте для KV cache або prefix caching?
Додаткова спільнота для навчання: https://t.me/GyaanSetuAi