Развёртывание LLM на Google Cloud Vertex AI

Когда Vertex AI становится узким местом

Направления AI-разработки

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1439
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    997
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1264
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    712
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    1002

Когда Vertex AI становится узким местом

Мы занимаемся деплоем LLM на Vertex AI уже 5+ лет и знаем, почему стандартный Model Garden не справляется с высоконагруженными системами. На практике вы сталкиваетесь с холодным стартом эндпоинта, неэффективным автоскейлингом и неконтролируемым ростом биллинга за GPU. Для SaaS-продукта с p99 latency менее 500 мс нужен кастомный образ с vLLM, TGI или Triton. Мы используем vLLM с --enable-prefix-caching и --block-size=16 — это даёт до 3x прироста throughput на повторяющихся промптах.

За 50+ проектов мы накопили практику, как превратить Vertex из чёрного ящика в предсказуемую платформу. На одном проекте для финансового трейдинга мы снизили холодный старт с 12 секунд до 300 мс, удерживая одну реплику активной. Экономия на GPU за счёт правильной квантизации составила 35%.

Почему стандартный Model Garden не подходит для высоконагруженных систем?

Готовые модели из Model Garden развёртываются одной командой, но теряете контроль над размером батча, max-model-len, квантизацией и выбором скедулера. Для высоких нагрузок нужен кастомный образ с TGI или Triton. vLLM с --enable-prefix-caching даёт до 3x прироста throughput на повторяющихся промптах.

Как мы разворачиваем LLM: пошаговый процесс

  1. Аудит модели и инфраструктуры. Оцениваем требования к latency, throughput, подбираем GPU/TPU и тип квантизации (INT4 vs FP16).
  2. Контейнеризация с vLLM/TGI. Собираем Docker-образ с optimised параметрами — health check, predict route, env vars для Vertex AI Endpoints.
  3. Настройка эндпоинта и автоскейлинга. Задаём min_replica_count, max_replica_count, кастомные метрики custom.googleapis.com|model/requests_per_replica.
  4. Мониторинг и алертинг. Дашборд Cloud Monitoring: latency p50/p95/p99, GPU utilization, количество токенов, error rate.
  5. Документация и обучение. Runbook для разработчиков, terraform-конфигурация для повторяемого деплоя.

Ориентировочные сроки: от 7 до 14 дней. Стоимость рассчитывается индивидуально.

Минимизация холодного старта

Холодный старт возникает, когда эндпоинт масштабируется до нуля или при первом вызове после простоя. Vertex AI не умеет предзагружать модель в память. Мы обходим это двумя способами: настраиваем min_replica_count=1 для критичных сервисов (небольшая дополнительная стоимость) или используем warm-up запросы через Cloud Scheduler.

# Прогрев эндпоинта каждые 30 секунд from google.cloud import aiplatform import requests def warm_endpoint(endpoint_name: str): warm_payload = {"prompt": "ping", "max_tokens": 1} # вызов rawPredict response = requests.post( endpoint_name, json=warm_payload, headers={"Authorization": f"Bearer {token}"} ) 

В одном проекте для финансового трейдинга мы снизили холодный старт с 12 секунд до 300 мс — просто держали одну реплику активной и добавили keep-alive на стороне клиента. Свяжитесь с нами, чтобы обсудить ваш сценарий.

Что выбрать для инференса: Cloud TPU или GPU?

Характеристика TPU v5e (8-чип) NVIDIA A100 (80GB, 1x)
Throughput (токенов/с) ~4500 (Llama 3 8B, batch=64) ~2100
Стоимость Выше в час Ниже в час
Доступность в Vertex Только us-central2-b Многие регионы
Сложность настройки Высокая (JAX, MaxText) Средняя (PyTorch, CUDA)

Tensor Processing Unit — специализированный чип Google. Внутренние тесты на Llama 3 8B с batch=64.

TPU v5e даёт примерно в 2 раза больше throughput на доллар для больших батчей, но привязывает к зоне us-central2-b. Для production с мультирегиональной HA рекомендуем GPU или гибрид: TPU для пакетной обработки, GPU для онлайн-инференса.

Как настроить автоскейлинг и мониторинг?

Vertex AI автоматически публикует метрики в Cloud Monitoring, но их недостаточно. Мы добавляем кастомные метрики: количество сгенерированных токенов, процент кэшированных обращений (prefix_cache_hit_rate), время первого токена (TTFT). Это позволяет быстро выявлять деградацию модели после обновления.

# Кастомная метрика в Cloud Monitoring from google.cloud import monitoring_v3 client = monitoring_v3.MetricServiceClient() series = monitoring_v3.TimeSeries( metric={"type": "custom.googleapis.com/model/tokens_per_second"}, resource={"type": "global"}, points=[{ "interval": {"end_time": {"seconds": now}}, "value": {"double_value": tokens_per_sec} }] ) client.create_time_series(name=project_name, time_series=[series]) 
Пример конфигурации для Llama 3 70B
machine_type: g2-standard-24 accelerator_type: NVIDIA_A100_80G accelerator_count: 4 

Сравнение vLLM и TGI для инференса

Параметр vLLM TGI
Throughput (batch=1) ~1200 tok/s ~1000 tok/s
Поддержка prefix caching Да Ограниченная
Гибкость кастомизации Высокая Средняя

vLLM лучше TGI в 1.2 раза по throughput для одиночных запросов и имеет более продвинутое кэширование.

Что входит в работу

  • Аудит модели и инфраструктуры — анализ требований, подбор GPU/TPU, рекомендации по квантизации.
  • Контейнеризация — сборка Docker-образа с vLLM/TGI, настройка health check и predict route.
  • Деплой на Vertex AI Endpoints — настройка автоскейлинга, кастомных метрик и мониторинга.
  • Документация — runbook для разработчиков, terraform-конфигурация для повторяемого деплоя.
  • Обучение команды — передача знаний по эксплуатации и алертингу.
  • Техническая поддержка — 2 недели пост-деплойного сопровождения, гарантия стабильной работы под нагрузкой.

Почему стоит выбрать нас

  • 5+ лет опыта в MLOps и деплое LLM
  • 50+ развёрнутых моделей, включая Llama 3, Mistral, Gemma, Qwen
  • Сертифицированные специалисты Google Cloud (Professional ML Engineer)
  • Полное сопровождение: от выбора модели до эксплуатации, гарантируем стабильную работу

Вы можете сэкономить до 40% затрат на GPU при правильной конфигурации автоскейлинга и квантизации. Получите консультацию по вашему проекту — мы оценим оптимальную архитектуру деплоя и рассчитаем бюджет.

Пример деплоя через Vertex AI Endpoints

from google.cloud import aiplatform aiplatform.init(project="my-project", location="us-central1") # Загрузка модели из GCS model = aiplatform.Model.upload( display_name="llama3-8b-vllm", artifact_uri="gs://my-bucket/models/llama3-8b/", serving_container_image_uri="us-docker.pkg.dev/vertex-ai/prediction/pytorch-gpu.2-2:latest", serving_container_command=[ "python", "-m", "vllm.entrypoints.openai.api_server", "--model=/gcs/models/llama3-8b/", "--tensor-parallel-size=1", "--max-model-len=8192", "--host=0.0.0.0", "--port=8080" ], serving_container_ports=[{"containerPort": 8080}], serving_container_health_route="/health", serving_container_predict_route="/v1/completions", serving_container_environment_variables={ "TRANSFORMERS_CACHE": "/gcs/hf_cache/", } ) # Деплой endpoint endpoint = aiplatform.Endpoint.create(display_name="llama3-8b-endpoint") model.deploy( endpoint=endpoint, deployed_model_display_name="llama3-8b-v1", machine_type="g2-standard-12", # 1x L4 GPU accelerator_type="NVIDIA_L4", accelerator_count=1, min_replica_count=1, max_replica_count=10, # автоскейлинг traffic_percentage=100, ) 

Закажите консультацию — мы подберём оптимальную конфигурацию под вашу нагрузку.