logo
Alauda AI
English
Русский
English
Русский
logo
Alauda AI
Навигация

Обзор

Введение
Быстрый старт
Примечания к выпуску

Установка

Предварительная настройка
Установка Alauda AI Essentials
Установка Alauda AI

Обновление

Обновление с AI 1.3

Удаление

Удаление

Управление инфраструктурой

Управление устройствами

О Alauda Build of Hami
О плагине устройства NVIDIA GPU от Alauda Build

Мультиарендность

Руководства

Управление пространствами имён

Рабочее пространство

Обзор

Введение
Установка
Обновление

Как сделать

Создание WorkspaceKind
Создание Workbench

Развертывание модели и вывод

Обзор

Введение
Features

Сервис вывода

Введение

Руководства

Inference Service

Как сделать

Extend Inference Runtimes
Configure External Access for Inference Services
Configure Scaling for Inference Services

Устранение неполадок

Проблемы с таймаутами сервиса инференса при использовании MLServer Runtime
Служба инференса не переходит в состояние Running

Управление моделями

Введение

Руководства

Model Repository

Мониторинг и операции

Обзор

Введение
Features Overview

Ведение журналов и трассировка

Введение

Руководства

Логирование

Мониторинг ресурсов

Введение

Руководства

Мониторинг ресурсов

Справочник API

Введение

Kubernetes APIs

Inference Service APIs

ClusterServingRuntime [serving.kserve.io/v1alpha1]
InferenceService [serving.kserve.io/v1beta1]

Workbench APIs

Workspace Kind [kubeflow.org/v1beta1]
Workspace [kubeflow.org/v1beta1]

Manage APIs

AmlNamespace [manage.aml.dev/v1alpha1]

Operator APIs

AmlCluster [amlclusters.aml.dev/v1alpha1]
Глоссарий
Предыдущая страницаРуководства
Следующая страницаМониторинг и операции

#Model Repository

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

#Содержание

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

Нативное управление версиями Git

  • Отслеживание изменений моделей через коммиты/ветки/теги, обеспечивая воспроизводимость.

Высокоскоростные передачи

  • Загрузки через CLI/Notebook используют пропускную способность внутренней сети.

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

  • Общие модели доступны в разных пространствах имён (например, public как маркетплейс моделей).

Бесшовная интеграция

  • Прямое развертывание моделей из репозитория в inference-сервисы.

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

Создание и удаление Model Repository

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

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

  1. 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

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

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

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

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

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

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

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

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

#Создание Model Repository

WARNING

Перед началом убедитесь, что на вашей системе установлены Git и Git LFS.

$ git lfs version

#Шаг 1: Клонирование или инициализация репозитория

Если у вас уже есть удалённый репозиторий, клонируйте его. В противном случае можно инициализировать новый Git-репозиторий локально.

# Способ 1: Клонировать существующий репозиторий
git clone <repository-url>
cd <repo-name>

# Способ 2: Инициализировать новый репозиторий
mkdir <your-repo-name>
cd <your-repo-name>
git init
git checkout -b main # Создать и переключиться на ветку main

#Шаг 2: Инициализация Git LFS

Инициализация Git LFS

git lfs install

#Шаг 3: Копирование файлов модели в директорию репозитория (опционально)

# Если у вас есть локальные файлы модели, которые нужно добавить в репозиторий, скопируйте их в текущую директорию.

cp -r /path/to/your/model/files/* .

#Шаг 4: Настройка отслеживания Git LFS (выберите один из двух вариантов)

  1. Можно заранее создать файл .gitattributes для указания типов файлов, которые нужно отслеживать.

  2. Либо использовать команду git lfs migrate для автоматической проверки и миграции больших файлов.

  • Вариант 1: Активное отслеживание через .gitattributes (рекомендуется для новых проектов)

    # Этот метод явно указывает Git LFS, какие файлы отслеживать, задавая типы файлов в `.gitattributes`.
    # Полезно для новых проектов или когда точно известно, какие типы файлов нужно отслеживать.
    
    cat >.gitattributes <<EOL
    *.7z filter=lfs diff=lfs merge=lfs -text
    *.arrow filter=lfs diff=lfs merge=lfs -text
    *.bin filter=lfs diff=lfs merge=lfs -text
    *.bz2 filter=lfs diff=lfs merge=lfs -text
    *.ckpt filter=lfs diff=lfs merge=lfs -text
    *.ftz filter=lfs diff=lfs merge=lfs -text
    *.gz filter=lfs diff=lfs merge=lfs -text
    *.h5 filter=lfs diff=lfs merge=lfs -text
    *.joblib filter=lfs diff=lfs merge=lfs -text
    *.lfs.* filter=lfs diff=lfs merge=lfs -text
    *.mlmodel filter=lfs diff=lfs merge=lfs -text
    *.model filter=lfs diff=lfs merge=lfs -text
    *.msgpack filter=lfs diff=lfs merge=lfs -text
    *.npy filter=lfs diff=lfs merge=lfs -text
    *.npz filter=lfs diff=lfs merge=lfs -text
    *.onnx filter=lfs diff=lfs merge=lfs -text
    *.ot filter=lfs diff=lfs merge=lfs -text
    *.parquet filter=lfs diff=lfs merge=lfs -text
    *.pb filter=lfs diff=lfs merge=lfs -text
    *.pickle filter=lfs diff=lfs merge=lfs -text
    *.pkl filter=lfs diff=lfs merge=lfs -text
    *.pt filter=lfs diff=lfs merge=lfs -text
    *.pth filter=lfs diff=lfs merge=lfs -text
    *.rar filter=lfs diff=lfs merge=lfs -text
    *.safetensors filter=lfs diff=lfs merge=lfs -text
    saved_model/**/* filter=lfs diff=lfs merge=lfs -text
    *.tar.* filter=lfs diff=lfs merge=lfs -text
    *.tar filter=lfs diff=lfs merge=lfs -text
    *.tflite filter=lfs diff=lfs merge=lfs -text
    *.tgz filter=lfs diff=lfs merge=lfs -text
    *.wasm filter=lfs diff=lfs merge=lfs -text
    *.xz filter=lfs diff=lfs merge=lfs -text
    *.zip filter=lfs diff=lfs merge=lfs -text
    *.zst filter=lfs diff=lfs merge=lfs -text
    *tfevents* filter=lfs diff=lfs merge=lfs -text
    EOL
    
    # Также можно вручную добавить или изменить файл `.gitattributes`, например:
    git lfs track "*.h5" "*.bin" "*.pt" # Отслеживать файлы с указанными суффиксами
    TIP

    Если в вашем репозитории уже есть файлы, которые нужно отслеживать через Git LFS, рекомендуется после коммита изменений .gitattributes выполнить команду, чтобы Git заново обработал эти файлы и преобразовал их в LFS-поинтеры:

    git add --renormalize .

  • Вариант 2: Использование git lfs migrate для проверки и миграции (рекомендуется для существующих репозиториев или исторических файлов)

    Команда git lfs migrate может найти и мигрировать большие файлы, уже существующие в истории Git (но не отслеживаемые LFS). Это переписывает историю — согласуйте с коллегами. При пуше переписанной истории используйте --force-with-lease.

    # Проверка файлов, которые нужно мигрировать
    ```bash
    # Проверка файлов, которые нужно мигрировать
    
    git status # Убедитесь, что рабочее дерево чисто
    git lfs migrate info
    
    # Миграция существующих больших файлов в LFS
    # Следующая команда мигрирует все файлы больше 100MB в Git LFS. Этот лимит 100MB основан на рекомендуемом GitHub ограничении размера файла для оптимальной производительности.
    
    git lfs migrate import --above 100MB
    TIP

    Для общих репозиториев: предупредите коллег перед миграцией, а при пуше переписанной истории используйте: git push --force-with-lease

#Шаг 5: Добавление, коммит и пуш

После настройки LFS добавьте файлы в индекс, сделайте коммит и отправьте изменения в удалённый репозиторий.

# Добавить все изменения, включая файл `.gitattributes` (если создан) и файлы модели.
git add .
git add --renormalize . # Убедиться, что все файлы, соответствующие правилам LFS, правильно помечены.

# Проверить список файлов, отслеживаемых LFS (опционально)
git lfs ls-files -n

# Сделать коммит
# Рекомендуется настроить имя пользователя и email, либо убедиться, что они настроены глобально.
# git config --global user.name "Your Name"
# git config --global user.email "your.email@example.com"
git commit -am "Add LLM model files with Git LFS"
git push -u origin main