Tokenization (NLP) (FA)

From Systems analysis Wiki
Jump to navigation Jump to search

توکن‌سازی (Tokenization) در زمینه مدل‌های زبانی بزرگ (LLM) یک فرآیند بنیادی پیش‌پردازش است که در آن یک رشته متنی به واحدهای کوچک‌تر و قابل مدیریت به نام توکن تقسیم می‌شود. این توکن‌ها سپس به شناسه‌های عددی تبدیل می‌شوند که مدل قادر به پردازش آن‌هاست. توکن‌سازی اولین گام حیاتی محسوب می‌شود، زیرا مستقیماً بر کارایی، بهره‌وری، انصاف و کیفیت درک زبانی مدل تأثیر می‌گذارد.

مفاهیم اساسی

توکن

توکن یک واحد گسسته از متن است که مدل زبانی آن را پردازش می‌کند. بسته به روش توکن‌سازی انتخاب‌شده، یک توکن می‌تواند نمایانگر موارد زیر باشد:

  • یک کلمه کامل (مثلاً «گربه»).
  • بخشی از یک کلمه یا زیرکلمه (subword) (مثلاً «نا-»، «-پذیر-»، «-ی»).
  • یک نویسه منفرد (مثلاً «الف»، «ب»، «پ»).
  • یک بایت (در صورت استفاده از توکن‌سازی byte-level).

به هر توکن منحصربه‌فرد یک شماره شاخص اختصاصی از واژگان توکن‌ساز (vocabulary) تعلق می‌گیرد.

واژگان توکن‌ساز

واژگان (یا vocabulary) مجموعه کامل تمام توکن‌های ممکنی است که مدل می‌تواند تشخیص دهد. اندازه واژگان یک ابرپارامتر مهم است:

  • واژگان بزرگ امکان نمایش کلمات بیشتری به صورت کامل را فراهم می‌کند که درک را بهبود می‌بخشد و طول دنباله‌ها را کاهش می‌دهد، اما اندازه مدل و پیچیدگی آموزش را افزایش می‌دهد.
  • واژگان کوچک فشرده‌تر است، اما تقسیم کلمات نادر یا پیچیده به تعداد بیشتری زیرکلمه را ضروری می‌سازد که می‌تواند دنباله‌ها را طولانی‌تر کرده و درک معنایی را دشوارتر کند.

اندازه واژگان میان مدل‌های مختلف تفاوت زیادی دارد: از حدود ۵۰٬۰۰۰ توکن در GPT-2 تا بیش از ۱۰۰٬۰۰۰ در مدل‌های مدرن مانند GPT-4 (۱۰۰٬۲۷۷) و LLaMA-3 (۱۲۸٬۰۰۰).

روش‌های اصلی توکن‌سازی

سه سطح اصلی دانه‌بندی برای توکن‌سازی وجود دارد.

۱. توکن‌سازی در سطح کلمه (Word-level)

  • اصل: متن بر اساس جداکننده‌ها (فاصله، علائم نگارشی) به کلمات جداگانه تقسیم می‌شود.
  • مزایا: به‌طور شهودی قابل درک است؛ دنباله‌های توکن کوتاه‌تر است که بار محاسباتی را کاهش می‌دهد.
  • معایب:
    • مشکل کلمات ناشناخته (Out-of-Vocabulary, OOV): مدل نمی‌تواند کلماتی را که در واژگان آموزشی نبوده‌اند، و همچنین اشتباهات تایپی و کلمات جدید را پردازش کند.
    • اندازه بزرگ واژگان: نیاز به ذخیره تمام کلمات منحصربه‌فرد وجود دارد که به‌ویژه برای زبان‌های دارای ریخت‌شناسی غنی مشکل‌ساز است.

۲. توکن‌سازی در سطح نویسه (Character-level)

  • اصل: متن به نویسه‌های جداگانه تقسیم می‌شود.
  • مزایا:
    • بدون مشکل OOV: هر کلمه‌ای را می‌توان به صورت دنباله‌ای از نویسه‌ها نمایش داد.
    • واژگان کوچک: محدود به اندازه الفبا و نویسه‌های خاص است.
  • معایب:
    • دنباله‌های طولانی: متن به دنباله‌های بسیار طولانی از توکن‌ها تبدیل می‌شود که هزینه محاسباتی را به‌طور قابل توجهی افزایش می‌دهد.
    • از دست دادن معناشناسی: درک معنا برای مدل دشوارتر می‌شود، زیرا با نویسه‌های جداگانه به جای کلمات کامل کار می‌کند.

۳. توکن‌سازی زیرکلمه‌ای (Subword Tokenization)

این رویکرد میانی و محبوب‌ترین روش امروزی است که مزایای روش‌های قبلی را ترکیب می‌کند.

  • اصل: کلمات پرکاربرد به صورت توکن‌های کامل باقی می‌مانند، در حالی که کلمات نادر یا ناشناخته به بخش‌های کوچک‌تر و معنادار (زیرکلمه) تقسیم می‌شوند.
  • مزایا:
    • به‌طور مؤثر کلمات OOV و تغییرات ریخت‌شناختی را پردازش می‌کند.
    • اندازه واژگان کنترل‌شده.
    • ساختار ریخت‌شناختی کلمات را در بر می‌گیرد.
  • الگوریتم‌های اصلی:
    • Byte Pair Encoding (BPE): الگوریتمی تکراری که با مجموعه‌ای از نویسه‌ها آغاز می‌کند و به تدریج پرتکرارترین جفت‌ها را در توکن‌های جدید ادغام می‌نماید. در مدل‌های GPT استفاده می‌شود. Byte-level BPE، که در GPT-2 و RoBERTa به کار می‌رود، کلمات را به عنوان دنباله‌ای از بایت‌ها در نظر می‌گیرد که مشکل OOV را به‌طور کامل حل می‌کند.
    • WordPiece: الگوریتمی مشابه BPE است، اما برای ادغام جفت‌ها، آن‌هایی را انتخاب می‌کند که درستنمایی داده‌های آموزشی را بیشینه می‌کنند. در مدل‌های BERT استفاده می‌شود.
    • Unigram LM: بر خلاف BPE/WordPiece، این روش با مجموعه بزرگی از زیرکلمه‌ها آغاز می‌کند و به تدریج آن را با حذف توکن‌هایی که کمترین تأثیر را بر احتمال کل پیکره دارند، کاهش می‌دهد. این امر امکان ایجاد چندین توکن‌سازی محتمل برای یک کلمه را فراهم می‌کند (regularization زیرکلمه‌ای).
  • ابزار SentencePiece: کتابخانه‌ای از Google که BPE و Unigram LM را پیاده‌سازی می‌کند و متن را به عنوان جریانی پیوسته از نویسه‌ها پردازش می‌کند، که آن را برای زبان‌های فاقد جداکننده‌های صریح کلمه (مانند چینی) جهانی می‌سازد. در مدل‌های LLaMA و T5 استفاده می‌شود.

توکن‌سازی در LLM‌های چندوجهی

در مدل‌های چندوجهی که نه تنها با متن کار می‌کنند، توکن‌سازی به سایر انواع داده نیز گسترش می‌یابد:

  • توکن‌سازی تصویری: تصاویر به تکه‌های کوچک (patch) (مثلاً ۱۶×۱۶ پیکسل) تقسیم می‌شوند که سپس به بردار-توکن‌هایی مشابه متن تبدیل می‌شوند.
  • توکن‌سازی صوتی: سیگنال‌های صوتی پیوسته به دنباله‌ای از توکن‌های گسسته تبدیل می‌شوند که نمایانگر قطعات کوتاه صدا هستند.
  • رویکرد یکپارچه (TEAL): مفهومی که در آن داده‌های هر وجهیتی ابتدا با توکن‌ساز مربوطه توکن‌سازی می‌شوند و سپس embedding‌های آن‌ها در یک فضای مشترک یکپارچه پردازش می‌شوند.

مشکلات و محدودیت‌ها

توکن‌سازی، علی‌رغم اهمیتش، منشأ بسیاری از مشکلات در عملکرد LLM است:

  • ناسازگاری و حساسیت: تغییرات جزئی در داده‌های ورودی (اشتباه تایپی، حالت حروف، فاصله در انتها) می‌تواند توکن‌سازی را به‌طور اساسی تغییر داده و منجر به رفتار غیرقابل پیش‌بینی مدل شود.
  • مشکلات چندزبانه: یک واژگان یکپارچه برای زبان‌های بسیار اغلب برای زبان‌های کم‌منبع یا دارای ریخت‌شناسی غنی ناکارآمد است و منجر به دنباله‌های بیش از حد طولانی توکن می‌شود.
  • تأثیر بر استدلال: تقسیم غیرمنطقی اعداد (مثلاً «۲۵٬۰۰۰» به «۲۵»، «٬»، «۰۰۰») یا نمادها، انجام وظایف حسابی و نمادین را دشوار می‌سازد.
  • توکن‌های ناقص (Glitch Tokens): توکن‌های غیرعادی یا نادر از داده‌های آموزشی (مثلاً نام‌های کاربری از Reddit) که می‌توانند باعث رفتار غیرقابل پیش‌بینی یا مضر مدل شوند.

چشم‌انداز در حال تکامل و جهت‌های آینده

پژوهش در حوزه توکن‌سازی به‌طور فعال در جهت‌های زیر ادامه دارد:

  • مدل‌های بدون توکن‌ساز: توسعه مدل‌هایی (CANINE، ByT5) که مستقیماً در سطح بایت یا نویسه کار می‌کنند تا مرحله توکن‌سازی صریح و مشکلات مرتبط با آن را به‌طور کامل حذف کنند.
  • توکن‌سازی تطبیقی و قابل آموزش: ایجاد توکن‌سازهایی که می‌توانند به صورت پویا با زبان، حوزه یا حتی متن ورودی خاص سازگار شوند، یا همراه با مدل اصلی آموزش ببینند.
  • رویکردهای شناخت‌محور: توسعه روش‌هایی الهام‌گرفته از علم شناختی در مورد پردازش زبانی انسانی (مثلاً «اصل حداقل تلاش») برای ایجاد توکن‌سازی‌های معنایی‌تر.

پیوندها

  • مروری بر توکن‌سازی در دوره LLM از Hugging Face
  • مستندات توکن‌سازی از 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.