Dostrajanie modeli Phi-3 w portalu usługi 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ć rodzinę modeli małych języków (SLM) w portalu Azure AI Foundry jako usługę z płatnością zgodnie z rzeczywistym użyciem.
Rodzina SLMs Phi-3 to kolekcja modeli tekstowych dostrajania instrukcji. Modele Phi-3 są najbardziej zdolnymi i opłacalnymi modelami małych języków (SLM), przewyższając modele o tym samym rozmiarze i następnym rozmiarze w różnych językach, rozumowaniu, kodowaniu i testach porównawczych matematycznych.
Ważne
Modele, które są w wersji zapoznawczej, są oznaczone jako wersja zapoznawcza na kartach modeli w wykazie modeli.
Phi-3 Mini to parametry 3,8B, lekki, najnowocześniejszy model otwarty oparty na zestawach danych używanych dla phi-2 - syntetycznych danych i przefiltrowanych witryn internetowych - z naciskiem na wysokiej jakości, rozumowanie gęstych danych. Model należy do rodziny modeli Phi-3, a wersja Mini jest obsługiwana w dwóch wariantach 4K i 128K, czyli długości kontekstu (w tokenach).
- Phi-3-mini-4k-Instruct (wersja zapoznawcza)
- Phi-3-mini-128k-Instruct (wersja zapoznawcza)
Model przeszedł rygorystyczny proces ulepszania, obejmujący zarówno nadzorowane dostrajanie, jak i bezpośrednią optymalizację preferencji w celu zapewnienia dokładnego przestrzegania instrukcji i niezawodnych środków bezpieczeństwa. Podczas oceny testów porównawczych ze zdrowym rozsądkiem, zrozumieniem języka, matematyką, kodem, długim kontekstem i rozumowaniem logicznym, Phi-3 Mini-4K-Instruct i Phi-3 Mini-128K-Instruct zaprezentowali niezawodną i najnowocześniejsze wyniki wśród modeli z mniej niż 13 miliardów parametrów.
Wymagania wstępne
Subskrypcja platformy Azure. Jeśli nie masz subskrypcji platformy Azure, utwórz płatne konto platformy Azure, aby rozpocząć.
Centrum usługi Azure AI Foundry.
Ważne
W przypadku modeli rodzinnych Phi-3 model płatności zgodnie z rzeczywistym użyciem jest dostępny tylko w przypadku centrów utworzonych w regionach Wschodnie stany USA 2 .
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ę dewelopera usługi Azure AI w grupie zasobów.
Aby uzyskać więcej informacji na temat uprawnień, zobacz Kontrola dostępu oparta na rolach w portalu usługi Azure AI Foundry.
Rejestracja 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
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 dostroić modele, upewnij się, że zestaw danych jest zrównoważony i zróżnicowany.
Obejmuje to utrzymywanie równowagi danych, w tym różnych scenariuszy i okresowe udoskonalanie danych treningowych w celu dopasowania ich do rzeczywistych oczekiwań, co ostatecznie prowadzi do dokładniejszej i zrównoważonej odpowiedzi modelu.
Różne typy modeli wymagają innego formatu danych treningowych.
Uzupełnianie czatu
Używane dane trenowania i walidacji muszą być sformatowane jako dokument JSON Lines (JSONL). W przypadku Phi-3-mini-128k-instruct
zestawu danych dostrajania należy sformatować w formacie konwersacyjnym, który jest używany przez interfejs API uzupełniania czatów.
Przykładowy format pliku
{"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?"}]}
Obsługiwany typ pliku to Linie JSON. Pliki są przesyłane do domyślnego magazynu danych i udostępniane w projekcie.
Dostrojenie modelu Phi-3
Aby dostosować model Phi-3:
Zaloguj się do usługi Azure AI Foundry.
Wybierz model, który chcesz dostosować z katalogu modeli portalu usługi Azure AI Foundry.
Na stronie Szczegóły modelu wybierz pozycję Dostosuj.
Wybierz projekt, w którym chcesz dostosować modele. Aby korzystać z oferty modelu płatności zgodnie z rzeczywistym użyciem, obszar roboczy musi należeć do regionu Wschodnie stany USA 2 .
W kreatorze dostrajania wybierz link do warunków rozwiązania Azure AI Foundry, aby dowiedzieć się więcej na temat warunków użytkowania. Możesz również wybrać kartę Szczegółów oferty rozwiązania Azure AI Foundry, aby dowiedzieć się więcej o cenach dla wybranego modelu.
Jeśli po raz pierwszy dostrajasz model w projekcie, musisz zasubskrybować projekt dla konkretnej oferty (na przykład Phi-3-mini-128k-instruct) 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 rozwiązania Azure AI Foundry, 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 (w tym przypadku Phi-3-mini-128k-poinstruowanie) 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ć.
Wprowadź nazwę dostosowanego modelu oraz opcjonalne tagi i opis.
Wybierz dane szkoleniowe, aby dostosować model. Aby uzyskać więcej informacji, zobacz przygotowywanie danych.
Uwaga
Jeśli masz pliki trenowania/walidacji w magazynie danych mniej poświadczeń, musisz zezwolić na dostęp tożsamości zarządzanej obszaru roboczego do magazynu danych, aby kontynuować dostosowywanie usługi MaaS przy użyciu mniej magazynu poświadczeń. Na stronie "Magazyn danych" po kliknięciu pozycji "Aktualizuj uwierzytelnianie" > Wybierz następującą opcję:
Upewnij się, że wszystkie przykłady trenowania są zgodne z oczekiwanym formatem wnioskowania. Aby efektywnie dostroić modele, upewnij się, że zestaw danych jest zrównoważony i zróżnicowany. Obejmuje to utrzymywanie równowagi danych, w tym różnych scenariuszy i okresowe udoskonalanie danych treningowych w celu dopasowania ich do rzeczywistych oczekiwań, co ostatecznie prowadzi do dokładniejszej i zrównoważonej odpowiedzi modelu.
- Rozmiar partii do użycia 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.
- Współczynnik dostrajania uczenia to oryginalny współczynnik uczenia używany 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.
- Liczba epok treningowych. Epoka odnosi się do jednego pełnego cyklu w zestawie danych.
Parametry zadania są opcjonalnym krokiem i zaawansowaną opcją — 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. Użytkownicy mogą zachować ustawienia domyślne lub użytkownicy zaawansowani mogą dostosowywać parametry, takie jak epoki lub szybkość nauki.
Przejrzyj wybrane opcje i przejdź do trenowania modelu.
Po dostrojeniu modelu możesz wdrożyć model i użyć go we własnej aplikacji, na placu zabaw lub w przepływie monitu. Aby uzyskać więcej informacji, zobacz How to deploy Phi-3 family of large language models with Azure AI Foundry (Jak wdrożyć rodzinę dużych modeli językowych phi-3 za pomocą rozwiązania Azure AI Foundry).
Czyszczenie dostosowanych modeli
Możesz usunąć dostosowany model z listy modeli dostrajania w usłudze Azure AI Foundry lub na stronie szczegółów modelu. Wybierz dostosowany model do usunięcia ze strony Dostrajanie szczegółowe, a następnie 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.
Koszt i przydziały
Zagadnienia dotyczące kosztów i limitów przydziału dla modeli Phi dostosowanych jako usługa
Modele Phi dostosowane jako usługa są oferowane przez firmę Microsoft i zintegrowane z usługą Azure AI Foundry do użycia. Ceny można znaleźć podczas wdrażania lub dostrajania modeli na karcie Cennik i terminy w kreatorze wdrażania.
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.
Filtrowanie zawartości
Modele wdrożone jako usługa z 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 (wersja zapoznawcza) wykrywa i podejmuje działania dotyczące określonych kategorii potencjalnie szkodliwej zawartości zarówno w monitach wejściowych, jak i w przypadku uzupełniania danych wyjściowych. Dowiedz się więcej o bezpieczeństwie zawartości usługi Azure AI.