آشنایی با توکن‌سازی در Transformers

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

اصلی‌ترین تغییرات در نسخه v5

  • جداکردن معماری توکنایزر از واژگان آموزش‌داده‌شده.
  • یک فایل، یک بک‌اند: همه‌ی توکنایزرها از یک مسیر تابع هستند.
  • از کتابخانه‌ی tokenizers برای عملکرد سریع‌تر بهره برده شد.
  • AutoTokenizer به‌صورت خودکار بهترین کلاس را بر اساس پارامترهای مدل انتخاب می‌کند.
  • پشتیبانی کامل از backends مختلف مانند PythonBackend و SentencePieceBackend.
  • امکان آموزش توکنایزر سفارشی از صفر برای هر مدل خاص.

چگونگی استفاده و آموزش در پروژه‌های هوش مصنوعی

در افزوده‌ی v5، توسعه‌دهندگان می‌توانند یک توکنایزر جدید را به‌وسیله‌ی یک فایل پیکربندی و پس‌زمینه‌ی دلخواه تعریف کنند. برای مثال، اگر بخواهید مدل bert-base-uncased را با توکنایزر جدید آموزش دهید، کافی است از AutoTokenizer استفاده کنید و مسیر ماژول جدید را مشخص کنید. همچنین API جدید مستند شده تا بیادماند.

پرسش‌های پرتکرار

توکن‌سازی در Transformers v5 چه تفاوتی با v4 دارد و چرا این تغییر مهم است؟

در v4 توکن‌سازی به‌صورت تاریک و پیوسته بود؛ تمام تنظیمات داخل مدل جمع شده بود، که سخت بود تغییر، مقیاس‌پذیری و بهینه‌سازی. نسخه‌ی v5 ساختار معماری را از واژگان آموزش‌داده شده جدا می‌کند، اجازه می‌دهد تا هر مدل بتواند به‌صورت منظم و با پارامترهای واضحی توکنایزر خود را تعریف کند؛ در نتیجه توسعه، نگهداری و اشتراک‌گذاری ساده‌تر می‌شود.

با چه شیوه‌ای می‌توان یک توکنایزر سفارشی برای مدل خاص آموزش داد؟

دسترسی به <code>AutoTokenizer</code> و تعیین مسیر یا پارامترهای مدل مورد نظر. ابتدا یک فایل پیکربندی YAML یا JSON ایجاد می‌کنید، سپس از کلاس <code>CustomTokenizer</code> که از <code>PreTrainedTokenizerBase</code> ارث می‌برد، یک نمونه ایجاد می‌کنید و با متدهای <code>train</code> و <code>save_pretrained</code> آن را آموزش داده و ذخیره می‌کنید. این روش برای هر مدل‌ای قابل استفاده است که از v5 پشتیبانی کند.