Modele AI generative, explicate
Publicat: 2024-04-15Când te gândești la modelele AI generative, probabil că te gândești la modelele de limbaj mari (LLM) care au făcut o asemenea explozie în ultimii ani. Cu toate acestea, IA generativă în sine datează de multe decenii, iar LLM-urile sunt doar cea mai recentă evoluție. Și, alături de LLM, multe tipuri diferite de modele AI generative sunt utilizate pentru diferite instrumente AI generative și cazuri de utilizare, cum ar fi modelele de difuzie care sunt utilizate pentru generarea de imagini.
În acest articol, vom explica ce sunt modelele AI generative, cum sunt ele dezvoltate și vom oferi o scufundare mai profundă în unele dintre cele mai comune modele AI generative de astăzi — suficient pentru a vă oferi o înțelegere conceptuală a acestor modele care vă vor impresiona. prieteni și colegi, fără a fi nevoie să urmați un curs universitar de învățare automată (ML).
Ce este un model AI generativ?
Modelele AI generative sunt un subset de sisteme de inteligență artificială care sunt specializate în crearea de conținut nou, original, care reflectă caracteristicile datelor lor de antrenament. Prin învățarea din modele și relații în date, aceste modele pot genera rezultate precum text, imagini, sunete sau videoclipuri care seamănă cu stilul, tonul și nuanțele materialului lor sursă. Această capacitate poziționează IA generativă în centrul inovației, permițând aplicații creative și dinamice în diverse domenii prin interpretarea și transformarea datelor de intrare în creații noi.
Cum funcționează modelele AI generative
Modelele generative de inteligență artificială funcționează prin utilizarea unei forme sofisticate de algoritm ML cunoscută sub numele de rețea neuronală. O rețea neuronală cuprinde mai multe straturi de noduri interconectate, fiecare reprezentat de un fragment de cod de computer. Aceste noduri îndeplinesc sarcini minore, individuale, dar contribuie colectiv la luarea unor decizii complexe, reflectând funcționalitatea neuronilor din creierul uman.
Pentru a ilustra, luați în considerare o rețea neuronală însărcinată să facă distincția între imaginile cu plăcinte și prăjituri. Rețeaua analizează imaginea la nivel granular, împărțind-o în pixeli. La un nivel foarte de bază, vor exista diferite noduri în rețea dedicate înțelegerii diferiților pixeli și grupuri de pixeli. Poate unii se vor uita dacă există straturi în desert, în timp ce alții vor determina dacă există glazură sau crustă. Fiecare nod stochează informații despre caracteristicile cum arată plăcinta vs. tort și ori de câte ori intră în joc o nouă imagine, aceasta este procesată prin fiecare nod pentru a scoate o predicție finală.
În contextul IA generativă, acest principiu se extinde dincolo de simpla recunoaștere la crearea de conținut nou, original. În loc să identifice doar caracteristicile, modelele generative folosesc rețelele neuronale pentru a înțelege modelele și structurile de bază ale datelor pe care sunt antrenați. Acest proces implică interacțiuni complexe și ajustări în cadrul rețelei neuronale, ghidate de algoritmi menționați să optimizeze creativitatea și acuratețea rezultatului generat.
Cum sunt dezvoltate modelele AI generative?
Dezvoltarea modelelor AI generative implică o serie de pași complexi și interrelaționați, desfășurați de obicei de echipe de cercetători și ingineri. Aceste modele, cum ar fi GPT (transformator generativ pre-antrenat) de la OpenAI și alte arhitecturi similare, sunt concepute pentru a genera conținut nou care imită distribuția datelor pe care au fost instruiți.
Iată o detaliere pas cu pas a acestui proces:
1 Colectarea datelor
Oamenii de știință de date și inginerii determină mai întâi obiectivele și cerințele proiectului lor, ceea ce îi ghidează pentru a colecta un set de date larg și adecvat. Ei folosesc adesea seturi de date publice, care oferă cantități mari de text sau imagini pentru nevoile lor. De exemplu, instruirea ChatGPT (GPT-3.5) a implicat procesarea a 570 GB de date, echivalentul a 300 de miliarde de cuvinte din surse publice de internet, inclusiv aproape tot conținutul Wikipedia.
2 Selectarea modelului
Alegerea arhitecturii modelului potrivite este un pas critic în dezvoltarea sistemelor AI generative. Decizia este ghidată de natura sarcinii în cauză, tipul de date disponibile, calitatea dorită a rezultatului și constrângerile de calcul. Arhitecturile specifice, inclusiv VAE-uri, GAN-uri și modele bazate pe transformatoare și difuzie, vor fi discutate mai detaliat mai târziu în acest articol. În această etapă, este important să înțelegem că noile modele pornesc adesea de la un cadru de arhitectură preexistent. Această abordare folosește structurile dovedite ca fundație, permițând perfecționări și inovații adaptate cerințelor unice ale proiectului în cauză.
3 Antrenamentul modelului
Modelul ales este antrenat folosind setul de date colectat de la primul pas. Antrenarea modelelor AI generative necesită adesea o cantitate mare de putere de calcul, folosind hardware-uri speciale precum GPU-uri (unități de procesare grafică) și TPU (unități de procesare tensor). În timp ce abordarea antrenamentului variază în funcție de arhitectura modelului, toate modelele trec printr-un proces numit reglare hiperparametrică. Aici oamenii de știință de date ajustează anumite setări de performanță pentru a obține cele mai bune rezultate.
4 Evaluare și reglare fină
În cele din urmă, performanța modelului este evaluată sau testată în lumea reală. Evaluarea modelelor AI generative este diferită de evaluarea modelelor ML tradiționale, deoarece IA generativă creează o ieșire complet nouă, iar calitatea acestei rezultate tinde să fie subiectivă. Valorile diferă în funcție de ceea ce creează modelul, iar tehnicile de evaluare pentru IA generativă includ de obicei utilizarea evaluatorilor umani – și pot folosi strategia de a avea modelele AI generative să se evalueze reciproc. Învățăturile din etapa de evaluare sunt, de obicei, aplicate înapoi în reglarea fină a modelului sau chiar în reinstruirea acestuia. După ce performanța modelului este validată, acesta este gata de producție.
Tipuri de modele AI generative
Bazându-ne pe cunoștințele noastre fundamentale despre modelele AI generative și rețelele neuronale care le alimentează, acum suntem pregătiți să ne aprofundăm în tipuri specifice de arhitecturi de model care au apărut de la începutul anilor 2010. Vom explora punctele forte și punctele slabe unice ale fiecărui model, precum și aplicațiile lor practice.
Iată o scurtă prezentare generală a modelelor despre care vom discuta:
- Autoencoderele variaționale (VAE)sunt adepți în învățarea distribuțiilor complexe de date și sunt adesea folosite pentru sarcini precum generarea și editarea imaginilor.
- Rețelele adverse generative (GAN)sunt cunoscute pentru capacitatea lor de a crea imagini extrem de realiste și au devenit populare într-o varietate de aplicații creative.
- Modelele de difuziesunt o clasă mai nouă de modele care generează mostre de înaltă calitate printr-un proces de adăugare treptată și apoi de eliminare a zgomotului.
- Modelele de limbajexcelează la înțelegerea și generarea limbajului uman, făcându-le utile pentru aplicații precum chatbot-uri și completarea textului.
- Modelele bazate pe transformatoareau fost proiectate inițial pentru sarcini de procesare a limbajului natural (NLP), dar au fost adaptate pentru utilizare în modele generative datorită abilității lor puternice de a gestiona date secvențiale.
Să aprofundăm fiecare dintre aceste arhitecturi pentru a înțelege cum funcționează și unde pot fi cel mai bine aplicate.
Autoencodere variaționale (VAE)
Autoencoderele variaționale au fost inventate de Max Welling și Diederik P. Kingma în 2013. Ei se bazează pe faptul că o rețea neuronală poate codifica conceptele de nivel înalt pe care modelul le învață în timpul pasului de antrenament. Aceasta este uneori denumită „compresie” sau „proiecție” a datelor brute.
Dacă un model se uită la o imagine a unei prăjituri, de exemplu, aceasta ar putea transforma aceasta într-o codificare care conține toate caracteristicile imaginii - stropi, culoarea glazură, straturi spongioase etc. Această codificare arată ca un set de numere care are sens să modelul, dar nu pentru oameni. Poate fi decodificat de o altă rețea neuronală pentru a încerca să recreeze imaginea originală - deși va avea unele lacune deoarece codificarea este o compresie. Acest tip de model, cu piesele codificatorului și decodorului lucrând împreună, se numește autoencoder.
Autoencoderele variaționale pun un rol în ideea de autoencoder pentru a genera noi ieșiri. Când își generează codificările, un VAE folosește probabilități în loc de numere discrete. Pana la urma, frisca conteaza ca glazura? Uneori da; uneori nu.
Se pare că dacă antrenezi o rețea neuronală pentru a crea aceste codificări probabilistice și antrenezi o altă rețea neuronală pentru a le decoda, poți obține rezultate destul de interesante. Decodorul poate eșantiona puncte din „spațiul” de codificare variațională și poate crea ieșiri complet noi, care vor apărea în continuare realiste, deoarece au păstrat relațiile probabilistice ale datelor de antrenament.
Avantaje și dezavantaje
Autoencoderele variaționale folosesc învățarea nesupravegheată, ceea ce înseamnă că modelul învață singur din datele brute, fără a le cere oamenilor să eticheteze diferite caracteristici sau rezultate. Astfel de modele au succes în special la crearea de conținut care se abate ușor de la original. Datorită modului în care funcționează cu codificări, li se pot oferi și instrucțiuni specifice bazate pe caracteristicile datelor de antrenament: „Arată-mi un desert care reprezintă punctul de mijloc perfect între prăjitură și plăcintă”. Acestea fiind spuse, VAE-urile optimizează pentru rezultate probabile, așa că este puțin probabil să exceleze la crearea de conținut foarte original sau inovator.
O plângere comună cu privire la VAE este că acestea pot produce imagini zgomotoase (adică, neclare) datorită faptului că codificarea și decodificarea implică compresie, ceea ce introduce pierderea de informații.
Cazuri de utilizare
Autoencoderele variaționale funcționează cu tot felul de date, deși sunt utilizate în principal pentru a genera imagini, sunet și text. O aplicație interesantă este detectarea anomaliilor: într-un set de date, VAE-urile pot găsi punctele de date care se abate cel mai mult de la normă, deoarece acele puncte vor avea cea mai mare eroare de reconstrucție - ceea ce înseamnă că vor fi cele mai îndepărtate de probabilitățile pe care le-a codificat VAE.
Rețele adverse generative (GAN)
Rețelele adverse generative au fost dezvoltate de Ian Goodfellow în 2014. În timp ce rețelele neuronale au fost capabile să genereze imagini înainte de aceasta, rezultatele tindeau să fie neclare și neconvingătoare. Întrebarea de bază (și înțelegerea) din spatele GAN-urilor este următoarea: Ce se întâmplă dacă puneți două rețele neuronale una împotriva celeilalte? Unul, numit generator, este învățat să genereze conținut nou, în timp ce altul, numit discriminator, este instruit să cunoască diferența dintre conținutul real și fals.
Generatorul creează imagini candidate și le arată discriminatorului. Pe baza feedback-ului, generatorul își actualizează predicțiile în consecință, devenind din ce în ce mai bine „păcălindu-l” pe discriminator. Odată ce poate păcăli discriminatorul 50% din timp (la fel de bun ca o aruncare de monede între real și fals), bucla de antrenament cu feedback se oprește. Partea generatoare a GAN este apoi gata pentru evaluare și producție.
Din 2014, sute de variante ale GAN-urilor au fost dezvoltate pentru diferite cazuri de utilizare și pentru a echilibra avantajele și dezavantajele inerente ale GAN-urilor.
Avantaje și dezavantaje
Rețelele adverse generative, împreună cu VAE, au stârnit inițial o mulțime de zgomot în jurul potențialului AI generativ. Ei folosesc învățarea nesupravegheată, astfel încât modelul se îmbunătățește singur, fără ca cercetătorii să fie nevoiți să-i spună dacă rezultatele sale sunt bune sau rele. Rețelele adversare generative reușesc, de asemenea, să învețe foarte repede; în comparație cu alte soluții existente atunci când au fost lansate pentru prima dată, ar putea obține rezultate bune cu mult mai puține date de antrenament - sute de imagini în comparație cu mii.
Cu toate acestea, GAN-urile se luptă în general să creeze conținut care nu seamănă cu datele lor de antrenament – sunt imitatori, nu creatori. Și uneori își pot „supraadapta” datele de antrenament, cum ar fi atunci când GAN-urile au creat imagini cu fotografii cu pisici care conțin litere, deoarece li s-au arătat o mulțime de meme-uri cu pisici.
Formarea unui GAN este o provocare. Două rețele trebuie jonglate în timpul antrenamentului. Problemele pot apărea și atunci când discriminatorul este prea bun, ceea ce duce la cicluri de pregătire care nu se termină niciodată – sau dacă discriminatorul nu este suficient de bun, ceea ce duce la rezultate slabe. Ei pot suferi, de asemenea, de ceea ce se numește colaps de mod, în care nu reușesc să producă diverse rezultate, deoarece generatorul învață câteva modalități de a păcăli discriminatorul și se concentrează pe acele strategii, excluzând pe alții.
Cazuri de utilizare
Rețelele adverse generative sunt folosite în primul rând pentru a genera conținut care este foarte asemănător cu originalul. De exemplu, pot produce chipuri umane convingătoare sau fotografii realiste ale interioarelor sau peisajelor pentru a fi utilizate în fotografii de stoc sau în jocuri video. De asemenea, pot crea imagini care au fost modificate într-un fel, cum ar fi schimbarea unei imagini de la culoare la alb-negru sau îmbătrânirea unei fețe dintr-o imagine. Acestea fiind spuse, nu toate GAN-urile produc imagini. De exemplu, unele GAN-uri au fost folosite pentru a produce rezultate text-to-speech.
Modele de difuzie
Modelele de difuzie au apărut și la mijlocul anilor 2010, oferind unele descoperiri care au oferit performanțe mai bune până la începutul anilor 2020. Acestea alimentează instrumente de generare de imagini precum DALL-E, Stable Diffusion și Midjourney.
Modelele de difuzie funcționează prin introducerea zgomotului gaussian într-o imagine, distorsionându-l într-o serie de pași și apoi antrenând un model pentru a inversa acești pași și a transforma imaginea „zgomotoasă” într-una clară. („Zgomotul gaussian” înseamnă doar că zgomotul este adăugat aleatoriu folosind o curbă clopot de probabilități.)
Vă puteți gândi la imaginea zgomotoasă ca fiind un fel de codificare VAE și, într-adevăr, VAE și modelele de difuzie sunt legate. Imaginile cu date de antrenament ale, să zicem, plăcintă cu lime cheie, vor avea versiuni destul de zgomotoase similare. Dar chiar și aceeași imagine zgomotoasă nu va fi „denoizată” la același lucru de fiecare dată, deoarece modelul face presupuneri educate pe parcurs.
S-ar putea să vă fi dat deja seama unde intervine partea generativă. Dacă oferiți modelului o reprezentare a imaginii în spațiul zgomotos, acesta va fi capabil să deznogozeze imaginea și să vină cu o imagine complet nouă, clară. Este un fel cum decodorul prelevează din codificare. Dar există o diferență importantă: nu a existat nicio compresie pe parcurs. Deci nu a existat nicio pierdere reală de date, iar imaginea rezultată va fi de calitate superioară.
Instrumentele AI generative care trec de la o solicitare de text la o imagine fac asta cu ajutorul unui model separat care înțelege modul în care ceva de genul „tort de aniversare cu tematică unicorn” s-ar putea mapa la diferite caracteristici ale imaginii. Versiunea zgomotoasă a acestor funcții este apoi inversată pentru a dezvălui o imagine clară.
Avantaje și dezavantaje
Modelele de difuzie nu comprimă datele de antrenament, așa că reușesc să creeze imagini foarte realiste, de înaltă calitate. Cu toate acestea, acestea necesită mult mai multe resurse și timp pentru a se antrena decât alte modele. Acestea fiind spuse, antrenamentul în sine este mai simplu, deoarece nu se confruntă cu colapsul modului GAN-urilor și alte dezavantaje ale rețelei adverse. De asemenea, nu suferă de pierderea datelor (și rezultate de calitate inferioară) pe care le au VAE.
Cazuri de utilizare
Modelele de difuzie sunt utilizate în principal pentru generarea de imagini, sunet și video. Nu există niciun motiv inerent pentru care nu ar putea fi folosite și pentru a genera text, dar până acum, modelele bazate pe transformatoare au fost mai eficiente pentru limbajul natural.
Modele de limbaj
Modelele de limbaj se referă la orice tehnică ML care generează un model probabilistic al limbajului natural. Cel mai cunoscut tip de model de limbaj astăzi este LLM, care este antrenat pe cantități masive de date brute și utilizează o arhitectură bazată pe transformator pentru a genera text. (Mai multe despre transformatoare în secțiunea următoare.)
Înainte de modelele bazate pe transformatoare, majoritatea modelelor de limbaj de ultimă generație foloseau rețele neuronale recurente (RNN). RNN-urile introduc bucle mici în interconexiunile dintre noduri, astfel încât, pe lângă învățarea din semnalele prezente, ca într-o rețea neuronală cu feedforward tradițională (FNN), nodurile pot învăța și din trecutul recent. Acest lucru este important pentru procesarea sau generarea unui limbaj natural, cum ar fi un flux de text sau o intrare vocală. Spre deosebire de imagini, limbajul este foarte contextual – modul în care îl interpretăm depinde de ceea ce a apărut înainte.
Avantaje și dezavantaje
Deoarece „modelele lingvistice” se referă la un grup atât de mare de modele, este dificil de generalizat cu privire la avantajele și dezavantajele acestora. Provocările modelării limbajului includ faptul că limbajul este atât de dimensional – există un număr mare de cuvinte diferite în orice limbă dată, iar unele combinații ar putea să nu apară niciodată în datele de antrenament.
În plus, limbajul depinde foarte mult de contextul a ceea ce a apărut înainte în secvență, solicitând rețelei să gestioneze sau să reprezinte acel context într-un fel. Capacitatea de a aborda această nevoie a făcut ca RNN-urile cu memorii pe termen lung și scurt și ulterior transformatoare, care pot procesa o întreagă propoziție în ansamblu, să apară ca arhitectura de ultimă generație pentru modelele de limbaj.
Cazuri de utilizare
Modelele de limbaj pot fi folosite pentru traducere, rezumare, corectare a erorilor gramaticale, recunoaștere a vorbirii și multe alte sarcini. Sunt folosite pentru a genera conținut text creativ nou cu multe aplicații și se dovedesc a fi capabile de raționament avansat, cum ar fi analizarea datelor și rezolvarea puzzle-urilor logice. Interesant, cercetările au descoperit că o capacitate emergentă a LLM-urilor este conștientizarea spațială și capacitatea de a crea desene de bază, chiar dacă acestea sunt instruite în întregime pe text.
Modele bazate pe transformatoare
Transformers, inventate de cercetătorii de la Google și de la Universitatea din Toronto în 2017, au revoluționat domeniul învățării profunde. LLM-urile precum ChatGPT sunt modele bazate pe transformatoare, iar rezultatele căutării Google sunt, de asemenea, alimentate de transformatoare.
Un model bazat pe transformator își folosește datele de antrenament pentru a afla cum sunt legate diferite cuvinte. De exemplu, s-ar putea afla căprăjiturașiplăcintasunt similare din punct de vedere conceptual, în timp ceprăjiturașipelerinanu sunt direct legate. De asemenea, ar putea afla căfeliapoate fi asociată cutortșiplăcintă, mai ales dacă acele cuvinte apar în imediata apropiere.
Când analizează text, modelul folosește această înțelegere de bază pentru a construi ceea ce seamănă cu o foaie de calcul masivă. Poate căuta orice două cuvinte din text și poate obține un răspuns despre cât de legate sunt probabil acestea.
Prin valorificarea acestor indicii contextuale, un model transformator interpretează cu adecvare limbajul și prognozează potențialele continuități într-o conversație. De exemplu, dacă cineva menționează un tort într-un segment și apoi trece la discutarea despre ziua lui în următorul, modelul anticipează eventuala mențiune a lumânărilor sau a unei petreceri, pe baza conexiunilor lingvistice stabilite.
Avantaje și dezavantaje
Când vine vorba de analiza și generarea limbajului, transformatoarele au câteva avantaje față de RNNS, predecesorii lor. Ei pot procesa textul în paralel în rețea, mai degrabă decât să proceseze fiecare cuvânt secvenţial. Acest lucru le face mai rapide și mai eficiente pentru a se antrena pe seturi de date foarte mari. De asemenea, pot face conexiuni între cuvinte, indiferent de cât de departe sunt, permițându-le să folosească mai mult context din text.
Cu toate acestea, transformatoarele au nevoie de multe date pentru a funcționa bine, iar cu seturi de date mai mici, arhitecturile de rețele neuronale mai tradiționale pot funcționa mai bine.
Cazuri de utilizare
Transformatoarele au multe aplicații AI generative. În timp ce modelele bazate pe transformatoare sunt de obicei folosite pentru a genera text sau vorbire, cercetătorii explorează utilizarea lor pentru generarea de imagini, deoarece sunt mai puțin intensive din punct de vedere computațional decât modelele de difuzie.
Cel mai faimos, LLM-urile sunt modele bazate pe transformatoare. Modelele de limbaj folosesc doar porțiunea decodor a arhitecturii. Promptul este introdus în model ca o codificare - acel set de valori numerice, probabilități și date de atenție pe care le-am menționat mai devreme. Modelul decodifică intrarea folosind mecanismul de auto-atenție și privind toate cuvintele din prompt în paralel. Scopul modelului este de a scoate o predicție pentru următorul cuvânt din propoziție.
Transformers au multe aplicații în afara generării de text în procesarea limbajului natural. De fapt, ele au fost concepute inițial pentru a traduce sau transforma text dintr-o limbă în alta. Grammarly a contribuit la cercetare la utilizarea transformatoarelor pentru a corecta greșelile gramaticale.
Concluzie
Modelele AI generative au parcurs un drum lung în ultimul deceniu. Sperăm că acum înțelegeți puțin mai multe despre evoluția acestor modele, cum funcționează și cum ar putea fi aplicate în diferite cazuri de utilizare. Acest articol tocmai a zgâriat suprafața, totuși, și a omis multe detalii importante cu scopul de a oferi o privire de ansamblu pentru cititorul obișnuit. Vă încurajăm să continuați să învățați despre matematica și știința din spatele acestor modele, studiind lucrările de cercetare pe care se bazează și învățând mai multe despre modul în care funcționează dintr-o perspectivă probabilistică și statistică.