مفهوم توکن در LLM ها

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

مفهوم توکن در LLM ها

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

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

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

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

توکن چیست؟

توکن اون چیزیه که LLM باهاش فکر میکنه،

مثلا شما هر سوالی که برای LLM میفرستی، اول تبدیل به توکن میشه. ( فرآیند encoding یعنی همین )

حالا فرآیند تبدیل متن به توکن ( tokenize کردن ) شامل دو مرحله میشه:

  • اول از همه توکنایزر ( در ادامه توضیح میدم که چیه فعلا دنبال زیر بغل مار نگرد ) متن ورودی رو به بخش هایی که براش آشنا هست و از قبل بلده تقسیم میکنه. در ادامه بیشتر توضیح میدم.
  • بعد هر کدوم از اون بخش ها به یک عدد تبدیل میشن.

Pasted image 20260709024704.png

حالا فرآیند Decoding دقیقا برعکس همین Encoding هست:

  • اعداد دوباره به توکن های متنی تبدیل میشن.
  • توکن ها کنار هم قرار میگیرن تا خروجی نهایی ساخته بشه. Pasted image 20260709024736.png

پس روند کلی اینطوریه که توکنایزر میاد و متن ورودی رو به توکن تبدیل میکنه و میدتش دست LLM. بعد LLM این توکن های ورودی ( input tokens ) رو پردازش میکنه و توکن های خروجی ( output tokens ) رو تولید میکنه، در نهایت هم توکن های خروجی دوباره به متن ساده و قابل خوندن تبدیل میشن.

Pasted image 20260709024811.png

برای اینکه موضوع روشن تر بشه باید بگم که input tokens فقط متن مسجی که شما برای LLM تایپ میکنی نیست بلکه شامل conversation history، system prompt و tools ها هم میشه.

در مقابل، output token همون توکن هاییه که LLM در پاسخ شما تولید میکنه.

حالا شما هم برای input tokens و هم output tokens هزینه پرداخت میکنی که نرخشون معمولا متفاوت هست.

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

حالا بریم ببینیم اون توکنایزر که بالا گفتم کیه و چیه و این توکن هارو چطور میسازه.

توکنایزر چیست و توکن ها چطور ساخته میشن؟

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

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

برای ساخت یه توکنایزر، از یک مجموعه بسیاااار بزرگ از متن ها ( corpus ) استفاده میشه و این مجموعه تقریبا همون دیتاییه که خود اون LLM رو باهاش train کردن.

برای ساده تر شدن موضوع، فرض کن که ما این جمله رو داریم:

the cat sat on the mat

حالا یه نگاه به این بنداز تا بعد برات توضیح بدم:

Pasted image 20260709024851.png

خب اول از همه، کاراکتر های جمله جدا میشن:

T H E space C A T space S A T space O N space T H E space M A T

هر کدوم ازین کاراکتر ها میتونن به عنوان یک توکن داخل vocabulary اون LLM ثبت بشن.

بعدش، هر ترکیبی ازین کاراکتر ها که زیاد تکرار شدن شناسایی میشن، مثلا:

  • ترکیب TH دوبار داخل کلمه the دیده میشه
  • ترکیب HE هم دوبار تکرار شده.
  • ترکیب AT هم داخل sat و cat و mat وجود داره

هر کدوم ازین ترکیب ها هم یک توکن جداگانه دریافت میکنن و بعد باهاشون ترکیب های گنده تر ساخته میشن:

TH + HE -> THE

ازونجایی که کلمه the خیلی پر تکراره، خودش هم به عنوان یک توکن مستقل داخل vocabulary ذخیره میشه.

چرا اندازه ی Vocabulary مهمه؟

هدف اینه که Vocabulary تا جای ممکن بزرگ باشه، چون هرچقد تعداد توکن های موجود بیشتر باشه، کلمات با تعداد توکن کمتری نمایش داده میشن و مدل هم سریع تر و بهینه تر اینارو پردازش میکنه و پول کمتری از جیب شما میره بیرون ( یادته که شما داری برای هر توکن پول میدی ) Pasted image 20260709025033.png

الان فرض بگیر که میخوای کلمه understanding رو توکنایز کنی.

  • اگر Vocabulary فقط ۱۰۰۰ تا توکن داشته باشه، ممکنه این کلمه به ۵ توکن تقسیم بشه.
  • اگر ۵۰,۰۰۰ تا توکن داشته باشه، کلمه احتمالا به ۳ تا توکن تقسیم میشه.
  • اگر ۲۰۰,۰۰۰ تا توکن داشته باشه، شاید کلا ۲ تا توکن هم کافی باشه.

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

چه اتفاقی برای کلمات نامعقول میفته؟

توکنایزر معمولا با کلمات رایج و روزمره عملکرد خیلی اوکی و خوبی داره اما وقتی بهش کلمات عجیب غریب بدی، مجبور میشه که اون هارو به تعداد زیادی توکن خرد کنه. Pasted image 20260709025102.png

یعنی اگر شما یه کلمه ای به LLM بدی که داخل Training Data اون LLM وجود نداشته باشه، در واقع LLM مجبور میشه که اون کلمه رو اینقدر خرد کنه تا معنیشو متوجه بشه و در نهایت شما توکن بیشتری میسوزونی و پول بیشتری از جیبت میره.

یه دلیلی که بهتره با مدل ها انگلیسی حرف بزنین همینه، چون توکن کمتری میسوزونن.

جمع بندی

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

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

منبع: AI Hero