Skip to content

Latest commit

 

History

History
55 lines (30 loc) · 5.27 KB

File metadata and controls

55 lines (30 loc) · 5.27 KB

Förtränade stora språkmodeller

I alla våra tidigare uppgifter har vi tränat ett neuralt nätverk för att utföra en viss uppgift med hjälp av en märkt dataset. Med stora transformer-modeller, såsom BERT, använder vi språkinlärning i självövervakad form för att bygga en språkmodell, som sedan specialiseras för specifika nedströmsuppgifter med ytterligare domänspecifik träning. Det har dock visat sig att stora språkmodeller också kan lösa många uppgifter utan någon domänspecifik träning. En familj av modeller som kan göra detta kallas GPT: Generative Pre-Trained Transformer.

Textgenerering och förvirring

Idén om att ett neuralt nätverk kan utföra generella uppgifter utan nedströms träning presenteras i Language Models are Unsupervised Multitask Learners-artikeln. Huvudidén är att många andra uppgifter kan modelleras med hjälp av textgenerering, eftersom att förstå text i grunden innebär att kunna producera den. Eftersom modellen tränas på en enorm mängd text som omfattar mänsklig kunskap, blir den också kunnig inom en mängd olika ämnen.

Att förstå och kunna producera text innebär också att veta något om världen omkring oss. Människor lär sig också i stor utsträckning genom att läsa, och GPT-nätverket är liknande i detta avseende.

Textgenereringsnätverk fungerar genom att förutsäga sannolikheten för nästa ord $$P(w_N)$$. Den ovillkorliga sannolikheten för nästa ord motsvarar dock frekvensen av detta ord i textkorpuset. GPT kan ge oss villkorlig sannolikhet för nästa ord, givet de föregående: $$P(w_N | w_{n-1}, ..., w_0)$$.

Du kan läsa mer om sannolikheter i vår Data Science for Beginners Curriculum.

Kvaliteten på en språkgenererande modell kan definieras med hjälp av förvirring. Det är en inneboende metrik som gör det möjligt för oss att mäta modellens kvalitet utan någon uppgiftsspecifik dataset. Den baseras på begreppet sannolikheten för en mening - modellen tilldelar hög sannolikhet till en mening som sannolikt är verklig (dvs. modellen är inte förvirrad av den), och låg sannolikhet till meningar som är mindre logiska (t.ex. Kan det gör vad?). När vi ger vår modell meningar från ett verkligt textkorpus, förväntar vi oss att de har hög sannolikhet och låg förvirring. Matematiskt definieras det som normaliserad invers sannolikhet för testuppsättningen: $$ \mathrm{Perplexity}(W) = \sqrt[N]{1\over P(W_1,...,W_N)} $$

Du kan experimentera med textgenerering med hjälp av GPT-driven textredigerare från Hugging Face. I denna redigerare börjar du skriva din text, och genom att trycka på [TAB] får du flera alternativ för att slutföra texten. Om de är för korta, eller om du inte är nöjd med dem - tryck på [TAB] igen, och du får fler alternativ, inklusive längre textstycken.

GPT är en familj

GPT är inte en enskild modell, utan snarare en samling modeller utvecklade och tränade av OpenAI.

Under GPT-modellerna har vi:

GPT-2 GPT 3 GPT-4
Språkmodell med upp till 1,5 miljarder parametrar. Språkmodell med upp till 175 miljarder parametrar 100T parametrar och accepterar både bild- och textinmatning och genererar text.

GPT-3 och GPT-4-modellerna är tillgängliga som en kognitiv tjänst från Microsoft Azure, och som OpenAI API.

Prompt Engineering

Eftersom GPT har tränats på stora mängder data för att förstå språk och kod, ger de svar på inmatningar (prompter). Prompter är GPT-inmatningar eller frågor där man ger instruktioner till modeller om uppgifter de ska utföra. För att få ett önskat resultat behöver du den mest effektiva prompten, vilket innebär att välja rätt ord, format, fraser eller till och med symboler. Denna metod kallas Prompt Engineering.

Denna dokumentation ger dig mer information om prompt engineering.

✍️ Exempel Notebook: Playing with OpenAI-GPT

Fortsätt ditt lärande i följande notebooks:

Slutsats

Nya generella förtränade språkmodeller modellerar inte bara språkstruktur, utan innehåller också en enorm mängd naturligt språk. Därför kan de effektivt användas för att lösa vissa NLP-uppgifter i zero-shot eller few-shot-scenarier.