Udostępnij za pośrednictwem


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 na dużych korpusach tekstowych pozyskiwanych z Internetu przy użyciu głębokich sieci neuronowych i mogą być dostrajane na mniejszych zbiorach danych do 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. Im więcej parametrów ma model, tym bardziej jest złożony i wyrazisty, ale również tym bardziej kosztowne obliczeniowo jest jego 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 modele, które są:

  • Szybsze i bardziej ekonomiczne trenowanie i uruchamianie: wymagają mniej 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, a także cenić dokładność i jakość ponad zasięg i ilość.
  • 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 MIT
Microsoft Phi-2 Phi-2 (2,7 miliarda) Licencja MIT
Sokół 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 potrzebujesz modeli, które są:

  • 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 czułości, przy czym cenisz sobie pokrycie i ilość bardziej niż dokładność i jakość.
  • Trudne lub eksploracyjne zadania i chcesz wykorzystać zdolność modelu do nauki i dostosowywania.

W poniższej tabeli wymieniono kilka popularnych, wysokowydajnych dużych modeli językowych.

Rodzina modeli Rozmiary modelu (liczba parametrów) Licencja na oprogramowanie
Microsoft Phi-3 Phi-3-medium (14 mld) Licencja MIT
Sokół 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 GPU i konfiguruje powiązany serwer inferencyjny jako serwer punktu końcowego dla 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 szeroką gamą obsługiwanych modeli językowych, zarówno małych, jak i dużych, dla scenariuszy wnioskowania, odwiedź 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 wsparcia 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 Zakres wsparcia dla 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: