Aracılığıyla paylaş


Azure Kubernetes Service'te (AKS) yapay zeka araç zinciri işleci (önizleme) ile yapay zeka modeli dağıtma

AI araç zinciri operatörü (KAITO), AKS kümelerinizde OSS AI modellerini çalıştırma deneyimini basitleştiren, AKS için yönetilen bir eklentidir. Yapay zeka araç zinciri operatörü gerekli GPU düğümlerini otomatik olarak sağlar ve ilişkili çıkarım sunucusunu yapay zeka modellerinize uç nokta sunucusu olarak ayarlar. Bu eklentiyi kullanmak, ekleme sürenizi azaltır ve altyapı kurulumu yerine yapay zeka modeli kullanımına ve geliştirmeye odaklanmanızı sağlar.

Bu makalede, AI araç zinciri işleci eklentisini etkinleştirme ve AKS'de yapay zeka modeli dağıtma gösterilmektedir.

Önemli

AKS önizleme özellikleri self servis ve kabul temelinde kullanılabilir. Önizlemeler "olduğu gibi" ve "kullanılabilir" olarak sağlanır ve hizmet düzeyi sözleşmelerinin ve sınırlı garantinin dışında tutulur. AKS önizlemeleri, müşteri desteği tarafından kısmen en iyi çaba temelinde ele alınmaktadır. Bu nedenle, bu özellikler üretim kullanımı için tasarlanmamıştır. Daha fazla bilgi için aşağıdaki destek makalelerine bakın:

Başlamadan önce

  • Bu makalede Kubernetes kavramlarını temel olarak anlayan bir kavram olduğu varsayılır. Daha fazla bilgi için bkz . AKS için Kubernetes temel kavramları.
  • Barındırılan tüm model çıkarım görüntüleri ve önerilen altyapı kurulumu için kaito GitHub deposuna bakın.
  • AI araç zinciri işleci eklentisi şu anda KAITO sürüm v0.1.0'ı desteklemektedir. Lütfen KAITO model deposundan model seçiminizi göz önünde bulundurarak bunu not edin.

Önkoşullar

Azure CLI önizleme uzantısını yükleme

  1. az extension add komutunu kullanarak Azure CLI önizleme uzantısını yükleyin.

    az extension add --name aks-preview
    
  2. az extension update komutunu kullanarak en son sürüme sahip olduğunuzdan emin olmak için uzantıyı güncelleştirin.

    az extension update --name aks-preview
    

Yapay zeka araç zinciri işleci eklentisini kaydetme özellik bayrağı

  1. az feature register komutunu kullanarak AIToolchainOperatorPreview özellik bayrağını kaydedin .

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

    Kaydın tamamlanması birkaç dakika sürer.

  2. az feature show komutunu kullanarak kaydı doğrulayın.

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

Ortam değişkenlerini dışarı aktarma

  • Bu makaledeki yapılandırma adımlarını basitleştirmek için aşağıdaki komutları kullanarak ortam değişkenlerini tanımlayabilirsiniz. Yer tutucu değerlerini kendi değerlerinizle değiştirdiğinden emin olun.

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

AKS kümesinde yapay zeka araç zinciri işleci eklentisini etkinleştirme

Aşağıdaki bölümlerde, AI araç zinciri işleci eklentisi etkinleştirilmiş bir AKS kümesinin nasıl oluşturulacağı ve varsayılan barındırılan yapay zeka modelinin nasıl dağıtılacağı açıklanmaktadır.

AI araç zinciri işleci eklentisi etkinken AKS kümesi oluşturma

  1. az group create komutunu kullanarak bir Azure kaynak grubu oluşturun .

    az group create --name ${AZURE_RESOURCE_GROUP} --location ${AZURE_LOCATION}
    
  2. ve --enable-oidc-issuer bayraklarıyla az aks create komutunu --enable-ai-toolchain-operator kullanarak AI araç zinciri işleci eklentisinin etkinleştirildiği bir AKS kümesi oluşturun.

    az aks create --location ${AZURE_LOCATION} \
        --resource-group ${AZURE_RESOURCE_GROUP} \
        --name ${CLUSTER_NAME} \
        --enable-oidc-issuer \
        --enable-ai-toolchain-operator \
        --generate-ssh-keys
    

    Not

    AI araç zinciri işleci eklentisini etkinleştirdikten sonra AKS yönetilen kimlik oluşturur. Yönetilen kimlik, yönetilen AKS kümesinde GPU düğüm havuzları oluşturmak için kullanılır. Aşağıdaki bölümlerde sunulan adımları izleyerek uygun izinlerin el ile ayarlanması gerekir.

    Yapay zeka araç zinciri işleci etkinleştirme, OIDC verenin etkinleştirilmesini gerektirir.

  3. Mevcut aks kümesinde az aks update komutunu kullanarak AI araç zinciri işleci eklentisini etkinleştirebilirsiniz.

    az aks update --name ${CLUSTER_NAME} \
            --resource-group ${AZURE_RESOURCE_GROUP} \
            --enable-oidc-issuer \
            --enable-ai-toolchain-operator
    

Kümenize Bağlan

  1. az aks get-credentials komutunu kullanarak kümenize bağlanacak şekilde yapılandırınkubectl.

    az aks get-credentials --resource-group ${AZURE_RESOURCE_GROUP} --name ${CLUSTER_NAME}
    
  2. komutunu kullanarak kubectl get kümenize bağlantıyı doğrulayın.

    kubectl get nodes
    

Ortam değişkenlerini dışarı aktarma

  • Aşağıdaki komutları kullanarak MC kaynak grubu, asıl kimlik kimliği ve KAITO kimliği için ortam değişkenlerini dışarı aktarın:

    export MC_RESOURCE_GROUP=$(az aks show --resource-group ${AZURE_RESOURCE_GROUP} \
        --name ${CLUSTER_NAME} \
        --query nodeResourceGroup \
        -o tsv)
    export PRINCIPAL_ID=$(az identity show --name "ai-toolchain-operator-${CLUSTER_NAME}" \
        --resource-group "${MC_RESOURCE_GROUP}" \
        --query 'principalId' \
        -o tsv)
    export KAITO_IDENTITY_NAME="ai-toolchain-operator-${CLUSTER_NAME}"
    

AKS OpenID Bağlan (OIDC) Vereni alma

  • AKS OIDC Veren URL'sini alın ve ortam değişkeni olarak dışarı aktarın:

    export AKS_OIDC_ISSUER=$(az aks show --resource-group "${AZURE_RESOURCE_GROUP}" \
        --name "${CLUSTER_NAME}" \
        --query "oidcIssuerProfile.issuerUrl" \
        -o tsv)
    

Hizmet sorumlusu için rol ataması oluşturma

Federasyon kimliği kimlik bilgisi oluşturma

Dağıtımınızın çalıştığını doğrulayın

  1. Komutunu kullanarak podlarınızda KAITO GPU sağlama dağıtımını kubectl rollout restart yeniden başlatın:

    kubectl rollout restart deployment/kaito-gpu-provisioner -n kube-system
    
  2. komutunu kullanarak dağıtımın kubectl get çalıştığını doğrulayın:

    kubectl get deployment -n kube-system | grep kaito
    

Varsayılan barındırılan yapay zeka modelini dağıtma

  1. komutunu kullanarak KAITO model deposundan Falcon 7B-instruct modelini dağıtın kubectl apply .

    kubectl apply -f https://raw.githubusercontent.com/Azure/kaito/main/examples/inference/kaito_workspace_falcon_7b-instruct.yaml
    
  2. komutunu kullanarak çalışma alanınızdaki canlı kaynak değişikliklerini kubectl get izleyin.

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

    Not

    Çalışma alanınızdaki canlı kaynak değişikliklerini izlediğinizde, makinenin hazır olma durumunun 10 dakika, çalışma alanının hazır olma durumunun ise 20 dakika kadar sürebileceğini unutmayın.

  3. komutunu kullanarak kubectl get svc hizmetinizi denetleyin ve hizmet IP adresini alın.

    export SERVICE_IP=$(kubectl get svc workspace-falcon-7b-instruct -o jsonpath='{.spec.clusterIP}')
    
  4. Aşağıdaki curl komutu kullanarak seçtiğiniz örnek girişle Falcon 7B-instruct modelini çalıştırın:

    kubectl run -it --rm --restart=Never curl --image=curlimages/curl -- curl -X POST http://$SERVICE_IP/chat -H "accept: application/json" -H "Content-Type: application/json" -d "{\"prompt\":\"YOUR QUESTION HERE\"}"
    

Kaynakları temizleme

Bu kaynaklara artık ihtiyacınız yoksa, ek Azure ücretlerinin yansıtılmasını önlemek için bunları silebilirsiniz.

Sonraki adımlar

Daha fazla çıkarım modeli seçeneği için bkz . KAITO GitHub deposu.