Основное определение функции model repository — предоставить систему хранения моделей машинного обучения с управлением версиями на основе Git, позволяющую командам управлять файлами моделей, отслеживать версии и сотрудничать между арендаторами. Используется Git LFS для хранения больших файлов и интеграция с MLOps workflow для объединения разработки и развертывания моделей.
Нативное управление версиями Git
Высокоскоростные передачи
Совместное использование между арендаторами
public как маркетплейс моделей).Бесшовная интеграция
Создание и удаление Model Repository
Управление файлами
git lfs track для больших файлов (например, *.bin, *.h5).Управление версиями
experimental и main).git tag -a v2.0 -m "Stable release").README.md из основной ветки для описания модели.Совместное использование между арендаторами
public для публикации open-source моделей (например, конверсии HuggingFace).Интеграция с MLOps
.gitattributes для указания файлов, отслеживаемых LFS (например, *.zip filter=lfs diff=lfs merge=lfs).README.md могут блокировать развертывание inference.Перед началом убедитесь, что на вашей системе установлены Git и Git LFS.
$ git lfs version
Если у вас уже есть удалённый репозиторий, клонируйте его. В противном случае можно инициализировать новый Git-репозиторий локально.
Инициализация Git LFS
Можно заранее создать файл .gitattributes для указания типов файлов, которые нужно отслеживать.
Либо использовать команду git lfs migrate для автоматической проверки и миграции больших файлов.
Вариант 1: Активное отслеживание через .gitattributes (рекомендуется для новых проектов)
Если в вашем репозитории уже есть файлы, которые нужно отслеживать через Git LFS, рекомендуется после коммита изменений .gitattributes выполнить команду, чтобы Git заново обработал эти файлы и преобразовал их в LFS-поинтеры:
git add --renormalize .
Вариант 2: Использование git lfs migrate для проверки и миграции (рекомендуется для существующих репозиториев или исторических файлов)
Команда git lfs migrate может найти и мигрировать большие файлы, уже существующие в истории Git (но не отслеживаемые LFS). Это переписывает историю — согласуйте с коллегами. При пуше переписанной истории используйте --force-with-lease.
Для общих репозиториев: предупредите коллег перед миграцией, а при пуше переписанной истории используйте:
git push --force-with-lease
После настройки LFS добавьте файлы в индекс, сделайте коммит и отправьте изменения в удалённый репозиторий.