توکن

از ایران پدیا
نسخهٔ تاریخ ‏۳ اکتبر ۲۰۲۶، ساعت ۲۰:۱۵ توسط Alireza k h (بحث | مشارکت‌ها) (صفحه‌ای تازه حاوی «{{جعبه اطلاعات مفهوم | نام = توکن | نام اصلی = Token | نام‌های دیگر = واحد متنی، نشانهٔ زبانی، توکن زبانی | تصویر = | اندازه تصویر = | توضیح تصویر = | حوزه = هوش مصنوعی، پردازش زبان طبیعی، یادگیری ماشین، ه...» ایجاد کرد)
(تفاوت) → نسخهٔ قدیمی‌تر | نمایش نسخهٔ فعلی (تفاوت) | نسخهٔ جدیدتر ← (تفاوت)
پرش به ناوبری پرش به جستجو
توکن
شناسنامه
نام‌های دیگرواحد متنی، نشانهٔ زبانی، توکن زبانی
حوزههوش مصنوعی، پردازش زبان طبیعی، یادگیری ماشین، هوش مصنوعی مولد، زبان‌شناسی رایانشی
خاستگاهعلوم رایانه، زبان‌شناسی رایانشی و پردازش زبان طبیعی
اندیشه و تاریخ
مفاهیم کلیدیتوکن، توکن‌سازی، واژگان، زیرواژه، شناسهٔ توکن، تعبیه، پنجرهٔ زمینه، مدل زبانی، ترنسفورمر
جریان‌های مرتبطپردازش زبان طبیعی، مدل زبانی بزرگ، هوش مصنوعی مولد، یادگیری عمیق، ترنسفورمر
تأثیرپذیرفته اززبان‌شناسی رایانشی، نظریهٔ اطلاعات، آمار، علوم رایانه و یادگیری ماشین
تأثیرگذار برمدل‌های زبانی بزرگ، ترجمهٔ ماشینی، تولید متن، جست‌وجوی معنایی و سامانه‌های گفت‌وگومحور
نقد و ارزیابی

توکن (به انگلیسی: Token) در هوش مصنوعی و پردازش زبان طبیعی واحدی از داده است که متن یا دیگر ورودی‌ها پس از فرایندی موسوم به توکن‌سازی (Tokenization) به آن تقسیم می‌شوند. در مدل‌های زبانی بزرگ، رایانه معمولاً متن را مستقیماً به همان صورتی که انسان آن را به شکل جمله و واژه می‌بیند پردازش نمی‌کند؛ متن ابتدا به مجموعه‌ای از توکن‌ها تبدیل و سپس هر توکن به شناسه‌های عددی و نمایش‌های برداری قابل پردازش برای شبکهٔ عصبی نگاشت می‌شود.

توکن ممکن است یک واژهٔ کامل، بخشی از یک واژه، علامت نگارشی، عدد، فاصله یا در برخی روش‌ها واحدی در سطح نویسه یا بایت باشد. بنابراین تصور رایج که «هر توکن برابر یک کلمه است» دقیق نیست. نحوهٔ تقسیم متن به توکن‌ها به توکنایزر (Tokenizer) و واژگان مدل بستگی دارد.

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

مفهوم توکن

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

فرض کنیم جمله‌ای مانند:

«من امروز کتاب می‌خوانم.»

به یک مدل زبانی داده شود.

یک سامانهٔ ساده ممکن است آن را تقریباً به واحدهایی مانند این تقسیم کند:

«من» ـ «امروز» ـ «کتاب» ـ «می» ـ «خوانم» ـ «.»

اما این تنها یک مثال توضیحی است. توکنایزر واقعی یک مدل ممکن است همین جمله را به شکل متفاوتی تقسیم کند.

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

توکن و واژه

یکی از مهم‌ترین نکات در فهم توکن آن است که:

توکن الزاماً واژه نیست.

یک واژه ممکن است یک توکن باشد، اما ممکن است به دو یا چند توکن تقسیم شود.

برای مثال، یک واژهٔ طولانی یا کم‌کاربرد ممکن است به اجزای کوچک‌تری شکسته شود.

برعکس، بسته به روش توکن‌سازی، بعضی الگوهای پرتکرار ممکن است به‌عنوان یک واحد در واژگان مدل ثبت شوند.

بنابراین رابطهٔ میان تعداد واژه‌های یک متن و تعداد توکن‌های آن ثابت نیست.

چرا مدل‌های زبانی به توکن نیاز دارند؟

رایانه با زبان انسانی به همان صورتی که انسان آن را می‌خواند کار نمی‌کند.

شبکهٔ عصبی در نهایت با اعداد و عملیات ریاضی سروکار دارد.

برای پردازش جمله، ابتدا باید ساختار متنی به مجموعه‌ای از واحدهای مشخص تبدیل شود.

فرایند کلی را می‌توان به صورت ساده چنین نمایش داد:

متن ← توکن‌ها ← شناسه‌های عددی ← بردارهای عددی ← شبکهٔ عصبی

بنابراین توکن واسطه‌ای میان متن قابل خواندن برای انسان و نمایش عددی قابل پردازش توسط مدل است.

توکن‌سازی

توکن‌سازی (Tokenization) فرایند تقسیم داده به واحدهای کوچک‌تر یا توکن‌هاست.

در پردازش زبان طبیعی، روش‌های گوناگونی برای توکن‌سازی وجود دارد.

در سامانه‌های قدیمی‌تر، تقسیم متن بر اساس فاصله میان واژه‌ها یا علائم نگارشی روش رایجی بود.

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

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

برای حل این مشکل، بسیاری از مدل‌های جدید از روش‌های زیرواژه‌ای استفاده می‌کنند.

توکن‌سازی در سطح واژه

در توکن‌سازی واژه‌ای هر واژه می‌تواند یک توکن در نظر گرفته شود.

برای مثال:

«انسان آزاد است»

ممکن است به سه توکن تقسیم شود:

«انسان»  
«آزاد»  
«است»

مزیت این روش سادگی آن است.

اما زبان دارای تعداد بسیار زیادی واژه است. همچنین شکل‌های صرفی و واژه‌های تازه دائماً ایجاد می‌شوند.

اگر هر واژه یک توکن مستقل باشد، مدل به واژگان بسیار بزرگی نیاز خواهد داشت و با واژه‌هایی که قبلاً ندیده است نیز مشکل پیدا می‌کند.

توکن‌سازی در سطح نویسه

روش دیگر تقسیم متن به نویسه‌هاست.

برای مثال:

«کتاب»

می‌تواند به:

«ک» ـ «ت» ـ «ا» ـ «ب»

تقسیم شود.

این روش مشکل واژه‌های ناشناخته را تا حد زیادی کاهش می‌دهد، زیرا مجموعهٔ نویسه‌ها محدود است.

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

توکن‌های زیرواژه‌ای

بسیاری از مدل‌های زبانی جدید از روشی میان دو حالت قبلی استفاده می‌کنند که توکن‌سازی زیرواژه‌ای (Subword Tokenization) نام دارد.

در این روش واژه‌های پرتکرار ممکن است به‌صورت یک توکن باقی بمانند، در حالی که واژه‌های طولانی، نادر یا جدید به چند بخش تقسیم می‌شوند.

برای مثال یک واژهٔ فرضی ممکن است به صورت:

«دانش» + «نامه» + «ای»

تقسیم شود.

تقسیم واقعی کاملاً به واژگان و الگوریتم توکنایزر بستگی دارد.

این روش میان اندازهٔ واژگان و طول توالی نوعی تعادل ایجاد می‌کند.

Byte Pair Encoding

یکی از روش‌های مشهور ساخت واژگان زیرواژه‌ای Byte Pair Encoding یا BPE است.

BPE در اصل روشی برای فشرده‌سازی داده بود و بعدها برای پردازش زبان طبیعی به کار گرفته شد.

در کاربرد زبانی، الگوریتم با واحدهای کوچک آغاز می‌کند و ترکیب‌هایی را که به دفعات زیاد در داده دیده می‌شوند به واحدهای بزرگ‌تر تبدیل می‌کند.

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

این روش و گونه‌های مرتبط با آن در توسعهٔ مدل‌های زبانی جدید اهمیت زیادی یافته‌اند.

SentencePiece

SentencePiece سامانه‌ای برای توکن‌سازی زیرواژه‌ای است که توسط پژوهشگران گوگل توسعه یافت.

یکی از ویژگی‌های آن این است که می‌تواند مستقیماً با متن خام کار کند و الزاماً به جداسازی اولیهٔ واژه‌ها بر اساس فاصله وابسته نیست.

این ویژگی برای زبان‌هایی که مرزبندی واژه در آنها پیچیده‌تر است اهمیت دارد.

SentencePiece از الگوریتم‌هایی مانند BPE و مدل زبانی Unigram پشتیبانی می‌کند.

واژگان مدل

هر مدل زبانی مجموعه‌ای از توکن‌های شناخته‌شده دارد که واژگان یا Vocabulary نامیده می‌شود.

برای هر توکن در این مجموعه معمولاً یک شناسهٔ عددی تعریف می‌شود.

برای مثال، به‌صورت کاملاً فرضی:

«کتاب» → ۷۳۱۴  
«آزادی» → ۱۸۲۵  
«ایران» → ۹۴۲

این اعداد خود دارای معنای زبانی ذاتی نیستند؛ آنها شناسه‌هایی هستند که مدل برای مراجعه به واحدهای واژگان به کار می‌برد.

شناسهٔ توکن

شناسهٔ توکن یا Token ID عددی است که یک توکن مشخص را در واژگان مدل نمایندگی می‌کند.

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

برای مثال، به شکل فرضی:

«من کتاب می‌خوانم»

ممکن است به:

1024، 7842، 325، 9187

تبدیل شود.

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

تعبیه

شناسهٔ عددی توکن به‌تنهایی برای یادگیری روابط پیچیدهٔ زبانی کافی نیست.

مدل معمولاً هر توکن را به یک بردار عددی تبدیل می‌کند.

این نمایش برداری تعبیه (Embedding) نامیده می‌شود.

تعبیه‌ها به شبکهٔ عصبی امکان می‌دهند الگوها و روابط میان واحدهای زبان را در فضایی ریاضی پردازش کند.

به بیان ساده:

توکن ← شناسهٔ توکن ← بردار تعبیه

سپس این بردارها وارد لایه‌های شبکهٔ عصبی می‌شوند.

توکن در مدل‌های زبانی بزرگ

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

مدل در مرحلهٔ آموزش تعداد بسیار زیادی توالی توکن را مشاهده می‌کند و روابط آماری میان آنها را می‌آموزد.

یکی از وظایف بنیادی در بسیاری از مدل‌های زبانی خودرگرسیو، پیش‌بینی توکن بعدی است.

فرض کنیم ورودی چنین باشد:

«تهران پایتخت ...»

مدل با توجه به الگوهایی که آموخته است احتمال توکن‌های مختلف را برای ادامه محاسبه می‌کند.

یکی از گزینه‌های دارای احتمال بالا ممکن است:

«ایران»

باشد.

مدل یک توکن را انتخاب می‌کند و سپس با در نظر گرفتن توکن جدید، مرحلهٔ بعد را تکرار می‌کند.

تولید متن

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

ورودی کاربر
↓
توکن‌سازی
↓
پردازش توکن‌ها
↓
محاسبهٔ احتمال توکن بعدی
↓
انتخاب توکن
↓
افزودن آن به توالی
↓
تکرار فرایند

این چرخه بارها تکرار می‌شود تا پاسخ شکل گیرد.

البته معماری و شیوهٔ استنتاج مدل‌های پیشرفته پیچیده‌تر از این نمایش ساده است.

احتمال توکن بعدی

مدل معمولاً تنها یک پاسخ از پیش ذخیره‌شده را بازیابی نمی‌کند.

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

برای مثال اگر عبارت فرضی چنین باشد:

«آب در دمای صد درجهٔ سانتی‌گراد در فشار استاندارد ...»

برخی توکن‌ها به دلیل الگوهای آموخته‌شده احتمال بیشتری برای ادامه خواهند داشت.

این سازوکار یکی از دلایلی است که مدل می‌تواند متن تازه ایجاد کند.

دما

در برخی سامانه‌های مولد، پارامتری موسوم به دما (Temperature) بر نحوهٔ نمونه‌برداری از توزیع احتمال توکن‌ها اثر می‌گذارد.

در توضیح ساده، دمای پایین‌تر معمولاً انتخاب‌ها را متمرکزتر و قابل پیش‌بینی‌تر می‌کند.

دمای بالاتر می‌تواند احتمال انتخاب گزینه‌های کم‌احتمال‌تر را افزایش دهد و در نتیجه تنوع بیشتری ایجاد کند.

بنابراین خروجی یک مدل الزاماً در هر بار اجرا دقیقاً یکسان نیست.

توکن و ترنسفورمر

معماری ترنسفورمر که در سال ۲۰۱۷ در مقالهٔ Attention Is All You Need معرفی شد، نقش مهمی در توسعهٔ مدل‌های زبانی بزرگ دارد.

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

در کاربردهای زبانی، نمایش‌های مربوط به توکن‌ها وارد شبکه می‌شوند و مدل می‌آموزد که هر بخش از توالی چه رابطه‌ای با بخش‌های دیگر دارد.

برای نمونه، معنای یک واژه در پایان جمله ممکن است به اطلاعاتی در ابتدای همان جمله وابسته باشد.

توکن و سازوکار توجه

سازوکار توجه (Attention) به مدل امکان می‌دهد هنگام پردازش یک توکن، اطلاعات مرتبط در بخش‌های دیگر توالی را وزن‌دهی کند.

این ویژگی برای فهم وابستگی‌های دور در متن اهمیت دارد.

برای مثال در جمله:

«کتابی که دیروز از کتابخانه گرفتم بسیار جالب بود.»

تفسیر «بود» و «جالب» با مفهوم «کتاب» ارتباط دارد، هرچند چند واژه میان آنها قرار گرفته است.

ترنسفورمر می‌تواند چنین روابطی را از طریق سازوکار توجه مدل‌سازی کند.

پنجرهٔ زمینه

پنجرهٔ زمینه (Context Window) به مقدار اطلاعاتی گفته می‌شود که مدل می‌تواند در یک تعامل یا فرایند پردازش در زمینهٔ فعال خود داشته باشد.

این ظرفیت معمولاً بر حسب توکن بیان می‌شود، نه صفحه یا تعداد واژه.

برای مثال، اگر مدلی دارای ظرفیت مشخصی از توکن باشد، مجموع دستورها، متن ورودی، تاریخچهٔ مرتبط و خروجی تولیدشده باید در چارچوب محدودیت‌های سامانه مدیریت شود.

هرچه پنجرهٔ زمینه بزرگ‌تر باشد، مدل می‌تواند حجم بیشتری از متن را در یک فرایند پردازش در اختیار داشته باشد.

چرا پنجرهٔ زمینه اهمیت دارد؟

فرض کنیم کاربر یک کتاب طولانی را به مدل بدهد و بخواهد دربارهٔ بخش‌های مختلف آن پرسش کند.

اگر حجم اطلاعات مورد نیاز از ظرفیت زمینهٔ مدل بیشتر باشد، سامانه باید از روش‌هایی مانند تقسیم متن، بازیابی بخش‌های مرتبط یا مدیریت زمینه استفاده کند.

بنابراین ظرفیت توکن یکی از عوامل تعیین‌کننده در توانایی مدل برای کار با اسناد طولانی است.

توکن و زبان فارسی

توکن‌سازی زبان فارسی ویژگی‌های خاص خود را دارد.

فارسی دارای فاصله، نیم‌فاصله، پیوست‌ها و شکل‌های صرفی گوناگون است.

برای نمونه صورت‌هایی مانند:

«می‌روم»  
«کتاب‌ها»  
«خانه‌هایمان»

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

همچنین تفاوت میان «ی» فارسی و عربی، «ک» فارسی و عربی، فاصله و نیم‌فاصله می‌تواند در پردازش رایانه‌ای متن اهمیت داشته باشد.

تعداد توکن فارسی و انگلیسی

نباید فرض کرد که یک متن فارسی و ترجمهٔ انگلیسی آن الزاماً تعداد توکن یکسانی دارند.

توکنایزر بر اساس داده‌ها و واژگان خاص خود عمل می‌کند.

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

از این رو نسبت «واژه به توکن» عددی ثابت و جهانی نیست.

علائم نگارشی

توکن‌ها فقط شامل واژه‌ها نیستند.

نشانه‌هایی مانند:

.
,
؟
!
:
؛

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

فاصله‌ها و خطوط جدید نیز بسته به توکنایزر می‌توانند در ساختار توکن‌ها نقش داشته باشند.

اعداد

اعداد نیز به توکن تبدیل می‌شوند.

برای مثال:

۱۴۰۵
2026
3.14159

ممکن است هر کدام به یک یا چند توکن تقسیم شوند.

این موضوع یکی از دلایلی است که پردازش اعداد توسط مدل زبانی با محاسبه در یک ماشین‌حساب یکسان نیست.

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

کد برنامه‌نویسی

کد رایانه‌ای نیز می‌تواند توکن‌سازی شود.

برای مثال عبارتی مانند:

print("Hello")

به مجموعه‌ای از توکن‌ها تبدیل می‌شود.

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

به همین دلیل مدل‌های زبانی می‌توانند کد تولید، توضیح و اصلاح کنند.

توکن‌های ویژه

برخی مدل‌ها علاوه بر توکن‌های مربوط به متن، دارای توکن‌های ویژه هستند.

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

برای مثال یک سامانه ممکن است توکن ویژه‌ای برای علامت پایان توالی داشته باشد.

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

توکن و مدل‌های چندوجهی

مفهوم توکن تنها به متن محدود نمی‌شود.

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

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

از این رو مفهوم کلی توکن در هوش مصنوعی جدید می‌تواند فراتر از واژه و متن باشد.

توکن‌های تصویری

در برخی مدل‌های بینایی مبتنی بر ترنسفورمر، تصویر به قطعات یا Patch‌هایی تقسیم می‌شود.

هر قطعه به یک نمایش عددی تبدیل شده و مانند بخشی از یک توالی وارد مدل می‌شود.

در معماری‌های دیگر، تصویر ممکن است ابتدا به فضای نهفته منتقل شود.

بنابراین اصطلاح «توکن تصویری» بسته به معماری مدل می‌تواند معنای فنی متفاوتی داشته باشد.

توکن و صدا

در پردازش گفتار و صوت نیز دادهٔ صوتی می‌تواند به بازنمایی‌هایی تبدیل شود که مدل قادر به پردازش آنها باشد.

برخی سامانه‌ها از واحدهای گسستهٔ صوتی استفاده می‌کنند.

این روش به مدل اجازه می‌دهد الگوهای صوتی را در قالب توالی پردازش کند.

هزینهٔ محاسباتی

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

هرچه ورودی و خروجی طولانی‌تر باشد، مدل باید دادهٔ بیشتری پردازش کند.

در بسیاری از خدمات تجاری هوش مصنوعی، میزان استفاده نیز بر اساس تعداد توکن‌های ورودی و خروجی اندازه‌گیری می‌شود.

اما قیمت و روش محاسبهٔ هزینه به ارائه‌دهنده و مدل بستگی دارد و یک نرخ عمومی برای «توکن» وجود ندارد.

توکن ورودی و خروجی

در خدمات مدل‌های زبانی معمولاً میان دو نوع توکن تمایز گذاشته می‌شود:

توکن ورودی، بخشی از اطلاعاتی است که به مدل داده می‌شود.

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

برای مثال اگر کاربر مقاله‌ای طولانی را برای خلاصه‌سازی ارسال کند، متن مقاله بخش عمدهٔ توکن‌های ورودی را تشکیل می‌دهد و خلاصهٔ تولیدشده توکن‌های خروجی خواهد بود.

توکن و سرعت

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

اگر سامانه‌ای تعداد بیشتری توکن در ثانیه تولید کند، پاسخ متنی معمولاً سریع‌تر ظاهر می‌شود.

با این حال سرعت تنها معیار کیفیت مدل نیست.

دقت، توان استدلال، اندازهٔ زمینه، کیفیت آموزش و قابلیت استفاده از ابزارها نیز اهمیت دارند.

توکن و حافظه

گاهی تصور می‌شود هر توکن نوعی «حافظه» مستقل در مدل است.

این تصور دقیق نیست.

توکن واحد ورودی یا خروجی است، در حالی که دانش آموخته‌شدهٔ مدل عمدتاً در پارامترهای شبکهٔ عصبی و ساختار محاسباتی آن بازنمایی می‌شود.

مدل همچنین ممکن است در زمان استنتاج از زمینهٔ جاری، سامانه‌های بازیابی اطلاعات یا ابزارهای خارجی استفاده کند.

بنابراین:

توکن ≠ حافظه

توکن و پارامتر

توکن و پارامتر دو مفهوم کاملاً متفاوت‌اند.

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

پارامتر مقدار عددی آموخته‌شده در شبکهٔ عصبی است که طی آموزش تنظیم می‌شود.

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

این دو عدد بیانگر دو ویژگی متفاوت مدل هستند.

توکن و پرامپت

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

برای مثال اگر کاربر بنویسد:

«یک مقاله دربارهٔ انقلاب صنعتی بنویس.»

سامانه ابتدا این متن را توکن‌سازی می‌کند.

مدل سپس بر اساس توکن‌های ورودی و دیگر زمینهٔ موجود، توکن‌های پاسخ را تولید می‌کند.

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

توکن و توهم هوش مصنوعی

توکن‌محور بودن مدل‌های زبانی برای فهم پدیدهٔ موسوم به توهم هوش مصنوعی نیز اهمیت دارد.

مدل در تولید متن به دنبال ایجاد ادامه‌ای سازگار با الگوهای آموخته‌شده است.

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

مدل ممکن است توالی‌ای از توکن‌ها ایجاد کند که از نظر زبانی بسیار طبیعی است اما حاوی نام، تاریخ، آمار یا منبع نادرست باشد.

بنابراین احتمال بالای یک توالی زبانی با صحت factual آن یکسان نیست.

توکن و معنا

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

یک توکن ممکن است تنها بخشی از واژه باشد.

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

بنابراین نمی‌توان برای هر توکن الزاماً یک «معنای» ثابت و مستقل در نظر گرفت.

این مسئله تفاوت مهمی میان توکن در علوم رایانه و واژه در زبان‌شناسی سنتی ایجاد می‌کند.

اهمیت توکن در هوش مصنوعی مولد

توکن یکی از بنیادی‌ترین مفاهیم برای فهم نحوهٔ عملکرد هوش مصنوعی مولد متنی است.

بسیاری از ویژگی‌های مدل‌های زبانی با توکن ارتباط دارند:

  • حجم متن قابل پردازش؛
  • طول پاسخ؛
  • سرعت تولید؛
  • هزینهٔ محاسبات؛
  • نحوهٔ نمایش زبان‌های مختلف؛
  • ساختار پنجرهٔ زمینه؛
  • و فرایند تولید متن.

در نتیجه، شناخت مفهوم توکن برای فهم فنی مدل‌های زبانی بزرگ ضروری است.

محدودیت مفهوم توکن

اگرچه توکن واحد عملیاتی مهمی است، نباید آن را با واحد بنیادی اندیشه یا معنا یکی دانست.

توکن حاصل یک تصمیم فنی دربارهٔ نحوهٔ بازنمایی داده است.

دو مدل می‌توانند یک جملهٔ واحد را با دو توکنایزر متفاوت به مجموعه‌های کاملاً متفاوتی از توکن‌ها تقسیم کنند و همچنان معنای جمله را در کاربردهای خود پردازش کنند.

بنابراین مرزهای توکن ویژگی طبیعی و تغییرناپذیر زبان نیستند، بلکه تا حد زیادی محصول طراحی سامانه‌اند.

جمع‌بندی

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

توکن الزاماً یک واژه نیست. ممکن است یک واژه، بخشی از واژه، علامت، عدد یا واحد دیگری از داده باشد. نحوهٔ توکن‌سازی نیز میان مدل‌ها متفاوت است.

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

توکن همچنین واحدی مهم برای تعریف پنجرهٔ زمینه، اندازه‌گیری حجم ورودی و خروجی و در برخی خدمات محاسبهٔ میزان استفاده از مدل است.

درک تفاوت میان توکن، واژه، پارامتر، تعبیه و پنجرهٔ زمینه برای شناخت نحوهٔ عملکرد مدل‌های زبانی بزرگ و هوش مصنوعی مولد اهمیت اساسی دارد.

جستارهای وابسته

منابع


کتاب‌شناسی

  • Goodfellow, Ian, Yoshua Bengio, and Aaron Courville. Deep Learning. Cambridge, MA: MIT Press, 2016.
  • Jurafsky, Daniel, and James H. Martin. Speech and Language Processing. Stanford University.
  • Kudo, Taku, and John Richardson. “SentencePiece: A Simple and Language Independent Subword Tokenizer and Detokenizer for Neural Text Processing.” 2018.
  • Sennrich, Rico, Barry Haddow, and Alexandra Birch. “Neural Machine Translation of Rare Words with Subword Units.” Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics, 2016.
  • Vaswani, Ashish, et al. “Attention Is All You Need.” Advances in Neural Information Processing Systems 30, 2017.