آشنایی با توکنسازی در 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 پشتیبانی کند.