Tokenization (NLP) (BN)

From Systems analysis Wiki
Jump to navigation Jump to search

টোকেনাইজেশন বৃহৎ ভাষা মডেলের (LLM) প্রসঙ্গে একটি মৌলিক পূর্ব-প্রক্রিয়াকরণ প্রক্রিয়া, যেখানে একটি পাঠ্য-ক্রমকে ছোট, পরিচালনাযোগ্য একক — যাদের টোকেন বলা হয় — এ বিভক্ত করা হয়। এই টোকেনগুলো তখন সংখ্যাগত শনাক্তকারীতে রূপান্তরিত হয়, যা মডেল প্রক্রিয়া করতে পারে। টোকেনাইজেশন একটি অত্যন্ত গুরুত্বপূর্ণ প্রথম পদক্ষেপ, কারণ এটি মডেলের কার্যক্ষমতা, দক্ষতা, ন্যায্যতা এবং ভাষা-বোধের মানকে সরাসরি প্রভাবিত করে।

মূল ধারণাসমূহ

টোকেন

টোকেন হলো পাঠ্যের একটি বিচ্ছিন্ন একক, যা একটি ভাষা মডেল প্রক্রিয়া করে। নির্বাচিত টোকেনাইজেশন পদ্ধতির উপর নির্ভর করে, একটি টোকেন হতে পারে:

  • একটি সম্পূর্ণ শব্দ (যেমন, «বিড়াল»)।
  • একটি শব্দের অংশ বা সাব-ওয়ার্ড (যেমন, «অ-», «-দেখ-», «-ল»)।
  • একটি পৃথক অক্ষর (যেমন, «ক», «খ», «গ»)।
  • একটি byte (byte-level টোকেনাইজেশনের ক্ষেত্রে)।

প্রতিটি অনন্য টোকেনকে টোকেনাইজারের vocabulary থেকে একটি নির্দিষ্ট সূচক নম্বর প্রদান করা হয়।

টোকেনাইজারের vocabulary

Vocabulary (বা শব্দভান্ডার) হলো সমস্ত সম্ভাব্য টোকেনের একটি সম্পূর্ণ সংগ্রহ, যা মডেল চিনতে পারে। vocabulary-র আকার একটি গুরুত্বপূর্ণ হাইপারপ্যারামিটার:

  • বড় vocabulary বেশি শব্দকে সম্পূর্ণ টোকেন হিসেবে উপস্থাপন করতে পারে, যা বোধগম্যতা উন্নত করে এবং ক্রমের দৈর্ঘ্য হ্রাস করে, তবে মডেলের আকার ও প্রশিক্ষণের জটিলতা বাড়ায়।
  • ছোট vocabulary আরও সংক্ষিপ্ত, তবে বিরল বা জটিল শব্দগুলোকে আরও বেশি সাব-ওয়ার্ডে বিভক্ত করতে হয়, যা ক্রম দীর্ঘায়িত করতে পারে এবং অর্থ উপলব্ধিকে কঠিন করতে পারে।

Vocabulary-র আকার মডেলভেদে উল্লেখযোগ্যভাবে পরিবর্তিত হয়: GPT-2-তে ~৫০,০০০ টোকেন থেকে শুরু করে GPT-4 (১,০০,২৭৭) এবং LLaMA-3 (১,২৮,০০০)-এর মতো আধুনিক মডেলে ১,০০,০০০-এর বেশি।

টোকেনাইজেশনের মূল পদ্ধতিসমূহ

টোকেনাইজেশনের গ্রানুলারিটির তিনটি মূল স্তর রয়েছে।

১. শব্দ-স্তরীয় টোকেনাইজেশন (Word-level)

  • নীতি: বিভাজক (স্পেস, বিরাম চিহ্ন) এর উপর ভিত্তি করে পাঠ্যকে পৃথক শব্দে বিভক্ত করা হয়।
  • সুবিধা: স্বজ্ঞাতভাবে বোধগম্য; টোকেন-ক্রম ছোট, যা গণনামূলক চাপ কমায়।
  • অসুবিধা:
    • অজানা শব্দের সমস্যা (Out-of-Vocabulary, OOV): মডেল এমন শব্দ প্রক্রিয়া করতে পারে না যা প্রশিক্ষণ vocabulary-তে ছিল না, এবং বানান-ভুল বা নতুন শব্দও সমস্যা তৈরি করে।
    • বড় vocabulary আকার: সমস্ত অনন্য শব্দ সংরক্ষণ করতে হয়, যা বিশেষত সমৃদ্ধ রূপমূলতত্ত্বের ভাষার জন্য সমস্যাজনক।

২. অক্ষর-স্তরীয় টোকেনাইজেশন (Character-level)

  • নীতি: পাঠ্যকে পৃথক অক্ষরে বিভক্ত করা হয়।
  • সুবিধা:
    • OOV-এর কোনো সমস্যা নেই: যেকোনো শব্দকে অক্ষরের ক্রম হিসেবে উপস্থাপন করা যায়।
    • ছোট vocabulary: বর্ণমালা ও বিশেষ অক্ষরের আকারে সীমাবদ্ধ।
  • অসুবিধা:
    • দীর্ঘ ক্রম: পাঠ্য অত্যন্ত দীর্ঘ টোকেন-ক্রমে রূপান্তরিত হয়, যা গণনামূলক ব্যয় উল্লেখযোগ্যভাবে বাড়ায়।
    • অর্থের ক্ষতি: মডেলের পক্ষে অর্থ উপলব্ধি করা কঠিন হয়, কারণ এটি পুরো শব্দের পরিবর্তে পৃথক অক্ষর নিয়ে কাজ করে।

৩. সাব-ওয়ার্ড টোকেনাইজেশন (Subword Tokenization)

এটি একটি মধ্যবর্তী এবং আজকের সবচেয়ে জনপ্রিয় পদ্ধতি, যা পূর্ববর্তী পদ্ধতিগুলোর সুবিধাগুলো একত্রিত করে।

  • নীতি: ঘন ঘন ব্যবহৃত শব্দগুলো সম্পূর্ণ টোকেন হিসেবে থাকে, আর বিরল বা অজানা শব্দগুলো আরও ছোট, অর্থবহ অংশে (সাব-ওয়ার্ড) বিভক্ত হয়।
  • সুবিধা:
    • OOV শব্দ এবং রূপমূলগত বৈচিত্র্য দক্ষতার সাথে পরিচালনা করে।
    • নিয়ন্ত্রিত vocabulary আকার।
    • শব্দের রূপমূলগত গঠন ধারণ করে।
  • মূল অ্যালগরিদমসমূহ:
    • Byte Pair Encoding (BPE): একটি পুনরাবৃত্তিমূলক অ্যালগরিদম, যা অক্ষরের সেট দিয়ে শুরু করে এবং ক্রমান্বয়ে সবচেয়ে ঘন ঘন পাওয়া জোড়াগুলো নতুন টোকেনে একত্রিত করে। GPT মডেলে ব্যবহৃত হয়। Byte-level BPE, GPT-2 এবং RoBERTa-তে ব্যবহৃত, শব্দগুলোকে byte-এর ক্রম হিসেবে বিবেচনা করে, যা OOV-সমস্যা সম্পূর্ণভাবে সমাধান করে।
    • WordPiece: BPE-এর মতো একটি অ্যালগরিদম, তবে জোড়া একত্রিত করার জন্য এটি সেই জোড়াগুলো বেছে নেয় যা প্রশিক্ষণ ডেটার সম্ভাব্যতা সর্বাধিক করে। BERT মডেলে ব্যবহৃত হয়।
    • Unigram LM: BPE/WordPiece-এর বিপরীতে, এই পদ্ধতি একটি বড় সাব-ওয়ার্ড সেট দিয়ে শুরু করে এবং ধীরে ধীরে সেটি ছোট করে, সেই টোকেনগুলো সরিয়ে যা কর্পাসের সামগ্রিক সম্ভাব্যতাকে সবচেয়ে কম প্রভাবিত করে। এটি একটি শব্দের জন্য একাধিক সম্ভাব্য টোকেনাইজেশন তৈরি করতে দেয় (সাব-ওয়ার্ড রেগুলারাইজেশন)।
  • SentencePiece টুলকিট: Google-এর একটি লাইব্রেরি, যা BPE এবং Unigram LM বাস্তবায়ন করে এবং পাঠ্যকে একটি অবিচ্ছিন্ন অক্ষর-প্রবাহ হিসেবে প্রক্রিয়া করে, যা চীনা ভাষার মতো স্পষ্ট শব্দ-বিভাজক ছাড়া ভাষার জন্য এটিকে সর্বজনীন করে তোলে। LLaMA এবং T5 মডেলে ব্যবহৃত হয়।

মাল্টিমোডাল LLM-এ টোকেনাইজেশন

মাল্টিমোডাল মডেলে, যা শুধু পাঠ্য নয় অন্যান্য ধরনের ডেটা নিয়েও কাজ করে, টোকেনাইজেশন অন্যান্য ডেটা-ধরনেও প্রসারিত হয়:

  • ভিজ্যুয়াল টোকেনাইজেশন: ছবিগুলো ছোট patch-এ (যেমন, ১৬x১৬ পিক্সেল) বিভক্ত করা হয়, যা তখন পাঠ্য টোকেনের অনুরূপ ভেক্টর-টোকেনে রূপান্তরিত হয়।
  • অডিও টোকেনাইজেশন: অবিচ্ছিন্ন অডিও সংকেতগুলো বিচ্ছিন্ন টোকেনের ক্রমে রূপান্তরিত হয়, যা শব্দের ছোট খণ্ড উপস্থাপন করে।
  • একীভূত পদ্ধতি (TEAL): একটি ধারণা যেখানে যেকোনো মোডালিটির ডেটা প্রথমে সংশ্লিষ্ট টোকেনাইজার দিয়ে টোকেনাইজ করা হয়, তারপর তাদের embedding একটি একক যৌথ স্থানে প্রক্রিয়া করা হয়।

সমস্যা ও সীমাবদ্ধতা

টোকেনাইজেশন, তার গুরুত্ব সত্ত্বেও, LLM-এর কার্যক্রমে অনেক সমস্যার উৎস:

  • অসঙ্গতি ও সংবেদনশীলতা: ইনপুটে ছোট পরিবর্তন (বানান-ভুল, বড়-ছোট হাতের পার্থক্য, শেষে স্পেস) টোকেনাইজেশনকে আমূল বদলে দিতে পারে, যা মডেলের অপ্রত্যাশিত আচরণের দিকে নিয়ে যায়।
  • বহুভাষিক সমস্যা: অনেক ভাষার জন্য একটি একক vocabulary প্রায়ই স্বল্প-সম্পদ বা রূপমূলগতভাবে সমৃদ্ধ ভাষার জন্য অকার্যকর হয়, ফলে অতিরিক্ত দীর্ঘ টোকেন-ক্রম তৈরি হয়।
  • যুক্তিতর্কের উপর প্রভাব: সংখ্যার অযৌক্তিক বিভাজন (যেমন, «২৫,০০০»-কে «২৫», «,», «০০০»-এ ভাগ করা) বা প্রতীকের বিভাজন গাণিতিক ও প্রতীকী কাজ সম্পাদনকে কঠিন করে তোলে।
  • Glitch Tokens: প্রশিক্ষণ ডেটা থেকে আসা অস্বাভাবিক বা বিরল টোকেন (যেমন, Reddit ব্যবহারকারীর নাম), যা মডেলের অপ্রত্যাশিত বা ক্ষতিকর আচরণ ঘটাতে পারে।

বিকাশমান দৃশ্যকল্প ও ভবিষ্যৎ দিকনির্দেশনা

টোকেনাইজেশন ক্ষেত্রে গবেষণা সক্রিয়ভাবে নিম্নলিখিত দিকগুলোতে পরিচালিত হচ্ছে:

  • টোকেনাইজার-মুক্ত মডেল: এমন মডেলের (CANINE, ByT5) উন্নয়ন যা সরাসরি byte বা অক্ষর স্তরে কাজ করে, যাতে স্পষ্ট টোকেনাইজেশনের ধাপ এবং এর সাথে সম্পর্কিত সমস্যাগুলো সম্পূর্ণভাবে দূর করা যায়।
  • অভিযোজিত ও প্রশিক্ষণযোগ্য টোকেনাইজেশন: এমন টোকেনাইজার তৈরি যা ভাষা, ডোমেন বা এমনকি নির্দিষ্ট ইনপুট পাঠ্যে গতিশীলভাবে অভিযোজিত হতে পারে, অথবা মূল মডেলের সাথে যৌথভাবে প্রশিক্ষিত হয়।
  • জ্ঞানতাত্ত্বিকভাবে অনুপ্রাণিত পদ্ধতি: মানব ভাষা প্রক্রিয়াকরণ সম্পর্কিত জ্ঞানীয় বিজ্ঞান থেকে অনুপ্রাণিত পদ্ধতির উন্নয়ন (যেমন, «ন্যূনতম প্রচেষ্টার নীতি»), আরও অর্থগতভাবে সুসংহত টোকেনাইজেশন তৈরির জন্য।

তথ্যসূত্র

  • Hugging Face-এর LLM কোর্স থেকে টোকেনাইজেশনের ওভারভিউ
  • Mistral AI-এর টোকেনাইজেশন ডকুমেন্টেশন

সাহিত্য

  • Schuster, M.; Nakajima, K. (2012). Japanese and Korean Voice Search. PDF.
  • Sennrich, R.; Haddow, B.; Birch, A. (2016). Neural Machine Translation of Rare Words with Subword Units. arXiv:1508.07909.
  • Kudo, T.; Richardson, J. (2018). SentencePiece: A Simple and Language-Independent Subword Tokenizer and Detokenizer for Neural Text Processing. arXiv:1808.06226.
  • Kudo, T. (2018). Subword Regularization: Improving Neural Network Translation Models with Multiple Subword Candidates. arXiv:1804.10959.
  • Song, X. et al. (2021). Fast WordPiece Tokenization. ACL-Anthology.
  • Mielke, S. J.; Dalmia, S.; Cotterell, R. (2021). A Brief History of Open-Vocabulary Modeling and Tokenization in NLP. arXiv:2112.10508.
  • Xue, J. et al. (2022). ByT5: Towards a Token-Free Future with Pre-trained Byte-to-Byte Models. arXiv:2105.13626.
  • Clark, J. H. et al. (2022). CANINE: Pre-Training an Efficient Tokenization-Free Encoder for Language Representation. arXiv:2103.06874.
  • Limisiewicz, T.; Balhar, J.; Mareček, D. (2023). Tokenization Impacts Multilingual Language Modeling. arXiv:2305.17179.
  • Pourmostafa Roshan Sharami, J.; Shterionov, D.; Spronck, P. (2023). A Systematic Analysis of Vocabulary and BPE Settings for Optimal Fine-Tuning of NMT. arXiv:2303.00722.
  • Batsuren, K. et al. (2024). Evaluating Subword Tokenization: Alien Subword Composition and OOV Generalization Challenge. arXiv:2404.13292.
  • Chai, Y. et al. (2024). Tokenization Falling Short: On Subword Robustness in Large Language Models. arXiv:2406.11687.