10. NLP - AI II Flashcards
Vad står NLP för?
Natural Language Processing
Vilka är de huvudsakliga utvecklingsfaserna inom NLP?
Regelbaserade metoder (1950–1980-tal)
Statistiska metoder & neurala nätverk (1980-tal–2000-tal)
Deep Learning & neurala nätverk (2000–2018)
Stora språkmodeller (LLMs) (2019–nu)
Vilka viktiga händelser skedde inom NLP på 1950–1980-talet? Vilken metod dominerade NLP under denna period?
Noam Chomsky publicerar “Syntactic Structures” (1957)
ALPAC-rapporten ifrågasätter maskinöversättningens potential (1966)
Vilken metod dominerade NLP under denna period?
Regelbaserade system
Statistiska metoder & neurala nätverk (1980–2000-tal) Vilka tekniker blev populära under denna period?
Återkommande neurala nätverk (RNNs) (1985)
Hidden Markov Models (HMMs) för taligenkänning (1989)
Long Short-Term Memory (LSTM) förbättrar RNNs (1997)
Deep Learning & neurala nätverk (2000–2018)
Vilka genombrott markerade denna period?
Word embeddings (Word2Vec) (2013)
Sekvens-till-sekvensinlärning & transformerarkitektur (2014)
Google publicerar “Attention Is All You Need” (2017)
Förtränade språkmodeller som BERT och GPT börjar utvecklas (2018)
Vad innebär maskinöversättning inom NLP? (Translation)
Automatiserad översättning av text utan mänsklig assistans.
Stora språkmodeller (LLMs) (2019–nu)
Vilka är några av de stora språkmodellerna som har utvecklats sedan 2019?
RoBERTa, DeBERTa, GPT-2 (2019)
GPT-3, T5, GPTNeo (2020–2021)
PaLM, BLOOM, ChatGPT (2022)
GPT-4, Claude, LLaMA, Bard (2023)
Vilka är några vanliga användningsområden för NLP?
Maskinöversättning
Text-till-tal (TTS)
Sentimentanalys
Chatbots
Ge exempel på några verktyg som används för maskinöversättning?
Google Translate
Microsoft Translate
DeepL
IBM Watson
Vilka olika typer av översättning kan NLP hantera?
Text-till-text (TTT)
Tal-till-tal (S2S)
Text-till-tal (TTS)
Tal-till-text (STT)
Vad är voice-cloning?
Teknik för att efterlikna en specifik persons röst med hjälp av NLP.
Vad är sentimentanalys inom NLP?
Att analysera text för att bestämma om innehållet är positivt, negativt eller neutralt.
Fungerar genom att identifiera och vikta positiva och negativa ord för att beräkna en övergripande sentimentpoäng.
Vad är syftet med text-till-tal (TTS)? Vilka exempel på TTS-system finns?
Att omvandla skriven text till tal
Siri
Alexa
Google Translate
OpenAI:s TTS
Vad är en chatbot? Ge exempel på en chatbot och vilka funktioner kan en chatbot ha?
En AI-driven applikation som kan interagera med användare via text eller tal
ChatGPT
Text-till-text interaktion
Användning av olika språkmodeller (LLMs) som GPT-3 och GPT-4
Minnesfunktioner för kontextförståelse
Möjlighet att beskriva visuella medier
Vad används NLP och stora språkmodeller till?
Generell chatt
Informationssökning
Tekniska och programmeringsrelaterade frågor
Kreativa syften, såsom poesi och fiktion
Hjälp med studier och uppgifter
Vad är tokenization?
Processen att dela upp text i mindre enheter (tokens) som kan vara ord, subord eller tecken
Vad är word embeddings?
Numeriska representationer av ord som fångar deras semantiska relationer i en flerdimensionell vektorrum
Vilka är några vanliga NLP-arkitekturer?
Sequence-to-sequence (seq2seq)
Encoder-decoder arkitekturer
Modeller som endast använder en encoder eller decoder
Varför behövs tokenization i NLP?
För att omvandla text till en form som maskiner kan bearbeta, genom att konvertera ord till siffror
Vilka fördelar och nackdelar har character-based tokenization?
Färre unika tokens behövs (bara alfabetet och specialtecken)
Kräver många tokens för att representera långa sekvenser
Svårt att fånga semantisk betydelse av enskilda tecken
Vilka typer av tokens kan användas?
Tecken (characters): Varje enskild bokstav eller symbol blir en token
Ord (words): Hela ord används som tokens
Subord (subwords): Ord delas upp i mindre delar för att hantera oregelbunden stavning och nya ord
Vilka fördelar och nackdelar har word-based tokenization?
Fångar hela ords betydelse direkt
Svårt att hantera out-of-vocabulary (OOV) ord
Vad är subword tokenization och varför används det?
En kompromiss mellan character och word tokenization
Kan hantera nya ord genom att känna igen vanliga morfologiska delar som suffix och prefix
Exempel: Ordet “fascination” kan delas upp i [“fas”, “cina”, “tion”]
Vad är syftet med word embeddings i NLP?
Word embeddings används för att representera ord som numeriska vektorer, vilket gör det möjligt för maskininlärningsmodeller att förstå semantiska relationer mellan ord.
Vad är en one-hot vektor?
En binär vektor där endast en position har värdet 1, medan resten är 0.
Vad är problemet med one-hot encoding?
Kräver en stor vektordimension för att representera hela ordförrådet.
Kan inte fånga relationer mellan ord.
Vad är en fördel med real-number embeddings?
Mindre vektordimension behövs jämfört med one-hot encoding.
Kan representera semantiska relationer mellan ord.
Hur skiljer sig real-number embeddings från one-hot encoding?
One-hot encoding representerar ord med binära vektorer.
Real-number embeddings använder decimalvärden och kan bevara relationer mellan ord.
Hur kan ord representeras i real-number embeddings?
Exempel:
Electronics: [0.9, 0.1, 0.3]
Furniture: [0.8, 0.2, 0.4]
Clothing: [0.1, 0.9, 0.2]
Hur stor kan en embedding-vektor vara i praktiken?
Den kan ha hundratals eller tusentals dimensioner för att fånga komplexa semantiska samband mellan ord.
Vad är en viktig egenskap hos word embeddings?
De lär sig relationer mellan ord genom att placera semantiskt lika ord närmare varandra i vektorrummet.
Vad används word embeddings för i NLP?
Förståelse av naturligt språk i maskininlärningsmodeller.
Förbättrad textanalys och sökmotorer.
Översättning, chatbotar och sentimentanalys.
Skillnaden enkelt?
One-hot encoding = Orden bor i separata hus, inget samband mellan dem.
Word embeddings = Orden bor på en karta där liknande ord ligger nära varandra.
Vad betyder seq2seq i NLP?
Seq2seq (Sequence-to-Sequence) är en modellarkitektur som används för att konvertera en sekvens av ord till en annan, t.ex. vid maskinöversättning.
Vad gör en Encoder-Decoder-modell?
Encoder: Tar in en sekvens av ord och omvandlar dem till en kodad representation (embeddings).
Decoder: Tar den kodade representationen och genererar en ny sekvens, t.ex. en översättning.
Hur används seq2seq i maskinöversättning?
Encoder: Tar en mening, t.ex. “Nice to meet you”, och omvandlar den till en intern representation.
Decoder: Tar denna representation och producerar en ny mening på målspråket, t.ex. “Ravi de vous rencontrer” på franska.
Varför används LSTMs i seq2seq?
LSTMs (Long Short-Term Memory) är en typ av återkommande neuralt nätverk (RNN) som hjälper modellen att förstå sammanhang i en sekvens genom att hålla kvar relevant information längre.
Vad händer i slutet av en encoder i seq2seq?
Encodern skapar en latent representation av hela sekvensen, en sorts kodad sammanfattning som decodern sedan använder för att generera en ny mening.
Nämn några användningsområden för seq2seq-modeller.
Maskinöversättning (Google Translate)
Textsummering
Automatiska chattbotar
Taligenkänning
Vilket är ett stort problem med vanliga seq2seq-modeller?
Modellen kan ha svårt att hantera långa sekvenser eftersom den sammanfattar all information i en enda representation. Moderna modeller använder attention-mekanismer (t.ex. Transformer) för att lösa detta.
Vad är en LSTM (Long Short-Term Memory) och varför används den i seq2seq-modeller?
LSTM är en recurrent neural network (RNN)-typ som hjälper modeller att komma ihåg tidigare ord i en sekvens under längre tid.
De används i seq2seq-arkitekturer för att hantera sekvensbaserade uppgifter, som översättning eller textgenerering.
Hur fungerar en LSTM-cell vid varje steg i en sekvens?
Tar in ett ord vid en viss tidpunkt (t.ex. “Nice”).
Behåller viktig information från tidigare steg.
Uppdaterar sin interna minnescell baserat på nuvarande och tidigare information.
Skickar vidare en uppdaterad representation till nästa cell i sekvensen.
Vad gör Encodern i en seq2seq-arkitektur?
Tar in en sekvens av ord (ex: “Nice to meet you”).
Omvandlar den till en latent representation (en sammanfattad vektor av meningen).
Skickar den vidare till Decodern.
Exempel:
In: “Nice to meet you” → Encoder → [Latent vektor]
Vad gör Decodern i en seq2seq-modell?
Tar emot latent vektorn från Encodern.
Använder den för att generera en ny sekvens (t.ex. översättning till franska).
Exempel:
Latent representation → Decoder → “Ravi de vous rencontrer”
Vad är en latent vektor (context vector) i en seq2seq-modell?
Det är en sammanfattning av hela den inmatade sekvensen.
Den innehåller all viktig information som behövs för att generera den nya sekvensen.
Exempel:
Engelska: “Nice to meet you”
Latent vektor: [0.85, -0.42, 1.23, …]
Franska output: “Ravi de vous rencontrer”
Hur används latent vektorer i neural machine translation (NMT)?
Encodern skapar en latent representation av indata.
Decodern tolkar den för att generera en översättning.
Vektorn fungerar som en “överblick” över hela meningen!
Exempel:
In: “I am a student” → [Latent vektor] → Ut: “Je suis étudiant”
Vad betyder LLM?
LLM står för “Large Language Model”, vilket är stora språkmodeller som används för att förstå och generera mänskligt språk.
Vad är ett RNN (Recurrent Neural Network)?
Ett RNN är en typ av neuralt nätverk som kan hantera sekventiella data genom att återanvända information från tidigare steg i en sekvens.
Vilka är nackdelarna med RNNs och LSTMs i seq2seq-arkitekturer?
De är långsamma att träna.
De lider av “vanishing gradient problem”, vilket gör det svårt att lära sig långa sekvenser.
LSTM hjälper delvis med detta men är fortfarande begränsat i sin kapacitet.
Vad är “Attention” i NLP?
Attention är en mekanism som gör att en modell kan fokusera mer på vissa delar av en sekvens vid bearbetning, istället för att endast använda den sista dolda representationen.
Vad är skillnaden mellan traditionella seq2seq-modeller och modeller med attention?
I traditionella seq2seq-modeller används endast den sista dolda representationen från encodern.
I modeller med attention används alla dolda representationer från varje steg, vilket förbättrar förståelsen och översättningen.
Varför behöver vi “attention weighting” vid översättning?
För att vi inte alltid översätter ord för ord. Attention hjälper modellen att avgöra vilka delar av en mening som är viktigast att fokusera på vid översättning.
Vad är en transformer?
En transformer är en typ av neuralt nätverk som använder self-attention och helt undviker rekurrenta anslutningar (som i RNNs), vilket gör det snabbare och mer effektivt att träna.
Varför är transformers bättre än RNNs?
De är snabbare att träna eftersom de kan bearbeta alla ord i en mening parallellt.
De är enklare att träna eftersom de fokuserar på viktiga delar av inputen via attention-mekanismer.
De kan hantera längre sekvenser och sammanhang bättre än RNNs.
Vad innebär self-attention i en transformer?
Self-attention innebär att varje ord i en sekvens jämförs med alla andra ord i sekvensen, så att modellen kan förstå vilka delar av texten som är mest relevanta för varje ord.
Vad är “Context Vector” i en transformer?
En context vector är en representation av hela input-sekvensen, där varje ord har fått olika viktningar beroende på sin relevans för översättningen.
Vad betyder det att transformers kan köra parallell beräkning?
Till skillnad från RNNs, där ord bearbetas ett i taget, kan transformers hantera hela sekvensen på en gång, vilket gör dem betydligt snabbare.
Vad är en feed-forward nätverksdel i en transformer?
Det är en komponent i varje lager av transformern som hjälper till att bearbeta och justera vikterna efter self-attention-mekanismen.
Vad är en kort historik över LLMs?
LLMs (Large Language Models) har utvecklats från regelbaserade system (t.ex. Eliza 1967) till moderna transformerbaserade modeller som GPT-4 och BERT.
Vad är skillnaden mellan traditionella chatbots och moderna konversations-AI?
Traditionella chatbots använder fasta regler och skript, medan moderna AI-modeller som BERT och ChatGPT använder maskininlärning och NLP för att generera svar.
Nämn två exempel på traditionella chatbots och deras egenskaper.
Eliza: Regelbaserad chatbot som simulerar en psykolog.
Alice: Heuristisk chatbot som bygger på regler men är mer avancerad än Eliza.
Vilka är några av de moderna konversations-AI-modellerna?
BERT (Google): Transformerbaserad modell för språkförståelse.
LLaMa (Meta): Öppen källkod LLM.
ChatGPT (OpenAI): GPT-baserad chatbot.
Bard/Gemini (Google): Avancerad AI för konversation.
Vad är fördelarna och nackdelarna med Conversational AI jämfört med traditionella AI-chatbots?
Conversational AI: Fördelar: Naturligare interaktioner, anpassningsförmåga, lär sig över tid. Nackdelar: Kräver mer data och avancerad teknik.
Traditionell AI: Fördelar: Lättare att implementera, billigare. Nackdelar: Begränsade funktioner, kan inte hantera komplexa frågor.
Vad är Turing-testet?
Ett test för att avgöra om en dator kan efterlikna mänsklig intelligens genom att övertyga en mänsklig domare att den är människa.
Vilka varianter av Turing-testet finns det?
Omvänt Turing-test: Människa försöker bevisa för en dator att den är människa (ex. CAPTCHA).
Totalt Turing-test: Testar även sensoriska och motoriska färdigheter.
Minimum Intelligent Signal Test: Endast ja/nej-frågor används.
Vad är skillnaden mellan LLMs och foundation models?
LLMs: Fokuserar på specifika uppgifter som översättning eller chatbot-konversationer.
Foundation models: Kan generalisera över flera uppgifter och närma sig AGI (Artificial General Intelligence).
Vad är några av de framtida frågorna kring AI-utveckling?
Kommer AI att passera Turing-testet?
Kan AI nå AGI och överträffa mänskliga förmågor?
Kommer AI att skapa eller ta över jobb?
Vill vi ha AI överallt för maximal effektivitet och säkerhet?
Vad är de tre huvudsakliga sätten att träna om LLMs?
Re-train from scratch
Finetuning
Prompt Engineering
Vad innebär att “Re-train from scratch”?
Att träna en LLM från början med en helt ny dataset, vilket kräver mycket data och beräkningskraft.
Vad är finetuning av en LLM?
Finetuning är att ta en redan tränad LLM och anpassa den till en specifik dataset för bättre prestanda på en viss uppgift.
Vad är riskerna med finetuning?
Risk för överanpassning (overfitting) till den nya datan och minskad generaliseringsförmåga.
Vad innebär prompt engineering?
Att förbättra modellens svar genom att ge mer specifika instruktioner i prompten utan att ändra själva modellen.
Vad är syftet med prompt engineering?
Att öka förtroendet för LLM:s svar och förbättra dess prestanda genom att guida den att tänka steg för steg.
Vilka är några vanliga tekniker inom prompt engineering?
Chain-of-thought (CoT)
Self-ask
ReAct
Iterative prompting
Sequential prompting
Vad är “Chain-of-thought (CoT) prompting”?
En teknik där modellen uppmanas att resonera steg-för-steg för att öka förståelsen och noggrannheten i svaret.
Vad är “Self-ask prompting”?
En metod där modellen bryter ner en fråga i mindre delproblem för att förbättra noggrannheten i svaret.
Vad är “ReAct prompting”?
En strategi där modellen både förklarar sitt resonemang (Re) och vidtar åtgärder (Act), t.ex. att söka information.
Hur kan prompt engineering användas för att anpassa LLMs till specifika användningsfall?
Genom att strukturera frågor och instruktioner så att modellen får en tydligare kontext och kan generera bättre svar inom det önskade området.
Vilka är några vanliga applikationer av LLMs?
Expert Systems (t.ex. Healthcare, Recommender Systems, Education)
Virtuella assistenter (t.ex. Customer Service)
Sentimentanalys (t.ex. identifiera ohyfsade kommentarer online)
Kodutveckling (t.ex. GitHub Copilot, ChatGPT)
Hur kan LLMs användas i robotar?
Talbaserad interaktion och resonemang
Stöd för komplexa uppgifter i fysiska miljöer
Begränsningar: LLMs saknar självmedvetenhet och intelligens som en människa
Hur används LLMs i autonoma fordon?
Assistenter i bilar (t.ex. Nio’s Nomi, Nvidia’s LLada)
Ger information om nya miljöer och säkerhetsrisker
Kan fungera som en följeslagare under körning
Vilka är de viktigaste punkterna i AI:s utveckling och moderna användning?
Enkla chatbots har funnits sedan AI:s början
NLP förbättrades med djupa neurala nätverk (ANNs)
Transformermodeller (t.ex. LLMs) revolutionerade AI
Modern användning inkluderar generellt intelligenta AI-system samt domänspecifika specialiseringar