Розгортання LLM на Yandex Cloud: від моделі до продакшену

Розгортання LLM на Yandex Cloud: від моделі до продакшену

Напрямки AI-розробки

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1414
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1284
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    980
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1240
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    696
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    982

Розгортання LLM на Yandex Cloud: від моделі до продакшену

Типова ситуація: компанія розробила RAG-бота на базі вітчизняних LLM, але західні хмари недоступні. Ми вже розгортали Mistral 7B та LLaMA 3 на Yandex Cloud з використанням vLLM і знаємо, як обійти підводні камені — від налаштування CUDA до балансування навантаження. Наш досвід: понад 5 років роботи з ML-інфраструктурою, десятки успішних проєктів із впровадження AI. Отримайте консультацію щодо вашого проєкту — оцінимо за 2 дні.

Чому Yandex Cloud для LLM?

Yandex Cloud — основний вітчизняний провайдер з GPU-інстанціями, Yandex ML Platform та власними LLM (YandexGPT). Для російських компаній з вимогами до data residency та імпортозаміщення це оптимальний вибір. Ми отримуємо доступ до GPU за запитом, managed Jupyter (DataSphere) та інтеграцію з Object Storage. Підтримка CUDA та Tensor Cores забезпечує максимальну продуктивність. За даними офіційної документації Yandex Cloud, GPU-інстанції g3 на A100 забезпечують приріст продуктивності до 80% порівняно з V100 для LLM (https://cloud.yandex.ru/docs/compute/concepts/gpus).

Як налаштувати GPU-інстанцію?

GPU-кластери: g2 (Tesla V100 32GB) та g3 (A100 80GB). Для більшості open-source моделей 7B параметрів вистачає однієї V100. Створення VM через YC CLI:

yc compute instance create \ --name llm-server \ --zone ru-central1-a \ --platform gpu-standard-v3 \ --gpus 1 \ --memory 48GB \ --cores 14 \ --core-fraction 100 \ --image-family ubuntu-2204-lts-gpu \ --image-folder-id standard-images \ --disk-type network-ssd \ --disk-size 300GB \ --network-interface subnet-name=default,nat-ip-version=ipv4 \ --ssh-key ~/.ssh/id_rsa.pub 

Порівняння GPU-інстанцій

Параметр g2 (V100) g3 (A100)
Пам'ять GPU 32 GB HBM2 80 GB HBM2e
Підходить для моделей до 13B (INT4) до 70B (INT8)
Макс. токенів/сек (Mistral 7B) 120–150 200–280
Оренда ~150–300 ₽/год ~400–800 ₽/год

Як вибрати GPU для вашої моделі?

Вибір між V100 та A100 залежить від розміру моделі та бажаної latency. Для моделей 7B в INT4 V100 дає прийнятну швидкість — до 150 токенів/сек. Якщо плануєте обслуговувати декілька запитів паралельно або працювати з 13B+ моделями, беріть A100. Також враховуйте бюджет: A100 коштує в 2-3 рази дорожче. Для експериментів підійде V100, для продакшену з високим навантаженням — A100.

Конфігурація vLLM на YC VM

vLLM — найпродуктивніший inference engine для LLM (в 2–3 рази швидше Hugging Face Transformers на тій же GPU). Встановлення та запуск:

sudo apt-get update && sudo apt-get install -y python3-pip pip install vllm # Завантаження моделі з Yandex Object Storage aws s3 sync s3://my-bucket/models/mistral-7b/ /data/models/mistral-7b/ \ --endpoint-url https://storage.yandexcloud.net \ --profile yandex # Запуск сервера python -m vllm.entrypoints.openai.api_server \ --model /data/models/mistral-7b/ \ --tensor-parallel-size 1 \ --max-model-len 8192 \ --max-num-seqs 128 \ --port 8000 \ --host 0.0.0.0 
Деталі конфігурації vLLM

Для оптимізації використовуйте флаги --quantize awq для INT4 та --kv-cache-dtype auto. При декількох GPU увімкніть --tensor-parallel-size. Моніторинг метрик через ендпоінт /metrics.

Порівняння: vLLM vs Hugging Face на Yandex Cloud

Параметр vLLM Hugging Face Transformers
Токенів/сек (Mistral 7B, V100) 120–150 40–60
Використання GPU >90% 60–70%
Підтримка continuous batching Так Ні
P50 latency <100ms ~300ms

Yandex Object Storage для моделей

Зберігаємо ваги моделей у S3-сумісному Object Storage: дешево (≈ 2–3 ₽/ГБ/міс) та надійно. Приклад завантаження:

import boto3 s3 = boto3.client( "s3", endpoint_url="https://storage.yandexcloud.net", aws_access_key_id=os.getenv("YC_ACCESS_KEY"), aws_secret_access_key=os.getenv("YC_SECRET_KEY"), region_name="ru-central1" ) for file in model_files: s3.upload_file( Filename=f"/local/models/{file}", Bucket="llm-models-bucket", Key=f"mistral-7b/{file}", ExtraArgs={"StorageClass": "COLD"} ) 

Yandex DataSphere для прототипування

DataSphere — managed Jupyter з GPU за запитом. Ідеально для експериментів та fine-tuning, але не для продакшн-деплою. Ми використовуємо його для швидкої перевірки гіпотез та налаштування параметрів quantization (INT4/INT8) перед розгортанням.

Як масштабувати під навантаження?

Для балансування використовуємо Application Load Balancer:

yc alb target-group create llm-targets \ --target subnet-name=default,ip-address=10.0.0.10 \ --target subnet-name=default,ip-address=10.0.0.11 yc alb backend-group create llm-backends \ --http-backend name=vllm-backend,port=8000,target-group-id=xxx,healthcheck-path=/health yc alb http-router create llm-router \ --virtual-host name=llm,authority=llm.company.ru \ --route name=api,path-prefix=/v1,backend-group-id=xxx 

Як налаштувати моніторинг LLM?

Вбудована інтеграція: VM метрики (CPU, пам'ять, GPU utilization через DCGM exporter) автоматично в Yandex Monitoring. Custom метрики через Unified Agent:

# /etc/yandex-unified-agent/config.yml routes: - input: plugin: prometheus_puller config: url: http://localhost:8000/metrics pull_period: 15s output: plugin: yc_metrics config: folder_id: xxx iam_token_file: /etc/yandex-unified-agent/iam_token 

Процес роботи: 7 кроків

  1. Аналіз вимог — визначаємо навантаження, latency, бюджет.
  2. Вибір моделі та quantization — підбираємо оптимальну під задачу.
  3. Створення GPU-інстанції — налаштовуємо VM через YC CLI.
  4. Встановлення vLLM — ставимо та оптимізуємо inference engine.
  5. Завантаження моделі в Object Storage — переносимо ваги в S3-сховище.
  6. Запуск та налаштування API — відкриваємо ендпоінт, інтегруємо з додатком.
  7. Балансування та моніторинг — додаємо ALB, налаштовуємо алерти.

Що входить у роботу?

  • Аудит вашої задачі та вибір конфігурації (модель, GPU, бюджет)
  • Розгортання vLLM / TGI на Yandex Cloud з моніторингом
  • Налаштування API-шлюзу та автоскейлінгу
  • Документація з експлуатації та навчання команди
  • Технічна підтримка на етапі запуску

Гарантуємо: latency p99 <200ms для моделей до 13B, uptime 99.9%. Досвід — понад 5 років у AI/ML, сертифіковані спеціалісти Yandex Cloud.

Зв'яжіться з нами для консультації — оцінимо проєкт за 2 дні. Замовте розгортання LLM на Yandex Cloud прямо зараз!