
«Я тебя завалю, если ещё раз упомянешь AI», — писал автор нашумевшей статьи. В самом деле, хайп вокруг ИИ всем надоел. Но мы всё-таки рискнём поговорить о том, какую LLM поставить на своём сервере и зачем.
Сразу упомянем, что на серверах RUVDS установлены видеокарты NVIDIA Quadro P4000 (на фото). Карты довольно слабенькие, так что подойдут скорее для проектов в образовательных целях и т. д. Тем более что под VPS выделяется максимум 1 ГБ видеопамяти. Но даже в таких спартанских условиях можно запустить LLM.
Кстати, о VPS с видеокартой. Несколько лет назад мы уже писали о сферах их применения и даже проводили тесты. Всё это можно найти здесь.
▍ Что установить?

Для примера можно скачать исполняемый llama-файл для модели LlaVA (современная модель с чатом и распознаванием картинок): llava-v1.5-7b-q4.llamafile (4,29 ГиБ). Потом просто открываем терминал и даём разрешение на запуск (однократно):
chmod +x llava-v1.5-7b-q4.llamafile
Потом запускаем:
./llava-v1.5-7b-q4.llamafile
Теперь LLM доступна для общения через браузер по адресу http://localhost:8080/.
Под Windows то же самое, только предварительно нужно переименовать файл в
.exe
.В репозитории llamafile много файлов для прочих LLM, если не хочется создавать файл самому, например:
Модель | Размер | Лицензия | Файл |
---|---|---|---|
LLaVA 1.5 | 3,97 ГБ | LLaMA 2 | llava-v1.5-7b-q4.llamafile |
TinyLlama-1.1B | 2,05 ГБ | Apache 2.0 | TinyLlama-1.1B-Chat-v1.0.F16.llamafile |
Mistral-7B-Instruct | 3,85 ГБ | Apache 2.0 | mistral-7b-instruct-v0.2.Q4_0.llamafile |
Phi-3-mini-4k-instruct | 7,67 ГБ | Apache 2.0 | Phi-3-mini-4k-instruct.F16.llamafile |
Mixtral-8x7B-Instruct | 30,03 ГБ | Apache 2.0 | mixtral-8x7b-instruct-v0.1.Q5_K_M.llamafile |
llamafile
работают вообще без GPU. Оптимизация для CPU была одной из целей при разработке проекта.Ниже указана производительность двух LLM в
llamafile-0.7
на компьютере/сервере Intel Core i9-14900K ($530) с памятью 6400 MT/s RAM без использования GPU:Промпты токенов/с |
Eval токенов/с |
Модель | Тип данных весов |
---|---|---|---|
63 | 12 | Mistral 7b | q8_0 |
50 | 7 | Mistral 7b | f16 |
406 | 67 | TinyLlama 1.1B | q8_0 |
407 | 42 | TinyLlama 1.1B | f16 |
На мощных процессорах Ryzen Threadripper PRO 7995WX производительность вывода и оценки в 5−7 раз выше, чем на Intel Core i9-14900K, тоже без использования GPU.
Для селфхоста предлагается много других разнообразных инструментов. Например, опенсорсная программа Khoj работает и с онлайновыми моделями типа GPT4, и с локальными LLM вроде llama3. После установки на сервере доступ к ней возможен из Obsidian, Emacs, десктопного приложения, через веб или WhatsApp. Система решает стандартный набор задач: отвечает на вопросы, проводит поиск в интернете, принимает для обработки документы в разных форматах, позволяет настроить агентов. См. онлайн-демо — такой же интерфейс можно установить на своём сервере.

Для запуска моделей рекомендуют использовать программное обеспечение Ollama. Через него запускаются Llama 3, Phi 3, Mistral, Gemma 2 и другие модели.
Под Linux программа Ollama устанавливается скриптом:
curl -fsSL https://ollama.com/install.sh | sh
Как вариант, вместо Ollama можно установить LM Studio.
В любом случае, специалисты рекомендуют брать VPS с большим количеством оперативной памяти: минимум 64 ГБ RAM для модели размером 70B. Хотя для маленькой модели 7B хватит и 16 ГБ.
▍ VPS с GPU
В конфигураторе RUVDS можно добавить видеопамять к серверу. Опция доступна только под Windows Server 2016 на мощных ядрах в дата-центре Rucloud.

Максимально можно заказать 1 ГБ видеопамяти:

На сервере сразу начинается установка операционной системы:

После начала работы сервера запустим на нём консоль PowerShell, из которой и будем устанавливать необходимые инструменты для работы с LLM (об этом ниже).
Как мы уже упоминали, в дата-центрах физически используются видеокарты NVIDIA Quadro P4000.
Характеристики NVIDIA Quadro P4000:
- Графический процессор: GP104.
- Память: GDDR5 8 ГБ, интерфейс 256 бит, пропускная способность до 243 ГБ/с.
- Ядра CUDA: 1792.
- Энергопотребление: 105 Вт.
Как видим, видеокарта довольно слабая. Вопрос в том, какие LLM потянет эта GPU, тем более максимально можно заказать 1 ГБ видеопамяти. Можно сказать, что мы запускаем модели практически на чистом CPU, без видеокарты.
▍ LLM для слабых серверов и ПК
PowerInfer — производительная LLM, которая работает на простом ПК или сервере с обычной GPU вроде NVIDIA RTX 4090.


Говорят, что на выделенном сервере с 128 ГБ RAM без видеопамяти технически возможно запустить даже Code Llama 70B (ассистент для программирования). Если видеопамять вообще отсутствует, вывод модели будет крайне медленным, примерно одно слово в минуту. Скорость работы моделей на различном оборудовании можно оценить на сайте Artificial Analysis. Но у нас в максимальной конфигурации можно выбрать VPS только с 16 ГБ.
Так что в нашей реальности придётся запускать модели размером 7B, а не 70B. Можно посмотреть варианты модели Mistral и TinyLlama, в том числе перечисленные выше. У них минимальные требования к оперативной и видеопамяти.
Вообще, самые маленькие модели работают даже на смартфонах (например, Gemini Nano на смартфоне Pixel 8 Pro).
▍ Установка LLM
Итак, есть несколько способов установки LLM на свой ПК/сервер. Они довольно простые.
Самый простой способ. Скачиваем исполняемый файл
llamafile
для любой модели. Например, mistral-7b-instruct-v0.2.Q4_0.llamafile
(3,9 ГБ) для модели Mistral-7B-Instruct. Переименуем его в .exe
— и запускаем на исполнение:.\mistral-7b-instruct-v0.2.Q4_0.exe

В браузере автоматически открывается страница с веб-интерфейсом локальной LLM (встроенный веб-сервер доступен по адресу http://localhost:8080/):

Альтернативный способ. Устанавливаем LM Studio, где в графическом интерфейсе выбираем модели для локальной установки:

LM Studio тоже включает в себя HTTP-сервер, который запускается на локалхосте и доступен для внешних подключений (кнопка «Local Server» на левой панели).
На нашей конфигурации VPS запускаются модели Mistral 7B Instruct, Stable Code Instruct 3B и другие.
Сервер Stable Code Instruct 3B:

Сервер Mistral 7B Instruct:

После запуска сервера к API можно подключаться по адресу
http://195.133.49.54:1234
, в зависимости от IP-адреса сервера и установленного рабочего порта.▍ Сравнение моделей
Актуальный рейтинг LLM см. на Chat Arena, на данный момент в него входит 115 моделей:

Рейтинг составляется по итогам P2P-битв (сравнений) между моделями. На диаграммах показан винрейт:

… и P2P-результаты в каждой паре:

Это самый популярный рейтинг. Кроме него есть ещё HuggingFace, OpenCompass и др.
На Хабре в ноябре 2023 года писали, что модель Mistral 7B LoRA лучше всех (из бесплатных) справляется с русскими текстами без дообучения.
▍ Зачем хостить LLM на своём сервере
Зачем хостить LLM на своём сервере? Например, можно установить там собственного ИИ-помощника для программирования вроде Tabby. В отличие от Copilot, он работает на своём хостинге и поэтому не представляет угрозы для безопасности, может принимать приватные данные и не будет использовать ваш код для обучения и подсказок другим людям.

Есть множество опенсорсных решений для поднятия своих ИИ-систем и обработки своих данных. Например, платформа MindSB, которая позволяет развёртывать, обслуживать и настраивать модели в режиме реального времени, используя данные из БД, векторных хранилищ или приложений, для создания корпоративных ИИ-приложений с использованием универсальных инструментов, уже знакомых разработчикам. В целом, это мощная платформа для создания корпоративных приложений.

Ну или просто запустить свою ИИ-девушку, которая будет доступна 24 часа в сутки с любого вашего устройства. Как вариант, предоставить такой сервис другим людям. Это первая фантазия, которая приходит в голову.
Упомянутая русскоязычная модель Mistral 7B LoRA выполняет все типичные задачи:
- генерация текста;
- генерация кода;
- вопрос-ответ;
- чат (беседа);
- аналитические задачи;
- классификация;
- обработка текста;
- исправление ошибок;
- перевод;
- суммаризация;
- поиск информации;
- извлечение структурированной информации;
- и т. д...
Правда, придётся немного потрудиться, чтобы запустить её конкретно на нашем VPS. Можно попробовать самостоятельно упаковать кастомную версию Mistral 7B LoRA в
llamafile
.Telegram-канал со скидками, розыгрышами призов и новостями IT 💻
