Как запустить Qwen локально: три рабочих способа

Qwen — семейство открытых языковых моделей от Alibaba. Их можно запустить на своём компьютере без облака и без платных API. В этом гайде разберём три способа: через Ollama (самый простой), через Docker и через llama.cpp (максимальный контроль).


Что понадобится перед стартом

  • ОЗУ: минимум 8 ГБ для моделей 7B, 16–32 ГБ для 14B–32B
  • GPU (опционально): NVIDIA с поддержкой CUDA ускоряет инференс в разы
  • Место на диске: от 5 ГБ (квантизованные модели) до 60+ ГБ (fp16)
  • ОС: Linux, macOS или Windows (WSL2)

Способ 1. Ollama — быстрый старт за 5 минут

Ollama — самый простой способ запустить Qwen локально. Не нужно настраивать окружение Python или собирать бинарники.

Шаг 1. Установка Ollama

Перейдите на ollama.com и скачайте установщик для вашей ОС. Для Linux — одна команда:

bash
curl -fsSL https://ollama.com/install.sh | sh

Шаг 2. Загрузка и запуск модели

Запустите Qwen3 14B в формате fp16:

bash
ollama run qwen3:14b-fp16

Или более лёгкую квантизованную версию Qwen2.5 32B:

bash
ollama run qwen2.5:32b-instruct-q5_1

Для задач с кодом — специализированная модель:

bash
ollama run qwen2.5-coder

Шаг 3. Первый запрос

После загрузки модели Ollama откроет интерактивный чат прямо в терминале:

plain
>>> Привет! Напиши функцию на Python для сортировки списка.

Чтобы выйти из чата, введите /bye.

Шаг 4. API-доступ

Ollama автоматически поднимает локальный сервер на порту 11434. Можно обращаться к нему как к REST API:

bash
curl http://localhost:11434/api/generate \
  -d '{"model": "qwen3:14b-fp16", "prompt": "Привет!", "stream": false}'

Способ 2. Docker — изолированное окружение

Подходит, если не хотите засорять систему зависимостями или нужен воспроизводимый деплой.

Шаг 1. Установка Docker

Установите Docker Engine и, если есть NVIDIA GPU, — NVIDIA Container Toolkit.

Шаг 2. Загрузка официального образа Qwen

bash
docker pull qwenllm/qwen

Шаг 3. Запуск контейнера с GPU

bash
docker run --gpus all \
  -v /path/to/models:/models \
  -p 8000:8000 \
  qwenllm/qwen

Замените /path/to/models на локальную папку, куда предварительно скачали веса модели с Hugging Face.


Способ 3. llama.cpp — максимальный контроль

Подходит для тонкой настройки, работы с GGUF-моделями и встраивания в собственные пайплайны.

Шаг 1. Сборка llama.cpp с поддержкой CUDA

bash
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
cmake -B build -DGGML_CUDA=ON
cmake --build build --config Release

Если GPU нет, уберите флаг -DGGML_CUDA=ON.

Шаг 2. Загрузка GGUF-модели с Hugging Face

Найдите нужную модель на huggingface.co в разделе Qwen (например, Qwen/Qwen2.5-7B-Instruct-GGUF) и скачайте .gguf-файл:

bash
huggingface-cli download Qwen/Qwen2.5-7B-Instruct-GGUF \
  qwen2.5-7b-instruct-q5_k_m.gguf \
  --local-dir ./models

Шаг 3. Запуск через llama-cli

bash
./build/bin/llama-cli \
  -m ./models/qwen2.5-7b-instruct-q5_k_m.gguf \
  -p "Привет! Расскажи о себе." \
  -n 256

Шаг 4. Запуск API-сервера

bash
./build/bin/llama-server \
  -m ./models/qwen2.5-7b-instruct-q5_k_m.gguf \
  --port 8080

Сервер поднимается на http://localhost:8080 и принимает запросы в формате OpenAI API.


Способ 4. Python + Transformers

Если вы работаете в Python-экосистеме и хотите встроить Qwen в свой код.

Установка зависимостей

bash
pip install transformers accelerate

Для ускорения на GPU дополнительно установите Flash Attention:

bash
pip install flash-attn --no-build-isolation

Запуск инференса

python
from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "Qwen/Qwen2.5-7B-Instruct"

tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    torch_dtype="auto",
    device_map="auto"
)

messages = [{"role": "user", "content": "Привет! Что ты умеешь?"}]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer([text], return_tensors="pt").to(model.device)

outputs = model.generate(**inputs, max_new_tokens=512)
response = tokenizer.decode(outputs[0][len(inputs.input_ids[0]):], skip_special_tokens=True)
print(response)

OpenAI-совместимый сервер через vLLM

bash
pip install vllm
bash
vllm serve Qwen/Qwen2.5-7B-Instruct --dtype auto --api-key token-abc123

Сервер запустится на http://localhost:8000 и будет принимать запросы в формате OpenAI API.


Сравнение способов

СпособСложностьGPUСкорость стартаЛучше всего для
Ollama★☆☆Опционально5 минутБыстрый старт, чат
Docker★★☆Опционально10–15 минутИзолированный деплой
llama.cpp★★★Опционально20–30 минутGGUF, тонкая настройка
Transformers★★☆Рекомендуется10 минутPython-интеграция
vLLM★★★Обязательно15–20 минутПродакшн API-сервер

Типичные ошибки и как их исправить

`CUDA out of memory` Модель не помещается в видеопамять. Выберите более лёгкую квантизацию (Q4 вместо fp16) или добавьте параметр --n-gpu-layers 20 в llama.cpp, чтобы часть слоёв считалась на CPU.

`ollama: command not found` Ollama не добавилась в PATH. Перезапустите терминал или выполните source ~/.bashrc.

`No module named 'transformers'` Зависимости установлены не в то окружение. Проверьте активный venv: which python и переустановите пакеты.

Модель скачивается слишком долго Используйте зеркало Hugging Face или скачивайте через huggingface-cli с флагом --resume-download — он продолжит загрузку после обрыва.

Docker: `could not select device driver "nvidia"` Не установлен NVIDIA Container Toolkit. Следуйте официальной инструкции NVIDIA и перезапустите Docker-демон.


FAQ

Можно ли запустить Qwen без GPU?

Да. Все три способа работают на CPU. Ollama и llama.cpp с квантизованными моделями (Q4_K_M) дают приемлемую скорость даже на обычном ноутбуке — около 5–15 токенов в секунду на современном процессоре.

Какую версию Qwen выбрать для начала?

Для старта подойдёт Qwen2.5-7B-Instruct в квантизации Q5 — хороший баланс качества и скорости. Если нужна работа с кодом, берите qwen2.5-coder.

Как подключить локальный Qwen к сторонним приложениям?

Ollama и llama-server поднимают OpenAI-совместимый API. В настройках приложения укажите base URL http://localhost:11434 (Ollama) или http://localhost:8080 (llama-server) и любой API-ключ — большинство клиентов примут его без проверки.

Нужна ли регистрация для скачивания моделей?

Для большинства моделей Qwen на Hugging Face регистрация не нужна. Некоторые версии могут требовать принятия лицензии — это делается через веб-интерфейс HF после входа в аккаунт.

Чем отличается Qwen3 от Qwen2.5?

Qwen3 — более новое поколение, включает как плотные модели, так и MoE-архитектуры. Qwen2.5 по-прежнему актуален и хорошо поддерживается всеми инструментами из этого гайда.


Источники

  • https://unsloth.ai/docs/jp/moderu/qwen3.5
  • https://qwen.readthedocs.io/en/v2.0/getting_started/quickstart.html
  • https://mintlify.wiki/QwenLM/Qwen/installation
  • https://mintlify.wiki/QwenLM/Qwen/deployment/docker
  • https://registry.ollama.com/library/qwen3:14b-fp16
  • https://ollama.com.tw/library/qwen2.5:32b-instruct-q5_1
  • https://ollama.com.tw/library/qwen2.5-coder