Yandex Cloud
Поиск
Связаться с намиПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
  • Marketplace
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Кейсы
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»
Архитектурные решения
    • Рекомендации по отказоустойчивости в Yandex Cloud
    • Развертывание веб-приложения в отказоустойчивой конфигурации в Yandex Cloud
    • Управление MLOps в Managed Service for GitLab

В этой статье:

  • Системная архитектура
  • Сеть
  • Managed Service for GitLab
  • Compute Cloud
  • Тестовая модель
  • Подготовьте облако к работе
  • Необходимые платные ресурсы
  • Создайте инфраструктуру
  • Создайте проект и настройте окружение
  • Настройте переменные окружения
  • Создайте эксперимент и версию модели
  • Удалите созданные ресурсы
  • См. также
  1. MLOps
  2. Управление MLOps в Managed Service for GitLab

Управление жизненным циклом MLOps с помощью ML Registry в Yandex Managed Service for GitLab

Статья создана
Yandex Cloud
Обновлена 16 марта 2026 г.
  • Системная архитектура
    • Сеть
    • Managed Service for GitLab
    • Compute Cloud
  • Тестовая модель
  • Подготовьте облако к работе
    • Необходимые платные ресурсы
  • Создайте инфраструктуру
  • Создайте проект и настройте окружение
    • Настройте переменные окружения
  • Создайте эксперимент и версию модели
  • Удалите созданные ресурсы
  • См. также

В течение жизненного цикла модели машинного обучения выполняются разработка, обучение модели, оценка качества и внедрение модели. В данном руководстве рассматриваются возможности платформы GitLab для хранения и версионирования ML‑артефактов, которые возникают при экспериментах с ML-моделью, в инфраструктуре Yandex Cloud. В экспериментах меняются гиперпараметры модели — настройки, которые задаются до начала обучения модели и определяют ее архитектуру, стратегию обучения и общее поведение. В отличие от параметров модели (весов, коэффициентов), которые подбираются в процессе обучения на данных, гиперпараметры не изменяются автоматически — их выбирает исследователь или ML-инженер.

Жизненный цикл разработки и тестирования модели в среде GitLab отображен на схеме:

В качестве среды разработки и тестирования используется виртуальная машина DSVM. Масштабируемый управляемый сервис Yandex Managed Service for GitLab обеспечивает работу инстанса GitLab с предустановленным пакетом ML Registry. Благодаря этому вы можете пользоваться следующими инструментами MLOps:

  • Реестр моделей (Model Registry) для логирования метрик, анализа экспериментов по применению модели и оценки качества.
  • Каталог экспериментов (Model Experiments) для управления хранением и версионированием модели.

Для интеграции модели с ML Registry используется библиотека Python API платформы MLFlow.

Кроме сервиса Managed Service for GitLab, для работы с исходным кодом модели используется сервис Yandex Compute Cloud, а для сетевой инфраструктуры — Yandex Virtual Private Cloud.

Системная архитектураСистемная архитектура

СетьСеть

В инфраструктуре решения создается облачная сеть Virtual Private Cloud net-gitlab.

ПодсетиПодсети

В сети net-gitlab создается подсеть в выбранной зоне доступности для размещения инстанса Managed Service for GitLab и ВМ.

Группы безопасностиГруппы безопасности

Сетевой доступ к ресурсам инфраструктуры разграничен с помощью группы безопасности. Подробнее о настройке правил группы безопасности для Managed Service for GitLab.

Адреса ресурсовАдреса ресурсов

В создаваемой инфраструктуре используются публичный IP-адрес для создаваемой ВМ и URL-адрес инстанса GitLab в домене gitlab.yandexcloud.net.

Managed Service for GitLabManaged Service for GitLab

Инстанс GitLab развертывается в ВМ под управлением сервиса Managed Service for GitLab. Доступ к инстансу осуществляется по его адресу через стандартный веб-интерфейс GitLab.

Чтобы выполнять задания GitLab CI/CD, для инстанса Managed Service for GitLab создается и настраивается GitLab Runner.

Compute CloudCompute Cloud

Для локального тестирования и загрузки изменений в репозиторий с исходным кодом модели используется виртуальная машина Data Science Virtual Machine. Отдельная ВМ может использоваться для развертывания GitLab Runner.

Тестовая модельТестовая модель

Тестовая ML-модель, развертываемая в этом руководстве, симулирует цикл разработки и версионирования модели кредитного конвейера. Модель адаптирована для использования в облачной инфраструктуре.

Чтобы развернуть среду разработки модели в облачной среде Yandex Cloud:

  1. Подготовьте облако к работе.
  2. Создайте инфраструктуру.
  3. Создайте проект и настройте окружение.
  4. Создайте эксперимент и версию модели.

Если созданные ресурсы вам больше не нужны, удалите их.

Подготовьте облако к работеПодготовьте облако к работе

Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь.
  2. На странице Yandex Cloud Billing убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.

Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака.

Подробнее об облаках и каталогах.

Необходимые платные ресурсыНеобходимые платные ресурсы

  • Сервис Managed Service for GitLab: использование вычислительных ресурсов инстанса (виртуальной машины) и объем хранилища данных инстанса (см. тарифы Managed Service for GitLab). В зависимости от того, где развернут GitLab Runner, может тарифицироваться ВМ Compute Cloud для установки GitLab Runner.
  • Виртуальные машины: использование вычислительных ресурсов, хранилища, публичного IP-адреса и операционной системы (см. тарифы Compute Cloud).
  • Сервис Object Storage: использование для хранения резервных копий Managed Service for GitLab (см. тарифы Object Storage).

Создайте инфраструктуруСоздайте инфраструктуру

Примечание

Прежде чем приступать к созданию инфраструктуры, убедитесь, что в вашем облаке достаточно свободных квот на ресурсы.

Вручную
Terraform
  1. Создайте сеть с именем net-gitlab. При создании сети отключите опцию Создать подсети.
  2. В сети net-gitlab создайте подсеть в зоне доступности kz1-a со следующими параметрами:
    • Имя — subnet-gitlab-a.
    • Зона доступности — kz1-a.
    • CIDR — 10.16.0.0/24.
  3. В сети net-gitlab создайте группу безопасности с именем gitlab-sg для работы инстанса Managed Service for GitLab и ВМ. Настройте правила в этой группе безопасности по инструкции.
  4. Создайте сервисный аккаунт gitlab-sa и назначьте ему роли compute.admin, vpc.admin и iam.serviceAccounts.user.
  5. Создайте и активируйте инстанс GitLab любой подходящей конфигурации. При создании инстанса укажите созданные ранее подсеть и группу безопасности.
  6. Создайте ВМ из образа DSVM с именем vm-mlops в зоне доступности kz1-a и созданной ранее подсети. При создании ВМ укажите созданную ранее группу безопасности.
  1. Если у вас еще нет Terraform, установите его.

  2. Получите данные для аутентификации. Вы можете добавить их в переменные окружения или указать далее в файле с настройками провайдера.

  3. Настройте и инициализируйте провайдер. Чтобы не создавать конфигурационный файл с настройками провайдера вручную, скачайте его.

  4. Поместите конфигурационный файл в отдельную рабочую директорию и укажите значения параметров. Если данные для аутентификации не были добавлены в переменные окружения, укажите их в конфигурационном файле.

  5. Скачайте в ту же рабочую директорию файл конфигурации ml-ops-managed-gitlab.tf.

    В этом файле описаны:

    • сеть;
    • подсеть;
    • группа безопасности и правила, необходимые для работы инстанса Managed Service for GitLab;
    • инстанс Managed Service for GitLab;
    • ВМ с образом DSVM;
    • сервисный аккаунт.
  6. Укажите в файле ml-ops-managed-gitlab.tf значения параметров:

    • instance_name — название инстанса GitLab;
    • instance_login — логин администратора инстанса GitLab;
    • instance_email — адрес электронной почты администратора;
    • instance_domain — доменное имя инстанса в формате <имя>.gitlab.yandexcloud.net.
    • vm_username и vm_public_key — логин и абсолютный путь к публичному ключу, которые будут использоваться для доступа к ВМ.
    • sa_folder_id — идентификатор каталога, в котором создается сервисный аккаунт.
  7. Проверьте корректность файлов конфигурации Terraform с помощью команды:

    terraform validate
    

    Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  8. Создайте необходимую инфраструктуру:

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

      Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

    В указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления.

Создайте проект и настройте окружениеСоздайте проект и настройте окружение

  1. Создайте проект GitLab, выберите на стартовой странице Import project и укажите настройки импорта:

    • Import project from — Repository by URL.
    • Git Repository URL — https://github.com/yandex-cloud-examples/yc-ml-ops-managed-gitlab.git
    • Project name — gitlab-mlflow.
  2. Разверните раннер для созданного проекта GitLab с помощью инструкции. При развертывании укажите созданные ранее компоненты инфраструктуры:

    • Если вы устанавливаете раннер на ВМ вручную, при создании ВМ выберите подсеть subnet-gitlab-a и группу безопасности gitlab-sg.
    • При создании раннера с помощью Консоли управления укажите сервисный аккаунт gitlab-sa и группу безопасности gitlab-sg.

Настройте переменные окруженияНастройте переменные окружения

  1. Откройте проект GitLab gitlab-mlflow.

  2. На панели слева перейдите в раздел Settings и во всплывающем списке выберите пункт Access Tokens.

  3. Задайте параметры нового токена:

    • Token name — mlflow.
    • Select a role — Maintainer.
    • Select scopes — api, manage_runner, read_repository, write_repository.
  4. Нажмите кнопку Create project access token.

  5. Скопируйте значение созданного токена.

  6. Выберите слева вкладку Settings, а во всплывающем списке — CI/CD.

  7. В разделе Variables нажмите кнопку Expand.

  8. Добавьте переменные окружения:

    • MLFLOW_TRACKING_TOKEN — созданный токен.
    • MLFLOW_TRACKING_URI — https://<адрес_инстанса_GitLab>.gitlab.yandexcloud.net/api/v4/projects/4/ml/mlflow.
    • REPO_TOKEN — созданный токен.

    Для добавления переменной:

    • Нажмите кнопку Add variable.
    • В появившемся окне в поле Key укажите имя переменной, в поле Value — значение переменной.
    • Нажмите кнопку Add variable.

Создайте эксперимент и версию моделиСоздайте эксперимент и версию модели

  1. Подключитесь к ВМ vm-mlops по SSH.

  2. Добавьте SSH-ключ для безопасного доступа к GitLab.

  3. Склонируйте репозиторий проекта gitlab-mlflow с помощью SSH.

  4. Перейдите в директорию с репозиторием и создайте ветку mlops-experiment-1:

    git checkout -b mlops-experiment-1
    
  5. Внесите изменения в параметры модели в файле loan_prediction.py, например поменяйте параметр RANDOM_SEED.

  6. Загрузите изменения на GitLab:

    git add -A
    git commit -m "Change model parameter"
    git push
    
  7. Откройте проект GitLab gitlab-mlflow и создайте мерж-реквест из созданной ветки. Автоматически будет создан сценарий обучения и тестирования измененной модели.

  8. Запустите сценарий:

    1. На панели слева выберите пункт Build.
    2. В выпадающем списке выберите пункт Pipelines.
    3. Нажмите кнопку в колонке Actions и выберите trigger_train.

    Дождитесь завершения работы сценария.

  9. Создайте реестр версий модели:

    1. На панели слева выберите пункт Deploy.
    2. В выпадающем списке выберите пункт Model Registry.
    3. Нажмите кнопку Create/import model и выберите Create new model.
    4. Укажите имя модели loan-prediction-demo и нажмите кнопку Create.
  10. Проверьте результаты эксперимента:

    1. На панели слева выберите пункт Analyze.
    2. В выпадающем списке выберите пункт Model Experiments.
    3. Выберите в списке справа эксперимент Loan_prediction и перейдите на вкладку Runs. В списке отображаются все методы для обучения модели, их параметры и результаты обучения.
    4. Нажмите на элемент списка в колонке Name. На вкладке Artifacts отображаются артефакты обучения выбранного метода модели.
    5. Нажмите кнопку Promote run для регистрации версии модели. Выберите в поле Model модель loan-prediction-demo из выпадающего списка, укажите в поле Version версию 0.0.1 и нажмите кнопку Promote. В реестр версий будет добавлена новая версия и все артефакты ее обучения.

Удалите созданные ресурсыУдалите созданные ресурсы

Некоторые ресурсы платные. Чтобы за них не списывалась плата, удалите ресурсы, которые вы больше не будете использовать:

Вручную
Terraform
  1. Удалите инстанс GitLab.
  2. Удалите ВМ.
  1. В терминале перейдите в директорию с планом инфраструктуры.

    Важно

    Убедитесь, что в директории нет Terraform-манифестов с ресурсами, которые вы хотите сохранить. Terraform удаляет все ресурсы, которые были созданы с помощью манифестов в текущей директории.

  2. Удалите ресурсы:

    1. Выполните команду:

      terraform destroy
      
    2. Подтвердите удаление ресурсов и дождитесь завершения операции.

    Все ресурсы, которые были описаны в Terraform-манифестах, будут удалены.

См. такжеСм. также

  • Machine Learning Model Experiments
  • Model Registry

Была ли статья полезна?

Предыдущая
Тестирование инфраструктуры на основе Network Load Balancer
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»