Розгортання LLM на Google Cloud (Vertex AI)

Проектуємо та впроваджуємо системи штучного інтелекту: від прототипу до production-ready рішення. Наша команда поєднує експертизу в машинному навчанні, дата-інжинірингу та MLOps, щоб AI працював не в лабораторії, а в реальному бізнесі.
Показано 1 з 1Усі 1566 послуг
Розгортання LLM на Google Cloud (Vertex AI)
Середній
~3-5 днів
Часті запитання

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

Етапи розробки AI-рішення

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

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

Деплой LLM на Google Cloud Vertex AI

Vertex AI - керована ML-платформа Google Cloud. Для LLM: Model Garden (готові моделі), Vertex AI Endpoints (кастомний деплой), Workbench (ноутбуки), Pipelines (ML-пайплайни). Глибока інтеграція з TPU – унікальна перевага GCP.

Vertex AI Model Garden

Готові моделі з одним кліком: Llama-3, Gemma, Mistral – деплой без налаштування інфраструктури:

import vertexai
from vertexai.preview.language_models import TextGenerationModel

vertexai.init(project="my-project", location="us-central1")

# Gemini через Vertex
from vertexai.generative_models import GenerativeModel

model = GenerativeModel("gemini-1.5-pro-002")
response = model.generate_content(
    "Explain machine learning",
    generation_config={"max_output_tokens": 512, "temperature": 0.7}
)

Кастомний деплой через Vertex AI Endpoints

from google.cloud import aiplatform
from google.cloud.aiplatform import gapic

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,
)

Інвокація через REST API

import google.auth
import google.auth.transport.requests
import requests

def invoke_vertex_endpoint(project: str, endpoint_id: str, payload: dict) -> dict:
    credentials, _ = google.auth.default()
    request = google.auth.transport.requests.Request()
    credentials.refresh(request)

    url = f"https://us-central1-aiplatform.googleapis.com/v1/projects/{project}/locations/us-central1/endpoints/{endpoint_id}:rawPredict"

    response = requests.post(
        url,
        headers={"Authorization": f"Bearer {credentials.token}"},
        json=payload
    )
    return response.json()

Cloud TPU для LLM

TPU v4/v5 – конкурентна перевага GCP перед AWS/Azure для трансформерних моделей. JAX + MaxText для ефективного TPU LLM-інференсу:

# Запуск Llama на TPU v5e через JetStream
gcloud compute tpus tpu-vm create llm-tpu \
  --zone=us-central2-b \
  --accelerator-type=v5litepod-8 \
  --version=v2-tpuv5-lite

# На TPU VM
pip install jetstream maxengine
python -m jetstream.core.implementations.maxtext.server \
  --model=llama-3-8b \
  --tokenizer_path=tokenizer.model \
  --load_parameters_path=gs://bucket/llama3-8b/ \
  --port=9000

TPU v5e vs A100: ~2x throughput у ~0.4x вартості на token для великих батчів.

Vertex AI Pipelines для ML

from kfp import dsl, compiler
import vertexai.preview.pipeline_jobs as pipeline_jobs

@dsl.component(base_image="python:3.11")
def train_model(data_path: str, output_path: str) -> None:
    import subprocess
    subprocess.run(["python", "train.py", "--data", data_path, "--output", output_path])

@dsl.pipeline(name="llm-fine-tuning-pipeline")
def fine_tuning_pipeline(base_model: str, data_gcs_path: str):
    prepare_data_task = prepare_data(gcs_path=data_gcs_path)
    train_task = train_model(
        data_path=prepare_data_task.output,
        output_path="gs://bucket/fine-tuned/"
    ).set_accelerator_type("NVIDIA_A100_80G").set_accelerator_limit(4)

compiler.Compiler().compile(fine_tuning_pipeline, "pipeline.yaml")

job = aiplatform.PipelineJob(
    display_name="llm-fine-tuning",
    template_path="pipeline.yaml",
    parameter_values={"base_model": "meta-llama/Llama-3-8b", "data_gcs_path": "gs://..."}
)
job.run()

Моніторинг через Cloud Monitoring

Vertex AI автоматично публікує метрики в Cloud Monitoring: prediction latency, request count, error rate. Custom metrics через Cloud Logging + Log-based metrics для прикладених бізнес-метрик.