Введение в функционал
Основное определение функции репозитория моделей — предоставить систему хранения моделей машинного обучения с управлением версиями на основе Git, позволяющую командам управлять файлами моделей, отслеживать версии и сотрудничать между арендаторами. Она использует Git LFS для хранения больших файлов и интегрируется с MLOps-процессами, обеспечивая связь между разработкой и развертыванием моделей.
Содержание
Преимущества
- Нативное управление версиями Git
- Отслеживание изменений моделей через коммиты/ветки/теги, обеспечивая воспроизводимость.
- Высокоскоростная передача
- Загрузки через CLI/Notebook используют внутреннюю пропускную способность сети (например, AML Notebooks同机房加速).
- Совместное использование между арендаторами
- Общие модели доступны в разных пространствах имён (например,
publicкак маркетплейс моделей).
- Общие модели доступны в разных пространствах имён (например,
- Бесшовная интеграция
- Прямое развертывание моделей из репозитория в сервисы инференса.
Применимые сценарии
- Командная работа
- Несколько дата-сайентистов одновременно обновляют и версионируют модели в одном репозитории.
- Аудит моделей
- Отслеживание исторических версий через коммиты/теги Git для соответствия требованиям.
- Централизованное управление активами
- Организация приватных/общих моделей в едином хабе с метаданными (например, теги/описания).
Приносимая ценность
- Воспроизводимость
- Фиксация версий моделей с помощью тегов (например,
production/v1.2) для предотвращения рассогласования обучения и сервинга.
- Фиксация версий моделей с помощью тегов (например,
- Эффективность
- Загрузки через CLI обходят ограничения браузера для больших файлов (>10GB).
- Безопасность
- Изоляция арендаторов через учетные данные GitLab предотвращает несанкционированный доступ.
- Снижение затрат
- Исключение избыточного хранения за счёт повторного использования общих моделей (например, публичные веса BERT).
Основные функции
Создание и удаление репозитория моделей
- Создание пустого репозитория на базе Git с метаданными (название/описание/видимость).
- Удаление моделей после проверки зависимостей (например, отсутствие активных сервисов инференса).
Управление файлами
- Загрузка через Web UI
- Перетаскивание файлов/папок (ограничено малыми/средними размерами).
- CLI/Git LFS
- Использование
git lfs trackдля больших файлов (например,*.bin,*.h5). - Пример:
- Использование
Управление версиями
- Ветвление
- Поддержка параллельных версий (например, ветки
experimentalиmain).
- Поддержка параллельных версий (например, ветки
- Тегирование
- Пометка релизов через UI/CLI (например,
git tag -a v2.0 -m "Stable release").
- Пометка релизов через UI/CLI (например,
- Синхронизация метаданных
- Автоматическое чтение
README.mdиз ветки по умолчанию для описания модели.
- Автоматическое чтение
Совместное использование между арендаторами
- Общие модели
- Установка видимости "Shared" при создании для доступа между арендаторами.
- Публичный маркетплейс
- Использование пространства имён
publicдля публикации open-source моделей (например, конверсии HuggingFace).
- Использование пространства имён
Интеграция с MLOps
- Готовность к развертыванию
- Запуск сервиса инференса в один клик из тегированных версий моделей.
- Интеграция с Notebook
- Прямое получение моделей в AML Notebooks для тестирования:
- Прямое получение моделей в AML Notebooks для тестирования:
Технические заметки
- Требование Git LFS
- Необходимо включать
.gitattributesдля указания файлов, отслеживаемых LFS (например,*.zip filter=lfs diff=lfs merge=lfs).
- Необходимо включать
- Правила ветки по умолчанию
- Некорректные метаданные
README.mdмогут блокировать развертывание инференса.
- Некорректные метаданные
Создание репозитория моделей
Шаг 1
Шаг 2
Create пустой репозиторий.
Шаг 3
Загрузка файлов модели
Вы можете загрузить файлы модели одним из следующих способов:
Вариант 1: Загрузка через Web UI
- Используйте интерфейс управления файлами для загрузки
- Перетащите файлы/папки в выделенную область
- Поддерживаемые форматы: все типы файлов моделей (.h5, .bin, .pt и др.)
- Отслеживание прогресса с отображением статуса загрузки в реальном времени
Вариант 2: Загрузка через Git CLI
- Получите адрес репозитория:
- Перейдите в Detail Info → Basic Info
- Скопируйте URL Git-репозитория (например, https://<your-domain>/<namespace>/<repo-name>.git)
-
Загрузка через Git: