Pojęcia — małe i duże modele językowe
Z tego artykułu dowiesz się więcej o małych i dużych modelach językowych, w tym o tym, kiedy ich używać i jak można ich używać z przepływami pracy sztucznej inteligencji i uczenia maszynowego w usłudze Azure Kubernetes Service (AKS).
Co to są modele językowe?
Modele językowe to zaawansowane modele uczenia maszynowego używane do zadań przetwarzania języka naturalnego (NLP), takich jak generowanie tekstu i analiza tonacji. Te modele reprezentują język naturalny na podstawie prawdopodobieństwa słów lub sekwencji wyrazów występujących w danym kontekście.
Konwencjonalne modele językowe są używane w ustawieniach nadzorowanych do celów badawczych, w których modele są trenowane na dobrze oznaczonych zestawach danych tekstowych dla określonych zadań. Wstępnie wytrenowane modele językowe oferują dostępny sposób na rozpoczęcie pracy ze sztuczną inteligencją i stały się szerzej używane w ostatnich latach. Te modele są trenowane w corpora tekstu na dużą skalę z Internetu przy użyciu głębokich sieci neuronowych i mogą być dostosowane do mniejszych zestawów danych dla określonych zadań.
Rozmiar modelu językowego zależy od liczby parametrów lub wag, które określają sposób przetwarzania danych wejściowych i generowania danych wyjściowych przez model. Parametry są poznane podczas procesu trenowania, dostosowując wagi w warstwach modelu, aby zminimalizować różnicę między przewidywaniami modelu a rzeczywistymi danymi. Bardziej parametry, które ma model, tym bardziej złożone i wyraziste jest, ale także bardziej kosztowne obliczenia jest trenowanie i używanie.
Ogólnie rzecz biorąc, małe modele językowe mają mniej niż 10 miliardów parametrów, a duże modele językowe mają ponad 10 miliardów parametrów. Na przykład nowa rodzina modeli Microsoft Phi-3 ma trzy wersje o różnych rozmiarach: mini (3,8 miliarda parametrów), małe (7 miliardów parametrów) i średnie (14 miliardów parametrów).
Kiedy używać małych modeli językowych
Zalety
Małe modele językowe są dobrym wyborem, jeśli chcesz, aby modele:
- Szybsze i bardziej ekonomiczne trenowanie i uruchamianie: wymagają one mniejszej ilości danych i mocy obliczeniowej.
- Łatwe wdrażanie i konserwowanie: mają mniejsze zużycie pamięci i miejsca do magazynowania.
- Mniej podatne na nadmierne dopasowanie, czyli gdy model uczy się szumu lub określonych wzorców danych treningowych i nie uogólnia nowych danych.
- Możliwe do interpretacji i wyjaśnienia: mają mniej parametrów i składników do zrozumienia i przeanalizowania.
Przypadki użycia
Małe modele językowe są odpowiednie dla przypadków użycia, które wymagają:
- Ograniczone dane lub zasoby i potrzebujesz szybkiego i prostego rozwiązania.
- Dobrze zdefiniowane lub wąskie zadania i nie potrzebujesz dużej kreatywności w danych wyjściowych.
- Zadania o wysokiej precyzji i niskiej kompletności oraz dokładność i jakość w zakresie pokrycia i ilości.
- Wrażliwe lub regulowane zadania i należy zapewnić przejrzystość i odpowiedzialność modelu.
W poniższej tabeli wymieniono kilka popularnych modeli małych języków o wysokiej wydajności:
Rodzina modeli | Rozmiary modelu (liczba parametrów) | Licencja na oprogramowanie |
---|---|---|
Microsoft Phi-3 | Phi-3-mini (3,8 miliarda), Phi-3-small (7 miliardów) | Licencja X11 |
Microsoft Phi-2 | Phi-2 (2,7 miliarda) | Licencja X11 |
Falcon | Falcon-7B (7 miliardów) | Licencja apache 2.0 |
Kiedy używać dużych modeli językowych
Zalety
Duże modele językowe są dobrym wyborem, jeśli chcesz, aby modele:
- Zaawansowane i wyraziste: mogą przechwytywać bardziej złożone wzorce i relacje w danych.
- Ogólne i elastyczne: Mogą obsługiwać szerszy zakres zadań i przekazywać wiedzę między domenami.
- Niezawodne i spójne: mogą obsługiwać hałaśliwe lub niekompletne dane wejściowe i unikać typowych błędów i uprzedzeń.
Przypadki użycia
Duże modele językowe są odpowiednie dla przypadków użycia, które wymagają:
- Obfite dane i zasoby oraz budżet na tworzenie i konserwację złożonego rozwiązania.
- Zadania o niskiej precyzji i wysokiej kompletności oraz wartości pokrycia i ilości w zakresie dokładności i jakości.
- Trudne lub eksploracyjne zadania i chcesz wykorzystać zdolność modelu do nauki i dostosowywania.
W poniższej tabeli wymieniono kilka popularnych, wysokowydajnych modeli językowych:
Rodzina modeli | Rozmiary modelu (liczba parametrów) | Licencja na oprogramowanie |
---|---|---|
Microsoft Phi-3 | Phi-3-średni (14 miliardów) | Licencja X11 |
Falcon | Falcon-40B (40 miliardów) | Licencja apache 2.0 |
Eksperymentowanie z małymi i dużymi modelami językowymi w usłudze AKS
Kubernetes AI Toolchain Operator (KAITO) to operator typu open source, który automatyzuje małe i duże wdrożenia modeli językowych w klastrach Kubernetes. Dodatek KAITO dla usługi AKS upraszcza dołączanie i skraca czas wnioskowania dla modeli typu open source w klastrach usługi AKS. Dodatek automatycznie aprowizuje odpowiednie węzły procesora GPU i konfiguruje skojarzony serwer interferencyjny jako serwer punktu końcowego do wybranego modelu.
Aby uzyskać więcej informacji, zobacz Deploy an AI model on AKS with the AI toolchain operator (Wdrażanie modelu AI w usłudze AKS za pomocą operatora łańcucha narzędzi AI). Aby rozpocząć pracę z szeregiem obsługiwanych małych i dużych modeli językowych dla przepływów pracy wnioskowania, zobacz repozytorium GitHub modelu KAITO.
Ważne
Oprogramowanie typu open source jest wymienione w dokumentacji i przykładach usługi AKS. Wdrażane oprogramowanie jest wykluczone z umów dotyczących poziomu usług AKS, ograniczonej gwarancji i pomoc techniczna platformy Azure. W miarę korzystania z technologii open source wraz z usługą AKS zapoznaj się z opcjami pomocy technicznej dostępnymi w odpowiednich społecznościach i opiekunami projektów, aby opracować plan.
Na przykład repozytorium Ray GitHub opisuje kilka platform, które różnią się w czasie odpowiedzi, celu i poziomie pomocy technicznej.
Firma Microsoft ponosi odpowiedzialność za tworzenie pakietów typu open source wdrażanych w usłudze AKS. Ta odpowiedzialność obejmuje posiadanie pełnej własności procesu kompilacji, skanowania, podpisywania, weryfikowania i poprawek oraz kontroli nad plikami binarnymi na obrazach kontenerów. Aby uzyskać więcej informacji, zobacz Zarządzanie lukami w zabezpieczeniach dla usług AKS i pokrycie pomocy technicznej usługi AKS.
Następne kroki
Aby dowiedzieć się więcej na temat konteneryzowanych obciążeń sztucznej inteligencji i uczenia maszynowego w usłudze AKS, zobacz następujące artykuły:
Azure Kubernetes Service