Jak funguje generování umělé inteligence a LLM
Generování umělé inteligence je typ umělé inteligence, který umožňuje vytvářet původní obsah, jako je přirozený jazyk, obrázky, zvuk a kód. Výstup generující umělé inteligence je založený na vstupech poskytovaných uživatelem. Jedním z běžných způsobů, jak uživatelé interagovat s generováním umělé inteligence, je prostřednictvím chatovacích aplikací, které jako vstup používají přirozený jazyk. Oblíbeným příkladem je ChatGPT vyvinutý openAI. Generování aplikací umělé inteligence, které používají přirozený jazyk jako vstup, využívají velké jazykové modely (LLM) k provádění zpracování přirozeného jazyka (NLP).
Jak funguje generování umělé inteligence
Veškerá generující AI je postavená na modelech. Tyto modely se trénují s velkými sadami dat ve formě obsahu, jako je přirozený jazyk, obrázky, zvuk a kód. Modely generující AI používají vzory identifikované v trénovacích datech k vytvoření nového, statisticky podobného obsahu.
Vstup poskytnutý uživatelem používá model AI k sestavení výstupu. Vstup se nejprve parsuje do formy dat, kterým model rozumí. Model pak tato data použije k identifikaci odpovídajících vzorů z trénování, které kombinuje k sestavení konečného výstupu. Modely generující AI jsou navržené tak, aby vytvářely jedinečný obsah, takže negenerují stejný výstup pro stejné vstupy.
Generování aplikací umělé inteligence, které podporují přirozený jazyk jako vstup nebo výstup, k tomu využívají LLM. LLM slouží k provádění NLP, který klasifikuje vstupní text a určuje jeho mínění. Tato analýza klasifikace a mínění je používána modelem generující umělé inteligence k identifikaci vzorů a sestavení výstupu. Pokud je výstup textem, můžete k jeho vygenerování použít samotný LLM. Pokud je výstup zvukem nebo obrázky, použijí se další modely k poskytování dat a vzorů pro generování výstupů v daném formátu.
Běžné použití generující umělé inteligence
Generování aplikací umělé inteligence podporuje řadu potenciálních případů použití a potenciálních výstupů, které jsou prozkoumány v následujících částech.
Generování přirozeného jazyka
Některé aplikace generující AI můžou vytvářet výstupy přirozeného jazyka, například:
- Profesionálně oslovené souhrny pro profil LinkedIn
- Bohaté popisy položek v online výkladní skříňce
- Nápady na zdravá jídla
Například s ohledem na vstup uživatele Dejte mi tři nápady na zdravou snídani včetně pepřů, může aplikace generující AI vytvořit následující výstup:
Ok, tady jsou tři zdravé snídaně, které zahrnují pepř:
Vejce a Pepř Scramble: Rozdáte některé zvonové pepře a vysaďte je v pánvi, dokud nebudou mírně změkčeny. Pak přidejte několik zmlátěná vejce a rozmíchejte všechno dohromady. Servírujte s celozrnným toastem pro výživovou snídani.
Pepper a Avocado Toast: Toast plátek celozrnného chleba a nad ním nakrájené bell peppers, mashed avokádo a rozprašovač soli a pepře. To je skvělý způsob, jak získat některé zdravé tuky z avokáda spolu s vitaminem C z pepřů.
Snídaně Burrito s Peppers: Sauté některé nakrájené zvonové pepře, cibule a míchaná vejce dohromady v pánvi. Pak lžičku směsi na celozrnnou tortilu a nahoře s některými salsami nebo horkou omáčkou. Zahrnujte ji a užijte si uspokojující a výživnou snídani.
Generování obrázků
Některé aplikace generující AI vytvářejí výstupy obrázků ze vstupů přirozeného jazyka. V závislosti na aplikaci a jejích modelech můžou uživatelé zadat:
- Lidé nebo věci, které se mají zobrazit na obrázku
- Grafický styl pro vytvoření obrázku v
- Odkazy na generování podobných obrázků
Generování obrázků může vytvářet virtuální avatary pro online účty, loga designu pro firmu nebo poskytovat umělecké inspiraci tvůrcům. Uživatel může například zadat požadavek, vytvořit obrázek slonu jíst burger. Aplikace generující AI může vytvořit následující výstup:
Generování zvuku
Některé aplikace generující AI vytvářejí zvukové výstupy ze vstupů přirozeného jazyka. V závislosti na aplikaci a jejích modelech můžou uživatelé:
- Syntetizování přirozených zvuků ze vstupního textu
- Vytváření hudby v určitém stylu nebo s určitými nástroji
- Úprava vstupních zvukových souborů na základě nastavených kritérií zadaných v přirozeném jazyce
Zvuková generace může poskytovat mluvené odpovědi od digitálních hlasových asistentů, přidávat do skladeb hudební produkce nástroje nebo reprodukovat původní hlas uživatele z referenčních nahrávek.
Generování kódu
Některé aplikace generující AI vytvářejí kód ze vstupů přirozeného jazyka. V závislosti na aplikaci a jejích modelech můžou uživatelé vygenerovat kód, který:
- Je v jazyce podle svého výběru.
- Přijímá konkrétní vstupní a výstupní strukturu.
- Využívá konkrétní technologie založené na referenční dokumentaci.
Generování kódu může poskytovat rychlé implementace běžných operací, jako je řazení nebo filtrování dat, urychlení překladu kódu z jednoho jazyka do jiného nebo zodpovězení otázek týkajících se technologie na základě zadané referenční dokumentace. Když například zadáte "Show me how to code a game of tic-tac-toe with C#" (Ukažte mi, jak kódovat hru tic-tac-toe pomocí jazyka C#), může generování aplikace umělé inteligence vytvořit následující výstup:
Tady je jednoduchý příklad kódu hry tic-tac-toe v jazyce 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
// ...
}
}
Tento kód vytvoří jednoduchou hru tic-tac-toe založené na konzole v jazyce C#. Používá jednorozměrné pole k reprezentaci desky a kontroluje výhru nebo losování po každém pohybu.
Jak fungují LLM
Při trénování LLM se trénovací text nejprve rozdělí na tokeny. Každý token identifikuje jedinečnou textovou hodnotu. Token může být odlišné slovo, částečné slovo nebo kombinace slov a interpunkce. Každému tokenu je přiřazeno ID, které umožňuje reprezentovat text jako posloupnost ID tokenů.
Po rozdělení textu na tokeny se ke každému tokenu přiřadí kontextový vektor označovaný jako vkládání. Tyto vektory vkládání jsou číselná data s více hodnotami, kde každý prvek vektoru tokenu představuje sémantický atribut tokenu. Prvky vektoru tokenu jsou určeny na základě toho, jak často se tokeny používají společně nebo v podobných kontextech.
Cílem je předpovědět další token v sekvenci na základě předchozích tokenů. Ke každému tokenu v existující sekvenci se přiřadí váha, která představuje relativní vliv na další token. Pak se provede výpočet, který použije váhy předchozích tokenů a vkládání k predikci další vektorové hodnoty. Model pak vybere nejpravděpodobnější token, aby pokračoval v sekvenci na základě predikovaného vektoru.
Tento proces pokračuje iterativním způsobem pro každý token v sekvenci, přičemž výstupní sekvence se používá regresivně jako vstup pro další iteraci. Výstup se sestaví po jednom tokenu. Tato strategie je podobná tomu, jak funguje automatické dokončování, kde návrhy vycházejí z toho, co bylo dosud zadáno a aktualizováno jednotlivými novými vstupy.
Během trénování je známa úplná posloupnost tokenů, ale všechny tokeny, které přicházejí po aktuálně zvažovaném tokenu, se ignorují. Předpovězená hodnota vektoru dalšího tokenu se porovná se skutečnou hodnotou a vypočítá se ztráta. Váhy se pak postupně upraví, aby se snížila ztráta a zlepšila model.