🤖 Домашняя LLM - пополнение вики в Proxmox-заметках
Тема прикладная и техническая, поэтому управленческий контекст в этот раз за скобками. Пост адресован начинающим инженерам и энтузиастам с домашними серверами, которым интересно поднять собственную LLM на знакомом железе и попробовать ее в работе, а не только читать о подобных сборках в чужих блогах.
В вики proxmox-notes добавлены две новые статьи, которые вместе складываются в маршрут от голого сервера до рабочего веб-чата с моделью на собственной видеокарте.
🗂️ Что внутри
Во-первых - про PCIe passthrough: что включать в BIOS, как разнести устройства по группам IOMMU, как привязать видеокарту к vfio-pci и зачем хосту встроенная графика после проброса дискретной карты.
Во-вторых - про саму виртуальную машину: параметры VM под passthrough (q35, выделенные ядра, фиксированная память без баллунинга), установка Ubuntu Server 26.04 с драйверами NVIDIA и CUDA, развертывание Ollama и Open WebUI в Docker, Caddy с автоматическим TLS перед веб-интерфейсом.
На прохождение всех шагов при наличии нужного железа уходит примерно вечер. На выходе - локальный веб-чат с моделью, доступный с любого устройства домашней сети и не отправляющий запросы во внешние сервисы.
🧪 Тестирование
Для теста я попросил qwen3 и gemma4 написать скрипты замеров - и стал свидетелем того, насколько по-разному модели подходят к одной и той же задаче.
🥇 gemma4 пошла инженерным путем: обращение к Ollama API с stream: false, разбор полей eval_count и total_duration для корректного учета времени генерации, аккуратная структура замера - правда, с арифметической ошибкой в одной из формул, которую пришлось чинить руками.
🤷♂️ qwen3-coder выбрала короткий путь - subprocess с замером time.time() вокруг внешнего вызова: решение рабочее, но систематически занижающее результат на накладные расходы запуска процесса.
Все как у людей.
Набор тестов простой: логическая задача на определение дня недели, арифметический расчет, написание хокку и проверка стабильности на повторных запусках. Через него прогонялись шесть моделей от 8B до 30B параметров.
⏱️ Результаты тестов
На 16 ГБ VRAM комфортно живут модели уровня 24-30B в квантовании Q4. MoE-архитектуры по скорости опережают плотные модели сопоставимого размера. Модели с внутренним рассуждением расходуют на него заметную долю токенов, и практическая скорость генерации у них ниже номинальной. По качеству: llama3.1:8b спотыкается даже на простых задачах, qwen3.5 на хокку ушла в бесконечный цикл, наиболее сбалансированной оказалась gpt-oss; для работы с кодом удобнее gemma4, для длинных текстов - mistral-small3.2. Полные цифры - в самой вики.
🔗 Ссылки
Проброс видеокарты:
https://github.com/kropachev/proxmox-notes/wiki/proxmox-pcie-passthrough
Создание виртуальной машины под LLM:
https://github.com/kropachev/proxmox-notes/wiki/proxmox-creating-llm-vm
