《OpenShift / RHEL / DevSecOps 匯總目錄》
說明:本文已經在 OpenShift 4.18 + OpenShift AI 2.19 的環境中驗證
文章目錄
- 啟用模型注冊管理功能
- 安裝管理數據庫
- 啟用模型注冊功能
- 注冊模型
- 部署模型
- 歸檔模型
- 歸檔模型和模型版本
- 恢復歸檔模型
- 模型注冊表訪問權限管理
- 參考
啟用模型注冊管理功能
安裝管理數據庫
可以使用 MySQL 或 MariaDB 做為 OpenShift AI 模型管理的數據庫。
- 創建項目
$ oc new-project mysql
- 在 OpenShift 的
開發者
視圖中添加
菜單,然后在開發者目錄
中選擇Databases
,最后點擊下圖的MariaDB
。
- 在右劃頁面中點擊
實例化模板
按鈕,然后在Instantiate Template
頁面中根據以下配置創建環境:
Database Service Name: modelregistry
MariaDB Connection Username:modelregistry
MariaDB Connection Password:password
MariaDB root Password:password
MariaDB Database Name:modelregistry
Volume Capacity:5GB
啟用模型注冊功能
- 編輯 OpenShift AI Operator 中的 DataScienceCluster 對象,將 modelregistry.managementState 改為 Managed。
modelregistry:managementState: ManagedregistriesNamespace: rhoai-model-registries
- 查看 redhat-ods-applications 項目的拓撲試圖,確認會新出現一個名為 default-modelregistry 的 ModelRegistry 對象。該對象是一個 Controller,它會在 rhoai-model-registries 項目中管理實際的模型注冊表運行環境。
$ oc get pod -n rhoai-model-registries
NAME READY STATUS RESTARTS AGE
modelregistry-75d8f6bbdb-27n8f 3/3 Running 0 28h
- 在配置生效后可以在 OpenShift AI 控制臺中看到新的 Settings -> Model registry settings 菜單。
- 進入 Settings -> Model registry settings 菜單,然后點擊 Create model registry 按鈕,再根據以下配置添加一個 Model registry。
Name: modelregistry
Host: modelregistry.mysql.svc.cluster.local
Port: 3306
Username: modelregistry
Password: password
Database: modelregistry - 完成后可以看到 Model registry 的狀態,并且在 Models 下出現新的 Model registry 菜單。
注冊模型
在注冊一個模型前先要把該模型的相關文件下載到 OpenShift 能夠訪問的 S3 對象存儲中。本節點已經根據《OpenShift AI - 在 OpenShift 和 OpenShift AI 上運行 LLM》一文將 huggingface 的 mistralai/Mistral-7B-Instruct-v0.2 模型傳到 MinIO 對象存儲中了。
- 進入 OpenShift AI 控制臺的 Models -> Model registry 菜單。
- 點擊 Registry model 按鈕,然后根據以下配置注冊一個模型。
Model name: Mistral-7B-Instruct
Version name: v0.2
Object storage
Endpoint: http://minio-service.minio.svc.cluster.local:9000
Bucket: models
Region: none
Path: models/Mistral-7B-Instruct-v0.2 - 完成后可查看已注冊的模型以及包含的版本。
部署模型
- 進入 Data science projects 菜單,然后新建一個名為 my-mistral-7 的項目。
- 為了能夠在項目中部署運行模型,需要先確定使用的模型運行模式。切換到 my-mistral-7 項目的 Models 頁面,然后點擊下圖的 Select single-model 按鈕。
- 返回到 Model registry 菜單,進入 modelregistry 的 Mistral-7B-Instruct 模型,然后在版本為 v0.2 一行右側的下拉菜單中選中 “Deploy”。
- 在 Deploy model 對話框中,最后點擊 Deploy。
- 在部署好模型后,可以在該版本的模型中看到關聯的部署情況。注意:該列表只顯示通過 Model registry 進行部署的情況。
歸檔模型
被歸檔的模型或模型版本缺省時不能在 Model registry 中顯示出來的,而只能在歸檔中顯示。另外,用戶也無法部署一個已經歸檔的模型。
歸檔模型和模型版本
- 通過 Archive model 下拉菜單可以對整個模型進行歸檔。
- 通過 Archive model version 下拉菜單可以對一個模型的某個版本進行歸檔。
恢復歸檔模型
- 通過 View archived models 或者 View archived versions 菜單可以顯示被歸檔的模型或模型版本。
- 在選擇 Restore model 或 Restore model version 菜單后可將歸檔的模型或模型版本重新恢復到正常狀態。
模型注冊表訪問權限管理
在 OpenShift AI 控制臺中,一個模型注冊表需要管理員授權后才能被普通用戶訪問到。
- 用一個普通用戶登錄 OpenShift AI 控制臺,確認缺省在 Model Registry 中看不到已有的模型注冊表。
- 用管理員進入 OpenShift AI 控制臺的 Model registry settings,然后進入一個 Model registry,再將普通用戶添加到 Users 中。
- 確認普通用戶可以在 Model Registry 中看到并使用被授權的模型注冊表了。
參考
https://docs.redhat.com/en/documentation/red_hat_openshift_ai_self-managed/2.19/html-single/managing_model_registries/index#overview-of-model-registries_managing-model-registries