Как запустить свою LLM для инференса. Руководство по запуску: Ollama, vLLM, Triton, LM Studio, llama.cpp, SGLang |
||
|
МЕНЮ Главная страница Поиск Регистрация на сайте Помощь проекту Архив новостей ТЕМЫ Новости ИИ Голосовой помощник Разработка ИИГородские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Искусственный интеллект Слежка за людьми Угроза ИИ Атаки на ИИ Внедрение ИИИИ теория Компьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Психология ИИ Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Промпты. Генеративные запросы Распознавание лиц Распознавание образов Распознавание речи Творчество ИИ Техническое зрение Чат-боты Авторизация |
2025-09-23 12:12 Введение Всем привет! Меня зовут Максимов Максим, я — NLP-инженер в компании red_mad_robot. Сегодня я хотел бы представить вам практическое руководство по запуску и использованию популярных инструментов для работы с LLM. Целью этой работы было познакомиться и опробовать следующие инструменты:
Для каждого из них я приведу краткое описание, пошаговое руководство по запуску, а также приведу практические примеры по работе с каждым из них. Начинаем! Ollama Это платформа с открытым исходным кодом, которая упрощает запуск и управление LLM, а также дает возможность локально запускать языковые модели без доступа в интернет. Ссылка на платформу. Шаг за шагом, используя этот инструмент, развернем LLM на компьютере. Перед началом необходимо установить Ollama себе на компьютер. Для этого переходим по ссылке https://ollama.com/download, выбираем вашу ОС и скачиваем инсталлятор Ollama. Я буду производить установку на Windows. После скачивания установщика вам необходимо его запустить и нажать кнопку «Install». Будет произведена установка Ollama. *Недавно в Ollama был добавлен графический интерфейс в виде чата, в котором сразу после установки можно пообщаться с LLM. После выбора модели и отправки первого сообщения, будет произведена установка модели. В качестве демонстрации работы, я выбрал LLM gemma3:4b Как могли заметить, в этом вся красота Ollama. Всего за пару кликов мы запустили модель и можем начинать с ней работу. Также мы можем работать с Ollama через командную строку Приведем пример использования Ollama в своей программе на Python. Воспользуемся библиотекой LangChain. Для взаимодействия с LLM необходимо, чтобы Ollama была запущена на вашем компьютере. Для этого либо запустите приложения напрямую, либо в консоли запустите команду: LM Studio Это кроссплатформенное десктопное приложение для запуска LLM. По своей простоте оно схоже с Ollama, но по наличию функционала LM Studio опережает. Вот небольшой список того, что есть в данном инструменте:
Для установки LM Studio необходимо скачать инсталлятор с официального сайта После скачивания инсталлятора будет произведена классическая установка После установки можем открыть графический интерфейс Давайте в качестве примера также установим модель gemma. Для этого в левом меню переходим в поиск и находим нужную нам модель После скачивания можем начинать общение с LLM в чате Помимо работы с графическим интерфейсом, LM Studio позволяет осуществлять работу с моделями в консоли, а также запускать сервер с LLM для использования их в своих приложениях. Чтобы получить список доступных команд введите в командной строке: Можем увидеть нашу загруженную модель и пообщаться с ней, введя команду: Чтобы начать с ней общение в консоли, введите команду: Теперь попробуем запустить сервер с этой LLM и воспользоваться ей в программе на Python. Для запуска LM Studio сервера нужно выполнить команду: По умолчанию LM Studio использует порт 1234. Как говорилось выше, инструмент поддерживает OpenAI API, поэтому воспользуемся библиотекой openai vLLM Это популярный фреймворк для высокоэффективного запуска LLM. Его особенностью является эффективное управление памятью (через PagedAttention), совместимость с популярными моделями с Hugging Face, а также поддержка OpenAI API. Ссылка на фреймворк. Давайте шаг за шагом произведем запуск модели на vLLM. Запуск будет производится на удаленном сервере с Ubuntu 24.04 и видеокартой NVIDIA RTX 3090. Для запуска будем использовать Docker. Откроем командную строку и произведем обновление списка доступных пакетов: Установим docker: Далее необходимо установить NVIDIA Container Toolkit. Это набор утилит, который позволяет пользователям создавать и запускать контейнеры с графическим ускорением. Для установки воспользуемся следующими командами: Настройка репозитория: Обновление списка пакетов из репозитория: Установка пакетов NVIDIA Container Toolkit: Далее необходимо настроить Docker для работы с nvidia?container?toolkit. Для этого необходимо выполнить команды: Настройка среды выполнения контейнера: Перезапуск Docker: Для проверки корректной установки nvidia?container?toolkit вызовите следующую команду: Эта команда должна показать информацию о ваших видеокартах. Если у вас возникла ошибка на этом этапе (как у меня), можно воспользоваться советами по решению проблемы здесь. После настройки окружения можно производить запуск vLLM. В качестве LLM будет взята Qwen/Qwen3-0.6B. Воспользуемся командой с дефолтными настройками из официальной документации vLLM. <YOUR_HG_TOKEN> замените на ваш access token из Hugging Face. Получить можно здесь. После успешной загрузки LLM и запуска сервера можем обращаться к нашей модели по OpenAI API. Сделаем это на языке Python Triton Это фреймворк, разработанный NVIDIA для оптимизированного инференса моделей ИИ специально на GPU. Triton позволяет разворачивать модели ИИ из различных фреймворков ML и DL (TensorRT, PyTorch, ONNX, OpenVINO, Python и другие). Ссылка на фреймворк. Для запуска Triton нам потребуется предварительная подготовка. Необходимо создать так называемый «репозиторий моделей», с которыми будет работать Triton. Об этом можно подробнее можно почитать в официальной документации здесь. Для упрощения возьмем демонстрационную модель falcon7b из официального репозитория Triton Server. Скачать ее можно здесь. Создадим папку model_repository, и поместим туда скачанную модель. Должна получиться следующая структура папок: Запуск будем производить на Ubuntu 24.04 с GPU RTX 4090. Предварительно также необходимо установить Docker и nvidia comtainer toolkit для работы GPU в контейнере. Последовательность команд я описывал выше. Далее необходимо создать файл с названием Dockerfile, который содержит команды для настройки контейнера с Triton. Он должен содержать следующее: Во время запуска Triton сервера я столкнулся с ошибками запуска контейнера. Поискав проблему я обнаружил то, что в официальном github установлена старая версия образа Triton, не подходящая под мою версию Ubuntu. Для того чтобы найти нужную версию, можно воспользоваться следующим ресурсом. Определив нужную версию Triton, поменяйте в Dockerfile в первой строке После создания Dockerfile необходимо собрать образ командой: После успешной сборки образа можно запускать Triton для инференса модели следующей командой: После настройки всех зависимостей и загрузки модели вы должны увидеть следующие логи в консоли: Теперь мы можем делать запросы к нашей LLM. Ниже будет описан пример на Python. llama.cpp Это мощный кроссплатформенный движок для инференса моделей. llama.cpp позволяет без наличия мощного оборудования производить развертывания LLM. Данный движок является бекендом у многих популярных инструментов для инференса моделей. Например у таких как Ollama и LM Studio. Ссылка на движок. Ниже будет описана пошаговая инструкция по использования и запуску сервера llama.cpp. Для этого будем использовать Docker. llama.cpp использует в работе с моделями формат gguf. Это формат для хранения квантизированных моделей, который использует движок. llama.cpp предоставляет инструменты для перевода Hugging Face моделей в формат gguf. Место этого будет скачана готовая модель в нужном формате. На Hugging Face можно найти уже готовые файлы с моделями в формате gguf. Посмотреть можно здесь. Создайте папку models и поместите туда файл модели. В качестве примера возьмем Llama-3.2-1B?Instruct?Q8_0.gguf, которая была скачана отсюда. Также можно сделать это командой YOUR_MODELS_PATH — путь к вашей папке models. Запуск модели будем производить на Ubuntu 24.04 с GPU RTX 4090. Перед запуском также необходимо установить Docker и nvidia comtainer toolkit для работы GPU в контейнере. Последовательность команд я описывал выше. После этого мы можем запустить интерактивный чат следующей командой: YOUR_MODELS_PATH — путь к вашей папке models. После успешного запуска вы увидите следующее: Теперь запустим llama.cpp сервер и используем его в своей программе на Python. Для запуска сервера воспользуемся командой: YOUR_MODELS_PATH — путь к вашей папке models. После успешного запуска увидите следующее: Теперь можем использовать Python для работы с запущенной LLM SGLang Это быстродействующий фреймворк для LLM и Computer Vision моделей. Он предлагает быструю среду выполнения (благодаря RadixAttention), интуитивно понятный интерфейс для программирования LLM приложений, а также поддержку широкого спектра различных LLM моделей. В качестве примера запустим SGLang сервер на GPU с использованием Docker. Перед запуском необходимо установить Docker и nvidia comtainer toolkit для работы GPU в контейнере. Последовательность команд я описывал выше. После успешной настройки среды вы можете запускать SGLang. Для этого воспользуемся командой: YOUR_HG_TOKEN — ваш access token с Hugging Face В качестве модели была взята Mistral-7B?v0.1-AWQ. Вы же можете взять ту, которую вам нужно с Hugging Face. После успешного запуска сервера вы увидите следующее: Воспользуемся запущенной моделью в нашей программе на Python. SGLang поддерживает OpenAI API, поэтому используем библиотеку openai для работы с моделью. Заключение В этой статье были рассмотрены практические примеры запуска и использования популярных инструментов для работы с LLM. Все они решают схожую задачу, но имеют в своем арсенале различный функционал, а также свои плюсы и минусы, которые стоит учитывать для каждой задачи индивидуально. Целью этой работы было познакомиться и попрактиковаться в запуске и работе с каждым из инструментов, а также поделиться теми шагами, которые я проделал. Подписывайтесь на мой телеграмм канал, в котором я рассказываю интересные вещи об IT и AI технологиях. Телеграм: t.me/ainewsline Источник: habr.com Комментарии: |
|