Comparthing Logo
žetonų išdavimasnatūralios kalbos apdorojimastransformatoriaisubžodžių algoritmaidirbtinis intelektas

Baitų porų kodavimas ir „WordPiece“ tokenizavimas

Baitų porų kodavimas ir „WordPiece“ yra du plačiai naudojami požodžių žetonų sudarymo algoritmai, kurie palaiko šiuolaikinius NLP modelius ir skiriasi daugiausia tuo, kaip jie sujungia žetonus mokymo metu, ir jų vertinimo metrikomis.

Akcentai

  • BPE sujungia vien tik pagal dažnių skaičių, o „WordPiece“ optimizuoja pagal mokymo duomenų tikimybę
  • GPT modeliai naudoja BPE, o BERT ir jo variantai remiasi „WordPiece“ tokenizacija.
  • „WordPiece“ paprastai sukuria lingvistiškai aiškesnes žetonų ribas nei dažniu pagrįstas BPE
  • Abu metodai išsprendžia žodyno trūkumo problemą, tačiau taikydami iš esmės skirtingus optimizavimo tikslus.

Kas yra Baitų porų kodavimas?

Požodžių tokenizavimo algoritmas, kuris iteratyviai sujungia dažbiausiai pasitaikančias gretimas simbolių poras į naujus tokenus.

  • BPE iš pradžių buvo sukurtas 1994 m. kaip duomenų glaudinimo algoritmas, o 2016 m. jį pritaikė NLP Sennrich ir kt.
  • Algoritmas pradeda nuo atskirų simbolių žodyno ir pakartotinai sujungia dažniausiai pasitaikančią gretimų žetonų porą.
  • GPT-2, GPT-3 ir RoBERTa naudoja BPE tokenizaciją kaip savo išankstinio apdorojimo srautų dalį.
  • BPE naudoja dažnių skaičiavimus, kad nustatytų, kurias žetonų poras sujungti, todėl jis yra grynai duomenimis pagrįstas, be kalbos modelio.
  • Algoritmas gali sukurti žodyno neatitinkančius žodžius, suskaidydamas juos į žinomus šalutinius žodžių vienetus, taip pagerindamas retų terminų apdorojimą.

Kas yra „WordPiece“ žetonų kūrimas?

Povardinių žodžių žetonų sujungimo metodas, kuris sujungia žetonus pagal tikimybės maksimizavimą, o ne neapdorotą dažnį.

  • „WordPiece“ iš pradžių sukūrė „Google“ japonų ir korėjiečių balso paieškos sistemoms, o vėliau buvo pritaikyta teksto paieškai.
  • Algoritmas parenka sujungimus, kurie maksimaliai padidina mokymo duomenų tikimybę, o ne tiesiog skaičiuoja dažnius.
  • BERT, DistilBERT ir ALBERT naudoja „WordPiece“ žetonų kūrimą, paprastai su 30 522 žetonų žodyno dydžiu.
  • „WordPiece“ dažnai inicijuoja savo žodyną, kad įtrauktų visus atskirus simbolius prieš pradedant sujungimo procesą.
  • Šis metodas, palyginti su BPE, paprastai sukuria mažiau simbolių lygio žetonų įprastiems žodžiams, todėl padidėja efektyvumas.

Palyginimo lentelė

Funkcija Baitų porų kodavimas „WordPiece“ žetonų kūrimas
Sujungimo kriterijus Gretimų porų dažnis Mokymo duomenų tikimybė
Pagrindiniai naudojimo atvejai GPT serija, RoBERTa, CLIP BERTAS, DistilisBERTAS, ALBERTAS
Žodyno inicijavimas Atskiri simboliai arba baitai Individualūs personažai
Retų žodžių tvarkymas Suskaido į dažnus šalutinius žodžių vienetus Padalijimai pagal tikimybe pagrįstą segmentavimą
Treniruočių greitis Paprastai greičiau dėl paprasto skaičiavimo Šiek tiek lėčiau dėl tikimybių skaičiavimo
Žetono išvesties stilius Dažnai detalesnis Dažnai labiau sujungiami įprasti žodžiai
Originalus vystymas 1994 m. kaip suspaudimas; 2016 m. – NLP „Google“ kalbos atpažinimo komanda

Išsamus palyginimas

Pagrindinė algoritmo filosofija

BPE žetonų išskleidimo metodą naudoja kaip glaudinimo problemą, godžiai suliedamas dažniausiai mokymo korpuse pasitaikančias poras. Šis tiesus, dažnumu pagrįstas metodas leidžia jį intuityviai ir gana greitai apskaičiuoti. „WordPiece“ taiko labiau tikimybinį požiūrį, klausdamas, kuris sujungimas padarytų mokymo duomenis labiausiai tikėtinus pagal unigraminės kalbos modelio prielaidą. Šis subtilus kadravimo pokytis lemia skirtingas žetonų ribas, ypač morfologiškai turtingoms kalboms.

Žetonų ribos ir lingvistinės savybės

Kadangi BPE vien tik gainiojasi dažnumą, kartais žodžiai skaidomi lingvistiškai nenatūraliose vietose, jei tai yra dažni duomenų modeliai. „WordPiece“ tikimybe pagrįstas metodas linkęs geriau atsižvelgti į morfemų ribas, sukurdamas žetonus, kurie labiau atitinka prasmingus vienetus. Anglų kalba abu metodai veikia panašiai, tačiau skirtumas išryškėja kalbose, turinčiose turtingesnę morfologiją, pavyzdžiui, vokiečių ar turkų kalbomis.

Įgyvendinimas ir ekosistemos įsitvirtinimas

Pasirinkimas tarp šių tokenizerių dažnai priklauso nuo naudojamos modelio architektūros, o ne nuo gilaus paties algoritmo pasirinkimo. „OpenAI“ GPT šeima standartizuota BPE pagrindu, todėl kiekvienas, tobulinantis ar diegiantis šiuos modelius, paveldi tą tokenizerių schemą. „Google“ BERT ekosistema įtvirtino „WordPiece“ kaip faktinį pasirinkimą tik kodavimo transformatorių modeliams. Dėl šios ekosistemos įtvirtinimo specialistai retai keičia tokenizerius nepriklausomai nuo modelių architektūrų.

Ypatingų atvejų tvarkymas

Abu algoritmai susiduria su tam tikrais kraštutiniais atvejais, tačiau skirtingais būdais. BPE gali būti nestabilus su tarpais ir skyryba, kartais sukeldamas netikėtus žetonus, kai skiriasi formatavimas. „WordPiece“ paprastai prideda specialų prefikso simbolį (pvz., ## BERT), kad nurodytų tęsinio požodžius, todėl originalaus teksto rekonstravimas tampa aiškesnis, tačiau taip pat įveda žetonų sudarymo artefaktus, kuriuos tolesni modeliai turi išmokti apdoroti.

Šiuolaikiniai variantai ir evoliucija

Pastaraisiais metais pastebimai pasikeitė ne tik abu šie algoritmai. „SentencePiece“ siūlo vieningą sistemą, kuri gali įdiegti BPE, „WordPiece“ arba unigramų kalbos modelio tokenizavimą naudojant vieną biblioteką. Baitų lygio BPE (naudojamas GPT-2) veikia su neapdorotais baitais, o ne su Unicode simboliais, visiškai pašalindamas nežinomų žetonų problemas. Tuo tarpu naujesni metodai, tokie kaip BPE išmetimas, įveda stochastiškumą mokymo metu, siekiant pagerinti patikimumą. Šie pokyčiai rodo, kad nors BPE ir „WordPiece“ išlieka pagrindiniais, ši sritis toliau vystosi.

Privalumai ir trūkumai

Baitų porų kodavimas

Privalumai

  • + Paprasta ir intuityvu suprasti
  • + Greitas mokymas su minimaliais skaičiavimais
  • + Gerai veikia su baitų lygio įvestimis
  • + Plačiai palaikoma šiuolaikinėse bibliotekose
  • + Apdoroja bet kokį Unicode tekstą

Pasirinkta

  • Gali suskaidyti ties kalbiškai nelygiomis ribomis
  • Jautrus mokymo korpuso dažnio iškraipymui
  • Mokymo metu nėra aiškaus kalbos modelio
  • Gali pernelyg segmentuoti retus techninius terminus
  • Tarpų tvarkymas gali būti nenuoseklus

„WordPiece“ žetonų kūrimas

Privalumai

  • + Geresnis atitikimas morfemų riboms
  • + Aiški tikimybėmis pagrįsta optimizacija
  • + Aiškūs tęsinio žymekliai su ## prefiksu
  • + Subrendusių įrankių kūrimas naudojant „TensorFlow“ ir „Hugging Face“
  • + Efektyvus naudojant įprastus žodžius mokymo duomenyse

Pasirinkta

  • Glaudžiai susieta su BERT ekosistema
  • Šiek tiek lėtesnis mokymo skaičiavimas
  • Prefiksų simboliai padidina žetonų kūrimo sudėtingumą
  • Mažiau lankstumo netekstiniams duomenims, pvz., kodui
  • Žodynas gali išsipūsti dėl retų priešdėlių

Dažni klaidingi įsitikinimai

Mitas

BPE ir „WordPiece“ tam pačiam tekstui visada sukuria skirtingas tokenizacijas.

Realybė

Daugeliui įprastų anglų kalbos žodžių abu algoritmai iš tikrųjų konverguoja į identiškas arba beveik identiškas segmentacijas. Skirtumai išryškėja vartojant retus žodžius, morfologiškai sudėtingus terminus ir kalbant apie turtingesnius kaitos modelius nei anglų kalboje.

Mitas

„WordPiece“ tokenizavimo metu naudoja neuroninį tinklą.

Realybė

Nepaisant to, kad „WordPiece“ naudojamas neuroniniuose modeliuose, pats savaime jis visiškai nėra neuroninis. Tikimybių skaičiavimas pagrįstas paprasta unigramų dažnio statistika, o ne kokia nors išmokta neuronine reprezentacija. „WordPiece“ kalbos modelis yra tik dažnių lentelė, o ne transformatorius ar pasikartojantis tinklas.

Mitas

BPE negali apdoroti kalbų su dideliais simbolių rinkiniais, pavyzdžiui, kinų.

Realybė

Baitų lygio BPE specialiai tai sprendžia, veikdamas su neapdorotais UTF-8 baitais, o ne simboliais. Tai reiškia, kad jis gali pavaizduoti bet kokį Unicode tekstą niekada nesusidūręs su nežinomu simboliu, nors scenarijams, kuriuose yra tūkstančiai simbolių, gali prireikti daugiau žetonų.

Mitas

Tokenizer pasirinkimas daro didelę įtaką modelio našumui atliekant tolesnes užduotis.

Realybė

Nors tokenizavimas yra svarbus, modelio architektūra ir mokymo duomenų skalė paprastai nusveria tokenizatoriaus pasirinkimo svarbą. Tyrimai parodė, kad BPE ir „WordPiece“ veikia panašiai, kai visi kiti veiksniai yra vienodi, o skirtumai paprastai būna maži ir priklauso nuo užduoties.

Mitas

„WordPiece“ buvo išrastas specialiai BERT.

Realybė

„WordPiece“ yra keleriais metais senesnis nei BERT. „Google“ jį iš pradžių sukūrė japonų ir korėjiečių kalbų balso paieškai 2010-ųjų pradžioje, o vėliau pritaikė neuroniniam mašininiam vertimui dar prieš pasirodant BERT. Ryšys su BERT yra stiprus vien dėl to, kad BERT jį išgarsino NLP tyrimų bendruomenėje.

Mitas

BPE žodyno dydis nesvarbus, svarbu, kad jis būtų pakankamai didelis.

Realybė

Žodyno dydis daro didelę įtaką tiek modelio našumui, tiek skaičiavimo efektyvumui. Per mažas žodyno dydis eikvoja pajėgumus ilgoms žetonų sekoms. Per didelis žodyno dydis – įterptosios matricos tampa nepatogios, o reti žetonai pateikiami prastai. Dauguma specialistų kruopščiai derina šį hiperparametrą, paprastai nustatydami tarp 30 000 ir 50 000 žetonų.

Dažnai užduodami klausimai

Koks yra pagrindinis skirtumas tarp BPE ir WordPiece?
Esminis skirtumas yra tas, kaip jie nusprendžia, kurias žetonų poras sujungti mokymo metu. BPE tiesiog suskaičiuoja, kaip dažnai poros pasirodo kartu, ir sujungia dažniausią porą. „WordPiece“ vietoj to apskaičiuoja, kuris sujungimas maksimaliai padidintų mokymo duomenų tikimybę pagal unigraminį modelį. Tai reiškia, kad BPE yra grynai dažnio valdomas, o „WordPiece“ įtraukia tikimybinį kriterijų, kuris linkęs sukurti lingvistiškai prasmingesnes ribas.
Kodėl GPT naudoja BPE, o BERT – „WordPiece“?
Šie pasirinkimai labiau atspindi skirtingas tyrimų grupes ir jų istorinį kontekstą, o ne gilų techninį būtinumą. „OpenAI“ GPT linija paveldėjo BPE iš ankstesnių darbų, susijusių su baitų lygio glaudinimu, ir nustatė, kad jis veiksmingas jų generatyvaus kalbos modeliavimo metodui. „Google“ BERT komanda jau buvo sukūrusi „WordPiece“ savo kalbos ir vertimo sistemoms, todėl natūraliai pritaikė esamus įrankius. Abu jie veikia pakankamai gerai, kad nė viena grupė nejautė poreikio pereiti prie kitų.
Ar BPE ir „WordPiece“ gali apdoroti kalbas, kuriose tarp žodžių nenaudojami tarpai?
Taip, abu algoritmai puikiai veikia be tarpų, nors jie gali sukurti mažiau intuityvų segmentavimą. Kadangi abu veikia su simbolių arba baitų sekomis, tarpų nebuvimas jų nesugadina. Tačiau tokios kalbos kaip tajų, kinų ar japonų dažnai naudoja išankstinį segmentavimą arba specializuotą išankstinį apdorojimą, nes grynai statistinis sujungimas gali neatitikti gimtakalbių intuicijos apie žodžių ribas.
Kaip naujam projektui pasirinkti BPE ir „WordPiece“?
Praktiškai retai kada renkatės nepriklausomai nuo savo modelio architektūros. Jei tiksliai derinate GPT-2, GPT-3 arba RoBERTa, turite naudoti jų BPE tokenizerį, kad išlaikytumėte suderinamumą. BERT pagrįstiems modeliams reikalingas „WordPiece“. Jei kuriate nuo nulio, turėkite omenyje, kad BPE yra šiek tiek paprasčiau įdiegti ir derinti, o „WordPiece“ gali pateikti šiek tiek aiškesnius lingvistinius skaidymus. Šiuolaikinės bibliotekos, tokios kaip „SentencePiece“, leidžia lengvai eksperimentuoti su abiem.
Kokį žodyno dydį turėčiau naudoti su BPE arba „WordPiece“?
Dauguma šiuolaikinių NLP modelių naudoja nuo 30 000 iki 50 000 žetonų, o ypač dažnai numatytieji dydžiai yra 32 000 ir 50 000. Mažesni žodynai verčia dažniau skaidyti požodžius, o tai padidina sekos ilgį, bet leidžia geriau apdoroti retus terminus. Didesni žodynai sumažina sekos ilgį, bet reikalauja didesnių įterpimo matricų ir gali būti sunku apdoroti labai retus žetonus. Optimalus taškas priklauso nuo jūsų kalbos, korpuso dydžio ir skaičiavimo biudžeto.
Ar šie tokenizeriai gali apdoroti jaustukus, kodą ar kitą nestandartinį tekstą?
Baitų lygio BPE šiuos uždavinius tvarko patikimai, nes veikia su neapdorotais baitais, o ne iš anksto apibrėžtais simbolių rinkiniais. Standartinis BPE ir „WordPiece“ gali nepavykti apdoroti retų Unicode simbolių, nebent jų pradinis žodynas aiškiai juos apima. Daugumoje gamybinių diegimų dabar naudojamas baitų lygio arba išplėstinis Unicode aprėptis, siekiant išvengti nežinomų žetonų problemų su socialinės žiniasklaidos tekstu, šaltinio kodu ir daugiakalbiu turiniu.
Kas yra „SentencePiece“ ir kaip jis susijęs su BPE ir „WordPiece“?
„SentencePiece“ yra atvirojo kodo „Google“ sukurta tokenizavimo biblioteka, teikianti vieningą kelių subžodžių algoritmų, įskaitant BPE, „WordPiece“ ir unigramų kalbos modelio tokenizavimą, įgyvendinimą. Ji tvarko išankstinį tokenizavimą, normalizavimą ir žodyno mokymą vienoje priemonėje. Užuot buvęs atskiru algoritmu, įsivaizduokite jį kaip lanksčią sistemą, leidžiančią pasirinkti ir konfigūruoti pageidaujamą tokenizavimo strategiją su nuosekliomis sąsajomis.
Ar BPE ir „WordPiece“ vis dar svarbūs naudojant šiuolaikinius didelius kalbų modelius?
Be abejo. Nepaisant didžiulio modelių, tokių kaip GPT-4, Claude ir Gemini, masto, jie visi vis dar remiasi požodžių tokenizacija. Konkretus algoritmas gali skirtis, o kai kurie naujesni modeliai eksperimentuoja su alternatyviais metodais, tačiau pagrindinis iššūkis – kintamo ilgio teksto vaizdavimas fiksuoto dydžio žodyno erdvėse – išlieka universalus. BPE ir „WordPiece“ supratimas suteikia esminės intuicijos apie tai, kaip šie modeliai apdoroja kalbą.
Kodėl tokenizavimo klaidos sukelia tokį painų elgesį kalbos modeliuose?
Tokenizacija įvyksta dar prieš neuroniniam tinklui pamatant tekstą, todėl bet koks eilučių skaidymo būdas yra įterpiamas į modelio įvesties reprezentaciją. Modelius taip pat galima išnaudoti naudojant tokenizacijos artefaktus, kai specialiai sukurtos eilutės apeina saugos filtrus, būdamos tokenizuojamos netikėtais būdais. Dėl to patikimas tokenizacijos dizainas yra stebėtinai svarbus modelio patikimumui ir saugumui.
Ar yra būdas vizualizuoti, kaip BPE arba „WordPiece“ tokenizuoja konkretų tekstą?
Taip, dauguma šiuolaikinių NLP bibliotekų teikia tam skirtus įrankius. „Hugging Face Transformers“ bibliotekoje yra metodai „tokenizer.decode“ ir „tokenizer.convert_ids_to_tokens“, kurie tiksliai parodo, kaip tekstas yra padalijamas. Taip pat yra žiniatinklio vizualizacijos įrankių, kuriuose galite įvesti tekstą ir matyti paryškintas žetonų ribas. Jie yra neįkainojami derinant netikėtą modelio elgesį ir suprantant, kodėl tam tikros įvesties vertės painioja jūsų sistemą.
Kuo skiriasi BPE nutraukimas nuo standartinio BPE?
BPE išmetimas, pristatytas 2020 m., atsitiktinai praleidžia kai kurias sujungimo operacijas mokymo metu su tam tikra tikimybe. Tai sukuria kelias galiojančias to paties žodžio tokenizacijas, kurios veikia kaip duomenų papildymo forma. Gautas modelis tampa atsparesnis tokenizacijos variacijoms ir paprastai geriau veikia tolesnėse užduotyse, ypač turint ribotus mokymo duomenis. Tai paprastas, bet efektyvus klasikinio BPE algoritmo patobulinimas.
Ar galiu tame pačiame sraute derinti BPE ir „WordPiece“ tokenizacijas?
Techniškai įmanoma, bet praktiškai nerekomenduojama. Skirtingi tokenizeriai sukuria nesuderinamus žetonų ID ir žodyno atvaizdavimus, todėl jų maišymas pareikalautų kruopštaus suderinimo sluoksnių arba pakartotinio tokenizeravimo veiksmų, kurie paprastai pablogina našumą. Jei reikia derinti modelius, naudojant skirtingus tokenizerius, standartinis metodas yra iš naujo apmokyti arba pritaikyti vieną, kad atitiktų kitą, arba naudoti vieningą tokenizerį, pvz., „SentencePiece“, visiems komponentams nuo pat pradžių.

Nuosprendis

Rinkitės BPE, kai dirbate su GPT stiliaus modeliais arba kai jums reikia paprastos ir greitos tokenizacijos, kuri apdoroja įvairų tekstą, įskaitant kodą ir daugiakalbius duomenis. Rinkitės „WordPiece“, kai kuriate BERT pagrindu veikiančiomis architektūromis arba kai norite, kad tokenų ribos labiau atitiktų lingvistines morfemas. Daugumai specialistų sprendimas iš esmės priklauso nuo pasirinkto iš anksto apmokyto modelio.

Susiję palyginimai

„DeepSeek V4“ ir „GPT-4“ klasės modeliai

„DeepSeek V4“ yra kylantis atvirojo svorio didelių kalbų modelis, sukurtas Kinijos dirbtinio intelekto laboratorijoje, o GPT-4 klasės modeliai nurodo „OpenAI“ flagmanines uždarojo kodo sistemas. Šiame palyginime nagrinėjama jų architektūra, galimybės, kainos, prieinamumas ir našumas realiame pasaulyje, siekiant padėti kūrėjams ir įmonėms išmintingai pasirinkti.

„Google“ paieška ir žinių grafiko paieška

„Google“ paieška yra plataus masto žiniatinklio indeksavimo variklis, kurį dauguma žmonių naudoja kasdien, o „Knowledge Graph Search“ yra „Google“ struktūrizuotų objektų duomenų bazė, kurioje pateikiami tiesioginiai atsakymai ir informacijos skydeliai. Supratimas, kuo jie skiriasi, padeda paaiškinti, kodėl kai kurios užklausos pateikia išsamius faktus, o kitos – tradicines mėlynas nuorodas.

„Google“ paieškos algoritmas ir supaprastinti klasės modeliai

„Google“ paieškos algoritmas reitinguoja milijardus tinklalapių, naudodamas mašininį mokymąsi ir šimtus signalų, o supaprastinti klasių modeliai perteikia dirbtinio intelekto koncepcijas į lengvai mokomas, prieinamas sistemas. Viena sistema veikia planetos mastu gamyboje; kita tarnauja kaip pedagoginis tiltas mokiniams, mokantis, kaip iš tikrųjų veikia dirbtinis intelektas.

„Vienas su vienu“ atitikimas aptikimo ir daugelio su vienu atitikimo metodų srityse

„Vienas su vienu“ atitikimo metodas kiekvienam pagrindiniam objektui priskiria vieną numatomą langelį, o „daugelis su vienu“ atitikimo metodas leidžia kelias prognozes suderinti su vienu taikiniu. Abi strategijos formuoja tai, kaip šiuolaikiniai detektoriai, tokie kaip DETR ir „Faster R-CNN“, mokosi lokalizuoti objektus, kiekvienas iš jų turi skirtingus kompromisus tikslumo, mokymo stabilumo ir pasikartojančių aptikimų tvarkymo srityse.

A/B testavimas modelių aptarnavime ir vieno modelio diegime

A/B testavimas modeliuose nukreipia srautą tarp konkuruojančių modelio versijų, kad būtų galima įvertinti realų našumą, o diegiant vieną modelį visiems vartotojams pateikiamas vienas modelis. Komandos renkasi iš jų pagal rizikos toleranciją, srauto kiekį ir statistinio patvirtinimo poreikį prieš visišką diegimą.