Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Z tego artykułu dowiesz się, jak używać dodatku łańcucha narzędzi sztucznej inteligencji do wydajnego samodzielnego hostowania dużych modeli językowych na platformie Kubernetes, obniżając koszty i złożoność zasobów, zwiększając dostosowywanie i utrzymując pełną kontrolę nad danymi.
Informacje o usłudze KAITO
Samoobsługowe hostowanie dużych modeli językowych (LLMs) na platformie Kubernetes zyskuje rozpęd wśród organizacji z obciążeniami wnioskowania na dużą skalę, takimi jak przetwarzanie wsadowe, czatboty, agenci i aplikacje oparte na sztucznej inteligencji. Organizacje te często mają dostęp do procesorów GPU klasy komercyjnej i szukają alternatyw dla kosztowych modeli cen interfejsu API tokenów, które mogą szybko skalować się poza kontrolą. Wiele z tych elementów wymaga również możliwości dostosowywania lub dostosowywania modeli, co jest zwykle ograniczone przez dostawców interfejsu API zamkniętego źródła. Ponadto firmy obsługujące poufne lub zastrzeżone dane - zwłaszcza w sektorach regulowanych, takich jak finanse, opieka zdrowotna lub obrona - określają priorytety samodzielnego hostingu, aby zachować ścisłą kontrolę nad danymi i zapobiegać narażeniu za pośrednictwem systemów innych firm.
Aby zaspokoić te potrzeby i nie tylko, operator łańcucha narzędzi Kubernetes AI (KAITO), projekt piaskownicy Cloud Native Computing Foundation (CNCF), upraszcza proces wdrażania obciążeń LLM typu open source i zarządzania nimi na platformie Kubernetes. Usługa KAITO integruje się z maszyną wirtualną vLLM, aparatem wnioskowania o wysokiej przepływności zaprojektowanym do wydajnego obsługi dużych modeli językowych. VLLM jako aparat wnioskowania pomaga zmniejszyć wymagania dotyczące pamięci i procesora GPU bez znacznego pogorszenia dokładności.
Oparta na projekcie KAITO typu open source operator łańcucha narzędzi sztucznej inteligencji zarządzana dodatkiem oferuje modułową, wtyczkową i play konfigurację, która umożliwia zespołom szybkie wdrażanie modeli i udostępnianie ich za pośrednictwem interfejsów API gotowych do produkcji. Obejmuje wbudowane funkcje, takie jak interfejsy API zgodne z interfejsami OpenAI, formatowanie monitów i obsługa odpowiedzi przesyłania strumieniowego. Po wdrożeniu w klastrze usługi AKS funkcja KAITO zapewnia, że dane pozostają w kontrolowanym środowisku organizacji, zapewniając bezpieczną, zgodną alternatywę dla interfejsów API LLM hostowanych w chmurze.
Zanim rozpoczniesz
- Artykuł zakłada podstawową znajomość pojęć Kubernetes. Aby uzyskać więcej informacji, zobacz Podstawowe pojęcia dotyczące platformy Kubernetes dla usługi AKS.
- Aby uzyskać informacje o wszystkich hostowanych obrazach wstępnych modelu i domyślnej konfiguracji zasobów, zobacz repozytorium GITHub KAITO.
- Dodatek operatora łańcucha narzędzi sztucznej inteligencji obecnie obsługuje KAITO w wersji 0.6.0, proszę o zanotowanie tego przy rozważaniu wyboru modelu z repozytorium modeli KAITO.
Ograniczenia
-
AzureLinuxjednostka SKU systemuWindowsoperacyjnego nie jest obecnie obsługiwana. - Rozmiary maszyn wirtualnych procesora GPU firmy AMD nie są obsługiwane
instanceTypew obszarze roboczym USŁUGI KAITO. - Dodatek operatora łańcucha narzędzi sztucznej inteligencji jest obsługiwany w publicznych regionach świadczenia usługi Azure.
Wymagania wstępne
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
Jeśli masz wiele subskrypcji platformy Azure, upewnij się, że wybrano poprawną subskrypcję, w której zostaną utworzone zasoby i naliczono opłaty przy użyciu polecenia az account set .
Uwaga
Twoja subskrypcja platformy Azure musi mieć zalecany limit maszyn wirtualnych z procesorem GPU dla wdrożenia Twojego modelu w tym samym regionie Azure co zasoby AKS.
Interfejs wiersza polecenia platformy Azure w wersji 2.76.0 lub nowszej został zainstalowany i skonfigurowany. Uruchom polecenie
az --version, aby dowiedzieć się, jaka wersja jest używana. Jeśli konieczna będzie instalacja lub uaktualnienie, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.Klient wiersza polecenia Kubernetes, kubectl, został zainstalowany i skonfigurowany. Aby uzyskać więcej informacji, zobacz Instalowanie narzędzia kubectl.
Eksportowanie zmiennych środowiskowych
Aby uprościć kroki konfiguracji w tym artykule, można zdefiniować zmienne środowiskowe przy użyciu następujących poleceń. Pamiętaj, aby zastąpić wartości symboli zastępczych swoimi.
export AZURE_SUBSCRIPTION_ID="mySubscriptionID" export AZURE_RESOURCE_GROUP="myResourceGroup" export AZURE_LOCATION="myLocation" export CLUSTER_NAME="myClusterName"
Włącz dodatek operatora łańcucha narzędzi AI w klastrze AKS
W poniższych sekcjach opisano sposób tworzenia klastra usługi AKS z włączonym dodatkiem operatora łańcucha narzędzi AI i wdrażania domyślnego hostowanego modelu sztucznej inteligencji.
Utwórz klaster AKS z włączonym dodatkiem operatora AI
Utwórz grupę zasobów platformy Azure przy użyciu polecenia az group create .
az group create --name $AZURE_RESOURCE_GROUP --location $AZURE_LOCATIONUtwórz klaster AKS z włączonym dodatkiem narzędzi AI, używając polecenia az aks create z opcjami
--enable-ai-toolchain-operatori--enable-oidc-issuer.az aks create --location $AZURE_LOCATION \ --resource-group $AZURE_RESOURCE_GROUP \ --name $CLUSTER_NAME \ --enable-ai-toolchain-operator \ --enable-oidc-issuer \ --generate-ssh-keysW istniejącym klastrze AKS można włączyć dodatek operatora narzędzi AI, używając polecenia az aks update.
az aks update --name $CLUSTER_NAME \ --resource-group $AZURE_RESOURCE_GROUP \ --enable-ai-toolchain-operator \ --enable-oidc-issuer
Nawiązywanie połączenia z klastrem
Skonfiguruj
kubectl, aby połączyć się z klastrem za pomocą polecenia az aks get-credentials.az aks get-credentials --resource-group $AZURE_RESOURCE_GROUP --name $CLUSTER_NAMESprawdź połączenie z klastrem przy użyciu polecenia
kubectl get.kubectl get nodes
Wdrażanie domyślnego hostowanego modelu sztucznej inteligencji
Usługa KAITO oferuje szereg małych i dużych modeli językowych hostowanych jako publiczne obrazy kontenerów, które można wdrożyć w jednym kroku przy użyciu obszaru roboczego KAITO. Możesz przeglądać wstępnie ustawione obrazy LLM dostępne w rejestrze modeli KAITO. W tej sekcji użyjemy wielomodalnego modelu wielomodalnego microsoft Phi-4-mini language o wysokiej jakości jako przykładu:
Wdróż ustawienie wstępne modelu Phi-4-mini instrukcji dotyczące wnioskowania z repozytorium modeli KAITO przy użyciu
kubectl applypolecenia .kubectl apply -f https://raw.githubusercontent.com/kaito-project/kaito/refs/heads/main/examples/inference/kaito_workspace_phi_4_mini.yamlŚledź na żywo zmiany zasobów w obszarze roboczym przy użyciu polecenia
kubectl get.kubectl get workspace workspace-phi-4-mini -wUwaga
Podczas śledzenia wdrożenia obszaru roboczego KAITO należy pamiętać, że gotowość maszyny może potrwać do 10 minut, a gotowość obszaru roboczego do 20 minut w zależności od rozmiaru modelu.
Sprawdź usługę wnioskowania i uzyskaj adres IP usługi przy użyciu
kubectl get svcpolecenia .export SERVICE_IP=$(kubectl get svc workspace-phi-4-mini -o jsonpath='{.spec.clusterIP}')Przetestuj usługę wnioskowania Phi-4-mini za pomocą przykładowych danych wejściowych wybranego przy użyciu formatu interfejsu API uzupełniania czatu 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": "phi-4-mini-instruct", "prompt": "How should I dress for the weather today?", "max_tokens": 10 }'
Wdrażanie niestandardowego lub specyficznego dla domeny modułu LLM
Maszyny LLM typu open source są często trenowane w różnych kontekstach i domenach, a hostowane ustawienia wstępne modelu mogą nie zawsze odpowiadać wymaganiom aplikacji lub danych. W takim przypadku funkcja KAITO obsługuje również wdrażanie nowszych lub specyficznych dla domeny modeli językowych z witryny HuggingFace. Wypróbuj wdrożenie wnioskowania modelu niestandardowego za pomocą narzędzia KAITO, postępując zgodnie z tym artykułem.
Czyszczenie zasobów
Jeśli nie potrzebujesz już tych zasobów, możesz je usunąć, aby uniknąć naliczania dodatkowych opłat za zasoby obliczeniowe platformy Azure.
Usuń obszar roboczy KAITO przy użyciu
kubectl delete workspacepolecenia .kubectl delete workspace workspace-phi-4-miniNależy ręcznie usunąć pule węzłów GPU przydzielone przez wdrożenie KAITO. Użyj etykiety węzła utworzonej przez obszar roboczy Phi-4-mini poinstruuj obszar roboczy , aby uzyskać nazwę puli węzłów
az aks nodepool listprzy użyciu polecenia . W tym przykładzie etykieta węzła to "kaito.sh/workspace": "workspace-phi-4-mini".az aks nodepool list --resource-group $AZURE_RESOURCE_GROUP --cluster-name $CLUSTER_NAMEUsuń pulę węzłów o tej nazwie z klastra usługi AKS i powtórz kroki opisane w tej sekcji dla każdego obszaru roboczego USŁUGI KAITO, który zostanie usunięty.
Typowe scenariusze rozwiązywania problemów
Po zastosowaniu obszaru roboczego wnioskowania przy użyciu modelu KAITO, gotowość i warunki zasobów mogą nie zostać zaktualizowane na True z następujących powodów:
- Twoja subskrypcja platformy Azure nie ma limitu przydziału dla minimalnego typu instancji GPU określonego w obszarze roboczym KAITO. Musisz zażądać zwiększenia limitu przydziału dla rodziny maszyn wirtualnych z procesorem GPU w ramach subskrypcji platformy Azure.
- Typ jednostki GPU nie jest dostępny w regionie AKS. Potwierdź dostępność wystąpienia GPU w swoim określonym regionie i zmień region Azure, jeśli rodzina maszyn wirtualnych GPU nie jest dostępna.
Następne kroki
Dowiedz się więcej o opcjach wdrażania modelu KAITO poniżej:
- Wdróż maszyny LLM z aplikacją w usłudze AKS przy użyciu interfejsu KAITO w programie Visual Studio Code.
- Monitorowanie obciążenia wnioskowania KAITO.
- Dostrajanie modelu za pomocą dodatku łańcucha narzędzi sztucznej inteligencji w usłudze AKS.
- Konfigurowanie i testowanie wywoływania przy użyciu wnioskowania KAITO.
- Integrowanie serwera MCP z dodatkiem operatora łańcucha narzędzi AI w usłudze AKS.