Dostosowywanie modeli przy użyciu bezserwerowych interfejsów API w usłudze Azure AI Foundry
Ważne
Elementy oznaczone (wersja zapoznawcza) w tym artykule są obecnie dostępne w publicznej wersji zapoznawczej. Ta wersja zapoznawcza jest udostępniana bez umowy dotyczącej poziomu usług i nie zalecamy korzystania z niej w przypadku obciążeń produkcyjnych. Niektóre funkcje mogą być nieobsługiwane lub ograniczone. Aby uzyskać więcej informacji, zobacz Uzupełniające warunki korzystania z wersji zapoznawczych platformy Microsoft Azure.
Usługa Azure AI Foundry umożliwia dostosowanie dużych modeli językowych do osobistych zestawów danych przy użyciu procesu znanego jako dostrajanie.
Dostrajanie zapewnia znaczącą wartość dzięki włączeniu dostrajania i optymalizacji dla określonych zadań i aplikacji. Prowadzi to do zwiększenia wydajności, wydajności kosztów, mniejszego opóźnienia i dostosowanych danych wyjściowych.
Z tego artykułu dowiesz się, jak dostosować modele wdrażane za pośrednictwem bezserwerowych interfejsów API w usłudze Azure AI Foundry.
Wymagania wstępne
Subskrypcja platformy Azure z prawidłową formą płatności. Subskrypcje platformy Azure w wersji bezpłatnej lub próbnej nie będą działać. Jeśli nie masz subskrypcji platformy Azure, utwórz płatne konto platformy Azure, aby rozpocząć.
Dostęp do witryny Azure Portal.
Projekt usługi Azure AI Foundry.
Kontrola dostępu oparta na rolach platformy Azure (RBAC) platformy Azure służy do udzielania dostępu do operacji w portalu usługi Azure AI Foundry. Aby wykonać kroki opisane w tym artykule, konto użytkownika musi mieć przypisaną rolę Właściciela lub Współpracownika dla subskrypcji platformy Azure. Aby uzyskać więcej informacji na temat uprawnień, zobacz Kontrola dostępu oparta na rolach w portalu usługi Azure AI Foundry.
Znajdowanie modeli z obsługą dostrajania
Wykaz modeli rozwiązania AI Foundry oferuje obsługę dostrajania dla wielu typów modeli, w tym uzupełniania czatów i generowania tekstu. Aby uzyskać listę modeli, które obsługują dostrajanie i regiony świadczenia pomocy technicznej platformy Azure na potrzeby dostrajania, zobacz dostępność regionów dla modeli w punktach końcowych bezserwerowego interfejsu API.
Możesz również przejść do portalu azure AI Foundry, aby wyświetlić wszystkie modele, które zawierają obsługę dostrajania:
Zaloguj się do usługi Azure AI Foundry.
Jeśli nie jesteś jeszcze w projekcie, wybierz go.
Przejdź do katalogu modeli.
Wybierz filtr Zadania dostrajania szczegółowego.
Wybierz pozycję Wszystkie lub wybierz określone zadanie.
Weryfikowanie rejestracji dostawcy subskrypcji
Sprawdź, czy subskrypcja jest zarejestrowana u dostawcy Microsoft.Network
zasobów.
- Zaloguj się w witrynie Azure Portal.
- Wybierz pozycję Subskrypcje z menu po lewej stronie.
- Wybierz subskrypcję, której chcesz użyć.
- Wybierz pozycję Ustawienia>Dostawcy zasobów z menu po lewej stronie.
- Upewnij się, że aplikacja Microsoft.Network znajduje się na liście dostawców zasobów. W przeciwnym razie dodaj go.
Przygotowywanie danych do dostrajania
Przygotuj dane szkoleniowe i weryfikacyjne, aby dostroić model. Dane szkoleniowe i zestawy danych do walidacji składają się z przykładów wejściowych i wyjściowych pokazujących, jak ma działać model.
Upewnij się, że wszystkie przykłady trenowania są zgodne z oczekiwanym formatem wnioskowania. Aby efektywnie dostosowywać modele, zapewnij zrównoważony i zróżnicowany zestaw danych, zachowując równowagę danych, w tym różne scenariusze, i okresowo uściślij dane szkoleniowe w celu dostosowania ich do rzeczywistych oczekiwań. Te działania ostatecznie prowadzą do bardziej dokładnych i zrównoważonych odpowiedzi modelu.
Napiwek
Różne typy modeli wymagają innego formatu danych treningowych.
Przykładowy format pliku
Obsługiwany typ pliku to Linie JSON. Pliki są przesyłane do domyślnego magazynu danych i udostępniane w projekcie.
{"messages": [{"role": "system", "content": "You are an Xbox customer support agent whose primary goal is to help users with issues they are experiencing with their Xbox devices. You are friendly and concise. You only provide factual answers to queries, and do not provide answers that are not related to Xbox."}, {"role": "user", "content": "Is Xbox better than PlayStation?"}, {"role": "assistant", "content": "I apologize, but I cannot provide personal opinions. My primary job is to assist you with any issues related to your Xbox device. Do you have any Xbox-related issues that need addressing?"}]}
{"messages": [{"role": "system", "content": "You are an Xbox customer support agent whose primary goal is to help users with issues they are experiencing with their Xbox devices. You are friendly and concise. You only provide factual answers to queries, and do not provide answers that are not related to Xbox."}, {"role": "user", "content": "Can I play PC games on my Xbox?"}, {"role": "assistant", "content": "While Xbox consoles don't natively support PC games, they can play an array of Xbox games, many of which are also available on PC. Can I assist you with finding games compatible with your Xbox device?"}]}
{"messages": [{"role": "system", "content": "You are an Xbox customer support agent whose primary goal is to help users with issues they are experiencing with their Xbox devices. You are friendly and concise. You only provide factual answers to queries, and do not provide answers that are not related to Xbox."}, {"role": "user", "content": "I'm having trouble connecting my Xbox to the Wi-Fi."}, {"role": "assistant", "content": "No worries, let's go through the network settings on your Xbox. Can you please tell me what happens when you try to connect it to the Wi-Fi?"}]}
Dostrajanie modelu
Wybierz model, który chcesz dostosować z katalogu modeli usługi Azure AI Foundry.
Na stronie Szczegóły modelu wybierz pozycję Dostosuj. Niektóre modele podstawowe obsługują zarówno bezserwerowy interfejs API , jak i zarządzane zasoby obliczeniowe, a inne obsługują jedną lub drugą.
Jeśli zostaną wyświetlone opcje bezserwerowego interfejsu API i zarządzanego środowiska obliczeniowego, wybierz pozycję Bezserwerowy interfejs API, aby dostrajać. Ta akcja powoduje otwarcie kreatora, który wyświetla informacje o dostrajaniu modelu zgodnie z rzeczywistym użyciem .
Uwaga
Aby dostosować model przy użyciu bezserwerowego interfejsu API, projekt musi należeć do dostępnego regionu. Każdy model ma określoną dostępność regionu. Te regiony są wyświetlane w kreatorze dostrajania, który zostanie otwarty. Możesz również sprawdzić dostępność regionu dla wybranego modelu.
Wybierz kartę Cennik i terminy , aby dowiedzieć się więcej o cenach dla wybranego modelu.
Jeśli używasz modelu oferowanego za pośrednictwem witryny Azure Marketplace, wybierz link do warunków witryny Azure Marketplace na karcie Przegląd , aby dowiedzieć się więcej na temat warunków użytkowania.
- Jeśli po raz pierwszy dostrajasz model (na przykład Mistral-large-2407) w projekcie, musisz zasubskrybować projekt dla konkretnej oferty z usługi Azure AI Foundry. Ten krok wymaga, aby Twoje konto ma uprawnienia subskrypcji platformy Azure i uprawnienia grupy zasobów wymienione w wymaganiach wstępnych. Każdy projekt ma własną subskrypcję konkretnej oferty usługi Azure AI Studio, która umożliwia kontrolowanie i monitorowanie wydatków. Wybierz pozycję Subskrybuj i dostosuj.
Uwaga
Subskrybowanie projektu do określonej oferty usługi Azure AI Foundry wymaga, aby Twoje konto ma dostęp współautora lub właściciela na poziomie subskrypcji, na którym został utworzony projekt. Alternatywnie konto użytkownika może mieć przypisaną rolę niestandardową, która ma uprawnienia subskrypcji platformy Azure i uprawnienia grupy zasobów wymienione w wymaganiach wstępnych.
- Po zarejestrowaniu projektu dla konkretnej oferty rozwiązania Azure AI Foundry kolejne dostrajanie tej samej oferty w tym samym projekcie nie wymaga ponownego subskrybowania. W związku z tym nie musisz mieć uprawnień na poziomie subskrypcji dla kolejnych zadań dostrajania. Jeśli ten scenariusz ma zastosowanie do Ciebie, wybierz pozycję Kontynuuj, aby dostroić.
Jeśli używasz modelu firmy Microsoft (na przykład Phi-3.5-mini-poinstruuj), nie utworzysz subskrypcji witryny Azure Marketplace. Wybierz pozycję Dostosuj.
Wprowadź nazwę dostosowanego modelu oraz opcjonalne tagi i opis.
Wybierz dane szkoleniowe, aby dostosować model. Aby uzyskać więcej informacji, zobacz przygotowywanie danych do dostrajania .
Uwaga
Jeśli masz pliki trenowania/walidacji w magazynie danych bez poświadczeń, musisz zezwolić na dostęp tożsamości zarządzanej obszaru roboczego do magazynu danych, aby kontynuować dostosowywanie bezserwerowego interfejsu API przy użyciu magazynu bez poświadczeń. Na stronie Magazyn danych po wybraniu pozycji Aktualizuj uwierzytelnianie wybierz opcję używania tożsamości zarządzanej obszaru roboczego.
Wybierz pozycję Dane weryfikacji.
Określ (opcjonalne) parametry zadania. Parametry zadania to opcjonalny krok i opcja zaawansowana. Dostrajanie hiperparametrów jest niezbędne do optymalizacji dużych modeli językowych (LLM) w rzeczywistych aplikacjach. Umożliwia zwiększenie wydajności i wydajnego użycia zasobów. Możesz zachować ustawienia domyślne lub dostosować parametry, takie jak epoki lub szybkość nauki.
- Mnożnik rozmiaru partii: rozmiar partii używany do trenowania. W przypadku ustawienia wartości -1 batch_size jest obliczana jako 0,2% przykładów w zestawie treningowym, a maksymalna wartość to 256.
- Szybkość nauki: współczynnik dostrajania jest oryginalnym współczynnikiem uczenia używanym do wstępnego trenowania pomnożonego przez ten mnożnik. Zalecamy eksperymentowanie z wartościami z zakresu od 0,5 do 2. Empirycznie okazało się, że większe wskaźniki uczenia często działają lepiej z większymi rozmiarami partii. Musi należeć do przedziału od 0,0 do 5,0.
- Epoki: liczba epok trenowania. Epoka odnosi się do jednego pełnego cyklu w zestawie danych.
Przejrzyj wybrane opcje i wybierz pozycję Prześlij , aby wytrenować model.
Po dostrojeniu modelu możesz go wdrożyć i użyć we własnej aplikacji, na placu zabaw lub w przepływie monitu. Aby uzyskać więcej informacji na temat używania wdrożonych modeli, zobacz How to use Mistral Premium chat models (Jak używać modeli czatów Mistral w warstwie Premium).
Obsługiwane scenariusze przedsiębiorstwa w celu dostosowania
Kilka scenariuszy przedsiębiorstwa jest obsługiwanych w przypadku dostrajania usługi MaaS. W poniższej tabeli przedstawiono obsługiwane konfiguracje sieci i uwierzytelniania magazynu użytkowników w celu zapewnienia bezproblemowej operacji w scenariuszach przedsiębiorstwa:
Uwaga
- Uwierzytelnianie połączeń danych można zmienić za pośrednictwem programu AI Studio, klikając połączenie magazynu danych, w którym jest przechowywany zestaw danych, i przechodząc do ustawienia Metoda uwierzytelniania szczegółów>dostępu.
- Uwierzytelnianie magazynu można zmienić na stronie> Konfiguracje ustawień>usługi Azure Storage >Zezwalaj na dostęp do klucza konta magazynu.
- Sieć magazynu można zmienić na stronie Sieci usługi Azure Storage.>
Sieć magazynu | Uwierzytelnianie magazynu | Uwierzytelnianie połączenia danych | Pomoc techniczna | |||
---|---|---|---|---|---|---|
Dostęp do sieci publicznej = włączony | Włączony klucz konta | Sygnatura dostępu współdzielonego/klucz konta | Tak, środowiska użytkownika i zestawu SDK | |||
Dostęp do sieci publicznej = włączony | Klucz konta jest wyłączony | Uwierzytelnianie oparte na protokole entra (bez poświadczeń) | Tak, środowiska użytkownika i zestawu SDK Uwaga: w przypadku środowiska użytkownika może być konieczne dodanie czytnika danych obiektu blob usługi Storage lub współautora danych obiektu blob usługi Storage dla identyfikatora użytkownika na koncie magazynu lub zmiany uwierzytelniania połączenia w celu użycia klucza konta/tokenu SAS |
|||
Włączone z wybranych sieci wirtualnych i adresów IP | Włączony klucz konta | Klucz konta | Tak, środowiska użytkownika i zestawu SDK Uwaga:: w przypadku środowiska użytkownika adres IP obliczeń z uruchomioną przeglądarką musi znajdować się na wybranej liście |
|||
Włączone z wybranych sieci wirtualnych i adresów IP | Włączony klucz konta | SAS | Tak, środowiska użytkownika i zestawu SDK Uwaga:: w przypadku środowiska użytkownika adres IP obliczeń z uruchomioną przeglądarką musi znajdować się na wybranej liście |
|||
Włączone z wybranych sieci wirtualnych i adresów IP | Klucz konta jest wyłączony | Uwierzytelnianie oparte na protokole entra (bez poświadczeń) | Tak, środowiska użytkownika i zestawu SDK. Uwaga: w przypadku środowiska użytkownika może być konieczne dodanie czytnika danych obiektu blob usługi Storage lub współautora danych obiektu blob usługi Storage dla identyfikatora użytkownika na koncie magazynu lub zmiana uwierzytelniania połączenia w celu użycia klucza konta/tokenu SAS. Upewnij się również, że adres IP obliczeń, na którym jest uruchomiona przeglądarka, musi znajdować się na wybranej liście |
|||
Dostęp do sieci publicznej = wyłączony | Włączony klucz konta | Sygnatura dostępu współdzielonego/klucz konta | Tak, środowiska użytkownika i zestawu SDK. Uwaga: w przypadku przekazywania i przesyłania danych środowiska użytkownika do pracy należy uzyskać dostęp do obszaru roboczego z sieci wirtualnej, która ma odpowiedni dostęp do magazynu |
|||
Dostęp do sieci publicznej = wyłączony | Klucz konta jest wyłączony | Uwierzytelnianie oparte na protokole entra (bez poświadczeń) | Tak, środowiska użytkownika i zestawu SDK. Uwaga: w przypadku przekazywania i przesyłania danych środowiska użytkownika do pracy należy uzyskać dostęp do obszaru roboczego z sieci wirtualnej, która ma odpowiedni dostęp do magazynu |
Powyższe scenariusze powinny również działać w zarządzanym obszarze roboczym sieci wirtualnej. Zobacz konfigurowanie centrum zarządzanej sieci wirtualnej AI Studio tutaj: Jak skonfigurować sieć zarządzaną dla koncentratorów usługi Azure AI Foundry
Klucze zarządzane przez klienta (CMK) nie są obsługiwanym scenariuszem przedsiębiorstwa z dostosowywaniem usługi MaaS.
Problemy z dostosowywaniem unikatowych konfiguracji sieci w obszarze roboczym i magazynie zwykle wskazują na problem z konfiguracją sieci.
Czyszczenie dostosowanych modeli
Możesz usunąć dostosowany model z listy modeli dostrajania w usłudze Azure AI Foundry lub na stronie szczegółów modelu. Aby usunąć dostosowany model ze strony Dostrajanie precyzyjne,
- Wybierz pozycję Dostrajanie z lewej strony nawigacji w projekcie usługi Azure AI Foundry.
- Wybierz przycisk Usuń, aby usunąć dostosowany model.
Uwaga
Nie można usunąć modelu niestandardowego, jeśli ma istniejące wdrożenie. Przed usunięciem modelu niestandardowego należy najpierw usunąć wdrożenie modelu.
Zagadnienia dotyczące kosztów i limitów przydziału dla modeli wdrożonych jako punkty końcowe bezserwerowego interfejsu API
Limit przydziału jest zarządzany na wdrożenie. Każde wdrożenie ma limit szybkości wynoszący 200 000 tokenów na minutę i 1000 żądań interfejsu API na minutę. Obecnie jednak ograniczamy jedno wdrożenie na model na projekt. Skontaktuj się z pomocą techniczną platformy Microsoft Azure, jeśli bieżące limity szybkości nie są wystarczające dla Twoich scenariuszy.
Koszt modeli firmy Microsoft
Informacje o cenach można znaleźć na karcie Cennik i terminy kreatora wdrażania podczas wdrażania modeli firmy Microsoft (takich jak modele Phi-3) jako punktów końcowych bezserwerowego interfejsu API.
Koszt dla modeli innych niż Microsoft
Modele inne niż firmy Microsoft wdrożone jako punkty końcowe bezserwerowego interfejsu API są oferowane za pośrednictwem witryny Azure Marketplace i zintegrowane z usługą Azure AI Foundry do użycia. Cennik witryny Azure Marketplace można znaleźć podczas wdrażania lub dostrajania tych modeli.
Za każdym razem, gdy projekt subskrybuje daną ofertę z witryny Azure Marketplace, tworzony jest nowy zasób w celu śledzenia kosztów związanych z jego zużyciem. Ten sam zasób służy do śledzenia kosztów skojarzonych z wnioskowaniem i dostrajania; jednak w ramach śledzenia każdego scenariusza można niezależnie śledzić wiele mierników.
Aby uzyskać więcej informacji na temat śledzenia kosztów, zobacz Monitorowanie kosztów modeli oferowanych za pośrednictwem witryny Azure Marketplace.
Przykładowy notes
Możesz użyć tego przykładowego notesu , aby utworzyć autonomiczne zadanie dostrajania w celu zwiększenia możliwości podsumowania dialogów między dwiema osobami korzystającymi z zestawu danych Samsum. Wykorzystane dane treningowe to zestaw danych ultrachat_200k, który jest podzielony na cztery podziały odpowiednie do nadzorowanych dostrajania (kradzież) i klasyfikacji generowania (gen). Notes korzysta z dostępnych modeli sztucznej inteligencji platformy Azure dla zadania ukończenia czatu (jeśli chcesz użyć innego modelu niż używany w notesie, możesz zastąpić nazwę modelu). Notes zawiera konfigurowanie wymagań wstępnych, wybieranie modelu w celu dostosowania, tworzenie zestawów danych trenowania i walidacji, konfigurowanie i przesyłanie zadania dostrajania, a na koniec utworzenie wdrożenia bezserwerowego przy użyciu dostosowanego modelu na potrzeby przykładowego wnioskowania.
Przykładowy interfejs wiersza polecenia
Ponadto możesz użyć tego przykładowego interfejsu wiersza polecenia, aby utworzyć autonomiczne zadanie dostrajania w celu ulepszenia możliwości podsumowania dialogów między dwiema osobami używającymi zestawu danych.
type: finetuning
name: "Phi-3-mini-4k-instruct-with-amlcompute"
experiment_name: "Phi-3-mini-4k-instruct-finetuning-experiment"
display_name: "Phi-3-mini-4k-instruct-display-name"
task: chat_completion
model_provider: custom
model:
path: "azureml://registries/azureml/models/Phi-3-mini-4k-instruct/versions/14"
type: mlflow_model
training_data: train.jsonl
validation_data:
path: validation.jsonl
type: uri_file
hyperparameters:
num_train_epochs: "1"
per_device_train_batch_size: "1"
learning_rate: "0.00002"
properties:
my_property: "my_value"
tags:
foo_tag: "bar"
outputs:
registered_model:
name: "Phi-3-mini-4k-instruct-finetuned-model"
type: mlflow_model
Użyte dane szkoleniowe są takie same jak pokazane w notesie zestawu SDK. Interfejs wiersza polecenia korzysta z dostępnych modeli sztucznej inteligencji platformy Azure dla zadania ukończenia czatu. Jeśli wolisz użyć innego modelu niż ten w przykładzie interfejsu wiersza polecenia, możesz odpowiednio zaktualizować argumenty, takie jak "ścieżka modelu",
Filtrowanie zawartości
Modele wdrożone jako usługa z rozliczeniami płatności zgodnie z rzeczywistym użyciem są chronione przez bezpieczeństwo zawartości usługi Azure AI. Po wdrożeniu w punktach końcowych czasu rzeczywistego możesz zrezygnować z tej funkcji. Po włączeniu bezpieczeństwa zawartości sztucznej inteligencji platformy Azure zarówno monit, jak i ukończenie przechodzą przez zespół modeli klasyfikacji mających na celu wykrywanie i zapobieganie wyjściu szkodliwej zawartości. System filtrowania zawartości wykrywa i podejmuje działania na określonych kategoriach potencjalnie szkodliwej zawartości w monitach wejściowych i uzupełnianiu danych wyjściowych. Dowiedz się więcej o bezpieczeństwie zawartości usługi Azure AI.