Udostępnij za pośrednictwem


Jak działają generowanie sztucznej inteligencji i funkcji LLM

Generowanie sztucznej inteligencji to rodzaj sztucznej inteligencji, który umożliwia tworzenie oryginalnej zawartości, takiej jak język naturalny, obrazy, dźwięk i kod. Dane wyjściowe generowania sztucznej inteligencji są oparte na danych wejściowych dostarczonych przez użytkownika. Jednym z typowych sposobów interakcji użytkowników z generowaniem sztucznej inteligencji jest użycie aplikacji do czatów, które używają języka naturalnego jako danych wejściowych. ChatGPT, opracowany przez openAI, jest popularnym przykładem tego. Aplikacje generatywnej sztucznej inteligencji, które używają języka naturalnego jako danych wejściowych, są napędzane przez duże modele językowe (LLM) do przetwarzania języka naturalnego (NLP).

Jak działa generowanie sztucznej inteligencji

Wszystkie generatywne AI są oparte na modelach. Te modele są trenowane przy użyciu dużych zestawów danych w postaci zawartości, takiej jak język naturalny, obrazy, dźwięk i kod. Modele generowania sztucznej inteligencji używają wzorców zidentyfikowanych w danych treningowych w celu utworzenia nowej, statystycznie podobnej zawartości.

Dane wejściowe udostępniane przez użytkownika są używane przez model AI do tworzenia danych wyjściowych. Dane wejściowe są najpierw analizowane w postaci danych, które model może zrozumieć. Następnie model używa tych danych do identyfikowania pasujących wzorców z jego szkolenia, które łączy w celu utworzenia ostatecznego wyniku. Modele generowania sztucznej inteligencji są przeznaczone do tworzenia unikatowej zawartości, więc nie będą generować tych samych danych wyjściowych dla identycznych danych wejściowych.

Aplikacje generatywnej sztucznej inteligencji, które obsługują język naturalny jako dane wejściowe lub wyjściowe, korzystają z MOL w tym celu. Model LLM służy do wykonywania przetwarzania języka naturalnego (NLP), które klasyfikuje tekst wejściowy i określa jego sentyment. Ta klasyfikacja i analiza tonacji jest używana przez generatywny model sztucznej inteligencji do identyfikowania wzorców i budowania wyniku. Jeśli dane wyjściowe są tekstem, sam moduł LLM może służyć do jego wygenerowania. Jeśli dane wyjściowe są dźwiękami lub obrazami, dodatkowe modele są używane do dostarczania danych i wzorców generowania danych wyjściowych w tym formacie.

Typowe zastosowania generowania sztucznej inteligencji

Aplikacje generatywnej sztucznej inteligencji obsługują różne przypadki użycia i wyniki, które są omówione w poniższych sekcjach.

Generowanie języka naturalnego

Niektóre aplikacje generujące sztuczną inteligencję mogą generować dane wyjściowe języka naturalnego, takie jak:

  • Profesjonalnie sformułowane podsumowania dla profilu serwisu LinkedIn
  • Rozbudowane opisy przedmiotów w sklepie online
  • Pomysły na zdrowe posiłki

Na przykład biorąc pod uwagę dane wejściowe użytkownika Daj mi trzy pomysły na zdrowe śniadanie, w tym papryki, aplikacja generująca sztuczną inteligencję może wygenerować następujące dane wyjściowe:

OK, oto trzy zdrowe śniadania, które obejmują paprykę:

  1. Jajecznica z papryką: Pokrój w kostkę niektóre papryki i podsmaż je na patelni, aż będą lekko zmiękczone. Następnie dodaj kilka ubitych jajek i wymieszaj wszystko razem. Podawaj z pełnoziarnistymi tostami na pożywne śniadanie.

  2. Tost z Pieprzem i Awokado: Opiecz kromkę chleba pełnoziarnistego i na wierzchu ułóż pokrojone papryki, rozgniecione awokado oraz posyp szczyptą soli i pieprzu. Jest to świetny sposób, aby uzyskać niektóre zdrowe tłuszcze z awokado wraz z witaminą C z papryki.

  3. Burrito śniadaniowe z papryką: Smaż pokrojone papryki, cebulę i jajecznicę razem na patelni. Następnie nałóż mieszaninę na tortillę pełnoziarnistą i polej salsą lub sosem. Zwiń go i ciesz się satysfakcjonującym i pożywnym śniadaniem.

Generowanie obrazu

Niektóre aplikacje generujące sztuczną inteligencję generują dane wyjściowe obrazów z danych wejściowych języka naturalnego. W zależności od aplikacji i jej modeli użytkownicy mogą mieć możliwość określenia:

  • Osoby lub elementy, które mają być wyświetlane na obrazie
  • Styl artystyczny do tworzenia obrazu w
  • Odwołania do generowania podobnych obrazów

Generowanie obrazów może tworzyć wirtualne awatary dla kont online, projektować logo dla firmy lub zapewniać inspirację artystyczną dla twórców. Na przykład użytkownik może wprowadzić żądanie, Utwórz obraz słonia jedzącego burger. Aplikacja generatywnej AI może wygenerować następujące dane wyjściowe:

Przykładowa sztuczna inteligencja wygenerowała obraz słonia jedzącego hamburger.

Generowanie dźwięku

Niektóre aplikacje generujące sztuczną inteligencję generują dane wyjściowe audio z danych wejściowych języka naturalnego. W zależności od aplikacji i jej modeli użytkownicy mogą mieć następujące możliwości:

  • Syntetyzowanie naturalnych głosów dźwiękowych z tekstu wejściowego
  • Tworzenie muzyki w określonym stylu lub z użyciem określonych instrumentów
  • Modyfikowanie wejściowych plików audio na podstawie określonych kryteriów podanych w języku naturalnym

Generowanie dźwięku może zapewnić odpowiedzi mówione od cyfrowych asystentów głosowych, dodać instrumenty zapasowe do piosenek do produkcji muzyki lub odtworzyć oryginalny głos użytkownika z nagrań referencyjnych.

Generowanie kodu

Niektóre generacyjne aplikacje sztucznej inteligencji tworzą kod z danych wejściowych języka naturalnego. W zależności od aplikacji i jej modeli użytkownicy mogą wygenerować kod, który:

  • Jest w wybranym języku
  • Akceptuje określoną strukturę danych wejściowych i wyjściowych
  • Używa określonych technologii na podstawie dokumentacji referencyjnej

Generowanie kodu może zapewnić szybkie implementacje typowych operacji, takich jak sortowanie lub filtrowanie danych, przyspieszanie tłumaczenia kodu z jednego języka na inny lub odpowiadanie na pytania dotyczące technologii opartej na określonej dokumentacji referencyjnej. Na przykład, biorąc pod uwagę dane wejściowe "Pokaż mi, jak zakodować grę tic-tac-toe za pomocą języka C#", aplikacja generująca sztuczną inteligencję może wygenerować następujące dane wyjściowe:

Oto prosty przykład sposobu kodowania gry tic-tac-toe w języku C#:

using System;

namespace TicTacToe
{
    class Program
    {
        static char[] board = { '1', '2', '3', '4', '5', '6', '7', '8', '9' };
        static int player = 1; // Player 1 will start
        static int choice; // The number the player chooses
        static int flag = 0; // Set the flag value to 0

        // Check if the position is already marked or not
        private static int CheckPosition(char mark)
        {
            for (int i = 0; i < 9; i++)
            {
                if (board[i] == mark)
                {
                    return 1;
                }
            }
            return 0;
        }

        // The rest of the generated code has been omitted for brevity
        // ...
    }
}

Ten kod tworzy prostą grę tic-tac-toe opartą na konsoli w języku C#. Używa tablicy jednowymiarowej do reprezentowania planszy i sprawdza zwycięstwo lub remis po każdym ruchu.

Jak działają modele LLM

Podczas trenowania modelu LLM tekst treningowy jest najpierw podzielony na tokeny . Każdy token identyfikuje unikatową wartość tekstową. Token może być odrębnym wyrazem, częściowym słowem lub kombinacją wyrazów i znaków interpunkcyjnych. Każdy token ma przypisany identyfikator, który umożliwia reprezentację tekstu jako sekwencję identyfikatorów tokenów.

Po podziale tekstu na tokeny, do każdego tokenu jest przypisywany wektor kontekstowy, znany jako osadzenie. Te wektory osadzania to wielowartościowe dane liczbowe, w których każdy element wektora tokenu reprezentuje semantyczny atrybut tokenu. Elementy wektora tokenu są określane na podstawie tego, jak często tokeny są używane razem lub w podobnych kontekstach.

Celem jest przewidywanie następnego tokenu w sekwencji na podstawie powyższych tokenów. Waga jest przypisywana do każdego tokenu w istniejącej sekwencji, która reprezentuje jego względny wpływ na następny token. Następnie wykonywane jest obliczenie, które używa wag i osadzeń poprzednich tokenów do przewidzenia następnej wartości wektora. Następnie model wybiera najbardziej prawdopodobny token, aby kontynuować sekwencję na podstawie przewidywanego wektora.

Ten proces jest kontynuowany iteracyjnie dla każdego tokenu w sekwencji, a sekwencja wyjściowa jest wykorzystywana wstecznie jako dane wejściowe dla następnej iteracji. Dane wyjściowe są tworzone po jednym token na raz. Ta strategia jest analogiczna do tego, jak działa autouzupełnianie, gdzie sugestie są oparte na tym, co zostało wpisane do tej pory i aktualizowane przy każdym nowym wpisie.

Podczas trenowania znana jest pełna sekwencja tokenów, ale wszystkie tokeny, które pochodzą po aktualnie rozważanym tokenie, są ignorowane. Przewidywana wartość wektora następnego tokenu jest porównywana z rzeczywistą wartością, a strata jest obliczana. Wagi są następnie przyrostowo dostosowywane, aby zmniejszyć utratę i poprawić model.