آموزشمدل‌های زبانی بزرگ (LLM)

درس ۸ از ۸۵، هوش مصنوعی، حدود ۱۵ دقیقه خواندن

توکن در هوش مصنوعی چیست

جواب کوتاه

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

آجرهای متن

وقتی به یه چت‌بات می‌نویسید «سلام، حالت خوبه؟»، مدل این جمله رو این‌جوری نمی‌بینه. اول این جمله به چند تا آجر شکسته می‌شه، مثل آجرهای لگو:

به هر کدوم از این آجرها می‌گن یه توکن. توکن کوچک‌ترین واحدیه که مدل زبانی باهاش کار می‌کنه. توی درس مدل زبانی بزرگ چیست بهشون گفتیم «تکه»؛ این‌جا از نزدیک نگاهشون می‌کنیم.

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

توکن چقدره

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

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

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

تکه به عدد

اون شماره‌ها از کجا میان؟ هر مدل یه فهرست ثابت از همه‌ی تکه‌هایی که می‌شناسه داره، و به هر تکه یه شماره داده:

به این فهرست می‌گن واژه‌نامه‌ی مدل، و معمولا ده‌ها یا صدها هزار تکه داره. شماره‌ها خودشون معنایی ندارن؛ ۴۲۱۱ از ۳۰۷۵ «بیشتر» نیست، فقط یه برچسبه. کار سه قدم داره: اول متن به تکه‌ها شکسته می‌شه، بعد هر تکه شماره‌ش رو از واژه‌نامه می‌گیره، و بعد هر شماره به یه بردار از عددها تبدیل می‌شه که معنی اون تکه رو نگه می‌داره؛ همون امبدینگ.

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

چرا تکه

چرا این‌قدر پیچیده؟ چرا مدل حرف به حرف یا کلمه به کلمه نمی‌خونه؟ هر کدوم یه مشکل داره:

اگه حرف به حرف بخونه، همون جمله‌ی کوتاه ما ۱۴ تکه می‌شه. دنباله‌ها خیلی بلند می‌شن، و هر حرف تنها، مثل «ل» یا «ا»، تقریبا هیچ معنایی نداره؛ مدل باید خیلی زحمت بکشه تا از حرف‌ها معنی بسازه.

اگه کلمه به کلمه بخونه، جمله فقط ۳ تکه می‌شه، ولی واژه‌نامه بی‌انتها می‌شه: همه‌ی شکل‌های همه‌ی کلمه‌ها، همه‌ی اسم‌ها، همه‌ی غلط‌های تایپی. و هر کلمه‌ای که توی واژه‌نامه نباشه، مثلا یه اسم تازه، برای مدل ناشناخته‌ست.

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

همه‌چیز به توکن

شاید فکر کنید توکن یه جزئیات فنیه که به شما ربطی نداره. ولی تقریبا هر عددی که درباره‌ی یه مدل می‌شنوید، به توکن شمرده می‌شه:

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

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

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

قیمت و تخمین توکن

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

توی جدول قیمت Claude، برای یکی از مدل‌ها، هر میلیون توکن خروجی پنج برابر هر میلیون توکن ورودی قیمت داره. یعنی جواب بلند، خیلی بیشتر از سوال بلند خرج داره. یه چیز جالب‌تر هم توی همون جدوله: اگه اول پرامپت شما، مثلا یه سند بلند یا پیام سیستمی، بارها تکرار بشه، می‌شه نگهش داشت و دفعه‌های بعد با قیمتی خیلی کمتر، برای اون مدل یک دهم، دوباره خوندش. به این نگه داشتن، کش کردن پرامپت (Prompt Caching) می‌گن.

برای تخمین زدن، واژه‌نامه‌ی Claude می‌گه برای انگلیسی هر توکن به طور میانگین حدود ۳٫۵ حرفه، و برای زبان‌های دیگه فرق می‌کنه. ولی دقیق‌ترین راه شمردن واقعیه: سازنده‌ها معمولا یه شمارنده‌ی توکن می‌دن که می‌گه یه متن برای مدلشون دقیقا چند توکنه. چون هر مدل توکن‌ساز خودش رو داره، یه متن برای دو مدل مختلف می‌تونه دو عدد مختلف بشه.

عکس هم توکنه

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

راهنمای Claude می‌گه مدل عکس رو پیکسل‌به‌پیکسل نمی‌بینه، تیکه‌تیکه می‌بینه: هر تیکه یه مربع ۲۸ در ۲۸ پیکسلیه و یه «توکن تصویری» حساب می‌شه. پس یه عکس ۱۰۰۰ در ۱۰۰۰ پیکسل، ۳۶ تیکه در عرض و ۳۶ تیکه در طول، روی هم ۱۲۹۶ توکن می‌شه؛ تقریبا اندازه‌ی چند صفحه متن. عکس‌های خیلی بزرگ هم پیش از دیدن کوچیک می‌شن تا تعداد توکنشون از یه حد بالاتر نره.

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

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

توی واژه‌نامه، کنار تکه‌های معمولی متن، چند تا توکن ویژه هم هست که متن نیستن؛ علامت‌های کنترلی‌ان. مثلا یه توکن برای «این‌جا متن تموم شد»؛ همونی که وقتی مدل انتخابش می‌کنه، جواب تموم می‌شه. یه توکن برای «ناشناخته»، برای چیزی که توی واژه‌نامه نیست. توی بعضی مدل‌ها یه توکن برای «این‌جا پوشیده‌ست»، برای بازی جای خالی موقع آموزش.

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

چند نکته

  • توکن، کلمه نیست. یه کلمه می‌تونه یه توکن باشه یا چند تا.
  • هر مدل برش خودش رو داره. یه متن توی دو مدل، دو تعداد توکن متفاوت می‌شه.
  • متن طولانی یعنی توکن بیشتر. هم پنجره رو زودتر پر می‌کنه، هم گرون‌تره.
  • بعضی رفتارهای عجیب مدل از توکن میاد. مثلا اینکه حرف‌های یه کلمه رو بد می‌شمره؛ درس چرا مدل حرف‌ها رو بد می‌شمره.

درس بعد نشون می‌ده متن دقیقا چطوری به این تکه‌ها شکسته می‌شه: توکن‌سازی.

جمع‌بندی. آنچه از این درس با خودتان می‌برید.

  • توکن: یه تکه‌ی متن، از یه حرف تا یه کلمه.
  • هر تکه یه شماره؛ مدل فقط شماره می‌بینه.
  • تکه، وسط حرف و کلمه؛ کلمه‌ی تازه رو هم می‌سازه.
  • حافظه، طول جواب و قیمت، به توکن.
  • برش هر مدل فرق داره.

خودتون رو بسنجید

۱۵ پرسش، هر بار تازه از میان ۳۰ پرسش این درس. آخرش فقط کارنامه رو می‌بینید: چند تا درست، چند تا نادرست.

خودتون رو بسنجید

۱۵ پرسش

  • هر بار پرسش‌ها و ترتیب گزینه‌ها عوض می‌شه.
  • تا آخر نمی‌گیم کدوم جواب درست بوده؛ می‌تونید برگردید و جوابتون رو عوض کنید.
  • آخرش کارنامه می‌گیرید: چند تا درست، چند تا نادرست.
  • اگه وسطش بستید، دوباره که باز کنید از همون‌جا ادامه می‌دید.

فصل‌های این درس

درس بعد