• Русский
  • Введение в функционал

    Основное определение функции репозитория моделей — предоставить систему хранения моделей машинного обучения с управлением версиями на основе Git, позволяющую командам управлять файлами моделей, отслеживать версии и сотрудничать между арендаторами. Она использует Git LFS для хранения больших файлов и интегрируется с MLOps-процессами, обеспечивая связь между разработкой и развертыванием моделей.

    Содержание

    Преимущества

    1. Нативное управление версиями Git
      • Отслеживание изменений моделей через коммиты/ветки/теги, обеспечивая воспроизводимость.
    2. Высокоскоростная передача
      • Загрузки через CLI/Notebook используют внутреннюю пропускную способность сети (например, AML Notebooks同机房加速).
    3. Совместное использование между арендаторами
      • Общие модели доступны в разных пространствах имён (например, public как маркетплейс моделей).
    4. Бесшовная интеграция
      • Прямое развертывание моделей из репозитория в сервисы инференса.

    Применимые сценарии

    • Командная работа
      • Несколько дата-сайентистов одновременно обновляют и версионируют модели в одном репозитории.
    • Аудит моделей
      • Отслеживание исторических версий через коммиты/теги Git для соответствия требованиям.
    • Централизованное управление активами
      • Организация приватных/общих моделей в едином хабе с метаданными (например, теги/описания).

    Приносимая ценность

    • Воспроизводимость
      • Фиксация версий моделей с помощью тегов (например, production/v1.2) для предотвращения рассогласования обучения и сервинга.
    • Эффективность
      • Загрузки через CLI обходят ограничения браузера для больших файлов (>10GB).
    • Безопасность
      • Изоляция арендаторов через учетные данные GitLab предотвращает несанкционированный доступ.
    • Снижение затрат
      • Исключение избыточного хранения за счёт повторного использования общих моделей (например, публичные веса BERT).

    Основные функции

    Создание и удаление репозитория моделей

    • Создание пустого репозитория на базе Git с метаданными (название/описание/видимость).
    • Удаление моделей после проверки зависимостей (например, отсутствие активных сервисов инференса).

    Управление файлами

    • Загрузка через Web UI
      • Перетаскивание файлов/папок (ограничено малыми/средними размерами).
    • CLI/Git LFS
      • Использование git lfs track для больших файлов (например, *.bin, *.h5).
      • Пример:
        git clone <model_repo_url>
        git lfs install
        cp ~/local_model/* . && git add . && git commit -m "v1.0" && git push

    Управление версиями

    • Ветвление
      • Поддержка параллельных версий (например, ветки experimental и main).
    • Тегирование
      • Пометка релизов через UI/CLI (например, git tag -a v2.0 -m "Stable release").
    • Синхронизация метаданных
      • Автоматическое чтение README.md из ветки по умолчанию для описания модели.

    Совместное использование между арендаторами

    • Общие модели
      • Установка видимости "Shared" при создании для доступа между арендаторами.
    • Публичный маркетплейс
      • Использование пространства имён public для публикации open-source моделей (например, конверсии HuggingFace).

    Интеграция с MLOps

    • Готовность к развертыванию
      • Запуск сервиса инференса в один клик из тегированных версий моделей.
    • Интеграция с Notebook
      • Прямое получение моделей в AML Notebooks для тестирования:
        !git clone https://aml-public/resnet50.git

    Технические заметки

    • Требование Git LFS
      • Необходимо включать .gitattributes для указания файлов, отслеживаемых LFS (например, *.zip filter=lfs diff=lfs merge=lfs).
    • Правила ветки по умолчанию
      • Некорректные метаданные README.md могут блокировать развертывание инференса.

    Создание репозитория моделей

    Шаг 1

    ПараметрыОписание
    NameОбязательно, название репозитория моделей.
    LabelsПользовательские теги для категоризации и поиска. (например, "CV", "NLP", "production")
    DescriptionПодробное описание назначения репозитория, типа модели или правил использования.

    Шаг 2

    Create пустой репозиторий.

    Шаг 3

    Загрузка файлов модели

    Вы можете загрузить файлы модели одним из следующих способов:

    Вариант 1: Загрузка через Web UI

    • Используйте интерфейс управления файлами для загрузки
    • Перетащите файлы/папки в выделенную область
    • Поддерживаемые форматы: все типы файлов моделей (.h5, .bin, .pt и др.)
    • Отслеживание прогресса с отображением статуса загрузки в реальном времени

    Вариант 2: Загрузка через Git CLI

    1. Получите адрес репозитория:
    • Перейдите в Detail Info → Basic Info
    • Скопируйте URL Git-репозитория (например, https://<your-domain>/<namespace>/<repo-name>.git)
    1. Загрузка через Git:

      
      # Клонирование репозитория
      git clone <repository-url>
      
      # Переход в директорию репозитория
      cd <repo-name>
      
      # Инициализация Git LFS (если ещё не настроено)
      git lfs install
      
      # Добавление файлов модели (замените на ваши файлы)
      cp -r /path/to/your/model/files/* .
      
      # Настройка отслеживания LFS (для больших файлов)
      git lfs track "*.h5" "*.bin" "*.pt"
      
      # Коммит и пуш
      git add .
      git commit -m "Add model files v1.0"
      git push origin main