Почему старые устройства всё ещё актуальны для LLM?
В 2025 году, когда казалось бы, для запуска современных LLM нужны дорогие видеокарты и серверные процессоры, многие энтузиасты открывают для себя удивительную вещь: старые устройства всё ещё могут запускать языковые модели. И речь не только о базовых задачах, но и о полноценной работе с 7B-13B параметрическими моделями.
Три основных направления, которые мы рассмотрим в этом гайде:
- Raspberry Pi — одноплатные компьютеры с ARM-архитектурой
- Steam Deck — игровые консоли с x86-64 и встроенной графикой
- Майнинг-риги — системы с множеством старых видеокарт
Ключевой прорыв — квантование моделей. Современные методы 4-битного и даже 3-битного квантования позволяют уменьшить размер моделей в 4-8 раз практически без потери качества для инференса.
Архитектурные особенности каждого устройства
| Устройство | Архитектура | Память | Рекомендуемые модели |
|---|---|---|---|
| Raspberry Pi 4/5 | ARM64 | 4-8 ГБ RAM | TinyLlama, Phi-2, Qwen2.5-1.5B |
| Steam Deck | x86-64 + RDNA2 | 16 ГБ RAM + 512 МБ VRAM | Qwen2.5-7B, Granite-7B, Mistral-7B |
| Майнинг-риг (RX 580) | x86-64 + GCN | 8+ ГБ VRAM на карту | 13B-модели с разделением по слоям |
1Raspberry Pi: ARM-оптимизация и ограничения
Raspberry Pi — самый экзотический вариант для запуска LLM. ARM-архитектура требует специальной сборки llama.cpp, но результаты могут удивить.
Первым делом нужно собрать llama.cpp с оптимизациями для ARM:
# Устанавливаем зависимости
sudo apt update
sudo apt install build-essential cmake git
# Клонируем репозиторий
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
# Собираем с ARM-оптимизациями
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DLLAMA_CUBLAS=OFF -DLLAMA_METAL=OFF
make -j4Рекомендуемая конфигурация для Pi 4/5:
- Используйте Q4_K_M квантование — лучший баланс качества/размера
- Включайте swap-файл (минимум 4 ГБ) для работы с моделями больше RAM
- Используйте охлаждение — LLM загружают CPU на 100%
2Steam Deck: игровая консоль как LLM-станция
Steam Deck — это фактически полноценный ПК с процессором Zen 2 и графикой RDNA 2. В режиме Desktop можно установить Linux и получить доступ ко всем 16 ГБ памяти.
Особенность Steam Deck — общая память CPU/GPU. Это позволяет гибко распределять ресурсы:
# Устанавливаем llama.cpp с поддержкой Vulkan
sudo pacman -S base-devel cmake git vulkan-headers
cd llama.cpp
mkdir build && cd build
cmake .. -DLLAMA_VULKAN=ON -DCMAKE_BUILD_TYPE=Release
make -j8
# Настройка UMA Buffer для выделения памяти GPU
# В BIOS Steam Deck: Settings -> Power -> UMA Frame Buffer Size -> 4GВнимание: Vulkan-бэкенд в llama.cpp всё ещё экспериментальный. Для стабильной работы лучше использовать CPU-режим с частичным offload на GPU.
Конфигурация запуска для 7B моделей:
# Запуск с offload 20 слоёв на GPU
./main -m models/qwen2.5-7b-q4_k_m.gguf \
-n 512 --temp 0.7 \
--repeat_penalty 1.1 \
-ngl 20 \
-p "Вопрос: Как работает Steam Deck?"Ожидаемая производительность: 5-8 токенов/сек для Qwen2.5-7B. Это уже практическая скорость для диалогов.
3Майнинг-риги: второе дыхание старых видеокарт
Старые майнинг-риги с RX 580, GTX 1080 Ti и другими картами 2016-2018 годов получают вторую жизнь. Ключевое преимущество — много видеопамяти (часто 8 ГБ на карту).
Основная проблема — поддержка ROCm для AMD и CUDA для старых NVIDIA. Решение — использовать llama.cpp в LXC-контейнерах с прямым доступом к GPU.
Настройка для AMD RX 580 (8 ГБ):
# Установка ROCm для старых карт GCN
wget https://repo.radeon.com/amdgpu-install/latest/ubuntu/jammy/amdgpu-install_6.1.60100-1_all.deb
sudo apt install ./amdgpu-install_6.1.60100-1_all.deb
sudo amdgpu-install --usecase=rocm
# Сборка llama.cpp с поддержкой ROCm
cd llama.cpp
mkdir build && cd build
cmake .. -DLLAMA_HIPBLAS=ON -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER=/opt/rocm/bin/hipcc \
-DCMAKE_CXX_COMPILER=/opt/rocm/bin/hipcc
make -j$(nproc)Для многокарточных конфигураций используйте layer splitting:
# Распределение слоёв по двум картам
./main -m models/granite-13b-q4_k_m.gguf \
-ngl 20 \
--tensor-split 10,10 \
-p "Вопрос: Как настроить многокарточную конфигурацию?"Выбор моделей для старого железа
Не все модели одинаково хорошо работают на ограниченных ресурсах. Рекомендую начинать с этих вариантов:
| Модель | Размер (Q4) | Требования RAM | Где работает |
|---|---|---|---|
| Qwen2.5-1.5B | ~0.9 ГБ | 2 ГБ | Raspberry Pi 4, старые ноутбуки |
| Granite-3B | ~1.8 ГБ | 4 ГБ | Raspberry Pi 5, Steam Deck |
| Mistral-7B | ~4.2 ГБ | 8 ГБ | Steam Deck, ПК с 16 ГБ RAM |
| Qwen2.5-7B | ~4.5 ГБ | 8 ГБ | Майнинг-риги, системы с GPU |
| Granite-13B | ~7.8 ГБ | 12 ГБ | Многокарточные системы |
Для загрузки моделей рекомендую Hugging Face и их квантованные версии в формате GGUF. Особенно хороши репозитории TheBloke, где есть готовые Q4_K_M версии большинства популярных моделей.
Оптимизация производительности
Настройка параметров llama.cpp
Ключевые параметры для старого железа:
./main -m model.gguf \
-c 2048 \ # Контекст (меньше = быстрее)
-b 512 \ # Batch size
-t 6 \ # Количество потоков CPU
-ngl 99 \ # Слои на GPU (99 = все возможные)
--mlock \ # Фиксация модели в RAM
--no-mmap \ # Отключение mmap для старых дисков
--temp 0.8 \ # Креативность
--repeat-penalty 1.1 # Штраф за повторенияОптимизация памяти
Для устройств с ограниченной RAM критически важны:
- ZRAM — сжатие оперативной памяти в реальном времени
- Huge Pages — уменьшение overhead памяти ядра
- OOM Killer настройка — приоритизация llama.cpp процессов
Настройка ZRAM на Raspberry Pi:
# Установка и настройка zram
sudo apt install zram-config
sudo nano /etc/default/zramswap
# Изменяем параметры:
ALGO=lz4
PERCENT=100
PRIORITY=100Реальные кейсы использования
Автономный ассистент на Raspberry Pi
Raspberry Pi 5 с 8 ГБ RAM может работать как автономный голосовой ассистент с локальной LLM. Используйте комбинацию:
- Qwen2.5-1.5B для понимания запросов
- Local TTS (Piper) для генерации речи
- Vosk для распознавания речи
Скорость ответа: 2-3 секунды на простые запросы.
Исследовательская станция на Steam Deck
Steam Deck в док-станции с монитором — отличная портативная LLM-лаборатория. Можно:
- Анализировать научные статьи (загружать PDF через llama.cpp)
- Писать код с локальным Copilot-аналогом
- Экспериментировать с разными моделями без облака
Сервер инференса на майнинг-риге
Старый майнинг-риг с 6x RX 580 (48 ГБ VRAM) может обслуживать несколько пользователей одновременно через llama.cpp RPC-server.
Такой сервер может обрабатывать до 5-10 запросов в минуту на 13B модели, что сравнимо с базовыми облачными предложениями, но полностью локально и бесплатно после первоначальных инвестиций в железо.
Распространённые ошибки и их решение
| Проблема | Причина | Решение |
|---|---|---|
| Segmentation fault при запуске | Недостаток RAM или неправильная сборка | Проверить free -h, пересобрать без AVX2 |
| Очень медленная генерация | Слишком большой контекст или batch | Уменьшить -c и -b параметры |
| CUDA/ROCm ошибки | Старые драйверы или карты | Использовать CPU-only или более старые версии ROCm |
| Модель не загружается | Неправильный формат или повреждение | Скачать заново, проверить sha256 |
Сравнение с другими подходами
Почему именно старое железо, а не:
- Облачные API — локальность, приватность, нет абонплаты
- Новое железо — цена, доступность, экологичность (reuse)
- Серверные решения — простота, низкое энергопотребление
Как показывают исследования в статье Local LLM vs API, старое железо окупается уже через 3-6 месяцев активного использования по сравнению с облачными API.
Будущее старых устройств в эпоху LLM
Тенденции на 2025-2026 годы:
- Ещё более эффективное квантование (2-битное с приемлемым качеством)
- Специализированные маленькие модели для edge-устройств
- Улучшение поддержки старых GPU в фреймворках
- Распределённые вычисления между разными типами устройств
Старое железо не умерло — оно нашло новое применение в эпоху локального ИИ. С каждым месяцем инструменты становятся лучше, а сообщество находит новые способы выжать максимум из казалось бы устаревшего оборудования.
FAQ частые вопросы
Какая минимальная RAM нужна для запуска LLM?
Абсолютный минимум — 2 ГБ RAM для 1.5B моделей в Q4. Для комфортной работы с 7B моделями нужно 8+ ГБ RAM. Подробнее в статье про минимальные требования VRAM.
Можно ли запустить Stable Diffusion на том же железе?
Да, многие принципы аналогичны. Смотрите гайд по Stable Diffusion на старом железе.
Что лучше: много старых карт или одна новая?
Для обучения — однозначно новая карта с большей VRAM. Для инференса — несколько старых карт могут быть выгоднее по цене за ГБ VRAM.
Как избежать перегрева?
Обязательно:
- Мониторить температуру (lm-sensors, nvidia-smi)
- Настроить троттлинг при превышении 80°C
- Использовать активное охлаждение
- Рассмотреть андервольтинг для снижения тепловыделения
Стоит ли покупать старое железо специально для LLM?
Только если вы получаете его по очень хорошей цене (например, майнинг-риг за 30% от первоначальной стоимости). В остальных случаях лучше рассмотреть оптимальные конфигурации для LLM.