Поэтому я не упускаю момента развернуть на нём всё что только возможно. Недавно мне подкинули идею установки LLM Qwen, мол, ресурсы позволяют. Что ж, «а почему бы и да», подумал я, и приступил к пробам.

Почему именно Qwen2.5 и Orange Pi?
Прежде чем переходить к командам, важно понять контекст. Если вы искали способ запустить локальный ИИ на Orange Pi, то связка процессора RK3588 и модели Qwen2.5-7B — это один из лучших вариантов на сегодня. Модель достаточно «умная» для большинства задач (код, тексты, анализ), но при этом компактная enough, чтобы поместиться в оперативную память платы.
Для тех, кто хочет обеспечить безопасность данных при работе с ИИ, запуск модели локально (offline) означает, что ваши документы и переписки никогда не покинут пределы устройства. Это критично для малого бизнеса или работы с конфиденциальной информацией.
Подготовка системы
Первым делом обновляем пакеты и ставим необходимый софт. Без этих инструментов собрать llama.cpp (движок, на котором мы будем запускать модель) не получится.
sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential cmake git curl wget libgomp1 ufw
Разбор инструментов:
build-essential, cmake — компилятор и система сборки. Ключевые компоненты для ответа на запрос «как собрать llama.cpp на Linux ARM64».
libgomp1 — библиотека OpenMP. Она критична для многопоточности. Без неё модель будет работать в одном потоке, что крайне медленно. Это важный нюанс для тех, кто изучает «оптимизацию LLM на многоядерных процессорах».
ufw — фаервол. Поскольку мы будем открывать веб-интерфейс наружу, нужно явно разрешить доступ только к нужным портам.
Настройка правил фаервола (порт 8081 выбран, так как 8080 у меня занят другим веб-сервером):
sudo ufw allow 22/tcp # SSH, чтобы не потерять доступ к плате
sudo ufw allow 8080/tcp # Ваш основной веб-сервер
sudo ufw allow 8081/tcp # Порт для нашего ИИ-сервера
sudo ufw enable
sudo ufw reload
Проверяем статус:
sudo ufw status
cmake --version
Сборка движка llama.cpp
Теперь скачиваем и компилируем сам движок. Мы используем llama.cpp, так как это самый эффективный способ запуска GGUF-моделей на CPU. Это прямой ответ на частый вопрос энтузиастов: «как запустить GGUF модели на Orange Pi 5B».
cd ~
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
cmake -B build -DGGML_NATIVE=ON
cmake --build build -j8
Что здесь происходит?
git clone — скачивает исходники проекта (~300 МБ).
cmake -B build -DGGML_NATIVE=ON — конфигурирует сборку. Флаг GGML_NATIVE=ON важен! Он заставляет компилятор использовать инструкции, специфичные для вашего процессора (ARMv8.2-A + FP16), что дает прирост скорости. Это ключевой момент для тех, кто ищет «максимальную производительность Qwen на RK3588».
cmake --build build -j8 — запускает компиляцию в 8 потоков (у Orange Pi 5B как раз 8 производительных ядер).
Проверяем успешность сборки:ls -la build/bin/llama-server
Вы должны увидеть исполняемый файл размером около 15–20 КБ. Также можно вывести справку, чтобы убедиться, что бинарник рабочий:
./build/bin/llama-server --help
Если Вы видите список флагов (-h, -c, -t и т.д.), значит, всё собрано корректно.
Загрузка модели Qwen2.5-7B
Это самый долгий этап. Нам нужна модель в формате GGUF. Этот формат оптимизирован для запуска на CPU и является стандартом де-факто для локальных LLM.
Многие пользователи спрашивают: «какую версию Qwen2.5 выбрать для 8 ГБ ОЗУ?». Ответ: квантованную версию Q4_K_M. Она занимает около 4.7 ГБ на диске и требует примерно 5–6 ГБ оперативной памяти во время работы, оставляя запас системе.
Создаем папку и качаем модель (ссылка может устареть, актуальные всегда ищите на Hugging Face по запросу Qwen2.5-7B-Instruct-GGUF):
mkdir -p ~/llm-models
cd ~/llm-models
wget -O qwen2.5-7b-instruct-q4_k_m.gguf "https://huggingface.co/bartowski/Qwen2.5-7B-Instruct-GGUF/resolve/main/Qwen2.5-7B-Instruct-Q4_K_M.gguf"
Если ссылка не работает, найдите репозиторий bartowski или MaziyarPanahi на Hugging Face и скопируйте прямую ссылку на файл Q4_K_M.gguf. Это решит проблему «где скачать актуальные GGUF модели для Qwen».
Запуск локального сервера
Запускаем модель. Так как порт 8080 занят, вешаемся на 8081.
cd ~/llama.cpp
./build/bin/llama-server \
-m ~/llm-models/qwen2.5-7b-instruct-q4_k_m.gguf \
-t 8 \
-c 2048 \
--host 0.0.0.0 \
--port 8081
-m ... — путь к файлу модели.
-t 8 — количество потоков. Устанавливаем равным количеству физических ядер (8). Это отвечает на запрос «настройка количества потоков для llama.cpp на Orange Pi».
-c 2048 — размер контекста (количество токенов, которые модель «помнит» в диалоге). 2048 — безопасное значение для 8 ГБ RAM. Если поставить больше (например, 8192), модель может упасть из-за нехватки памяти (OOM). Это частая ошибка при попытке «увеличить контекстное окно Qwen на слабом железе».
--host 0.0.0.0 — слушать все интерфейсы (чтобы можно было зайти с другого компьютера в сети).
--port 8081 — порт доступа.
Проверка работы
После запуска консоль замолкнет, начнется загрузка весов в память. Не трогайте терминал. Откройте браузер на любом устройстве в вашей локальной сети и перейдите по адресу:
http://
(Узнать IP-адрес Orange Pi можно командой ip a)
Если всё прошло успешно, Вы увидите сообщение:
The model is loading. Please wait.
The user interface will appear soon.
Через минуту (зависит от скорости чтения с SD-карты или NVMe) появится чат-интерфейс.

Что дальше? Оптимизация и нюансы
Если Вы добились успеха, отлично! Вы запустили полноценный автономный ИИ-ассистент на одноплатнике. Однако есть несколько моментов, которые стоит учесть для стабильной работы:
Скорость генерации. На Orange Pi 5B в такой конфигурации вы получите примерно 3–5 токенов в секунду. Это медленно для чтения в реальном времени, но вполне приемлемо для асинхронной работы. Если вам важна скорость, изучите тему «использование NPU RK3588 для ускорения LLM», но учтите, что настройка NPU через RKNN требует гораздо больше усилий и не всегда поддерживает новые модели сразу.
Нагрев. При длительной генерации процессор RK3588 греется. Обязательно используйте активное охлаждение (вентилятор + радиатор). Без него троттлинг снизит скорость генерации вдвое.
Swap-файл. Если вы хотите поэкспериментировать с более тяжелыми моделями (например, Qwen2.5-14B) или увеличить контекст, вам обязательно понадобится swap-файл на быстром NVMe SSD. На SD-карте swap работать будет катастрофически медленно. Это решение для тех, кто сталкивается с ошибкой «Out of Memory при запуске больших моделей на Orange Pi».
Теперь у Вас есть собственный приватный чат-бот, который не требует интернета, не отправляет данные в облако и полностью контролируется Вами. Идеальная база для домашних экспериментов или корпоративных инструментов!







