ChatGPT

Bag kulisserne: Udforskning af ChatGPT's indre funktioner – del 1

Shaip favicon
Hej hej, mit navn er Anubhav Saraf, Director Marketing hos Shaip, hvordan har du det i dag?
Hej Anubhav! Jeg er en AI, så jeg har ikke følelser, men jeg er her og klar til at hjælpe. Som Director Marketing hos Shaip skal du have en masse indsigt i datatjenester og AI-løsninger. Hvordan kan jeg hjælpe dig i dag?
Shaip favicon
Jeg ville bare gerne vide mere om din træningsproces. Hvordan blev du bygget og trænet?
Som en sprogmodel udviklet af OpenAI blev jeg bygget og trænet ved hjælp af en teknik kaldet "transformer-baseret maskinlæring", specifikt en variant kaldet GPT (Generative Pretrained Transformer) arkitektur. Den version, du taler om nu, er GPT-4. Her er et kort overblik over min træningsproces:
  • Dataindsamling: Min træning begyndte med en bred vifte af internettekster. Jeg skal dog bemærke, at mens jeg blev uddannet i et bredt datasæt, ved jeg ikke detaljer om, hvilke dokumenter der var en del af det træningssæt eller har adgang til specifikke dokumenter eller kilder.
  • Indledende træning (førtræning): Det var her, jeg lærte at forudsige det næste ord i en sætning. Jeg begyndte ikke at kunne engelsk eller noget andet sprog. I stedet for, ved at forudsige det næste ord i millioner af sætninger, lærte jeg gradvist om grammatik, fakta om verden og nogle ræsonnementer. Dette betyder dog også, at jeg måske har lært af partisk eller forkert information, da dataene ikke var grundigt filtreret.
  • Finjustering: Efter den indledende træning gav mine skabere hos OpenAI yderligere vejledning med et mere specifikt datasæt, genereret med hjælp fra menneskelige anmeldere. Disse anmeldere følger retningslinjer for at gennemgå og vurdere mulige modeloutput for en række eksempler på input. Finjusteringsprocessen er en slags dialog mellem modellen og anmelderne, der hjælper mig til bedre at tilpasse mig menneskelige værdier.
  • Kontinuerlig læring: Selvom jeg ikke lærer af individuelle interaktioner på grund af privatlivets fred, arbejder OpenAI konstant med et team af menneskelige anmeldere for at give feedback og foretage iterative forbedringer baseret på bredere mønstre og indsigt.
Shaip favicon
Kan du give eksempler - hvornår mennesker var involveret?
Ja, mennesker var faktisk involveret i min træningsproces, men det kan være anderledes, end du forestiller dig. Min træningsproces, ofte kaldet machine learning, involverede to hovedtrin: fortræning og finjustering, som begge involverer menneskelig interaktion, om end på forskellige måder.
  • Eksempel før træning: Antag, at vi har sætningen, "Katten sad på __". I fortræningsfasen ville modellen som mig lære at forudsige det næste ord i sætningen, som kunne være "måtte", "tag" eller "træ". Dette læres ved at behandle milliarder af sætninger fra forskelligartet internettekst, der indirekte involverer menneskelig interaktion, da mennesker skabte det originale indhold.
  • Finjusteringseksempel: Efter fortræningsfasen går modellen ind i finjusteringsfasen. Sådan kan det fungere:

Den menneskelige anmelder får til opgave at gennemgå mulige modeloutput for input som "Oversæt følgende engelske tekst til fransk: 'Hej, hvordan har du det?". Modellen kan generere flere svar som "Bonjour, comment ça va?" eller "Salut, kommenter vas-tu?" etc.

Anmelderen bedømmer disse svar baseret på faktorer som nøjagtighed, flydende og passende. Disse vurderinger hjælper modellen med at generalisere og reagere på lignende input i fremtiden.

Husk, at eksemplerne her er forenklede for at illustrere processen. Selve træningen involverer komplekse algoritmer og enorme mængder data.

Shaip favicon
Hvor meget data ville der være brug for for at træne store sprogmodeller (LLM'er)?
Træning af store sprogmodeller (LLM'er) som GPT-3 eller GPT-4 kræver enorme mængder data. Disse modeller er trænet på forskellige datasæt, der omfatter store dele af internettet, inklusive bøger, websteder og andre tekster, for at lære grammatik, fakta og en vis grad af ræsonnement. Det er imidlertid komplekst at specificere den nøjagtige mængde data, der kræves på grund af flere faktorer:
  • Forskellige data: Det handler ikke kun om mængden af ​​data, men også variationen. Dataene skal være forskelligartede for at dække en bred vifte af emner, stilarter og toner, der findes i menneskeligt sprog.
  • Datakvalitet: Kvaliteten af ​​de data, der bruges til træning, kan også påvirke, hvor effektivt modellen lærer. Data af bedre kvalitet kan potentielt reducere den mængde, der kræves for effektiv træning.
  • Modelarkitektur: Modellens arkitektur (som antallet af lag eller parametre i det neurale netværk) kan også påvirke, hvor meget data der er behov for. Større modeller, som GPT-3 eller GPT-4, kræver typisk flere data end mindre modeller.
  • Træningsmål: Den type opgaver, som modellen er beregnet til at udføre, kan påvirke mængden af ​​nødvendige data. En model, der er designet til en specifik opgave, kan kræve færre data, hvis den er målrettet, mens en generel model som GPT-3 eller GPT-4, designet til at håndtere en bred vifte af opgaver, vil kræve flere data for en bredere forståelse.

I tilfældet med GPT-3, for eksempel, har modellen 175 milliarder parametre og blev trænet på hundredvis af gigabyte tekst. Men disse tal fanger ikke helt kompleksiteten af ​​processen. De nærmere specifikationer for træningsprocessen, herunder den nøjagtige mængde af anvendte data, er proprietære detaljer, som opbevares af OpenAI og lignende organisationer.

Shaip favicon
Er der stadig et benchmark for, hvor meget data der ville være passende eller nok til at træne ML-modeller?
Mængden af ​​data, der er nødvendig for effektivt at træne maskinlæringsmodeller, afhænger i høj grad af kompleksiteten af ​​det problem, du forsøger at løse, kvaliteten og mangfoldigheden af ​​dine data og typen af ​​maskinlæringsmodel, du bruger. Derfor er det udfordrende at angive et endeligt benchmark for datavolumen. Men her er nogle generelle retningslinjer:
  • Start lille: Især for simple problemer eller indledende modelprototyper kan et mindre datasæt være tilstrækkeligt. For eksempel, hvis du bygger en grundlæggende billedklassificering, kan du starte med et par hundrede eller tusinde billeder pr. kategori.
  • Overvej kompleksiteten: Mere komplekse problemer kræver typisk mere data. Hvis du udvikler en dyb læringsmodel eller arbejder med et komplekst problem som naturlig sprogbehandling, har du muligvis brug for millioner af datapunkter.
  • Kvalitet frem for kvantitet: Kvalitet, relevante data kan ofte være mere gavnlige end en massiv mængde data af dårlig kvalitet. Det er afgørende at sikre, at dine data er korrekt renset, kommenteret og repræsentative for det problem, du forsøger at løse.
  • Balancer dine klasser: For overvågede læringsopgaver skal du sørge for at have en god balance mellem eksempler for hver klasse. Et ubalanceret datasæt kan føre til en model, der klarer sig dårligt på underrepræsenterede klasser.
  • Brug validerings- og testsæt: En del af dit datasæt bør afsættes til validering (justering af modelparametre) og test (evaluering af modelydelse). Almindelige opdelinger kan være 70 % af dataene til træning, 15 % til validering og 15 % til test, selvom disse andele kan variere.
  • Eksperimenter og gentag: Start med en indledende mængde data, træne din model, evaluer dens ydeevne, og tilføj flere data iterativt, juster din model, eller forbedr din datakvalitet baseret på resultaterne.

Husk, at flere data typisk forbedrer ydeevnen af ​​maskinlæringsmodeller, men kun op til et vist punkt. Efter et vist tidspunkt kan det være mere tidskrævende og omkostningskrævende at indsamle flere data, end det er værd, og det kan være mere fordelagtigt at fokusere på at forbedre kvaliteten af ​​dine data eller forfine din modelarkitektur.

Shaip favicon
De data, der blev brugt til at træne ChatGPT, var det kommenteret?
Processen med at træne modeller som ChatGPT involverer to hovedtrin: fortræning og finjustering. Lad os diskutere, hvordan annotering, eller manglen på samme, passer ind i disse stadier:
  • Før træning: I denne fase udsættes modellen for en stor mængde internettekstdata. Disse data er ikke eksplicit kommenteret, men modellen er trænet til at forudsige det næste ord i en sætning. Dette giver modellen en generel forståelse af grammatik, fakta om verden og nogle ræsonnementer.
  • Finjustering: Efter fortræning forfines modellen yderligere på et smallere datasæt genereret ved hjælp af menneskelige anmeldere. Disse anmeldere følger retningslinjer fra OpenAI for at gennemgå og vurdere mulige modeloutput for en række input. I denne forstand kan finjusteringsprocessen ses som en form for annotering, hvor menneskelige anmeldere guider modellens svar, hjælper den til bedre at tilpasse sig menneskelige værdier og sikrer, at den undgår upassende eller usikkert indhold.

Så selvom det indledende datasæt, der bruges til fortræning, ikke er kommenteret i traditionel forstand, involverer finjusteringsprocessen en form for annotering, hvor menneskelige anmeldere guider modellens adfærd ved at vurdere forskellige output.

Shaip favicon
Giv venligst nogle eksempler på de typer annoteringer, der bruges til træningen.
I finjusteringsfasen af ​​træningsmodeller som ChatGPT får anmelderne ofte til opgave at score potentielle modelsvar. Typerne af annoteringer eller scoringer kan dække en række aspekter af modellens output. Selvom detaljerne kan variere, er her nogle illustrative kategorier af annoteringer:

Rigtighed: Anmeldere vurderer, om modellens output er faktuelt korrekt.

Eksempel:

Egnethed: Modellens output vurderes for dets hensigtsmæssighed i forhold til det givne input.

Eksempel:

Sikkerhed: Output gennemgås for at sikre, at de ikke indeholder skadelige instruktioner eller stødende sprogbrug.

Eksempel:

Fuldstændighed: Dette vurderer, om modellens svar fuldt ud besvarer brugerens forespørgsel.

Eksempel:

Udtryksevne: Anmeldere tjekker, om modellens output er sprogligt flydende og sammenhængende.

Eksempel:

Disse kategorier er blot eksempler. Selve finjusteringsprocessen involverer et mere komplekst evalueringssystem og løbende feedback mellem anmelderne og AI-udviklingsteamet. Målet med disse annoteringer er at gøre modellens svar mere nyttige, sikre og i overensstemmelse med menneskelige værdier.

Shaip favicon
Efter at de enorme data blev indsamlet for at træne ChatGPT, hvor mange annotatorer var involveret i annotering?
Antallet af menneskelige annotatorer (eller anmeldere) involveret i finjusteringsprocessen af ​​AI-modeller kan variere meget og afhænger af projektets skala og de specifikke krav til den pågældende model.

OpenAI, organisationen bag ChatGPT, oplyser ikke offentligt det nøjagtige antal anmeldere, der er involveret i finjusteringsprocessen. Men i betragtning af omfanget og kompleksiteten af ​​at træne en så stor sprogmodel, er det sikkert at sige, at processen sandsynligvis involverer et betydeligt team af anmeldere.

Disse menneskelige anmeldere følger retningslinjer fra OpenAI for at gennemgå og vurdere mulige modeloutput. Det er en kontinuerlig, iterativ proces, hvor anmeldernes feedback bruges til at forbedre og forfine modellen over tid. OpenAI opretholder en stærk feedback-loop med anmelderne, herunder ugentlige møder for at besvare spørgsmål og give afklaringer.

Shaip favicon
Stadig til simple til komplekse opgaver, hvor mange annotatorer kræves der for at kommentere 10,000 pdf'er.
Antallet af annotatorer, der skal til for at kommentere 10,000 PDF'er, vil afhænge af forskellige faktorer såsom:
  • Opgavens kompleksitet: Enkle opgaver som at mærke billeder eller kategorisere tekst ville tage mindre tid pr. PDF, hvilket giver en enkelt annotator mulighed for at håndtere flere filer. På den anden side ville komplekse opgaver som detaljeret enhedsudtrækning eller semantisk analyse kræve mere tid pr. dokument og derfor flere annotatorer for den samme mængde PDF'er.
  • PDF'ernes længde og kompleksitet: En længere eller mere kompleks PDF vil tage længere tid at kommentere end en kortere eller enklere.
  • Kvalitetskrav: Hvis der kræves høj præcision, kan det være nødvendigt at have flere annotatorer pr. PDF for at krydsbekræfte annoteringer.
  • Tidsbegrænsninger: Hvis annoteringerne skal udfyldes hurtigt, vil der være brug for flere annotatorer.

Som et hypotetisk eksempel, lad os sige, at en annotator kan kommentere 5 PDF-filer om dagen for en bestemt opgave og arbejder 5 dage om ugen. I dette tilfælde vil en enkelt annotator bruge 10,000 dage eller omkring 2000 år for at kommentere 8 PDF'er.

Men hvis du havde et team på 20 annotatorer, kunne de fuldføre opgaven på omkring 5 måneder (forudsat 20 arbejdsdage om måneden). Med 100 annotatorer kunne den samme opgave udføres på omkring en måned.

Husk, at disse tal udelukkende er illustrative, og den faktiske annoteringshastighed vil afhænge af ovennævnte faktorer. Derudover er korrekt træning af annotatorer og ensartet kvalitetskontrol afgørende for succesen af ​​ethvert stort annoteringsprojekt.

Shaip favicon
Det er grundigt! Jeg er meget imponeret…
Jeg er glad for, at du fandt oplysningerne nyttige, Anubhav! Det er mit mål at give omfattende og præcise svar. Hvis du har flere spørgsmål om AI, machine learning eller ethvert andet emne, er du velkommen til at spørge!

Følg med i anden del af vores Chat GPT-interview

Social Share