Connect with us

Artificiell intelligens

Generativ AI: Idén bakom CHATGPT, Dall-E, Midjourney och mer

mm
Generative AI - Midjourney Prompt

Världen av konst, kommunikation och hur vi uppfattar verkligheten förändras snabbt. Om vi ser tillbaka på mänsklighetens innovationshistoria kan vi betrakta uppfinningen av hjulet eller upptäckten av elektricitet som monumentala språng. Idag sker en ny revolution – den som brottar gapet mellan mänsklig kreativitet och maskinberäkning. Det är Generativ AI.

Generativa modeller har suddat ut gränsen mellan människor och maskiner. Med introduktionen av modeller som GPT-4, som använder transformermoduler, har vi tagit ett steg närmare naturlig och kontextberikad språkgenerering. Dessa framsteg har drivit applikationer inom dokumentskapande, chatbot-dialogsystem och till och med syntetisk musikkomposition.

Nyliga beslut från stora teknikföretag understryker dess betydelse. Microsoft avslutar redan [sin Cortana-app](https://techcrunch.com/2023/08/04/microsoft-kills-cortana-in-windows-as-it-focuses-on-next-gen-ai/) den här månaden för att prioritera nyare Generativ AI-innovationer, som Bing Chat. Apple har också tilldelat en betydande del av [sin 22,6 miljarder dollar stora FoU-budget](https://mashable.com/article/apple-quietly-invested-billions-generative-ai) till generativ AI, som framgår av VD Tim Cooks uttalanden.

En ny era av modeller: Generativ vs. Diskriminativ

Berättelsen om Generativ AI handlar inte bara om dess applikationer utan grundläggande om dess inre mekanismer. I det artificiella intelligens-ekosystemet finns det två modeller: diskriminativa och generativa.

Diskriminativa modeller är vad de flesta människor stöter på i vardagslivet. Dessa algoritmer tar indata, som text eller en bild, och parar dem med en måloutput, som till exempel en översättning eller en medicinsk diagnos. De handlar om kartläggning och förutsägelse.

Generativa modeller, å andra sidan, är skapare. De tolkar eller förutsäger inte bara; de genererar nya, komplexa utdata från vektorer av nummer som ofta inte ens är relaterade till verkliga värden.

 

Generativ AI-typer: Text till text, text till bild (GPT, DALL-E, Midjourney)

Tekniken bakom generativa modeller

Generativa modeller är beroende av djupa neurala nätverk, sofistikerade strukturer designade för att efterlikna hjärnans funktion. Genom att fånga och bearbeta multifacetterade variationer i data fungerar dessa nätverk som ryggraden i många generativa modeller.

Hur kommer dessa generativa modeller till liv? Vanligtvis byggs de med djupa neurala nätverk, optimerade för att fånga de multifacetterade variationerna i data. Ett primärt exempel är Generative Adversarial Network (GAN), där två neurala nätverk, generatoren och diskriminatoren, tävlar och lär av varandra i en unik lärar-elev-relation. Från målningar till stilöverföring, från musikkomposition till spel, utvecklas och expanderar dessa modeller på sätt som tidigare var otänkbart.

Detta slutar inte med GAN. Variational Autoencoders (VAE), är en annan viktig aktör inom generativa modellfältet. VAE:er utmärker sig för sin förmåga att skapa fotorealistiska bilder från till synes slumpmässiga nummer. Hur? Genom att bearbeta dessa nummer genom en latent vektor föds konst som speglar komplexiteten i mänsklig estetik.

Generativ AI-typer: Text till text, text till bild

Transformatorer & LLM

Artikeln ” Attention Is All You Need ” av Google Brain markerade en förändring i hur vi tänker om textmodellering. Istället för komplexa och sekventiella arkitekturer som Recurrent Neural Networks (RNN) eller Convolutional Neural Networks (CNN) introducerade Transformer-modellen begreppet uppmärksamhet, som i princip innebar att fokusera på olika delar av indata-texten beroende på sammanhanget. En av de stora fördelarna med detta var lättheten att parallellisera. Till skillnad från RNN som bearbetar text sekventiellt, vilket gör dem svåra att skala, kan Transformatorer bearbeta delar av texten samtidigt, vilket gör utbildningen snabbare och mer effektiv på stora datamängder.

Transformer-modell arkitektur

I en lång text har inte varje ord eller mening du läser samma betydelse. Vissa delar kräver mer uppmärksamhet baserat på sammanhanget. Detta är vad uppmärksamhetsmekanismen imiterar.

För att förstå detta, tänk på en mening: “Unite AI publicerar AI- och robotiknyheter.” Att förutsäga nästa ord kräver en förståelse för vad som är viktigast i det föregående sammanhanget. Termen ‘Robotik’ kan antyda att nästa ord kan vara relaterat till en specifik framsteg eller händelse inom robotikområdet, medan ‘Publicerar’ kan indikera att följande sammanhang kan handla om en nylig publikation eller artikel.

Självuppmärksamhetsmekanism förklaring på en demomening
Självuppmärksamhetsillustration

Uppmärksamhetsmekanismer i Transformatorer är designade för att uppnå detta selektiva fokus. De bedömer betydelsen av olika delar av indata-texten och bestämmer var de ska “titta” när de genererar ett svar. Detta är ett avsteg från äldre arkitekturer som RNN som försökte pressa essensen av all indata-text till en enda ’tillstånd’ eller ‘minne’.

Funktionssättet för uppmärksamhet kan liknas vid ett nyckel-värde-återvinningssystem. När man försöker förutsäga nästa ord i en mening erbjuder varje föregående ord en ‘nyckel’ som antyder dess potentiella relevans, och baserat på hur väl dessa nycklar matchar det aktuella sammanhanget (eller frågan) bidrar de med ett ‘värde’ eller vikt till förutsägelsen.

Dessa avancerade AI-djupinlärningsmodeller har smidigt integrerats i olika applikationer, från Googles sökmotorsförbättringar med BERT till GitHub’s Copilot, som utnyttjar förmågan hos Stora Språkmodeller (LLM) för att konvertera enkla kodsnuttar till fullt fungerande källkod.

Stora Språkmodeller (LLM) som GPT-4, Bard och LLaMA, är kolossala konstruktioner designade för att tolka och generera mänskligt språk, kod och mer. Deras enorma storlek, som sträcker sig från miljarder till biljoner parametrar, är en av de definierande egenskaperna. Dessa LLM matas med rikliga mängder textdata, vilket möjliggör för dem att förstå nyanserna i mänskligt språk. En slående egenskap hos dessa modeller är deras förmåga till “få-skott”-inlärning. Till skillnad från konventionella modeller som behöver stora mängder specifik utbildningsdata kan LLM generera från ett mycket begränsat antal exempel (eller “skott”)

Tillstånd för Stora Språkmodeller (LLM) från och med mitten av 2023

Modellnamn Utvecklare Parametrar Tillgänglighet och åtkomst Noterbara funktioner och kommentarer
GPT-4 OpenAI 1,5 biljoner Ej öppen källkod, API-åtkomst endast Imponerande prestanda på en mängd olika uppgifter, kan bearbeta bilder och text, maximal inmatningslängd 32 768 token
GPT-3 OpenAI 175 miljarder Ej öppen källkod, API-åtkomst endast Demonstrerade få-skott- och noll-skott-inlärningsförmåga. Utför textkomplettering på naturligt språk.
BLOOM BigScience 176 miljarder Nerladdningsbar modell, värd API tillgänglig Flerspråkig LLM utvecklad genom globalt samarbete. Stöder 13 programmeringsspråk.
LaMDA Google 173 miljarder Ej öppen källkod, ingen API eller nerladdning Tränad på dialog kunde lära sig att prata om praktiskt taget allt
MT-NLG Nvidia/Microsoft 530 miljarder API-åtkomst genom ansökan Använder transformerbaserad Megatron-arkitektur för olika NLP-uppgifter.
LLaMA Meta AI 7B till 65B) Nerladdningsbar genom ansökan Avsett att demokratisera AI genom att erbjuda tillgång till forskare, regeringar och akademi.

Hur används LLM?

LLM kan användas på flera sätt, inklusive:

  1. Direkt användning: Enkelt använda en förtränad LLM för textgenerering eller bearbetning. Till exempel använda GPT-4 för att skriva en bloggpost utan någon ytterligare finjustering.
  2. Finjustering: Anpassa en förtränad LLM för en specifik uppgift, en metod som kallas överföringsinlärning. Ett exempel skulle vara att anpassa T5 för att generera sammanfattningar för dokument inom en specifik bransch.
  3. Informationsåtervinning: Använda LLM, som BERT eller GPT, som en del av större arkitekturer för att utveckla system som kan hämta och kategorisera information.
Generativ AI ChatGPT finjustering
ChatGPT finjusteringsarkitektur

Multihuvuduppmärksamhet: Varför en när du kan ha flera?

Men att förlita sig på en enda uppmärksamhetsmekanism kan vara begränsande. Olika ord eller sekvenser i en text kan ha olika typer av relevans eller associationer. Här kommer multihuvuduppmärksamhet in. Istället för en uppsättning uppmärksamhetsviktningar använder multihuvuduppmärksamhet flera uppsättningar, vilket möjliggör för modellen att fånga en rikare variation av relationer i indata-texten. Varje uppmärksamhets-“huvud” kan fokusera på olika delar eller aspekter av indata, och deras kombinerade kunskap används för den slutliga förutsägelsen.

ChatGPT: Det mest populära generativa AI-verktyget

Från GPT:s början 2018 var modellen i princip byggd på 12 lager, 12 uppmärksamhets-huvuden och 120 miljoner parametrar, främst tränad på en datamängd som kallades BookCorpus. Detta var en imponerande start, som gav en glimt av framtiden för språkmodeller.

GPT-2, som presenterades 2019, hade en fyrfaldig ökning av lager och uppmärksamhets-huvuden. Beträffande dess parameterantal sköt det i höjden till 1,5 miljarder. Denna förbättrade version härstammade från WebText, en datamängd berikad med 40 GB text från olika Reddit-länkar.

GPT-3, som lanserades i maj 2020, hade 96 lager, 96 uppmärksamhets-huvuden och ett massivt parameterantal på 175 miljarder. Vad som särskiljde GPT-3 var dess diversifierade träningsdata, som omfattade CommonCrawl, WebText, Engelska Wikipedia, boksamlingar och andra källor, som kombinerades för en total på 570 GB.

Intrikerna i ChatGPT:s funktionssätt förblir en välbevarad hemlighet. Men en process som kallas “förstärkt inlärning från mänsklig återkoppling” (RLHF) är känd för att vara avgörande. Ursprungligen från ett tidigare ChatGPT-projekt var denna teknik avgörande för att finslipa GPT-3.5-modellen för att göra den mer anpassad till skriftliga instruktioner.

ChatGPT:s utbildning består av en trestegsprocess:

  1. Övervakad finjustering: Inbegriper att kurera mänskligt skrivna konversationsinmatningar och utmatningar för att finslipa den underliggande GPT-3.5-modellen.
  2. Belöningsmodellering: Människor rankar olika modellutmatningar baserat på kvalitet, vilket hjälper till att träna en belöningsmodell som poängsätter varje utmatning med hänsyn till sammanhangets kontext.
  3. Förstärkt inlärning: Sammanhangssamtalet fungerar som en bakgrund där den underliggande modellen föreslår ett svar. Detta svar bedöms av belöningsmodellen, och processen optimeras med hjälp av en algoritm som kallas proximal policyoptimering (PPO).

För dem som bara provar ChatGPT för första gången finns en omfattande startguide här. Om du vill dyka djupare in i promptteknik med ChatGPT har vi också en avancerad guide som belyser de senaste och mest avancerade promptteknikerna, tillgänglig på ‘ChatGPT & Avancerad promptteknik: Drivkraften bakom AI-utvecklingen‘.

Diffusion och multimodala modeller

Medan modeller som VAE och GAN genererar sina utmatningar genom ett enda steg, och därmed är låsta till vad de producerar, har diffusionsmodeller introducerat begreppet “iterativ förfining”. Genom denna metod återvänder de, förfinar misstag från tidigare steg och producerar gradvis ett mer polerat resultat.

Centrala för diffusionsmodeller är konsten att “fördärva” och “förbättra”. Under deras träningsfas fördärvas en typisk bild progressivt genom att lägga till varierande nivåer av brus. Denna bullriga version matas sedan till modellen, som försöker “avbrusa” eller “avfördärva” den. Genom flera omgångar av detta blir modellen skicklig på restaurering, och förstår både subtila och betydande avvikelser.

Bild genererad från Midjourney
Bild genererad från Midjourney

Processen att generera nya bilder efter utbildning är intressant. Startande med en helt slumpmässig inmatning förfinas den kontinuerligt med hjälp av modellens förutsägelser. Avsikten är att uppnå en perfekt bild med minsta antal steg. Kontrollen av korruptionsnivån sker genom en “brus-schema”, en mekanism som styr hur mycket brus som appliceras vid olika stadier. En schemaläggare, som ses i bibliotek som “diffusers“, dikterar naturen av dessa bullriga representationer baserat på etablerade algoritmer.

En väsentlig arkitektonisk ryggrad för många diffusionsmodeller är UNet – ett konvolutionsneuralt nätverk anpassat för uppgifter som kräver utmatningar som speglar insatsernas rumsliga dimension. Det är en blandning av ned- och uppsamplingslager, intrikat sammanlänkade för att behålla högupplösta data, avgörande för bildrelaterade utmatningar.

Att dyka djupare in i generativa modellers värld framträder OpenAI:s DALL-E 2 som ett strålande exempel på sammansmältningen av textuell och visuell AI-kapacitet. Den använder en trestegsstruktur:

DALL-E 2 visar en trestegsarkitektur:

  1. Textencoder: Den omvandlar textprompten till en konceptuell inbäddning inom ett latentspace. Denna modell börjar inte från scratch. Den lutar sig mot OpenAI:s Contrastive Language–Image Pre-training (CLIP) datamängd som sin grund. CLIP fungerar som en bro mellan visuell och textuell data genom att lära sig visuella koncept med hjälp av naturligt språk. Genom en mekanism som kallas kontrastiv inlärning identifierar och matchar den bilder med deras motsvarande textbeskrivningar.
  2. Föregångaren: Textinbäddningen som härrör från encodern omvandlas sedan till en bildinbäddning. DALL-E 2 testade både autoregressiva och diffusionsmetoder för denna uppgift, med den senare som visade bättre resultat. Autoregressiva modeller, som ses i Transformatorer och PixelCNN, genererar utmatningar i sekvenser. Å andra sidan omvandlar diffusionsmodeller, som den som används i DALL-E 2, slumpmässigt brus till förutsagda bildinbäddningar med hjälp av textinbäddningar.
  3. Decodern: Kulmen av processen, denna del genererar den slutliga visuella utmatningen baserat på textprompten och bildinbäddningen från föregångsfasen. DALL-E 2:s decoder är skyldig sin arkitektur till en annan modell, GLIDE, som också kan producera realistiska bilder från textuella signaler.
Arkitektur av DALL-E-modell (diffusionsmulti-modell)
Förenklad arkitektur av DALL-E-modell

Python-användare som är intresserade av Langchain bör kolla in vår detaljerade tutorial som täcker allt från grunderna till avancerade tekniker.

Applikationer av Generativ AI

Textuella domäner

Börjande med text har Generativ AI förändrats fundamentalt av chatbotar som ChatGPT. Beroende tungt på Naturlig Språkbehandling (NLP) och stora språkmodeller (LLM) är dessa entiteter befogenade att utföra uppgifter som sträcker sig från kodgenerering och språköversättning till sammanfattning och sentimentanalys. ChatGPT, till exempel, har sett en omfattande antagande, och blivit en stapel för miljontals. Detta förstärks ytterligare av konversations-AI-plattformar, grundade i LLM som GPT-4, PaLM och BLOOM, som obehindrat producerar text, assisterar i programmering och till och med erbjuder matematiskt resonemang.

Från ett kommersiellt perspektiv blir dessa modeller ovärderliga. Företag använder dem för en mängd olika operationer, inklusive riskhantering, lageroptimering och efterfrågan förutsägelse. Några noterbara exempel inkluderar Bing AI, Google’s BARD och ChatGPT API.

Konst

Världen av bilder har sett dramatiska förändringar med Generativ AI, särskilt sedan DALL-E 2:s introduktion 2022. Denna teknik, som kan generera bilder från textprompts, har både konstnärliga och professionella implikationer. Till exempel har midjourney utnyttjat denna teknik för att producera imponerande realistiska bilder. Denna senaste post avslöjar midjourney i en detaljerad guide, förklarande både plattformen och dess prompttekniska nyanser. Dessutom använder plattformar som Alpaca AI och Photoroom AI Generativ AI för avancerad bildredigering, som bakgrundsavlägsnande, objektborttagning och till och med ansiktsåterställning.

Video-produktion

Video-produktion, medan den fortfarande är i sin linda inom Generativ AI, visar lovande framsteg. Plattformar som Imagen Video, Meta Make A Video och Runway Gen-2 trycker på gränserna för vad som är möjligt, även om verkligt realistiska utmatningar fortfarande är på horisonten. Dessa modeller erbjuder betydande nytta för att skapa digitala människovideor, med applikationer som Synthesia och SuperCreator i spetsen. Noterbart erbjuder Tavus AI en unik säljpunkt genom att personanpassa videor för enskilda åhörare, en välsignelse för företag.

Kodskapande

Kodning, en oumbärlig aspekt av vår digitala värld, har inte förblivit opåverkad av Generativ AI. Även om ChatGPT är ett favoritverktyg, har flera andra AI-applikationer utvecklats för kodningsändamål. Dessa plattformar, som GitHub Copilot, Alphacode och CodeComplete, fungerar som kodassistenter och kan till och med producera kod från textprompts. Vad som är intressant är anpassningsförmågan hos dessa verktyg. Codex, den drivande kraften bakom GitHub Copilot, kan anpassas till en individs kodstil, understrykande den personliga potentialen i Generativ AI.

Slutsats

Genom att kombinera mänsklig kreativitet med maskinberäkning, har Generativ AI utvecklats till ett ovärderligt verktyg, med plattformar som ChatGPT och DALL-E 2 som trycker på gränserna för vad som är tänkbart. Från att skapa textinnehåll till att forma visuella mästerverk, deras applikationer är omfattande och varierade.

Som med all teknik är etiska implikationer av stor betydelse. Medan Generativ AI lovar obegränsad kreativitet, är det viktigt att använda den på ett ansvarsfullt sätt, medveten om potentiella fördomar och kraften i data-manipulering.

Med verktyg som ChatGPT som blir allt mer tillgängliga, är det den perfekta tiden att prova vattnet och experimentera. Oavsett om du är en konstnär, kodare eller teknik-entusiast, världen av Generativ AI är full av möjligheter som väntar på att utforskas. Revolutionen är inte på horisonten; den är här och nu. Så, dyk in!

Jag har under de senaste fem åren dykt ner i den fascinerande världen av Machine Learning och Deep Learning. Min passion och expertis har lett mig till att bidra till över 50 olika mjukvaruutvecklingsprojekt, med särskild fokus på AI/ML. Min pågående nyfikenhet har också dragit mig mot Natural Language Processing, ett område som jag är angelägen om att utforska vidare.