Эксперименты 4 сентября 2025 7 мин чтения

Системные требования: OpenAI gpt-oss-20b на старом «железе»: запускаем без видеокарты

Запускаем открытую модель gpt-oss-20b от OpenAI на старом ПК без дискретной видеокарты. Что получилось - рассказываем ниже.

Если ввести в поиске запрос «системные требования к gpt-oss-20b», в первых результатах вы увидите рекомендации вроде «нужна современная видеокарта уровня RTX 3070/3090». Мы же попробуем пойти против течения: запустить эту модель на старом компьютере без видеокарты и посмотреть, на что он способен.

Тестовый стенд

Процессор AMD FX‑6300 (релиз 2012 года)
Оперативная память 16 ГБ DDR3

Когда‑то это был вполне топовый домашний ПК, но сегодня его производительность сопоставима с самыми бюджетными решениями уровня Pentium N150.

Установка окружения

Мы установили бесплатную ОС Ubuntu 20.04 и поставили в эту систему:

  • llama.cpp - движок для локального запуска LLM в формате GGUF;
  • llama-cpp-python - Python-обертка для работы с llama.cpp.

Устанавливаем CPU-сборку (в нашем ПК нет дискретного GPU):

pip install llama-cpp-python \ --extra-index-url https://abetlen.github.io/llama-cpp-python/whl/cpu

Для чистоты эксперимента мы работаем из терминала, без GUI-оболочек для чатов, чтобы эти оболочки не отнимали дополнительных ресурсов.

Загрузка модели

Далее мы загрузили веса с Hugging Face:

В этих моделях gpt-oss слои MoE изначально обучаются в 4‑битной точности (MXFP4). Из-за этой особенности на момент эксперимента для llama.cpp нет «более лёгких» квантованных вариантов, которые заметно снижали бы потребление памяти по сравнению с официальным вариантом.

Для теста мы использовали вариант:

  • gpt-oss-20b-Q8_0.gguf (≈12 ГБ)

Минимальный запуск

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

from llama_cpp import Llama llm = Llama(model_path="gpt-oss-20b-Q8_0.gguf") resp = llm.create_chat_completion( messages=[ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Где живет бегемот?"}, ], max_tokens=128, temperature=1.0, )

Для удобства тестирования мы расширили минимальный скрипт до интерактивного диалога со стримингом токенов - чтобы видеть ответ по мере генерации.

Результаты и наблюдения

  • Скорость генерации: примерно 2,5 слова в секунду.

В целом этого хватило бы для неспешного диалога: 150 слов/мин - это близко к скорости чтения средним человеком (200--250 слов/мин).

GIF-анимация ответа модели

Однако есть нюанс. gpt-oss-20b - «рассуждающая» модель. Перед формированием финального ответа она генерирует внутренние рассуждения, зачастую на английском. На CPU это приводит к ощутимой задержке: пока модель «думает», приходится ждать и наблюдать поток непонятных мыслей. В результате использовать модель на нашей машине весьма некомфортно.

Мы последовали документации и задали низкий уровень рассуждений:

{"role": "system", "content": "Reasoning: low"}

Объём размышлений сократился незначительно, а вот сам ответ стал короче - вплоть до «Бегемот живёт в Африке». Это конечно быстрее, но в реальности малополезно.

Официально настройки, чтобы полностью выключить рассуждения в этой модели нет, но можно вручную сформировать системный промпт в «harmony»‑формате, чтобы обойти вывод канала анализа.

Пример вызова:

from llama_cpp import Llama llm = Llama(model_path="gpt-oss-20b-Q8_0.gguf") print( llm( "<|start|>system<|message|>Reasoning: low<|end|>" "<|start|>user<|message|>Где живет бегемот?<|end|>" "<|channel|>analysis<|message|> " "<|channel|>analysis<|message|> " "<|channel|>analysis <|message|>\n" "<|start|>assistant<|channel|>final<|message|>", max_tokens=128 )["choices"][0]["text"].strip() )

Пояснение: модели gpt-oss обучены на «harmony response format». Явное переключение в канал final позволяет подавить вывод «аналитического» канала в ответ пользователю. Это не официальная рекомендация, но на практике помогает убрать задержки от длинного потока рассуждений.

Результат: ответ начинается сразу, общая длительность вывода около 40 секунд.

GIF-анимация ответа без рассуждений

Хотя модель становится «глупее», но для простых задач этого режима более чем достаточно. Например, даже так модель способна писать код на Python.

GIF-анимация генерации кода

Можно ли обойтись меньшим объемом ОЗУ, чем 16 GB? Потребление памяти в наших опытах составило 64%, поэтому для коротких вопросов и ответов возможно удастся запустить модель на системе с 12 GB памяти.

Вывод

В целом поразительно, что модель такого уровня сегодня можно запустить на старом «железе» и получить если не отличный, то приемлемый результат. Такую возможность мы имеем благодаря развитию алгоритмов - еще пару лет назад подобное было бы фантастикой.

Однако, gpt-oss в целом мало подходит для дешевых ПК в силу большого потребления ОЗУ и долгих рассуждений. В следующих выпусках нашего блога мы рассмотрим более подходящие для слабых ПК модели и расскажем о полезных трюках. Следите за обновлениями.

Если вам нужна полностью настроенная локальная модель ИИ с абсолютной приватностью данных и удобным интерфейсом, обратите внимание на наше предложение «ИИ в коробке»