- PVSM.RU - https://www.pvsm.ru -

Сразу упомянем, что на серверах RUVDS установлены видеокарты NVIDIA Quadro P4000 (на фото). Карты довольно слабенькие, так что подойдут скорее для проектов в образовательных целях и т. д. Тем более что под выделяется максимум 1 ГБ видеопамяти. Но даже в таких спартанских условиях можно запустить LLM.
Кстати, о
Инструмент llamafile [4] позволяет упаковать любую LLM в один исполняемый файл, пригодный для транспортировки и запуска на любом сервере. Инструмент объединяет в себе llama.cpp [5] и Cosmopolitan Libc [6].
Для примера можно скачать исполняемый llama-файл для модели LlaVA (современная модель с чатом и распознаванием картинок): llava-v1.5-7b-q4.llamafile [7] (4,29 ГиБ). Потом просто открываем терминал и даём разрешение на запуск (однократно):
chmod +x llava-v1.5-7b-q4.llamafile
Потом запускаем:
./llava-v1.5-7b-q4.llamafile
Теперь LLM доступна для общения через браузер по адресу http://localhost:8080/ [8].
Под Windows то же самое, только предварительно нужно переименовать файл в .exe.
В репозитории llamafile много файлов для прочих LLM [9], если не хочется создавать файл самому, например:
| Модель | Размер | Лицензия | Файл |
|---|---|---|---|
| LLaVA 1.5 | 3,97 ГБ | LLaMA 2 | llava-v1.5-7b-q4.llamafile [7] |
| TinyLlama-1.1B | 2,05 ГБ | Apache 2.0 | TinyLlama-1.1B-Chat-v1.0.F16.llamafile [10] |
| Mistral-7B-Instruct | 3,85 ГБ | Apache 2.0 | mistral-7b-instruct-v0.2.Q4_0.llamafile [11] |
| Phi-3-mini-4k-instruct | 7,67 ГБ | Apache 2.0 | Phi-3-mini-4k-instruct.F16.llamafile [12] |
| Mixtral-8x7B-Instruct | 30,03 ГБ | Apache 2.0 | mixtral-8x7b-instruct-v0.1.Q5_K_M.llamafile [13] |
Многие модели в формате llamafile работают вообще без GPU. Оптимизация для CPU была одной из целей при разработке проекта [14].
Ниже указана производительность двух 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 |
Модели TinyLlama 1.1B запускаются даже на Raspberry Pi v5 (ARMv8.2) и v4 (ARMv8.0).
На мощных процессорах Ryzen Threadripper PRO 7995WX производительность вывода и оценки в 5−7 раз выше, чем на Intel Core i9-14900K, тоже без использования GPU.
Для селфхоста предлагается много других разнообразных инструментов. Например, опенсорсная программа Khoj [15] работает и с онлайновыми моделями типа GPT4, и с локальными LLM вроде llama3. После установки на сервере [16] доступ к ней возможен из Obsidian, Emacs, десктопного приложения, через веб или WhatsApp. Система решает стандартный набор задач: отвечает на вопросы, проводит поиск в интернете, принимает для обработки документы в разных форматах, позволяет настроить агентов. См. онлайн-демо [17] — такой же интерфейс можно установить на своём сервере.

Для запуска моделей рекомендуют использовать программное обеспечение Ollama [18]. Через него запускаются Llama 3, Phi 3, Mistral, Gemma 2 и другие модели [19].
Под Linux программа Ollama устанавливается скриптом:
curl -fsSL https://ollama.com/install.sh | sh
Как вариант, вместо Ollama можно установить LM Studio [20].
В любом случае, специалисты рекомендуют брать
В конфигураторе RUVDS [21] можно добавить видеопамять к серверу. Опция доступна только под Windows Server 2016 на мощных ядрах в дата-центре Rucloud.

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

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

После начала работы сервера запустим на нём консоль PowerShell, из которой и будем устанавливать необходимые инструменты для работы с LLM (об этом ниже).
Как мы уже упоминали, в дата-центрах физически используются видеокарты NVIDIA Quadro P4000 [22].
Характеристики NVIDIA Quadro P4000:
Как видим, видеокарта довольно слабая. Вопрос в том, какие LLM потянет эта GPU, тем более максимально можно заказать 1 ГБ видеопамяти. Можно сказать, что мы запускаем модели практически на чистом CPU, без видеокарты.
PowerInfer [23] — производительная LLM, которая работает на простом ПК или сервере с обычной GPU вроде NVIDIA RTX 4090.
Опенсорсная модель для генерации видео OpenSora [24] тоже неплохо чувствует себя на потребительских GPU [25]: например, на GeForce RTX 3090 можно генерировать видеоролики до 240p и 4 с. Генерация занимает примерно 30 для двухсекундного видео и около минуты для четырёхсекундного.
Неплохо для домашней видеокарты, но на инстансе RUVDS она вряд ли запустится. Хотя никто не мешает вам попробовать — 3 дня для теста сервера мы даём бесплатно всем новым клиентам.
Говорят, что на выделенном сервере с 128 ГБ RAM без видеопамяти технически возможно запустить даже Code Llama 70B (ассистент для программирования). Если видеопамять вообще отсутствует, вывод модели будет крайне медленным, примерно одно слово в минуту. Скорость работы моделей на различном оборудовании можно оценить на сайте Artificial Analysis [26]. Но у нас в максимальной конфигурации можно выбрать
Так что в нашей реальности придётся запускать модели размером 7B, а не 70B. Можно посмотреть варианты модели Mistral и TinyLlama, в том числе перечисленные выше. У них минимальные требования к оперативной и видеопамяти.
Вообще, самые маленькие модели работают даже на смартфонах (например, Gemini Nano на смартфоне Pixel 8 Pro [27]).
Итак, есть несколько способов установки 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/ [8]):

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

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

Сервер Mistral 7B Instruct:

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

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

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

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

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

Ну или просто запустить свою ИИ-девушку, которая будет доступна 24 часа в сутки с любого вашего устройства. Как вариант, предоставить такой сервис другим людям. Это первая фантазия, которая приходит в голову.
Упомянутая русскоязычная модель Mistral 7B LoRA выполняет все типичные задачи:
Правда, придётся немного потрудиться, чтобы запустить её конкретно на нашем llamafile.
Автор: ru_vds
Источник [35]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/vps/392881
Ссылки в тексте:
[1] нашумевшей статьи: https://ludic.mataroa.blog/blog/i-will-fucking-piledrive-you-if-you-mention-ai-again/
[2] VPS: https://www.reg.ru/?rlink=reflink-717
[3] здесь: https://habr.com/ru/companies/ruvds/articles/469551/
[4] llamafile: https://github.com/Mozilla-Ocho/llamafile
[5] llama.cpp: https://github.com/ggerganov/llama.cpp
[6] Cosmopolitan Libc: https://github.com/jart/cosmopolitan
[7] llava-v1.5-7b-q4.llamafile: https://huggingface.co/Mozilla/llava-v1.5-7b-llamafile/resolve/main/llava-v1.5-7b-q4.llamafile?download=true
[8] http://localhost:8080/: http://localhost:8080/
[9] много файлов для прочих LLM: https://github.com/Mozilla-Ocho/llamafile#other-example-llamafiles
[10] TinyLlama-1.1B-Chat-v1.0.F16.llamafile: https://huggingface.co/Mozilla/TinyLlama-1.1B-Chat-v1.0-llamafile/resolve/main/TinyLlama-1.1B-Chat-v1.0.F16.llamafile?download=true
[11] mistral-7b-instruct-v0.2.Q4_0.llamafile: https://huggingface.co/Mozilla/Mistral-7B-Instruct-v0.2-llamafile/resolve/main/mistral-7b-instruct-v0.2.Q4_0.llamafile?download=true
[12] Phi-3-mini-4k-instruct.F16.llamafile: https://huggingface.co/Mozilla/Phi-3-mini-4k-instruct-llamafile/resolve/main/Phi-3-mini-4k-instruct.F16.llamafile?download=true
[13] mixtral-8x7b-instruct-v0.1.Q5_K_M.llamafile: https://huggingface.co/Mozilla/Mixtral-8x7B-Instruct-v0.1-llamafile/resolve/main/mixtral-8x7b-instruct-v0.1.Q5_K_M.llamafile?download=true
[14] одной из целей при разработке проекта: https://justine.lol/matmul/
[15] Khoj: https://khoj.dev/
[16] установки на сервере: https://docs.khoj.dev/get-started/setup
[17] онлайн-демо: https://app.khoj.dev/
[18] Ollama: https://ollama.com/
[19] другие модели: https://ollama.com/library
[20] LM Studio: https://lmstudio.ai/
[21] конфигураторе RUVDS: https://ruvds.com/ru-rub
[22] NVIDIA Quadro P4000: https://www.nvidia.com/content/dam/en-zz/Solutions/design-visualization/productspage/quadro/quadro-desktop/quadro-pascal-p4000-data-sheet-a4-nvidia-704358-r2-web.pdf
[23] PowerInfer: https://github.com/SJTU-IPADS/PowerInfer
[24] OpenSora: https://github.com/hpcaitech/Open-Sora
[25] неплохо чувствует себя на потребительских GPU: https://backprop.co/environments/open-sora
[26] Artificial Analysis: https://artificialanalysis.ai/models/codellama-instruct-70b/providers
[27] Gemini Nano на смартфоне Pixel 8 Pro: https://store.google.com/intl/en/ideas/articles/gemini-nano-google-pixel/
[28] Chat Arena: https://chat.lmsys.org/?leaderboard
[29] HuggingFace: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard
[30] OpenCompass: https://rank.opencompass.org.cn/leaderboard-llm-v2
[31] писали: https://habr.com/ru/articles/775870/
[32] Mistral 7B LoRA: https://huggingface.co/IlyaGusev/saiga_mistral_7b_lora
[33] Tabby: https://tabby.tabbyml.com/
[34] MindSB: https://github.com/mindsdb/mindsdb
[35] Источник: https://habr.com/ru/companies/ruvds/articles/829932/?utm_source=habrahabr&utm_medium=rss&utm_campaign=829932
Нажмите здесь для печати.