న్యూరల్ నెట్వర్క్లు సంఖ్యలతో పనిచేస్తాయి. మీరు "hello" అనే పదాన్ని చదివినట్లు అవి చదవలేవు. ఏదైనా భాషా మోడల్ టెక్స్ట్ను ప్రాసెస్ చేయడానికి ముందు, దాన్ని టోకన్లు అని పిలువబడే చిన్న సంఖ్యాత్మక ముక్కలుగా విభజించాలి. ఈ సరళంగా కనిపించే దశ AI భాషను అర్థం చేసుకోవడం - మరియు తప్పుగా అర్థం చేసుకోవడం - పై తీవ్ర ప్రభావాలను కలిగి ఉంటుంది.
అత్యంత సరళమైన విధానం: ప్రతి అక్షరాన్ని ఒక టోకన్గా చూడటం. "Hello" ['H', 'e', 'l', 'l', 'o'] అవుతుంది - ఐదు టోకన్లు.
సమస్య ఏమిటంటే? పదాలు హాస్యాస్పదంగా పొడవైన సీక్వెన్స్లుగా మారతాయి. 500-పదాల వ్యాసం 2,500+ అక్షర టోకన్లుగా మారవచ్చు. Transformer మోడల్లు సీక్వెన్స్ పొడవుతో క్వాడ్రాటిక్గా స్కేల్ అవుతాయి కాబట్టి, ఇది కంప్యుటేషనల్గా చాలా కఠినం. అంతకంటే చెడ్డది, వ్యక్తిగత అక్షరాలకు దాదాపు అర్థం ఉండదు - 'c', 'a', 't' కలిసి బొచ్చు జంతువు అని మోడల్ నేర్చుకోవాలి.
వ్యతిరేక తీవ్రత: ప్రతి పదం ఒక టోకన్. "The cat sat" ['The', 'cat', 'sat'] అవుతుంది - కాంపాక్ట్ మరియు అర్థవంతం.
కానీ ఇది భిన్నమైన సమస్యను సృష్టిస్తుంది: వొకాబ్యులరీ విస్ఫోటనం. ఇంగ్లీషులో మాత్రమే లక్షల పదాలు ఉన్నాయి. స్పెల్లింగ్ తప్పులు, టెక్నికల్ పదజాలం, మరియు కోడ్ కలుపుకుంటే, వొకాబ్యులరీ నిర్వహించలేనంతగా అవుతుంది. వొకాబ్యులరీలో లేని ఏదైనా పదం తెలియని [UNK] టోకన్ అవుతుంది - అర్థం చేసుకోవడానికి ఒక డెడ్ ఎండ్.
పద-స్థాయి టోకన్లు ఉపయోగించే మోడల్ "ChatGPT" అనే పదాన్ని మొదటిసారి చూసి, అది వొకాబ్యులరీలో లేకపోతే, అది [UNK] అవుతుంది. కొత్త టెక్నాలజీ గురించి చర్చించే మోడల్ సామర్థ్యాన్ని ఇది ఎలా ప్రభావితం చేస్తుంది?
ఆధునిక భాషా మోడల్లు సబ్వర్డ్ టోకనైజేషన్ ఉపయోగిస్తాయి, ఇది అక్షరాలు మరియు పదాల మధ్యలో ఉంటుంది. సాధారణ పదాలు మొత్తంగా ఉంటాయి ("the", "and"), అరుదైన పదాలు అర్థవంతమైన ముక్కలుగా విభజించబడతాయి ("un" + "believ" + "able").
ఇది నిర్వహించగలిగే వొకాబ్యులరీ (సాధారణంగా 32,000–100,000 టోకన్లు) ఇస్తుంది, ఏ టెక్స్ట్నైనా హ్యాండిల్ చేస్తుంది - మోడల్ ఎప్పుడూ చూడని పదాలతో సహా.
BPE GPT మోడల్ల వెనుక ఉన్న అల్గారిథం. ఇది వొకాబ్యులరీని ఎలా నిర్మిస్తుందో చూడండి:
Sign in to join the discussion
{'h', 'e', 'l', 'o', 'w', 'r', 'd', ' '}."low lower lowest" టెక్స్ట్తో వర్క్డ్ ఉదాహరణ:
| దశ | అత్యంత తరచు జత | కొత్త టోకన్ | వొకాబ్యులరీ పెరుగుతుంది | |------|-------------------|-----------|-----------------| | 1 | l + o | lo | ...lo... | | 2 | lo + w | low | ...low... | | 3 | e + r | er | ...er... | | 4 | low + e | lowe | ...lowe... |
తగినంత మెర్జ్ల తర్వాత, సాధారణ పదాలు మరియు పద భాగాలు డేటా నుండి సహజంగా ఉద్భవిస్తాయి.
BPE మొదట 1994లో డేటా కంప్రెషన్ అల్గారిథంగా కనుగొనబడింది. 2015లో Sennrich et al. దీన్ని NLP కోసం పునర్వినియోగించారు - విభాగాలను దాటి ఆలోచనలు ప్రయాణించే అందమైన ఉదాహరణ.
BERT మరియు సంబంధిత మోడల్లు ఉపయోగిస్తాయి. BPE కి సమానంగా ఉంటుంది, కానీ అత్యంత తరచు జతను మెర్జ్ చేయడానికి బదులుగా, ట్రైనింగ్ డేటా యొక్క లైక్లీహుడ్ ను గరిష్టం చేసే జతను మెర్జ్ చేస్తుంది. సబ్వర్డ్ ముక్కలకు ## ప్రిఫిక్స్ ఉంటుంది (ఉదా., "playing" → ['play', '##ing']).
ఇన్పుట్ను ముడి బైట్ స్ట్రీమ్గా చూస్తుంది - స్పేస్ల ద్వారా ప్రీ-టోకనైజేషన్ లేదు. పదాల మధ్య స్పేస్లు ఉపయోగించని జపనీస్ మరియు చైనీస్ వంటి భాషలకు ఇది కీలకం. GPT-4 మరియు LLaMA SentencePiece-శైలి విధానాలను ఉపయోగిస్తాయి.
GPT-4 దాదాపు 100,000 టోకన్ల వొకాబ్యులరీతో cl100k_base అనే BPE వేరియంట్ ఉపయోగిస్తుంది. కొన్ని ఆశ్చర్యకరమైన ప్రవర్తనలు:
Hello, world - స్పేస్ జోడించబడి ఉందని గమనించండి).ind, iv, isibility - ఇది అరుదైన పదాలను విభజిస్తుంది).def hello(): → ప్రతి కీవర్డ్ మరియు సింబల్ సాధారణంగా దాని స్వంత టోకన్.భాషా మోడల్లు పూర్తి పదాలకు బదులుగా సబ్వర్డ్ టోకనైజేషన్ ఎందుకు ఉపయోగిస్తాయి?
| వొకాబ్యులరీ సైజ్ | ప్రయోజనాలు | అసౌకర్యాలు | |----------------|------|------| | చిన్న (8k) | చిన్న మోడల్, తక్కువ ఎంబెడ్డింగ్లు | పొడవైన సీక్వెన్స్లు, నెమ్మదైన ప్రాసెసింగ్ | | పెద్ద (100k+) | చిన్న సీక్వెన్స్లు, సమృద్ధ టోకన్లు | పెద్ద ఎంబెడ్డింగ్ టేబుల్, ఎక్కువ మెమరీ |
సరైన సమతుల్యం కనుగొనడం అనేది మోడల్ వేగం, మెమరీ, మరియు సామర్థ్యాన్ని ప్రభావితం చేసే ఇంజనీరింగ్ నిర్ణయం.
ప్రధానంగా ఇంగ్లీష్ టెక్స్ట్పై ట్రైన్ చేయబడిన టోకనైజర్లు పక్షపాతమైనవి. హిందీ లేదా అరబిక్లో అదే వాక్యానికి ఇంగ్లీష్ సమానమైన దాని కంటే 3–5× ఎక్కువ టోకన్లు అవసరం కావచ్చు, ఎందుకంటే ఆ లిపులు ట్రైనింగ్ డేటాలో తక్కువగా ప్రాతినిధ్యం వహించాయి. దీని అర్థం:
అదే వాక్యానికి హిందీలో ఇంగ్లీష్ కంటే ఎక్కువ API టోకన్లు ఎందుకు ఖర్చు అవచ్చు?
GPT-4, Claude, లేదా Gemini కి ప్రతి API కాల్ టోకన్కు బిల్ చేయబడుతుంది. టోకనైజేషన్ను అర్థం చేసుకోవడం మీకు సహాయపడుతుంది:
ఇంగ్లీష్ కోసం ఒక సమీప నియమం: 1 టోకన్ ≈ ¾ పదం, లేదా దాదాపు 4 అక్షరాలు.
1,000-పదాల ఇంగ్లీష్ వ్యాసం సుమారుగా ఎన్ని టోకన్లు?
OpenAI యొక్క ఓపెన్-సోర్స్ tiktoken లైబ్రరీ GPT-4 ఉపయోగించే అదే అల్గారిథంతో స్థానికంగా టెక్స్ట్ను టోకనైజ్ చేయడానికి అనుమతిస్తుంది. మీ సందేశాలకు నిజంగా ఎన్ని టోకన్లు ఖర్చవుతాయో చూడటానికి మీ స్వంత రాతపై ప్రయత్నించండి.
మీరు వెల్ష్ వంటి తక్కువ-రిసోర్స్ భాష కోసం భాషా మోడల్ నిర్మిస్తుంటే, న్యాయమైన మరియు సమర్థవంతమైన ఎన్కోడింగ్ నిర్ధారించడానికి టోకనైజేషన్ను ఎలా అనుసరిస్తారు?