Свой ИИ на Ollama: чего ждать от CPU
Ollama — это инструмент, который запускает открытые модели ИИ на вашем сервере. У серверов Seturack нет видеокарты (GPU), поэтому модели работают на CPU. Это значит, что небольшие модели (1–4 миллиарда параметров) пригодны для чата и коротких задач, модели на 7–8 миллиардов параметров работают, но медленно, а более крупные непрактичны. Размер файла модели — нижняя граница RAM, которую стоит под неё выделить.
Замечания о скорости в этой статье основаны на общем опыте, а не на замерах на серверах Seturack. Размеры моделей взяты из собственной библиотеки Ollama.
Модель должна поместиться в RAM
| Модель | Параметры | Размер файла |
|---|---|---|
llama3.2:1b | 1 миллиард | 1,3 ГБ |
llama3.2:3b | 3 миллиарда | 2,0 ГБ |
gemma3:4b | 4 миллиарда | 3,4 ГБ |
qwen2.5:7b | 7 миллиардов | 4,7 ГБ |
llama3.1:8b | 8 миллиардов | 4,9 ГБ |
gemma3:12b | 12 миллиардов | 8,2 ГБ |
qwen2.5:14b | 14 миллиардов | 9,0 ГБ |
qwen2.5:32b | 32 миллиарда | 20 ГБ |
Размер файла близок к той части модели, которая загружается в память. Сверху добавляются память контекста, зависящая от длины разговора, собственные накладные расходы Ollama и операционная система. Поэтому RAM, равной размеру файла, недостаточно, нужен запас. Точного множителя нет, но замерить легко: выполните free -h после загрузки модели. Библиотека постоянно обновляется, поэтому актуальный список смотрите в библиотеке моделей Ollama.
Какого размера сервер нужен?
| Группа моделей | Разумный начальный объём RAM |
|---|---|
| 1–3 миллиарда параметров | 4 ГБ |
| 7–8 миллиардов параметров | 8 ГБ |
| 12–14 миллиардов параметров | 16 ГБ |
| 32 миллиарда параметров | 24–32 ГБ, на CPU всё равно очень медленно |
Эта таблица — практическое правило: к размерам файлов выше добавлен запас. Это не официальная рекомендация. Если RAM закончится, система начнёт использовать диск как память (подкачка), и скорость резко упадёт, либо процесс будет завершён. Прежде чем пробовать крупную модель, надёжнее сначала увеличить сервер.
Чего ждать от CPU
- Генерация текста в основном упирается в пропускную способность памяти. Чем больше модель, тем медленнее выводится ответ.
- По сравнению с видеокартой процессор заметно медленнее. Ответ может выводиться медленнее, чем вы читаете.
- Обработка длинного текста увеличивает ожидание первого ответа. При первом запросе модель загружается с диска в память, поэтому ответ приходит ещё позже.
- Если пользователей одновременно несколько, скорость делится между ними.
Что работает хорошо: короткие сводки, классификация, черновики писем, личный помощник, эксперименты и разработка, небольшая автоматизация. С чем трудно: живой сервис для многих пользователей, крупные модели, ответы в реальном времени, интенсивная генерация кода.
Установка (Ubuntu)
- Запустите официальный установочный скрипт одной строкой:
curl -fsSL https://ollama.com/install.sh | shХорошая практика — сначала скачать скрипт и прочитать его. - Начните с небольшой модели:
ollama run llama3.2:3b - Посмотрите, где работает модель:
ollama psЕсли в столбце Processor написано только CPU, модель целиком находится в системной памяти. - Следите за местом на диске. В Linux модели лежат в
/usr/share/ollama/.ollama/models, и каждая занимает гигабайты. Командойollama listвыводится список, аollama rmудаляет модель.
Если вы предпочитаете Docker, официальная команда — docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama. Мы советуем привязать порт только к локальному адресу: -p 127.0.0.1:11434:11434.
Какую модель выбрать?
Начните с модели на 3 миллиарда параметров и попробуйте её на своих задачах. Небольшие модели обычно слабее на турецком, чем на английском, поэтому проверяйте их на своих текстах. Если ответы слабоваты, перейдите на размер выше и проверьте командой free -h, что RAM хватает.
Размеры в таблице — для тегов по умолчанию в библиотеке. Модели обычно поставляются сжатыми (квантованными) примерно до 4 бит. При 16-битной точности 8 миллиардов параметров занимают около 16 ГБ, а сжатие уменьшает это примерно до 5 ГБ, как в таблице. Взамен немного теряется в качестве.
Использование из приложений
Ollama открывает локальный API. Изнутри сервера его можно попробовать так:
curl http://127.0.0.1:11434/api/generate -d '{"model":"llama3.2:3b","prompt":"Hello, introduce yourself.","stream":false}'
Ответ приходит в формате JSON. К тому же API могут подключаться средства автоматизации и ваши собственные приложения.
Управление памятью
- По умолчанию Ollama держит модель в памяти 5 минут после последнего запроса. Если за это время RAM выглядит заполненной, это нормально. Команда
ollama stop MODEL_NAMEвыгружает модель сразу. OLLAMA_MAX_LOADED_MODELSограничивает, сколько моделей может быть загружено одновременно. На CPU по умолчанию это 3. Если RAM в обрез, поставьте 1, иначе при обращении к разным моделям по очереди все они останутся в памяти.OLLAMA_NUM_PARALLEL— число параллельных запросов на модель, по умолчанию 1. Чем оно больше, тем больше нужно RAM.
Безопасность
- По умолчанию Ollama слушает только порт 11434 на
127.0.0.1. Если открыть его черезOLLAMA_HOST, любой, кто знает адрес, сможет пользоваться вашей моделью, потому что у API по умолчанию нет аутентификации. Не выставляйте его наружу. - Для удалённой работы достаточно SSH-туннеля:
ssh -L 11434:127.0.0.1:11434 user@SERVER_IP - Docker обходит правила ufw для публикуемых портов. Поэтому порт привязывают только к локальному адресу, как показано выше.
- Чтобы общаться из браузера, можно установить интерфейс вроде Open WebUI. Запускайте его за HTTPS и защитите учётными записями пользователей.
Данные и лицензии
Когда вы запускаете модель на своём сервере, ваши разговоры остаются на вашем сервере. Ollama предлагает также модели, которые работают в облаке. Они не работают на вашем сервере и выходят за рамки этой статьи. У каждой модели своя лицензия, поэтому перед коммерческим использованием прочитайте лицензию на странице модели.
Масштабирование сервера
Потребность в RAM меняется вместе с моделями. Если вы начали с модели на 3 миллиарда параметров и переходите на 8 миллиардов, увеличьте сервер в панели. При увеличении сервер не удаляется, а IP-адрес и данные остаются прежними. При уменьшении диск не сжимается, а модели могут заполнить диск, поэтому учитывайте и диск.
Свою цену можно посчитать на странице цен.
Готовое решение на Seturack: Ollama, AnythingLLM, Qdrant.
Комментарии0
Комментариев пока нет
Поделитесь своим мнением первым.
Пожалуйста, войдите или зарегистрируйтесь, чтобы оставить комментарий.