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 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: