Результат: после этой инструкции вы сможете запустить модель на CPU без GPU тремя официально подтвержденными способами: в Python через PyTorch и Hugging Face Transformers, локально через llama.cpp и максимально быстро через Ollama. Для каждого маршрута ниже есть отдельная проверка, что вычисления действительно идут через CPU.
- Время: 15–40 минут
- Сложность: начальный–средний
- Стоимость: в источниках из набора не указаны региональные цены; в статье рассматривается только локальный запуск на вашем компьютере
- Что потребуется: macOS, Windows или Linux; терминал; для Python-маршрута — Python и пакетный менеджер; для
llama.cpp— локальная модель, обычно GGUF; для Ollama — установленное приложение или CLI - Актуальная версия: официальные страницы PyTorch Start Locally, документация Hugging Face Transformers ветки
main, репозиторийllama.cppветкиmasterи документация Ollama, проверено 2026-08-15
| Маршрут | Когда выбирать | Как задать CPU | Как проверить |
|---|---|---|---|
| PyTorch + Transformers | Если у вас свой Python-код и нужен прямой inference без отдельного рантайма | В PyTorch выберите Compute Platform = CPU; в Transformers pipeline работает на CPU по умолчанию, явно можно задать device=-1 |
Проверка импорта PyTorch, создание тензора, torch.cuda.is_available(), затем запуск pipeline |
llama.cpp |
Если нужна локальная GGUF-модель и контроль над бэкендами или локальный HTTP-сервер | Запускайте с --device none; при необходимости сначала посмотрите устройства через --list-devices |
Проверьте endpoint /health; после успешной загрузки он должен вернуть статус ok |
| Ollama | Если нужен самый короткий локальный запуск через CLI | В quickstart показан запуск модели; фактическое размещение на CPU проверяйте командой ollama ps |
Статус 100% CPU в ollama ps означает, что модель полностью находится в системной памяти |
Практический вердикт: если нужен самый короткий путь без Python-кода, начинайте с Ollama. Если у вас уже есть свой Python-пайплайн, не добавляйте лишний рантайм и используйте PyTorch + Transformers. Если нужна GGUF-модель и локальный HTTP-сервер, берите llama.cpp.
Редакционное ограничение: часть официальных страниц в этой теме привязана к веткам main и master, а не к фиксированному релизу. Это значит, что отдельные команды и формулировки на страницах могут измениться после 2026-08-15. Поэтому для PyTorch безопаснее копировать установочную команду прямо из селектора Start Locally, а не из старых заметок или сторонних статей.
Маршрут 1: Python через PyTorch и Transformers
Этот путь подходит, если вы запускаете модель из собственного Python-кода и хотите обойтись без GPU и без отдельного локального сервера.
- Откройте страницу PyTorch Start Locally и выберите
Compute Platform = CPU. Скопируйте команду, которую страница сгенерирует под вашу ОС и пакетный менеджер. Ожидаемый результат: у вас есть актуальная команда установки CPU-сборки без CUDA. - Выполните сгенерированную команду установки. Не подставляйте заранее сохраненную команду из старых инструкций: в наборе источников отдельно отмечено, что точный установочный фрагмент может меняться по версии страницы. Ожидаемый результат: PyTorch установлен в текущее окружение.
- Проверьте, что библиотека запускается и окружение не опирается на CUDA.
import torch
x = torch.rand(5, 3)
print(x)
print(torch.cuda.is_available())
Ожидаемый результат: код создает тензор; проверка torch.cuda.is_available() помогает убедиться, доступна ли CUDA в окружении.
- Запустите inference через Transformers на CPU. В официальном tutorial для
pipelineCPU используется по умолчанию; это соответствуетdevice=-1. Если хотите зафиксировать поведение явно, передайтеdevice=-1.
from transformers import pipeline
pipe = pipeline(task='<ваша-задача>', model='<ваша-модель>', device=-1)
result = pipe('<ваш-вход>')
print(result)
Ожидаемый результат: вы получаете ответ модели без переключения на GPU. Не используйте device одновременно с device_map: официальная документация Pipelines предупреждает, что эти параметры не следует совмещать.
Если базовый запуск на CPU оказывается слишком медленным, текущая CPU-страница Transformers в ветке main перечисляет официальные направления оптимизации: Optimum/ONNX Runtime, BetterTransformer, TorchScript, Intel Extension for PyTorch и OpenVINO. Практическое ограничение здесь в том, что эта страница сама помечена как main-документация и указывает на установку из исходников.
Маршрут 2: llama.cpp на CPU с локальным сервером
Этот путь удобен, когда у вас уже есть локальная LLM и вам нужен контролируемый CPU-запуск, обычно с GGUF-моделью.
- Подготовьте путь к локальной модели. В supplied sources отдельно отмечено практическое ограничение: для
llama.cppобычно используются GGUF или квантизированные варианты модели, и не все возможности исходных моделей доступны без адаптации. Ожидаемый результат: у вас есть путь вида/path/to/model.gguf. - Для server-маршрута проверьте, какие устройства видит бинарник. Официальный build guide советует использовать флаг
--list-devices.
llama-server --list-devices
Ожидаемый результат: вы видите список доступных устройств и понимаете, нужно ли дополнительно отключать более приоритетные бэкенды.
- Запустите сервер и принудительно отключите GPU. В build guide для полного CPU-режима официально указан вариант запуска с
--device none.
llama-server -m /path/to/model.gguf --device none
Ожидаемый результат: модель загружается, а сервер стартует без использования GPU-устройства.
- Проверьте состояние сервера через HTTP. В server README официальный способ проверки — endpoint
/health, который после успешной загрузки модели должен вернуть статусok.
curl http://localhost:<порт_вашего_сервера>/health
Ожидаемый результат: вы получаете ответ со статусом ok.
Если сервер все равно пытается использовать GPU-бэкенд, официальная документация по сборке отдельно указывает два рычага: отключать более приоритетные бэкенды на этапе сборки или запускать бинарник с --device none.
Маршрут 3: Ollama без GPU
Это самый короткий путь, если вам не нужен собственный Python-код и вы хотите быстро поднять локальную модель через CLI.
- Установите Ollama для вашей ОС. В официальном Quickstart указана установка приложения для macOS, Windows или Linux. Ожидаемый результат: CLI
ollamaдоступен в системе. - Запустите модель командой из Quickstart.
ollama run gemma4
Ожидаемый результат: модель запускается локально и готова к работе в CLI.
- Проверьте, что модель реально находится в CPU. В официальном FAQ сказано, что
ollama psпоказывает, размещена ли модель в GPU или CPU; значение100% CPUозначает, что модель полностью находится в системной памяти.
ollama ps
Ожидаемый результат: вы видите статус 100% CPU, если модель целиком работает из системной памяти.
- Если нужен полностью локальный режим, отключите облако. Официальный FAQ допускает два варианта: задать переменную окружения
OLLAMA_NO_CLOUD=1или включитьdisable_ollama_cloudв~/.ollama/server.json. После этого в логах должно отображаться, что облако отключено.
Ожидаемый результат: вы получаете локальный режим без облачной части, насколько это описано в официальном FAQ.
Как проверить, что всё работает
| Инструмент | Что сделать | Что считать успехом |
|---|---|---|
| PyTorch | Запустить тестовый код с torch.rand(5, 3) и torch.cuda.is_available() |
Тензор создается, а проверка CUDA дает вам понятный ответ о доступности CUDA в окружении |
| Transformers | Запустить pipeline без указания GPU или явно с device=-1 |
Модель возвращает результат inference на CPU |
llama.cpp |
Открыть endpoint /health у локального сервера |
Сервер возвращает статус ok после загрузки модели |
| Ollama | Выполнить ollama ps |
Строка 100% CPU означает, что модель полностью находится в системной памяти |
Если вам важна именно верификация режима без GPU, маршруты различаются. Для PyTorch это проверка окружения, для Transformers — явный device=-1, для llama.cpp — принудительный --device none, для Ollama — наблюдение через ollama ps.
Частые ошибки и исправления
- Ошибка: вы поставили не ту сборку PyTorch или скопировали старую команду установки.
Решение: заново откройте страницу Start Locally, выберите вашу ОС иCompute Platform = CPU, затем скопируйте новую команду прямо из селектора. - Ошибка: в Transformers одновременно заданы
deviceиdevice_map.
Решение: не совмещайте эти параметры. Официальная документация Pipelines отдельно предупреждает, чтоdevice_mapне следует использовать одновременно сdevice. - Ошибка:
llama.cppвсе равно пытается использовать GPU-бэкенд.
Решение: сначала посмотрите доступные устройства через--list-devices, затем запускайте с--device none. Если этого недостаточно, официальный build guide рекомендует отключать более приоритетные бэкенды на этапе сборки. - Ошибка: в Ollama вы не уверены, что модель идет по CPU, или хотите убрать облачную часть.
Решение: проверьтеollama ps; статус100% CPUозначает полностью CPU-размещение. Для локального-only режима используйтеOLLAMA_NO_CLOUD=1илиdisable_ollama_cloudв~/.ollama/server.json, затем проверьте логи. - Ошибка: на CPU все работает, но слишком медленно.
Решение: универсальной скорости здесь нет: в наборе источников отдельно отмечено, что результат зависит от ISA CPU, объема памяти, квантизации и размера модели. Для оптимизации смотрите официальную CPU-страницу Transformers, где перечислены Optimum/ONNX Runtime, BetterTransformer, TorchScript, Intel Extension for PyTorch и OpenVINO.
Безопасность и ограничения
- Не фиксируйте команды из старых статей. Для PyTorch точный установочный фрагмент безопаснее брать только со страницы Start Locally через выбор
Compute Platform = CPU. - Учитывайте нестабильность веточных страниц. Документация Hugging Face CPU и страницы
llama.cppиз этого материала привязаны кmainиmaster; после даты проверки они могут измениться без смены версии в заголовке статьи. - Не ожидайте универсальной производительности. Официальные источники не дают общего обещания по скорости CPU; она зависит от архитектуры процессора, памяти, размера модели и степени квантизации.
- Для
llama.cppзакладывайте ограничение по формату модели. На практике этот путь обычно предполагает GGUF или квантизированные варианты модели, а часть возможностей исходных моделей может потребовать адаптации. - Если важна локальность в Ollama, включайте ее явно. Официальный FAQ позволяет отключить облако через
OLLAMA_NO_CLOUD=1илиdisable_ollama_cloudв~/.ollama/server.json, после чего статус нужно подтвердить по логам. - Эта инструкция не сравнивает цены и не обещает конкретные бенчмарки. В supplied sources нет региональных цен и универсальных цифр производительности, поэтому практический выбор делайте по типу задачи, а не по чужим FPS/токенам в секунду.
Что делать дальше
- Если модель не помещается в память или вам нужен более легкий локальный формат, перейдите к инструкции Как квантизировать модель (GGUF, GPTQ, AWQ).
- Если хотите локальный запуск через GUI вместо CLI, посмотрите Как запустить LLM на своём компьютере через LM Studio.
- После первого запуска проверьте фактическое качество ответов по задаче, а не только сам факт работы: Как проверить модель на галлюцинации.
- Если обычного inference уже мало и вы думаете о настройке модели под свой датасет, начните с материала Как файн-тюнить модель: с чего начать.
Источники
- Start Locally | PyTorch
- Pipeline · Hugging Face
- Pipelines · Hugging Face
- CPU · Hugging Face
- llama.cpp/README.md at master · ggml-org/llama.cpp · GitHub
- llama.cpp/docs/build.md at master · ggml-org/llama.cpp · GitHub
- llama.cpp/tools/server/README.md at master · ggml-org/llama.cpp · GitHub
- Quickstart – Ollama
- FAQ – Ollama
- CLI Reference – Ollama
Вопросы и ответы
Можно ли запустить модель на CPU вообще без Python?
Да. По официальным источникам для этого подходят как минимум два маршрута: llama.cpp и Ollama. Первый удобен для GGUF-моделей и локального сервера, второй — для самого быстрого CLI-запуска.
Нужно ли явно задавать CPU в Hugging Face Transformers?
Не обязательно. В official pipeline tutorial указано, что pipeline по умолчанию работает на CPU; это соответствует device=-1. Если хотите зафиксировать поведение явно, используйте device=-1, но не комбинируйте его с device_map.
Как полностью отключить GPU в llama.cpp?
Официальный build guide рекомендует либо отключать более приоритетные бэкенды на этапе сборки, либо запускать бинарник с --device none. Перед этим удобно посмотреть список устройств через --list-devices.
Как понять, что Ollama действительно использует CPU?
Проверьте ollama ps. В официальном FAQ сказано, что значение 100% CPU означает, что модель полностью находится в системной памяти.
Можно ли использовать Ollama без облака?
Да. Официальный FAQ указывает два способа: переменная окружения OLLAMA_NO_CLOUD=1 или параметр disable_ollama_cloud в ~/.ollama/server.json. После этого в логах должно отображаться, что облако отключено.