Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Sebagai insinyur atau pengembang AI, Anda mungkin harus membuat prototipe dan menyebarkan beban kerja AI dengan berbagai bobot model yang berbeda. AKS menyediakan opsi untuk menyebarkan beban kerja inferensi menggunakan preset sumber terbuka yang langsung dapat digunakan dan dikelola dalam registri model KAITO atau mengunduhnya secara dinamis dari registri HuggingFace saat runtime ke kluster AKS Anda.
Dalam artikel ini, Anda mempelajari cara menggunakan contoh model HuggingFace untuk inferensi menggunakan add-on operator toolchain AI tanpa harus mengelola image kustom di Azure Kubernetes Service (AKS).
Prasyarat
- Akun Azure dengan langganan aktif. Jika Anda tidak memiliki akun, Anda dapat membuatnya secara gratis.
- Kluster AKS dengan add-on operator rantai alat AI yang diaktifkan. Untuk informasi selengkapnya, lihat Mengaktifkan KAITO pada kluster AKS.
- Contoh penyebaran ini memerlukan kuota untuk
Standard_NCads_A100_v4
keluarga komputer virtual (VM) di langganan Azure Anda. Jika Anda tidak memiliki kuota untuk keluarga VM ini, silakan minta penambahan kuota.
Pilih model bahasa sumber terbuka dari HuggingFace
Dalam contoh ini, kita menggunakan model bahasa kecil BigScience Bloom-1B7 . Atau, Anda dapat memilih dari ribuan model pembuatan teks yang didukung di HuggingFace.
Sambungkan ke kluster AKS Anda menggunakan
az aks get-credentials
perintah .az aks get-credentials --resource-group <resource-group-name> --name <aks-cluster-name>
Kloning repositori GitHub proyek KAITO menggunakan
git clone
perintah .git clone https://github.com/kaito-project/kaito.git
Pastikan bahwa pod
kaito-gpu-provisioner
Anda berhasil berjalan menggunakan perintahkubectl get deployment
.kubectl get deployment -n kube-system | grep kaito
Menyebarkan beban kerja inferensi model Anda menggunakan templat ruang kerja KAITO
Navigasi ke
kaito
direktori dan bukadocs/custom-model-integration/reference_image_deployment.yaml
templat KAITO. Ganti nilai default di bidang berikut dengan persyaratan model Anda:-
instanceType
: Ukuran VM minimum untuk penyebaran layanan inferensi ini adalahStandard_NC24ads_A100_v4
. Untuk ukuran model yang lebih besar, Anda dapat memilih VM dalamStandard_NCads_A100_v4
keluarga dengan kapasitas memori yang lebih tinggi. -
MODEL_ID
: Ganti dengan pengidentifikasi HuggingFace spesifik model Anda, yang dapat ditemukan setelahhttps://huggingface.co/
di URL kartu model. -
"--torch_dtype"
: Atur ke"float16"
untuk kompatibilitas dengan GPU V100. Untuk GPU A100, H100, atau yang lebih baru, gunakan"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
-
Simpan perubahan ini ke file Anda
docs/custom-model-integration/reference_image_deployment.yaml
.Jalankan penyebaran pada kluster AKS Anda menggunakan perintah
kubectl apply
.kubectl apply -f docs/custom-model-integration/reference_image_deployment.yaml
Menguji layanan inferensi model kustom Anda
Lacak perubahan sumber daya langsung di ruang kerja KAITO Anda menggunakan
kubectl get workspace
perintah .kubectl get workspace workspace-custom-llm -w
Nota
Perhatikan bahwa kesiapan mesin dapat memakan waktu hingga 10 menit, dan kesiapan ruang kerja hingga 20 menit.
Periksa layanan inferensi model bahasa Anda dan dapatkan alamat IP layanan menggunakan
kubectl get svc
perintah .export SERVICE_IP=$(kubectl get svc workspace-custom-llm -o jsonpath='{.spec.clusterIP}')
Uji layanan inferensi model kustom Anda dengan input sampel pilihan Anda menggunakan format OPENAI API:
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 }'
Membersihkan sumber daya
Jika Anda tidak lagi memerlukan sumber daya ini, Anda dapat menghapusnya untuk menghindari dikenakan biaya komputasi Azure tambahan.
Hapus ruang kerja inferensi KAITO menggunakan
kubectl delete workspace
perintah .kubectl delete workspace workspace-custom-llm
Hapus kumpulan simpul GPU yang dibuat oleh KAITO di namespace yang sama dengan
kaito-gpu-provisioner
penyebaran.
Langkah berikutnya
Dalam artikel ini, Anda mempelajari cara memasukkan model HuggingFace untuk inferensi dengan add-on operator toolchain AI langsung ke dalam kluster AKS Anda. Untuk mempelajari selengkapnya tentang AI dan pembelajaran mesin di AKS, lihat artikel berikut ini:
Azure Kubernetes Service