Aracılığıyla paylaş


Azure Kubernetes Service (AKS) üzerinde yapay zeka araç zinciri işleci (önizleme) ile bir yapay zeka modelini dağıtın.

Azure’a dağıtın

AI araç zinciri operatörü (KAITO), AKS kümenizde açık kaynak ve özel yapay zeka modellerini çalıştırma deneyimini basitleştiren yönetilen bir eklentidir. KAITO, altyapı yönetimi yerine daha hızlı yapay zeka modeli prototip oluşturma ve geliştirme olanağı sağlayarak modelleri ekleme ve kaynak sağlama süresini kısaltır.

Bu makale, AI araçlar zinciri işleticisi eklentisini nasıl etkinleştireceğinizi ve AKS'de bir yapay zeka modelini çıkarım amaçlı dağıtacağınızı göstermektedir.

Ö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 gayretle desteklenmektedir. 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

  • Kubernetes kavramlarına temel düzeyde hakim olunan bir makale olduğu varsayılmaktadır. Daha fazla bilgi için bkz . AKS için Kubernetes temel kavramları.
  • Tüm barındırılan model önayar görüntüleri ve varsayılan kaynak yapılandırması için bkz. KAITO GitHub deposu.
  • AI araç zinciri işleci eklentisi şu anda KAITO sürüm 0.4.4'i 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 operatörü eklentisinin özellik bayrağını kaydet

  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ğerleri kendi değerlerinizle değiştirin.

    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 bir AKS kümesi oluşturun

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

    az group create --name $AZURE_RESOURCE_GROUP --location $AZURE_LOCATION
    
  2. AI araç zinciri operatörü eklentisinin etkinleştirildiği bir AKS kümesi oluşturmak için, az aks create komutunu --enable-ai-toolchain-operator bayrağı ile kullanın.

    az aks create --location $AZURE_LOCATION \
        --resource-group $AZURE_RESOURCE_GROUP \
        --name $CLUSTER_NAME \
        --enable-ai-toolchain-operator \
        --generate-ssh-keys
    
  3. Mevcut bir AKS kümesinde, az aks update komutunu kullanarak AI araç zinciri operatörü eklentisini etkinleştirebilirsiniz.

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

Kümenize bağlanma

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

    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
    

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

  1. Komutunu kubectl apply kullanarak KAITO model deposundan Falcon 7B yönergeli modeli dağıtın.

    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

    KAITO çalışma alanı dağıtımını izlediğinizde, makine hazırlığının 10 dakika, çalışma alanının hazır olma durumunun ise modelinizin boyutuna bağlı olarak 20 dakikaya kadar sürebileceğini unutmayın.

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

    export SERVICE_IP=$(kubectl get svc workspace-falcon-7b-instruct -o jsonpath='{.spec.clusterIP}')
    
  4. Falcon 7B-instruct çıkarım hizmetini OpenAI sohbet tamamlama api'si biçimini kullanarak seçtiğiniz bir örnek girişle test edin:

    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
           }'
    

Kaynakları temizleme

Bu kaynaklara artık ihtiyacınız yoksa, ek Azure işlem ücretlerinden kaçınmak için bunları silebilirsiniz.

  1. komutunu kullanarak KAITO çalışma alanını kubectl delete workspace silin.

    kubectl delete workspace workspace-falcon-7b-instruct
    
  2. KAITO dağıtımı tarafından sağlanan GPU düğümü havuzlarını el ile silmeniz gerekir. Falcon-7b instruct çalışma alanı tarafından oluşturulan düğüm etiketini kullanarak az aks nodepool list komutunu çalıştırıp düğüm havuzu adını alın. Bu örnekte düğüm etiketi "kaito.sh/workspace": "workspace-falcon-7b-instruct".

    az aks nodepool list --resource-group $AZURE_RESOURCE_GROUP --cluster-name $CLUSTER_NAME
    
  3. AKS kümenizden bu ada sahip düğüm havuzunu silin ve kaldırılacak her KAITO çalışma alanı için bu bölümdeki adımları tekrar uygulayın.

Yaygın sorun giderme senaryoları

KAITO model çıkarım alanını uyguladıktan sonra, kaynak hazırlığınız ile çalışma alanı koşullarınız aşağıdaki nedenlerden dolayı True olarak güncellenmeyebilir:

Sonraki adımlar

KAITO modeli dağıtım seçenekleri hakkında daha fazla bilgiyi aşağıda bulabilirsiniz: