diff --git a/History/local-llm-setup.md b/History/local-llm-setup.md new file mode 100644 index 0000000..be3c0ae --- /dev/null +++ b/History/local-llm-setup.md @@ -0,0 +1,39 @@ +# Локальный LLM на 2× RTX 3060 (24 ГБ суммарно) + +Дата: 28.06.2026 + +## Железо + +2× NVIDIA RTX 3060 (12 ГБ каждая), без NVLink, PCIe. + +## Что влезает + +| Модель | Квантизация | Память | Куда | Скорость | Приоритет | +|--------|------------|--------|------|----------|-----------| +| 7-9B | Q4/Q5 | ~6 ГБ | 1 карта | Быстро | Классификация, извлечение | +| 14B | Q4 | ~8-9 ГБ | **1 карта** | 15-30 ток/с | Основная рабочая | +| 32B | Q4 | ~18-20 ГБ | Сплит на 2 карты | Медленно | Максимальное качество | + +## Важно про две карты + +- Сплит модели на 2 карты через PCIe (без NVLink) — часто **медленнее** чем та же модель на одной. +- **Лучший расклад:** 14B на одной карте, вторая — на параллелизм (два документа одновременно) или под отдельную модель (мелкая на classify, 14B на diff). + +## Движок + +- **llama.cpp (GGUF)** или **ExLlamaV2** — оптимальны для consumer-карт без NVLink. +- vLLM/TGI — выше throughput, но больше VRAM-запас, на 12 ГБ тесно. + +## Засады + +- `max_tokens=8000` — большая спецификация = длинный ответ = сотни секунд. Чанковать. +- Конкурентность: 1-2 запроса параллельно. Не для многопользовательской нагрузки. +- Точность чисел: подстраховать арифметикой + UNRESOLVED. + +## Рекомендация + +**Qwen2.5-14B или Qwen3-14B в Q4/Q5 на одной 3060** — уверенно тянет весь пайплайн для несложных документов. Проверить на testgen/. + +## Сейчас + +api.aillm.ru (gpt-oss-120b, бесплатно). Код готов к смене LLM через `llm_client.py` DI.