Token

Token کوچک‌ترین واحدیه که Model می‌فهمه و تقریباً همه‌چیز، از هزینه و سرعت گرفته تا ظرفیت Context Window، بر اساس تعداد Token ها محاسبه میشه.

توکن کوچک‌ترین واحدیه که یه Model باهاش کار می‌کنه.

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

خیلی‌ها فکر می‌کنن هر کلمه یه Token ـه که خب این همیشه درست نیست. بعضی کلمه‌های رایج فقط یه Token هستن، ولی کلمه‌های طولانی یا عجیب غریب ممکنه به چند Token کوچیک تر تبدیل بشن.

این تبدیل شدن متن به Token ها توسط یه چیز به اسم Tokenizer انجام میشه. Tokenizer یه دیکشنری بزرگ از هزاران تکه‌ی متن داره و هر ورودی رو به نزدیک‌ترین تکه‌های اون دیکشنری تبدیل می‌کنه. بعد هم Model یکی‌یکی Token های بعدی رو پیش‌بینی می‌کنه تا جواب کامل ساخته بشه.

به طور تقریبی، هر Token حدود سه‌چهارم یه کلمه‌ی انگلیسیه. یعنی مثلاً ۱۰۰۰ Token تقریباً معادل ۷۵۰ کلمه میشه. البته برای کد این قانون خیلی دقیق نیست.

کلمه‌هایی مثل function چون خیلی رایجن، معمولا فقط یه Token هستن. ولی رشته‌های عجیب مثل a3f9c2e1 ، base64 ، hash یا اسم‌های تولیدشده توسط برنامه، چون قبلاً زیاد دیده نشدن، به چندین Token تقسیم میشن.

به خاطر همین ممکنه یه فایل از نظر حجم خیلی کوچیک باشه، ولی چون پر از رشته‌های عجیب و غریبه، مقدار زیادی از Context Window رو اشغال کنه.

تقریباً همه‌چیز توی دنیای LLM ها با Token اندازه‌گیری میشه. هزینه بر اساس تعداد Input Tokens و Output Tokens حساب میشه، سرعت مدل با تعداد Tokens در ثانیه سنجیده میشه و ظرفیت Context Window هم با تعداد Token ها مشخص میشه، نه تعداد کلمات یا تعداد فایل‌ها.