Запускаем Gemma 4 на Raspberry Pi 5

Локальные нейросети обычно требуют мощных видеокарт и внушительных объемов памяти. Мы пойдем другим путем и попытаемся поднять свежую Gemma 4 от Google на обычной «малинке». Посмотрим, сможет ли Raspberry Pi 5 вытянуть модель на 2 миллиарда параметров и остаться в живых, раздавая API для внешних редакторов кода.

Что понадобится:

  • raspberry Pi 5 (рекомендуется версия на 8 ГБ ОЗУ)
  • быстрый накопитель (NVMe SSD через PCIe shield сильно лучше медленной SD-карты)
  • установленный Ubuntu Server без графического окружения
  • ноутбук или десктоп с редактором Zed для тестов

Подготовка сервера и установка LM Studio

Подключаемся к плате по SSH. Так как графического интерфейса у нас нет, будем использовать консольную версию LM Studio. Разработчики предусмотрели удобный bash-скрипт для установки headless-версии.

Шаг 1. Скачиваем и устанавливаем CLI-версию утилиты.

StoDum
curl -fsSL https://lmstudio.ai/install.sh | bash

Шаг 2. Запускаем фоновый демон.

StoDum
lms daemon up

Совет. Если вы используете внешний SSD, заранее измените директорию загрузки моделей в конфигурационном JSON-файле LM Studio. Забивать системную SD-карту весами нейросетей плохая идея.

Скачивание и запуск Gemma 4

Для нашего эксперимента нужна самая компактная версия модели из нового семейства. Выбираем версию e2b весом около 4.5 ГБ. Google заявляет поддержку агентных воркфлоу, встроенный reasoning и окно контекста на 128 тысяч токенов.

Шаг 3. Скачиваем веса модели.

StoDum
lms get google/gemma-4-e2b

Шаг 4. Загружаем модель в оперативную память.

StoDum
lms load google/gemma-4-e2b

После загрузки процесс займет примерно половину доступной оперативной памяти на 8-гигабайтной плате. Убедиться в этом можно через консольную утилиту htop.

Шаг 5. Стартуем локальный API-сервер на порту 4000.

StoDum
lms server start --port 4000

Для проверки работоспособности дергаем локальный эндпоинт.

StoDum
curl http://localhost:4000/v1/models

В ответ прилетит JSON со списком доступных моделей, где должна фигурировать наша Gemma 4.

Проброс портов через socat

Сервер LM Studio по умолчанию слушает только локальный интерфейс. Попытка запустить его с параметром --host 0.0.0.0 в консольной версии выдает ошибку. Чтобы достучаться до API с основного компьютера в локальной сети, воспользуемся классической утилитой socat.

Шаг 6. Создаем сетевой мост, перенаправляя трафик с внутреннего порта 4000 на внешний порт 4001.

StoDum
socat TCP4-LISTEN:4001,fork,reuseaddr TCP4:127.0.0.1:4000

Возвращаемся за основной рабочий компьютер и тестируем соединение по сети. Подставьте реальный IP-адрес вашей платы.

StoDum
curl http://[IP_малинки]:4001/v1/models

Настройка Zed и тесты

Сервер LM Studio полностью совместим со стандартом OpenAI API. Вы можете скормить этот эндпоинт любому современному чат-клиенту или редактору кода вроде VS Code. Мы настроим среду в редакторе Zed.

Шаг 7. Открываем настройки Zed и добавляем кастомный эндпоинт в блок конфигурации языковых моделей.

StoDum
"language_models": {
  "openai_compatible": {
    "lm-studio-rpi5-local": {
      "api_url": "http://[IP_малинки]:4001/v1",
      "available_models":[
        {
          "name": "google/gemma-4-e2b",
          "max_tokens": 200000,
          "max_prompt_tokens": 200000,
          "max_completion_tokens": 200000,
          "capabilities": {
            "tools": true,
            "parallel_tool_calls": false,
            "prompt_cache_key": false,
            "chat_completions": true
          }
        }
      ]
    }
  }
}

Открываем панель ассистента в редакторе, выбираем свежедобавленную модель и пишем тестовый промпт. Обычные короткие приветствия отрабатывают быстро.

Если дать задачу сложнее, например, написать Python-скрипт для сортировки списка объектов, скорость ожидаемо падает. Модель включает внутренний процесс размышления, генерирует код и пишет подробные объяснения. На мощностях Raspberry Pi полная генерация ответа занимает около 6 минут. С генерацией объемных текстовых идей нейросеть справляется примерно за 5 минут.

Резюме эксперимента

Запускать LLM на Raspberry Pi можно, если вас не смущает задержка генерации. Для фоновых задач автоматизации, обработки логов или сценариев умного дома такой связки вполне достаточно. Если хотите ускорить выдачу ответа, попробуйте жестко отключить режим reasoning в системном промпте. Это избавит слабую плату от необходимости генерировать цепочки рассуждений перед выдачей полезного кода.