Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Yapay zeka mühendisi veya geliştirici olarak, farklı model ağırlıklarına sahip yapay zeka iş yüklerinin prototipini oluşturmanız ve dağıtmanız gerekebilir. AKS, kullanıma hazır olarak desteklenen ve KAITO model kayıt defterinde yönetilen açık kaynak ön ayarlarını kullanarak çıkarım iş yüklerini dağıtma veya çalışma zamanında HuggingFace kayıt defterinden AKS kümenize dinamik olarak indirme seçeneği sunar.
Bu makalede, Azure Kubernetes Service'te (AKS) özel görüntüleri yönetmek zorunda kalmadan yapay zeka araç zinciri işleci eklentisiyle çıkarım yapmak için örnek bir HuggingFace modelini eklemeyi öğreneceksiniz.
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı. Hesabınız yoksa ücretsiz bir hesap oluşturabilirsiniz.
- Yapay zeka araç zinciri işleci eklentisinin etkinleştirildiği bir AKS kümesi. Daha fazla bilgi için bkz. AKS kümesinde KAITO'yi etkinleştirme.
- Bu örnek dağıtım, Azure aboneliğinizdeki sanal makine (VM) ailesi için
Standard_NCads_A100_v4
kota gerektirir. Bu VM ailesi için kotanız yoksa lütfen kota artışı isteyin.
HuggingFace'den açık kaynak dil modeli seçme
Bu örnekte BigScience Bloom-1B7 küçük dil modelini kullanıyoruz. Alternatif olarak , HuggingFace'de desteklenen binlerce metin oluşturma modeli arasından seçim yapabilirsiniz.
komutunu kullanarak AKS kümenize bağlanın
az aks get-credentials
.az aks get-credentials --resource-group <resource-group-name> --name <aks-cluster-name>
komutunu kullanarak KAITO projesi GitHub deposunu
git clone
kopyalayın.git clone https://github.com/kaito-project/kaito.git
kaito-gpu-provisioner
komutunu kullanarakkubectl get deployment
podunuzun başarıyla çalıştığını onaylayın.kubectl get deployment -n kube-system | grep kaito
KAITO çalışma alanı şablonunu kullanarak model çıkarım iş yükünüzü dağıtma
Dizine
kaito
gidin ve KAITO şablonunu açındocs/custom-model-integration/reference_image_deployment.yaml
. Aşağıdaki alanlardaki varsayılan değerleri modelinizin gereksinimleriyle değiştirin:-
instanceType
: Bu çıkarım hizmeti dağıtımı için en düşük VM boyutu şudurStandard_NC24ads_A100_v4
: . Daha büyük model boyutları için ailede daha yüksek bellek kapasitesineStandard_NCads_A100_v4
sahip bir VM seçebilirsiniz. -
MODEL_ID
: değerini model kartı URL'sinde bulunanhttps://huggingface.co/
özel HuggingFace tanımlayıcısıyla değiştirin. -
"--torch_dtype"
: V100 GPU'larla uyumluluk için"float16"
olarak ayarlayın. A100, H100 veya daha yeni GPU'lar için kullanın"bfloat16"
.
apiVersion: kaito.sh/v1alpha1 kind: Workspace metadata: name: workspace-custom-llm resource: instanceType: "Standard_NC24ads_A100_v4" labelSelector: matchLabels: apps: custom-llm inference: template: spec: containers: - name: custom-llm-container image: ghcr.io/kaito-project/kaito/llm-reference-preset:latest command: ["accelerate"] args: - "launch" - "--num_processes" - "1" - "--num_machines" - "1" - "--gpu_ids" - "all" - "tfs/inference_api.py" - "--pipeline" - "text-generation" - "--trust_remote_code" - "--allow_remote_files" - "--pretrained_model_name_or_path" - "bigscience/bloom-1b7" - "--torch_dtype" - "bfloat16" volumeMounts: - name: dshm mountPath: /dev/shm volumes: - name: dshm emptyDir: medium: Memory
-
Bu değişiklikleri dosyanıza
docs/custom-model-integration/reference_image_deployment.yaml
kaydedin.komutunu kullanarak
kubectl apply
AKS kümenizde dağıtımı çalıştırın.kubectl apply -f docs/custom-model-integration/reference_image_deployment.yaml
Özel model çıkarım hizmetinizi test etme
komutunu kullanarak KAITO çalışma alanınızdaki canlı kaynak değişikliklerini
kubectl get workspace
izleyin.kubectl get workspace workspace-custom-llm -w
Uyarı
Makinenin hazır olma durumunun 10 dakika, çalışma alanının hazır olma durumunun ise 20 dakikaya kadar sürebileceğini unutmayın.
Dil modeli çıkarım hizmetinizi denetleyin ve komutunu kullanarak
kubectl get svc
hizmet IP adresini alın.export SERVICE_IP=$(kubectl get svc workspace-custom-llm -o jsonpath='{.spec.clusterIP}')
OpenAI API biçimini kullanarak seçtiğiniz örnek girişle özel model çıkarım hizmetinizi 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": "bloom-1b7", "prompt": "What sport should I play in rainy weather?", "max_tokens": 20 }'
Kaynakları temizleme
Bu kaynaklara artık ihtiyacınız yoksa, ek Azure işlem ücretlerinden kaçınmak için bunları silebilirsiniz.
komutunu kullanarak KAITO çıkarım çalışma alanını
kubectl delete workspace
silin.kubectl delete workspace workspace-custom-llm
KAITO tarafından oluşturulan ve
kaito-gpu-provisioner
dağıtımıyla aynı ad alanında bulunan GPU düğüm havuzunu silin.
Sonraki adımlar
Bu makalede, doğrudan AKS kümenize yapay zeka araç zinciri işleci eklentisiyle çıkarım yapmak için HuggingFace modelini eklemeyi öğrendiniz. AKS'de yapay zeka ve makine öğrenmesi hakkında daha fazla bilgi edinmek için aşağıdaki makalelere bakın:
Azure Kubernetes Service