Bagikan melalui


Mengimplementasikan model AI pada Azure Kubernetes Service (AKS) dengan operator rangkaian alat AI (pratinjau)

Sebarkan ke Azure

Operator toolchain AI (KAITO) adalah add-on terkelola yang menyederhanakan pengalaman menjalankan model AI sumber terbuka dan privat pada kluster AKS Anda. KAITO mengurangi waktu dalam proses onboarding model dan penyediaan sumber daya, memungkinkan prototipe dan pengembangan model AI yang lebih cepat daripada mengelola infrastruktur.

Artikel ini menunjukkan kepada Anda cara mengaktifkan add-on operator toolchain AI dan menerapkan model AI untuk melakukan inferensi pada AKS.

Penting

Fitur pratinjau AKS tersedia secara layanan mandiri, dengan dasar pilih-masuk. Pratinjau disediakan dalam kondisi "apa adanya" dan "sesuai ketersediaan," serta dikecualikan dari perjanjian tingkat layanan dan garansi terbatas. Pratinjau AKS sebagian didukung oleh dukungan pelanggan berdasarkan upaya terbaik yang dapat dilakukan. Dengan demikian, fitur-fitur ini tidak dimaksudkan untuk penggunaan produksi. Untuk informasi lebih lanjut, lihat artikel dukungan berikut ini:

Sebelum Anda mulai

  • Artikel ini mengasumsikan pemahaman dasar tentang konsep Kube. Untuk informasi selengkapnya, lihat Konsep inti Kubernetes untuk AKS.
  • Untuk semua gambar preset model yang dihosting dan konfigurasi sumber daya default, lihat repositori GitHub KAITO.
  • Add-on operator toolchain AI saat ini mendukung KAITO versi 0.4.4. Mohon dicatat ini dalam mempertimbangkan pilihan model yang Anda pertimbangkan dari repositori model KAITO.

Prasyarat

Menginstal ekstensi pratinjau Azure CLI

  1. Instal ekstensi pratinjau untuk Azure CLI dengan menggunakan perintah az extension add.

    az extension add --name aks-preview
    
  2. Perbarui ekstensi untuk memastikan Anda memiliki versi terbaru menggunakan perintah az extension update .

    az extension update --name aks-preview
    

Daftarkan flag fitur tambahan operator toolchain AI

  1. Daftarkan penanda fitur AIToolchainOperatorPreview menggunakan perintah az feature register.

    az feature register --namespace "Microsoft.ContainerService" --name "AIToolchainOperatorPreview"
    

    Dibutuhkan beberapa menit agar pendaftaran selesai.

  2. Verifikasi pendaftaran menggunakan perintah az feature show .

    az feature show --namespace "Microsoft.ContainerService" --name "AIToolchainOperatorPreview"
    

Variabel lingkungan ekspor

  • Untuk menyederhanakan langkah-langkah konfigurasi dalam artikel ini, Anda dapat menentukan variabel lingkungan menggunakan perintah berikut. Pastikan untuk mengganti nilai placeholder dengan nilai Anda sendiri.

    export AZURE_SUBSCRIPTION_ID="mySubscriptionID"
    export AZURE_RESOURCE_GROUP="myResourceGroup"
    export AZURE_LOCATION="myLocation"
    export CLUSTER_NAME="myClusterName"
    

Mengaktifkan add-on operator AI toolchain pada kluster AKS

Bagian berikut menjelaskan cara membuat kluster AKS dengan add-on operator toolchain AI yang diaktifkan, dan mengerahkan model AI standar yang telah dihosting.

Buat kluster AKS dengan add-on operator rantai alat AI diaktifkan

  1. Buat grup sumber daya Azure menggunakan perintah az group create .

    az group create --name $AZURE_RESOURCE_GROUP --location $AZURE_LOCATION
    
  2. Buat kluster AKS dengan AI toolchain operator add-on yang diaktifkan menggunakan perintah az aks create dengan flag --enable-ai-toolchain-operator.

    az aks create --location $AZURE_LOCATION \
        --resource-group $AZURE_RESOURCE_GROUP \
        --name $CLUSTER_NAME \
        --enable-ai-toolchain-operator \
        --generate-ssh-keys
    
  3. Pada kluster AKS yang ada, Anda dapat mengaktifkan operator tambahan toolchain AI menggunakan perintah az aks update.

    az aks update --name $CLUSTER_NAME \
            --resource-group $AZURE_RESOURCE_GROUP \
            --enable-ai-toolchain-operator
    

Menyambungkan ke kluster Anda

  1. Konfigurasikan kubectl untuk terhubung ke kluster Anda menggunakan perintah az aks get-credentials .

    az aks get-credentials --resource-group $AZURE_RESOURCE_GROUP --name $CLUSTER_NAME
    
  2. Verifikasi koneksi ke kluster Anda menggunakan kubectl get perintah .

    kubectl get nodes
    

Menyebarkan model AI bawaan yang di-hosting

  1. Jalankan preset model Falcon 7B-instruct dari repositori model KAITO menggunakan perintah kubectl apply.

    kubectl apply -f https://raw.githubusercontent.com/Azure/kaito/main/examples/inference/kaito_workspace_falcon_7b-instruct.yaml
    
  2. Lacak perubahan sumber daya langsung di ruang kerja Anda menggunakan kubectl get perintah .

    kubectl get workspace workspace-falcon-7b-instruct -w
    

    Catatan

    Saat Anda melacak penyebaran ruang kerja KAITO, perhatikan bahwa kesiapan mesin dapat memakan waktu hingga 10 menit, dan kesiapan ruang kerja hingga 20 menit tergantung pada ukuran model Anda.

  3. Periksa layanan inferensi Anda dan dapatkan alamat IP layanan menggunakan kubectl get svc perintah .

    export SERVICE_IP=$(kubectl get svc workspace-falcon-7b-instruct -o jsonpath='{.spec.clusterIP}')
    
  4. Uji layanan inferensi Falcon 7B-instruct dengan input sampel pilihan Anda menggunakan format API penyelesaian obrolan OpenAI:

    kubectl run -it --rm --restart=Never curl --image=curlimages/curl -- curl -X POST http://$SERVICE_IP/v1/completions -H "Content-Type: application/json" \
      -d '{
            "model": "falcon-7b-instruct",
            "prompt": "What is Kubernetes?",
            "max_tokens": 10
           }'
    

Membersihkan sumber daya

Jika Anda tidak lagi memerlukan sumber daya ini, Anda dapat menghapusnya untuk menghindari dikenakan biaya komputasi Azure tambahan.

  1. Hapus ruang kerja KAITO menggunakan kubectl delete workspace perintah .

    kubectl delete workspace workspace-falcon-7b-instruct
    
  2. Anda perlu secara manual menghapus pool node GPU yang disediakan oleh penyebaran KAITO. Gunakan label simpul yang dibuat dari ruang kerja instruksi Falcon-7b untuk memperoleh nama kumpulan simpul dengan perintah . Dalam contoh ini, label node adalah "kaito.sh/workspace": "workspace-falcon-7b-instruct".

    az aks nodepool list --resource-group $AZURE_RESOURCE_GROUP --cluster-name $CLUSTER_NAME
    
  3. Hapus kumpulan simpul dengan nama ini dari kluster AKS Anda dan ulangi langkah-langkah di bagian ini untuk setiap ruang kerja KAITO yang akan dihapus.

Skenario pemecahan masalah umum

Setelah menerapkan ruang kerja inferensi model KAITO, kesiapan sumber daya dan kondisi ruang kerja Anda mungkin tidak diperbarui menjadi True karena alasan-alasan berikut:

  • Langganan Azure Anda tidak memiliki kuota untuk jenis instans GPU minimum yang ditentukan di ruang kerja KAITO Anda. Anda harus meminta penambahan kuota untuk keluarga VM GPU di langganan Azure Anda.
  • Jenis instans GPU tidak tersedia di wilayah AKS Anda. Konfirmasikan ketersediaan instans GPU di wilayah tertentu Anda dan alihkan wilayah Azure jika keluarga VM GPU Anda tidak tersedia.

Langkah berikutnya

Pelajari selengkapnya tentang opsi penyebaran model KAITO di bawah ini: