Розгортання LLM на Yandex Cloud (DataSphere)

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

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

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

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

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

Деплой LLM на Yandex Cloud

Yandex Cloud — основний вітчизняний хмарний провайдер із GPU-інстанціями, Yandex ML Platform та власними LLM (YandexGPT). Для російських компаній з вимогами до data residency та імпортозаміщення.

GPU-інстанції в Yandex Cloud

GPU-кластери: g2 (Tesla V100 32GB) та g3 (A100 80GB):

# Создание VM с GPU через 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

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

# Установка после SSH на VM
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

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

import boto3

# Yandex Object Storage совместим с S3 API
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"}  # для редко используемых версий
    )

YandexGPT API

Для використання власних моделей Яндекса:

import requests

def call_yandexgpt(prompt: str, folder_id: str, api_key: str) -> str:
    url = "https://llm.api.cloud.yandex.net/foundationModels/v1/completion"

    payload = {
        "modelUri": f"gpt://{folder_id}/yandexgpt-lite/latest",
        "completionOptions": {
            "stream": False,
            "temperature": 0.6,
            "maxTokens": 2000
        },
        "messages": [
            {
                "role": "system",
                "text": "Ты полезный помощник."
            },
            {
                "role": "user",
                "text": prompt
            }
        ]
    }

    response = requests.post(
        url,
        headers={
            "Authorization": f"Api-Key {api_key}",
            "x-folder-id": folder_id
        },
        json=payload
    )
    return response.json()["result"]["alternatives"][0]["message"]["text"]

Yandex DataSphere для ML розробки

DataSphere - managed Jupyter-середовище з GPU за запитом:

# В ноутбуке DataSphere
#!g1.1  # директива для использования V100

import torch
print(torch.cuda.get_device_name(0))  # Tesla V100-SXM2-32GB

# Обучение или fine-tuning модели
from transformers import Trainer, TrainingArguments

training_args = TrainingArguments(
    output_dir="./results",
    fp16=True,
    per_device_train_batch_size=8,
    gradient_accumulation_steps=4,
    num_train_epochs=3,
)

Балансування навантаження через Application Load Balancer

# Создание target group из GPU VM
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

# Backend group
yc alb backend-group create llm-backends \
  --http-backend name=vllm-backend,port=8000,target-group-id=xxx,healthcheck-path=/health

# HTTP router
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

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

Вбудована інтеграція: 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