Хранилище модели
Чтобы развернуть модель, сначала необходимо сохранить ее в типе хранилища, поддерживаемом Alauda AI. Поддерживаемые типы хранилища включают:
- S3 Object Storage: Наиболее часто используемый режим. Он загружает данные перед запуском основного контейнера через Storage Initializer (InitContainer).
- Persistent Volume Claim (PVC): Монтирует данные, хранящиеся в persistent volume, перед запуском основного контейнера через Storage Initializer.
- Open Container Initiative (OCI) containers: Также известны как modelcars в KServe. Этот подход обеспечивает загрузку за секунды, используя механизм layered caching контейнерного runtime через Sidecar.
Содержание
Использование S3 Object Storage для хранения моделиКонфигурация аутентификацииПараметры конфигурации S3 KeyРазвертывание Inference ServiceИспользование OCI containers для хранения моделиИспользование PVC для хранения моделиЗагрузка файлов модели в PVCПредварительные условияПроцедураПроверкаСледующие шагиРазвертывание Inference ServiceИспользование S3 Object Storage для хранения модели
Это наиболее часто используемый режим. Он реализует управление учетными данными через Secret, аннотированный с указанием конкретных параметров конфигурации S3.
Конфигурация аутентификации
Рекомендуется создавать отдельные ServiceAccount и Secret для каждого проекта.
Параметры конфигурации S3 Key
- Замените
YOUR_BASE64_ENCODED_ACCESS_KEYна ваш фактический AWS access key ID, закодированный в Base64. - Замените
YOUR_BASE64_ENCODED_SECRET_KEYна ваш фактический AWS secret access key, закодированный в Base64. - Замените
your_s3_service_ip:your_s3_portна фактический IP-адрес и порт вашего S3 service. - Установите
serving.kserve.io/s3-usehttpsв значение "1", если ваш S3 service использует HTTPS, или "0", если он использует HTTP.
Развертывание Inference Service
- Замените
Qwen2.5-0.5B-Instructна фактическое имя вашей модели. aml.cpaas.io/runtime-type: vllmуказывает тип runtime для кода. Дополнительные сведения о custom inference runtimes см. в разделе Расширение Inference Runtimes.- Замените
aml-vllm-0.11.2-cpuна имя runtime, которое уже установлено в вашей платформе (соответствует экземпляру ClusterServingRuntime CRD). storageUri: s3://models/Qwen2.5-0.5B-Instructуказывает URI S3 bucket, в котором хранится модель.serviceAccountName: sa-modelsуказывает ServiceAccount с правами доступа к Secret с учетными данными S3.
Использование OCI containers для хранения модели
В качестве альтернативы хранению модели в S3 bucket или PVC, вы можете хранить модели в Open Container Initiative (OCI) containers. Развертывание моделей из OCI containers также известно как modelcars в KServe. Этот подход идеально подходит для offline-сред и внутренних enterprise registry, таких как Quay или Harbor.
Подробные инструкции по упаковке и развертыванию моделей с использованием OCI containers см. в разделе Использование KServe Modelcar для хранения модели.
Использование PVC для хранения модели
Загрузка файлов модели в PVC
При развертывании модели вы можете обслуживать ее из существующего Persistent Volume Claim (PVC), в котором хранятся файлы вашей модели. Вы можете загрузить локальные файлы модели в PVC в IDE, к которой вы получаете доступ из запущенного workbench.
Предварительные условия
-
У вас есть доступ к панели управления Alauda AI.
-
У вас есть доступ к проекту, в котором запущен workbench.
-
Вы создали persistent volume claim (PVC).
-
Workbench подключен к persistent volume (PVC).
Инструкции по созданию workbench и подключению PVC см. в разделе Создание Workbench.
-
Файлы модели сохранены на вашем локальном компьютере.
Процедура
Выполните следующие шаги, чтобы загрузить файлы модели в PVC внутри вашего workbench:
-
В панели управления Alauda AI нажмите Workbench, чтобы перейти на страницу списка workbench.
-
Найдите экземпляр вашего запущенного workbench и нажмите кнопку Connect, чтобы войти в workbench.
-
В IDE вашего workbench перейдите к файловому браузеру:
- В JupyterLab это вкладка Files на левой боковой панели.
- В code-server это представление Explorer на левой боковой панели.
-
В файловом браузере перейдите в домашний каталог. Этот каталог представляет корень подключенного PVC.
Примечание Любые файлы или папки, которые вы создадите или загрузите в эту папку, сохраняются в PVC.
-
Необязательно: создайте новую папку для упорядочивания моделей:
- В файловом браузере щелкните правой кнопкой мыши внутри домашнего каталога и выберите New Folder.
- Назовите папку (например, models).
- Дважды щелкните новую папку models, чтобы открыть ее.
-
Загрузите файлы модели в текущую папку:
- В JupyterLab:
- Нажмите кнопку Upload на панели инструментов файлового браузера.
- В диалоговом окне выбора файлов перейдите к файлам модели на локальном компьютере, выберите их и нажмите Open.
- Дождитесь завершения загрузки.
- В code-server:
- Перетащите файлы модели напрямую из локального файлового менеджера и отпустите их в панели файлового браузера в целевой папке внутри code-server.
- Дождитесь завершения процесса загрузки.
- В JupyterLab:
Проверка
Убедитесь, что ваши файлы отображаются в файловом браузере по пути, куда вы их загрузили.
Следующие шаги
При развертывании модели из PVC задайте storageUri в формате pvc://<pvc-name>/<optional-path>. Например:
pvc://model-pvc— загружает данные из корня PVC.pvc://model-pvc/models/Qwen2.5-0.5B-Instruct— загружает данные из конкретного подкаталога.
Развертывание Inference Service
- Замените
Qwen2.5-0.5B-Instructна фактическое имя вашей модели. aml.cpaas.io/runtime-type: vllmуказывает тип runtime для кода. Дополнительные сведения о custom inference runtimes см. в разделе Расширение Inference Runtimes.- Замените
aml-vllm-0.11.2-cpuна имя runtime, которое уже установлено в вашей платформе (соответствует экземпляру ClusterServingRuntime CRD). storageUri: pvc://model-pvcуказывает имя PVC, в котором хранится модель.