MLflow adalah platform open source untuk mengelola siklus hidup pembelajaran mesin secara end-to-end. Platform ini membantu Anda melacak informasi pelatihan serta mengelola dan menerapkan model pembelajaran mesin. Topik ini menjelaskan cara mengonfigurasi MLflow Model Registry untuk pengelolaan model.
MLflow Model Registry
Untuk ikhtisar lengkap tentang MLflow Model Registry, lihat MLflow Model Registry — MLflow documentation.
Prasyarat
-
Anda telah membuat kluster ACK Pro dengan versi Kubernetes 1.20 atau lebih baru. Untuk informasi selengkapnya, lihat Create an ACK Pro cluster.
-
Anda telah membuat instans RDS for PostgreSQL. Untuk informasi selengkapnya, lihat Create an RDS PostgreSQL instance.
Kami menyarankan Anda membuat instans RDS for PostgreSQL di VPC yang sama dengan kluster ACK Anda. Kemudian, tambahkan Blok CIDR VPC tersebut ke allowlist instans agar Anda dapat mengakses database menggunakan alamat privatnya. Jika instans RDS dan kluster ACK berada di VPC yang berbeda, aktifkan akses publik untuk instans RDS dan tambahkan Blok CIDR VPC kluster ACK ke allowlist. Untuk informasi selengkapnya, lihat Configure an allowlist.
-
Anda telah membuat akun standar bernama
mlflowdi instans RDS for PostgreSQL. Untuk informasi selengkapnya, lihat Create an account. -
Anda telah membuat database bernama
mlflow_storedi instans RDS for PostgreSQL untuk menyimpan metadata model, dan mengatur Authorized Account-nya ke akunmlflow. Untuk informasi selengkapnya, lihat Create a database. -
(Opsional) Anda telah membuat database bernama
mlflow_basic_authdi instans RDS for PostgreSQL untuk menyimpan informasi otentikasi pengguna MLflow, dan mengatur Authorized Account-nya ke akunmlflow. Untuk informasi selengkapnya, lihat Create a database. -
Anda telah mengonfigurasi klien Arena untuk pengelolaan model. Versi Arena harus 0.9.14 atau lebih baru. Untuk informasi selengkapnya, lihat Configure the Arena client.
Langkah 1: Deploy MLflow di kluster ACK
Masuk ke ACK console. Di panel navigasi kiri, klik Clusters.
Di halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik .
-
Klik Deploy. Di halaman Deploy, atur Application Name menjadi
mlflowdan Namespace menjadikube-ai. Di bilah pencarian area Chart, cari dan pilihmlflow. Klik Next. Di kotak dialog yang muncul, konfirmasi apakah akan menggunakan mlflow sebagai namespace default untuk chart tersebut.-
Untuk mengelola model menggunakan Konsol Cloud-native AI Suite, Anda harus mendeploy MLflow ke namespace
kube-aidan menggunakan nama rilis default, yaitumlflow. -
Untuk mengelola model menggunakan Arena, Anda dapat mendeploy MLflow ke namespace apa pun tetapi harus menggunakan nama rilis default, yaitu
mlflow.
-
-
Di halaman Create, konfigurasikan parameter chart.
-
Konfigurasikan parameter
defaultArtifactRootdanbackendStore. Cuplikan berikut menunjukkan contoh konfigurasi.trackingServer: # -- Menentukan mode jalannya mlflow tracking server, opsi yang tersedia adalah `serve-artifacts`, `no-serve-artifacts`, dan `artifacts-only` mode: no-serve-artifacts # -- Menentukan lokasi artefak default untuk logging, data akan dicatat ke `mlflow-artifacts/:` jika artifact serving diaktifkan, selain itu ke `./mlruns` defaultArtifactRoot: "./mlruns" # Untuk informasi lebih lanjut tentang cara mengonfigurasi backend store, kunjungi https://mlflow.org/docs/latest/tracking/backend-stores.html backendStore: # -- URI backend store, contohnya `<dialect>+<driver>://<username>:<password>@<host>:<port>/<database>` backendStoreUri: postgresql+psycopg2://mlflow:<password>@pgm-xxxxxxxxxxxxxx.pg.rds.aliyuncs.com/mlflow_storeAtur parameter
backendStore.backendStoreUrike string koneksi untuk databasemlflow_storeyang telah Anda buat di bagian "Prasyarat". Contohnya:postgresql+psycopg2://mlflow:<password>@pgm-xxxxxxxxxxxxxx.pg.rds.aliyuncs.com/mlflow_store.PentingJika instans RDS dan kluster ACK berada di VPC yang sama, gunakan alamat privat instans RDS. Jika tidak, gunakan alamat publik dan pastikan kluster ACK dapat mengaksesnya.
Masuk ke RDS for PostgreSQL Console. Pilih Instance ID > Database Connection > Internal/Public Address untuk mendapatkan alamat database, seperti
pgm-xxxxxxxxxxxxxx.pg.rds.aliyuncs.com.Untuk informasi selengkapnya, lihat Connect to a database.
-
(Opsional) Untuk mengaktifkan autentikasi dasar (basic authentication), konfigurasikan parameter berikut.
trackingServer: # -- Menentukan mode jalannya mlflow tracking server, opsi yang tersedia adalah `serve-artifacts`, `no-serve-artifacts`, dan `artifacts-only` mode: no-serve-artifacts # -- Menentukan lokasi artefak default untuk logging, data akan dicatat ke `mlflow-artifacts/:` jika artifact serving diaktifkan, selain itu ke `./mlruns` defaultArtifactRoot: "./mlruns" # Konfigurasi autentikasi dasar, # untuk informasi lebih lanjut, kunjungi https://mlflow.org/docs/latest/auth/index.html#configuration basicAuth: # -- Menentukan apakah autentikasi dasar diaktifkan enabled: true # -- Izin default pada semua sumber daya, opsi yang tersedia adalah `READ`, `EDIT`, `MANAGE`, dan `NO_PERMISSIONS` defaultPermission: NO_PERMISSIONS # -- Lokasi database untuk menyimpan izin dan data pengguna, contohnya `<dialect>+<driver>://<username>:<password>@<host>:<port>/<database>` databaseUri: postgresql+psycopg2://<username>:<password>@pgm-xxxxxxxxxxxxxx.pg.rds.aliyuncs.com/mlflow_basic_auth # -- Username admin default jika admin belum dibuat adminUsername: admin # -- Password admin default jika admin belum dibuat adminPassword: password # -- Fungsi untuk mengotentikasi permintaan authorizationFunction: mlflow.server.auth:authenticate_request_basic_auth # Untuk informasi lebih lanjut tentang cara mengonfigurasi backend store, kunjungi https://mlflow.org/docs/latest/tracking/backend-stores.html backendStore: # -- URI backend store, contohnya `<dialect>+<driver>://<username>:<password>@<host>:<port>/<database>` backendStoreUri: postgresql+psycopg2://mlflow:<password>@pgm-xxxxxxxxxxxxxx.pg.rds.aliyuncs.com/mlflow_store-
Atur parameter
trackingServer.basicAuth.databaseUrike string koneksi untuk databasemlflow_basic_authyang telah Anda buat di bagian "Prasyarat". Contohnya:postgresql+psycopg2://<username>:<password>@pgm-xxxxxxxxxxxxxx.pg.rds.aliyuncs.com/mlflow_basic_auth. -
Atur parameter
trackingServer.basicAuth.adminUsernamedantrackingServer.basicAuth.adminPassworduntuk menentukan username dan password awal administrator MLflow. Akun administrator ini hanya akan dibuat jika belum ada sebelumnya.
-
Untuk daftar lengkap parameter konfigurasi MLflow, lihat MLflow chart documentation.
-
Langkah 2: Akses UI web MLflow
-
Jalankan perintah berikut untuk meneruskan layanan UI web MLflow ke port 5000 di mesin lokal Anda:
kubectl port-forward -n kube-ai services/mlflow 5000Output yang diharapkan adalah:
Forwarding from 127.0.0.1:5000 -> 5000 Forwarding from [::1]:5000 -> 5000 Handling connection for 5000 Handling connection for 5000 ... -
Buka http://127.0.0.1:5000 di browser web untuk melihat UI web MLflow.

Langkah berikutnya: Kelola model
Anda dapat mengelola model di MLflow Model Registry menggunakan Konsol Cloud-native AI Suite atau tool baris perintah Arena. Untuk detailnya, lihat Manage models in the MLflow Model Registry by using Arena.