Generativna veštačka inteligencija, posebno jezički model poput ChatGPT-a, prisutna je već svuda. Tehnologija velikih jezičkih modela (LLM) će igrati značajnu ulogu u razvoju budućih aplikacija. LLM-ovi su veoma dobri u razumevanju jezika zahvaljujući obimnom pre-treniranju koje je obavljeno na bilionima linija tekstova javnog domena, uključujući i kod. Metode poput nadziranog fino podešavanja i ojačanog učenja sa povratnim informacijama od ljudi (RLHF) čine ove LLM-ove još efikasnijim u odgovaranju na specifična pitanja i razgovoru sa korisnicima. Kako ulazimo u sledeću fazu AI aplikacija koje pokreću LLM-ovi, sledeći ključni elementi će biti ključni za ove aplikacije nove generacije. Slika ispod prikazuje ovu progresiju, i kako se penjete naviše, ugrađujete više inteligencije i autonomije u vaše aplikacije. Pogledajmo ove različite nivoe.
Pozivi LLM-a
Ovo su direktni pozivi modelima za završetak ili razgovor od strane pružaoca LLM-a poput Azure OpenAI, Google PaLM-a ili Amazon Bedrock-a. Ovi pozivi imaju veoma osnovnu uputu i uglavnom koriste internu memoriju LLM-a da bi generisali rezultat.
Na primer: Postavljanje osnovnog modela poput „text-davinci“ da „ispriča vic“. Dajete veoma malo konteksta, a model se oslanja na svoju unutrašnju prethodno obučenu memoriju da bi smislio odgovor (označeno zelenom bojom na slici ispod – koristeći Azure OpenAI).
Upiti
Sledeći nivo inteligencije je dodavanje sve više konteksta u upite. Postoje tehnike za inženjering uputa koje se mogu primeniti na LLM-ovima kako bi im omogućile prilagođene odgovore. Na primer, prilikom generisanja emaila korisniku, neki kontekst o korisniku, prethodnim kupovinama i obrascima ponašanja može služiti kao uputa za bolje prilagođavanje emaila. Korisnici koji su upoznati sa ChatGPT-om će znati različite metode postavljanja upita kao što su davanje primera koje koristi LLM za izgradnju odgovora. Upiti dopunjuju internu memoriju LLM-a dodatnim kontekstom. Primer je prikazan ispod.
Ugradnje
Ugradnje podižu upite na sledeći nivo tako što pretražuju skladište znanja za kontekst i dobijaju taj kontekst i dodaju ga u upit. Prvi korak je stvaranje velikog skladišta dokumenata sa nestrukturiranim tekstom koji je pretraživ pomoću indeksiranja teksta i popunjavanja baze vektora. Za to se koristi model ugradnje kao što je ‘ada’ od strane OpenAI koji uzima deo teksta i pretvara ga u n-dimenzionalni vektor. Ove ugradnje hvataju kontekst teksta, pa će slične rečenice imati ugradnje koje su bliske jedna drugoj u vektorskom prostoru. Kada korisnik unese upit, taj upit takođe se pretvara u ugradnju i taj vektor se upoređuje sa vektorima u bazi podataka. Na taj način dobijamo 5 ili 10 najboljih odgovarajućih delova teksta za upit koji čine kontekst. Upit i kontekst se prosleđuju LLM-u da odgovori na pitanje na način sličan ljudskom.
Lančevi
Danas su Lančevi najnaprednija i najzrelija tehnologija koja se široko koristi za izgradnju LLM aplikacija. Lančevi su deterministički, gde se niz LLM poziva povezuje zajedno sa izlazom jednog koji teče u jedan ili više LLM-a. Na primer, mogli bismo imati LLM poziv za upitivanje SQL baze podataka i dobijanje liste e-mail adresa kupaca, a zatim tu listu poslati drugom LLM-u koji će generisati personalizovane e-mailove kupcima. Ovi Lančevi LLM-a mogu se integrisati u postojeće tokove aplikacija kako bi se generisali vredniji rezultati. Korišćenjem lanaca, možemo dopuniti LLM pozive spoljnim unosima poput poziva API-ja i integracije sa grafovima znanja kako bismo pružili kontekst. Osim toga, danas postoji više dostupnih LLM pružalaca kao što su OpenAI, AWS Bedrock, Google PaLM, MosaicML, itd., tako da možemo mešati i kombinovati LLM pozive u lancima. Za elemente lanca sa ograničenom inteligencijom može se koristiti niži LLM poput ‘gpt3.5-turbo’, dok se za složenije zadatke može koristiti ‘gpt4’. Lanci pružaju apstrakciju za podatke, aplikacije i LLM pozive.
Agenti
Agenti su tema mnogih online rasprava, posebno sa aspekta veštačke opšte inteligencije (AGI). Agenti koriste napredni LLM poput ‘gpt4’ ili ‘PaLM2’ za planiranje zadataka umesto da imaju unapred definisane lance. Dakle, kada postoje zahtevi korisnika, na osnovu upita agent odlučuje koje skupove zadataka treba pozvati i dinamički gradi lanac. Na primer, kada konfigurišemo agenta sa naredbom poput „obavesti kupce kada se kamatna stopa kredita promeni zbog ažuriranja propisa vlade“. Agentski okvir obavlja LLM poziv da odluči koje korake preduzeti ili lance koji treba da se izgrade. Ovde će uključiti pozivanje aplikacije koja pretražuje regulatorne veb lokacije i izvlači najnoviju kamatnu stopu, zatim LLM poziv koji pretražuje bazu podataka i izvlači e-mail adrese kupaca koji su pogođeni, a na kraju se generiše e-mail za obaveštavanje svih.
Zaključak
LLM je tehnologija koja se brzo razvija i svake nedelje se lansiraju bolji modeli i aplikacije. LLM do agenata je lestvica inteligencije i kako se penjemo, izgrađujemo kompleksne autonomne aplikacije. Bolji modeli znače efikasnije agente, a sledeća generacija aplikacija će biti pokretana njima. Vreme će pokazati koliko napredne će biti sledeće generacije aplikacija i koje obrasce će koristiti.