Запуск библиотеки vLLM с языковой моделью Gemma 3 на виртуальной машине с GPU в Yandex Compute Cloud
С помощью этой инструкции вы создадите виртуальную машину с одним GPU и запустите на ней легковесную мультимодальную языковую модель Gemma 3
Чтобы запустить языковую модель:
- Подготовьте облако к работе.
- Получите доступ к модели Gemma 3.
- Создайте виртуальную машину с GPU.
- Запустите языковую модель.
- Проверьте работу языковой модели.
Если созданные ресурсы вам больше не нужны, удалите их.
Подготовьте облако к работе
Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:
- Перейдите в консоль управления
, затем войдите в Yandex Cloud или зарегистрируйтесь. - На странице Yandex Cloud Billing
убедитесь, что у вас подключен платежный аккаунт, и он находится в статусеACTIVE
илиTRIAL_ACTIVE
. Если платежного аккаунта нет, создайте его и привяжите к нему облако.
Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака
Подробнее об облаках и каталогах.
Убедитесь, что в облаке достаточно квот на суммарное количество GPU на платформе AMD EPYC™ 9474F with Gen2
, объем RAM, количество vCPU и объем SSD-дисков для создания ВМ. Для этого используйте сервис Yandex Cloud Quota Manager.
Необходимые платные ресурсы
В стоимость поддержки инфраструктуры входит плата за постоянно работающие ВМ и диски (см. тарифы Yandex Compute Cloud).
Получите доступ к модели Gemma 3
-
Зарегистрируйтесь на Hugging Face
. -
Создайте токен доступа:
- После входа в аккаунт нажмите на свой аватар → Settings → Access Tokens.
- Нажмите + Create new token.
- Выберите тип токена Read.
- Введите имя токена.
- Нажмите Create token.
- Скопируйте значение токена.
-
Запросите доступ к модели
Gemma-3-27b-it
:- Перейдите на страницу модели
. - Нажмите Request access.
- Примите условия лицензии.
- Дождитесь подтверждения доступа.
- Перейдите на страницу модели
Создайте виртуальную машину с GPU
-
В консоли управления
выберите каталог, в котором будет создана виртуальная машина. -
В списке сервисов выберите Compute Cloud.
-
На панели слева выберите
Виртуальные машины. -
Нажмите кнопку Создать виртуальную машину.
-
В блоке Образ загрузочного диска выберите публичный образ Ubuntu 20.04 LTS Secure Boot CUDA 12.2.
-
В поле Зона доступности выберите зону доступности
ru-central1-d
. -
В блоке Диски и файловые хранилища выберите тип диска
SSD
и задайте размер не менее500 ГБ
. -
В блоке Вычислительные ресурсы перейдите на вкладку
Своя конфигурация
и укажите необходимую платформу и количество GPU:- Платформа —
AMD Epyc 9474F with Gen2
. - GPU —
1
.
- Платформа —
-
В блоке Доступ выберите вариант SSH-ключ и укажите данные для доступа на ВМ:
- В поле Логин введите имя пользователя, например:
ubuntu
. Не используйте имяroot
или другие имена, зарезервированные ОС. Для выполнения операций, требующих прав суперпользователя, используйте командуsudo
. -
В поле SSH-ключ выберите SSH-ключ, сохраненный в вашем профиле пользователя организации.
Если в вашем профиле нет сохраненных SSH-ключей или вы хотите добавить новый ключ:
- Нажмите кнопку Добавить ключ.
- Задайте имя SSH-ключа.
- Загрузите или вставьте содержимое открытого SSH-ключа. Пару SSH-ключей для подключения к ВМ по SSH необходимо создать самостоятельно.
- Нажмите кнопку Добавить.
SSH-ключ будет добавлен в ваш профиль пользователя организации.
Если в организации отключена возможность добавления пользователями SSH-ключей в свои профили, добавленный открытый SSH-ключ будет сохранен только в профиле пользователя создаваемой виртуальной машины.
- В поле Логин введите имя пользователя, например:
-
Нажмите Создать ВМ.
Запустите языковую модель
-
Подключитесь по протоколу SSH к виртуальной машине.
-
Добавьте текущего пользователя в группу
docker
:sudo groupadd docker sudo usermod -aG docker $USER newgrp docker
-
Заполните переменные:
TOKEN=<HF_токен> MODEL=google/gemma-3-27b-it MODEL_OPTS="--max-num-seqs 256 --max-model-len 16384 --gpu-memory-utilization 0.98 --max_num_batched_tokens 2048"
Где
HF_токен
— токен доступа Hugging Face. -
Выполните команду:
docker run --runtime nvidia --gpus '"device=0"' \ --name vllm-gema3-0 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HUGGING_FACE_HUB_TOKEN=$TOKEN" \ --env "HF_HUB_ENABLE_HF_TRANSFER=0" \ --env "PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True" \ -p 8000:8000 \ --ipc=host \ --shm-size=32g \ vllm/vllm-openai:latest \ --model $MODEL $MODEL_OPTS
-
Подождите, пока сервер запустится:
INFO: Started server process [1] INFO: Waiting for application startup. INFO: Application startup complete.
Проверьте работу языковой модели
-
Подключитесь к виртуальной машине по протоколу SSH в новой сессии.
-
Установите пакет
openai
:sudo apt update sudo apt install python3-pip pip install openai
-
Создайте скрипт
test_model.py
со следующим содержимым:import openai client = openai.Client(base_url="http://127.0.0.1:8000/v1", api_key="EMPTY") response = client.chat.completions.create( model="google/gemma-3-27b-it", messages=[ { "role": "user", "content": [ { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" }, }, {"type": "text", "text": "Describe this image in one sentence."}, ], } ], temperature=0.3, max_tokens=128, ) print(response.choices[0].message.content)
-
Запустите скрипт:
python3 test_model.py
Пример ответа модели:
Here's a one-sentence description of the image: The Statue of Liberty stands prominently on Liberty Island with the Manhattan skyline, including the Empire State Building, visible in the background across the water on a clear, sunny day.
Как удалить созданные ресурсы
Чтобы перестать платить за созданные ресурсы, в сервисе Compute Cloud удалите созданную виртуальную машину.