Ankstyvosios kalbos modeliai ir „Morris Worm“
Tarp Morris Worm ir pokalbiai.
Mano vaizdo įraše Nemokamų metodų seminaras Aš leidžiu studentams analizuoti keturias problemas aukštu lygiu, tačiau tai padaryti yra du skirtingi būdai kiekvienam. Pirmiausia jie tai išsprendžia naudodamiesi redukcionizmo pozicija, o paskui naudodamiesi holistine pozicija.
Seminaro metu žinojau, kad holizmas yra nešvarus žodis akademinėje bendruomenėje ir iš pradžių naudojo nemokamų modelių metodus kaip eufemizmą.
Paskutinė problema yra apie proto skaitymą. Bet pirmasis yra daugeliu atžvilgių įdomesnis.
Pirmoji užduotis yra parašyti programą, skirtą aptikti rašybos klaidas tekste. Neutimu jų, tiesiog aptikkite juos.
Seminaro vaizdo įraše aš klausiu: „Koks yra pirmasis klausimas, kurį turite užduoti, jei rašote rašybos klaidą, gaudydami programą redukcionaliai?“
Stebinantis (ar ne) atsakymas yra „jūs turite pasirinkti kalbą“.
Jei kuriame rašybos klaidų detektorių, naudodami XX amžiaus NLP, tada turėtume žodžių sąrašus ar žodynus, galbūt gramatikus ar „žodžių“. Ir tokie žodynai akivaizdžiai yra konkretūs kalbai, nes jie išvardija žodžius tiksline kalba.
Ar galite tai padaryti nenurodydami kalbos prieš pradėdami projektą? Na, šiuolaikiniai LLM, tokios kaip GPT, jau žino dešimtis kalbų ir gali veiksmingai aptikti visas jūsų dokumentų klaidas. Ir kai kurie gali juos perrašyti. Jie nenaudoja NLP, jie naudojasi XXI amžiaus NLU – natūralios kalbos supratimu.
Kaip LLMS gali suprasti kelias kalbas? Tai jų išmoko. O mokomos sistemos yra holistinės. Taigi yra užuomina. Mūsų holistinis požiūrio sprendimas rašybos klaidų aptikimui yra sistema, galinti išmokti visas kalbas, kuriomis norime ja naudotis.
Dabar galime paklausti „koks buvo pirmasis ir paprasčiausias išmoktas kalbos modelis?“
Čia yra algoritmas, kuris buvo paskelbtas prieš daugelį metų.
Idėja yra surinkti („mokytis“) tikslinės kalbos trigramų statistiką ir tada pažymėti visus trigramus, kurie anksčiau nebuvo susidūrę (bent jau šiek tiek dažnio) mokymo korpuse. Tai nėra 100% patikimas, tačiau jis gali praktiškai pralenkti daugelį senų NLP metodų, ir IT yra Kalbos agnostika, kurios NLP niekada nebuvo.
Atkreipiame dėmesį, kad šis algoritmas priklauso kategorijai „statistiniai natūralios kalbos supratimo metodai“. Šiuolaikinės LLM yra labiau „konteksto išaiškinimas“ nei „statistiniai“, tačiau tai yra dar vienas pasirodymas.
Pavyzdys parodo, kaip šis „Trigram“ algoritmas veikia praktikoje: jūs ketinate pateikti savo ketvirtąjį dokumentą kasmetinėje konferencijoje. Kaip galite pažymėti rašybos klaidas šiame dokumente?
Galite pamaitinti tris senesnius dokumentus, kuriuos paskelbėte per programą „Trigram Statistics“ rinkimo režimu. Tada padėkite ketvirtą (naują) popierių aptikimo režimu ir jis nurodys visus žodžius, kuriuose yra trigramų, kurių dar nematė. Tai nuostabiai efektyvu. Nesvarbu, kiek žargono yra jūsų dokumentuose, jei jis pasikartoja kasmet, jis nebus pažymėtas.
Keturi dokumentai galėjo būti parašyti prancūziškai ir vis tiek būtų suveikę. Sistema sužino tam tikrą kiekį kalbos iš jos korpuso, kuris yra pirmieji trys dokumentai.
Labai protinga idėja. Skamba tiesmukiškai. Ar jis kada nors buvo pateiktas kaip komercinis produktas? Taip, kai kuriose ankstyviausiose „Unix“ išleidimo juostose buvo programa, pavadinta Typo.c, kuri tiksliai tai padarė. Programą galite rasti „GitHub“.
Ir tai yra pirmoji programa, kurią aš žinau, kad sužino žmogaus kalbos modelį ir tada naudoja ją sėkmingai atlikti kalbos supratimo užduotį. Aš manau, kad tai istoriškai reikšminga.
Programos autorius? Robertas Tappanas Morrisas, MIT CSAIL profesorius, kuris taip pat sukūrė „Morris Worm“.


