- Datainnsamling: Treningen min begynte med et mangfoldig utvalg av internetttekster. Jeg bør imidlertid merke meg at mens jeg ble opplært på et bredt datasett, vet jeg ikke detaljer om hvilke dokumenter som var en del av det opplæringssettet eller som har tilgang til noen spesifikke dokumenter eller kilder.
- Innledende trening (foropplæring): Det var her jeg lærte å forutsi neste ord i en setning. Jeg begynte ikke å kunne engelsk eller noe annet språk. I stedet, ved å forutsi det neste ordet i millioner av setninger, lærte jeg gradvis om grammatikk, fakta om verden og noen resonneringsevner. Dette betyr imidlertid også at jeg kan ha lært av partisk eller feil informasjon siden dataene ikke ble grundig filtrert.
- Finjustering: Etter den innledende opplæringen ga skaperne mine ved OpenAI ytterligere veiledning med et mer spesifikt datasett, generert ved hjelp av menneskelige anmeldere. Disse anmelderne følger retningslinjer for å vurdere og vurdere mulige modellutdata for en rekke eksempler. Finjusteringsprosessen er en slags dialog mellom modellen og anmelderne som hjelper meg å innrette meg bedre etter menneskelige verdier.
- Kontinuerlig læring: Selv om jeg ikke lærer av individuelle interaksjoner på grunn av personvernårsaker, jobber OpenAI kontinuerlig med et team av menneskelige anmeldere for å gi tilbakemelding og gjøre iterative forbedringer basert på bredere mønstre og innsikt.
- Eksempel før trening: Anta at vi har setningen "Katten satt på __". I førtreningsfasen ville modellen som meg lære å forutsi neste ord i setningen, som kan være "matte", "tak" eller "tre". Dette læres ved å behandle milliarder av setninger fra mangfoldig internetttekst, indirekte involverer menneskelig interaksjon ettersom mennesker skapte det originale innholdet.
- Eksempel på finjustering: Etter fortreningsfasen går modellen inn i finjusteringsfasen. Slik kan det fungere:
Den menneskelige anmelderen får i oppgave å gjennomgå mulige modellutdata for input som "Oversett følgende engelske tekst til fransk: 'Hallo, hvordan går det?". Modellen kan generere flere svar som "Bonjour, comment ça va?" eller "Hill, kommenter vas-tu?" etc.
Anmelderen vurderer disse svarene basert på faktorer som nøyaktighet, flyt og hensiktsmessighet. Disse vurderingene hjelper modellen til å generalisere og svare på lignende innspill i fremtiden.
Husk at eksemplene her er forenklet for å illustrere prosessen. Selve treningen involverer komplekse algoritmer og enorme mengder data.
- Variasjon av data: Det handler ikke bare om datavolumet, men også variasjonen. Dataene må være mangfoldige for å dekke et bredt spekter av emner, stiler og toner som finnes på menneskelig språk.
- Kvalitet på data: Kvaliteten på dataene som brukes til opplæring kan også påvirke hvor effektivt modellen lærer. Data av bedre kvalitet kan potensielt redusere volumet som kreves for effektiv opplæring.
- Modellarkitektur: Arkitekturen til modellen (som antall lag eller parametere i det nevrale nettverket) kan også påvirke hvor mye data som trengs. Større modeller, som GPT-3 eller GPT-4, krever vanligvis mer data enn mindre modeller.
- Treningsmål: Hvilken type oppgaver modellen er ment å utføre kan påvirke mengden data som trengs. En modell designet for en spesifikk oppgave kan kreve færre data hvis den er godt målrettet, mens en generell modell som GPT-3 eller GPT-4, designet for å håndtere et bredt spekter av oppgaver, vil kreve mer data for en bredere forståelse.
Når det gjelder GPT-3, for eksempel, har modellen 175 milliarder parametere og ble trent på hundrevis av gigabyte med tekst. Men disse tallene fanger ikke fullt ut kompleksiteten i prosessen. Spesifikasjonene for opplæringsprosessen, inkludert den nøyaktige mengden data som brukes, er proprietære detaljer som holdes av OpenAI og lignende organisasjoner.
- Start Liten: Spesielt for enkle problemer eller innledende modellprototyper kan et mindre datasett være tilstrekkelig. Hvis du for eksempel bygger en grunnleggende bildeklassifisering, kan du starte med noen hundre eller tusen bilder per kategori.
- Tenk på kompleksiteten: Mer komplekse problemer krever vanligvis mer data. Hvis du utvikler en dyplæringsmodell eller jobber med et komplekst problem som naturlig språkbehandling, kan det hende du trenger millioner av datapunkter.
- Kvalitet over kvantitet: Kvalitet, relevant data kan ofte være mer fordelaktig enn en massiv mengde data av dårlig kvalitet. Det er avgjørende å sikre at dataene dine er ordentlig renset, kommentert og representativt for problemet du prøver å løse.
- Balanser klassene dine: For veiledede læringsoppgaver, sørg for å ha en god balanse av eksempler for hver klasse. Et ubalansert datasett kan føre til en modell som presterer dårlig på underrepresenterte klasser.
- Bruk validerings- og testsett: En del av datasettet bør settes til side for validering (justering av modellparametere) og testing (evaluering av modellytelse). Vanlige fordelinger kan være 70 % av dataene for trening, 15 % for validering og 15 % for testing, selv om disse proporsjonene kan variere.
- Eksperimenter og gjenta: Start med en innledende mengde data, tren modellen din, evaluer ytelsen, og legg til flere data iterativt, juster modellen eller forbedre datakvaliteten din basert på resultatene.
Husk at mer data vanligvis forbedrer ytelsen til maskinlæringsmodeller, men bare opp til et visst punkt. Etter et visst punkt kan det være mer tidkrevende og kostbart å samle inn mer data enn det er verdt, og det kan være mer fordelaktig å fokusere på å forbedre kvaliteten på dataene dine eller avgrense modellarkitekturen.
- Før trening: I denne fasen blir modellen eksponert for en stor mengde internetttekstdata. Disse dataene er ikke eksplisitt kommentert, men modellen er opplært til å forutsi neste ord i en setning. Dette gir modellen en generell forståelse av grammatikk, fakta om verden og noen resonneringsevner.
- Finjustering: Etter foropplæring foredles modellen ytterligere på et smalere datasett generert ved hjelp av menneskelige anmeldere. Disse anmelderne følger retningslinjer fra OpenAI for å vurdere og vurdere mulige modellutganger for en rekke innganger. I denne forstand kan finjusteringsprosessen sees på som en form for merknader, der menneskelige anmeldere veileder modellens svar, hjelper den til å bedre samsvare med menneskelige verdier og sikrer at den unngår upassende eller usikkert innhold.
Så selv om det første datasettet som brukes til forhåndstrening ikke er kommentert i tradisjonell forstand, involverer finjusteringsprosessen en form for merknad, der menneskelige anmeldere veileder modellens oppførsel ved å rangere forskjellige utdata.
Riktighet: Anmeldere vurderer om modellens utgang er faktisk korrekt.
Eksempel:
Passende: Modellens output vurderes for hensiktsmessighet i forhold til gitt input.
Eksempel:
Sikkerhet: Utdata blir gjennomgått for å sikre at de ikke inneholder skadelige instruksjoner eller støtende språk.
Eksempel:
fullstendighet: Dette vurderer om modellens respons svarer fullt ut på brukerens forespørsel.
Eksempel:
Flytende: Anmeldere sjekker om modellens utgang er språklig flytende og sammenhengende.
Eksempel:
Disse kategoriene er bare eksempler. Selve finjusteringsprosessen innebærer et mer komplekst evalueringssystem og kontinuerlig tilbakemelding mellom anmelderne og AI-utviklingsteamet. Målet med disse kommentarene er å gjøre modellens svar mer nyttige, trygge og i samsvar med menneskelige verdier.
OpenAI, organisasjonen bak ChatGPT, offentliggjør ikke det nøyaktige antallet anmeldere som er involvert i finjusteringsprosessen. Men gitt omfanget og kompleksiteten av å trene en så stor språkmodell, er det trygt å si at prosessen sannsynligvis involverer et betydelig team av anmeldere.
Disse menneskelige anmelderne følger retningslinjer gitt av OpenAI for å vurdere og vurdere mulige modellutdata. Det er en kontinuerlig, iterativ prosess der anmeldernes tilbakemeldinger brukes til å forbedre og foredle modellen over tid. OpenAI opprettholder en sterk tilbakemeldingssløyfe med anmelderne, inkludert ukentlige møter for å ta opp spørsmål og gi avklaringer.
- Oppgavens kompleksitet: Enkle oppgaver som å merke bilder eller kategorisere tekst vil ta mindre tid per PDF, slik at en enkelt annotator kan håndtere flere filer. På den annen side vil komplekse oppgaver som detaljert enhetsutvinning eller semantisk analyse kreve mer tid per dokument, og derfor flere annotatorer for samme volum av PDF-er.
- Lengden og kompleksiteten til PDF-ene: En lengre eller mer kompleks PDF vil ta mer tid å kommentere enn en kortere eller enklere.
- Kvalitetskrav: Hvis det kreves høy presisjon, kan det være nødvendig å ha flere annotatorer per PDF for å kryssverifisere merknader.
- Tidsbegrensninger: Hvis merknadene må fullføres raskt, vil det være behov for flere merknader.
Som et hypotetisk eksempel, la oss si at en kommentator kan kommentere 5 PDF-er per dag for en bestemt oppgave, og jobber 5 dager i uken. I dette tilfellet, for å kommentere 10,000 2000 PDF-er, vil en enkelt annotator trenge 8 dager, eller omtrent XNUMX år.
Men hvis du hadde et team på 20 annotatorer, kunne de fullføre oppgaven på omtrent 5 måneder (forutsatt 20 arbeidsdager per måned). Med 100 kommentatorer kunne den samme oppgaven fullføres på omtrent en måned.
Husk at disse tallene kun er illustrative og den faktiske hastigheten på merknaden vil avhenge av faktorene nevnt ovenfor. I tillegg er riktig opplæring av annotatorer og konsekvent kvalitetskontroll avgjørende for suksessen til ethvert storskala annoteringsprosjekt.