توکن هوش مصنوعی چیست؟ به زبان ساده، توکن کوچیکترین واحد متنی هست که یه مدل زبانی بزرگ باهاش کار میکنه. قبل از اینکه مدل بتونه یه جمله رو پردازش کنه، اون جمله تیکهتیکه میشه به قطعات کوچیکتر، این قطعات ممکنه یه کلمه کامل باشن، بخشی از یه کلمه، یا حتی فقط یه علامت نگارشی. مدل بهجای اینکه متن خام رو بخونه، با همین قطعات کار میکنه.
اگه بخوای خلاصهش کنی، توکن همون واحد پایهایه که کل دنیای هوش مصنوعی امروز روش میچرخه. از هزینهای که بابت یه API پرداخت میکنی، تا سرعتی که یه چتبات جوابت رو میده، تا اینکه یه مدل چقدر میتونه از یه سند طولانی یاد بگیره، همه و همه به همین واحد کوچیک برمیگرده. حالا که مفهومش برات روشن شد، دفعه بعد که یه صورتحساب API میبینی یا یه پیغام درباره محدودیت توکن میگیری، دیگه دقیقاً میدونی داره چه اتفاقی میافته.
یه قانون سرانگشتی که خیلی به دردت میخوره اینه: توی زبان انگلیسی، هر توکن تقریباً برابر با چهار کاراکتره، یا حدود سهچهارم یه کلمه. مثلاً جمله سادهای مثل «سلام، چطور میتونم کمکت کنم؟» توی اکثر مدلهای امروزی به حدود هفت توکن تبدیل میشه. کلمات کوتاه و پرکاربرد معمولاً فقط یک توکن حساب میشن، ولی کلمات طولانیتر یا کمکاربردتر ممکنه به چند تیکه شکسته بشن.
توکنسازی یا Tokenization چطور کار میکنه؟
توکنسازی همون فرآیندیه که متن خام رو به شناسههای عددی تبدیل میکنه تا مدل بتونه پردازششون کنه. کامپیوترها اصلاً کلمه نمیفهمن، فقط عدد میفهمن، پس هر تیکه از متن باید یه معادل عددی داشته باشه.
الگوریتمهای اصلی توکنسازی
بیشتر مدلهای زبانی بزرگ امروزی از روشی به اسم Byte-Pair Encoding یا بهاختصار BPE استفاده میکنن، یا از نسخههای مشابهش مثل WordPiece و SentencePiece. این الگوریتمها از روی یه مجموعه داده آموزشی خیلی بزرگ یاد میگیرن که کدوم دنبالههای کاراکتری اونقدر زیاد کنار هم تکرار میشن که ارزش داره بهعنوان یه توکن مستقل در نظر گرفته بشن.
نتیجهش اینه که کلمات پرتکرار معمولاً یک توکن واحد میشن، ولی کلمات نادر به تیکههای کوچیکتر تقسیم میشن. مثلاً یه اسم ساختگی و عجیب ممکنه پنج یا شیش توکن مصرف کنه، در حالی که یه کلمه رایج و پرکاربرد فقط یک توکن حساب میشه.
هر مدل، تعریف خودش از توکن رو داره
نکته مهمی که خیلیها ازش غافلن اینه که مدلهای مختلف، توکنسازهای متفاوتی دارن. یعنی اگه دقیقاً همون جمله رو به GPT، Claude و Gemini بدی، ممکنه سه عدد کاملاً متفاوت برای تعداد توکنها بگیری. این موضوع وقتی خیلی مهم میشه که داری هزینه یه پروژه رو تخمین میزنی یا داری اندازه پنجره متنی چند تا مدل مختلف رو با هم مقایسه میکنی.
توکنسازی فراتر از متن
جالبه بدونی توکنسازی فقط مخصوص متن نیست. مدلهای امروزی که تصویر، صدا یا حتی ویدیو رو پردازش میکنن، اونها رو هم به توکن تبدیل میکنن. برای مدلهای تصویری، پیکسلها به مجموعهای از توکنهای گسسته نگاشت میشن. برای مدلهای صوتی، یه کلیپ کوتاه ممکنه به یه اسپکتروگرام تبدیل بشه، یعنی یه بازنمایی تصویری از موج صدا در طول زمان، که بعد مثل یه تصویر پردازش میشه. بعضی کاربردهای صوتی دیگه هم بهجای تمرکز روی خود صدا، روی معنای گفتار تمرکز میکنن و از توکنهای معنایی استفاده میکنن که بیشتر نماینده مفهوم و زبان هستن تا اطلاعات صرفاً صوتی.
یه مثال جالب برای فهم بهتر ماجرا اینه: فرض کن کلمه انگلیسی darkness رو داریم. این کلمه به دو توکن تقسیم میشه، یکی dark و یکی ness، و هرکدوم یه بازنمایی عددی مخصوص به خودشون دارن. حالا کلمه مخالفش، یعنی brightness، هم دقیقاً به همون شکل به bright و ness تقسیم میشه. اینجا چون بخش ness توی هر دو کلمه مشترکه، مدل میفهمه که این دو کلمه یه جور ارتباط ساختاری با هم دارن. یه نکته جذابتر هم اینه که گاهی یه کلمه واحد، بسته به معنیش توی جمله، عدد توکن متفاوتی میگیره. مثلاً کلمه انگلیسی lie هم میتونه به معنای دراز کشیدن باشه و هم به معنای دروغ گفتن، و مدل توی فرآیند آموزش یاد میگیره این دو معنی رو از هم تشخیص بده و شماره توکن جداگانه بهشون بده.
توکنها در آموزش هوش مصنوعی چه نقشی دارن؟
آموزش یه مدل هوش مصنوعی از توکنسازی کل دیتاست آموزشی شروع میشه. بسته به حجم داده، تعداد توکنهای استفادهشده میتونه به میلیاردها یا حتی تریلیونها برسه. طبق چیزی که بهش قانون مقیاسپذیری پیشآموزش (pretraining scaling law) میگن، هرچی تعداد توکنهای آموزشی بیشتر باشه، کیفیت نهایی مدل معمولاً بهتر میشه.
فرآیند پیشآموزش
توی مرحله پیشآموزش، مدل با یه مجموعه از توکنها روبهرو میشه و ازش خواسته میشه توکن بعدی رو پیشبینی کنه. اگه پیشبینیش درست باشه یا غلط، مدل خودش رو بهروزرسانی میکنه تا حدس بعدیش بهتر بشه. این چرخه بارها و بارها تکرار میشه تا مدل از اشتباهاتش یاد بگیره و به یه سطح مشخص از دقت برسه، که بهش میگن همگرایی مدل یا model convergence.
پسآموزش و تخصصیسازی
بعد از پیشآموزش، نوبت پسآموزش میرسه. اینجا مدل روی زیرمجموعهای از توکنها که مرتبط با کاربرد نهایی هست، بیشتر آموزش میبینه. این توکنها ممکنه اطلاعات تخصصی حوزهای مثل حقوق، پزشکی یا کسبوکار باشن، یا توکنهایی که مدل رو برای یه وظیفه خاص مثل استدلال، گفتگو یا ترجمه آماده میکنن. هدف نهایی اینه که مدل بتونه توکنهای درستی تولید کنه تا بر اساس درخواست کاربر، پاسخ صحیحی ارائه بده. به این مهارت میگن استنتاج یا inference.
توکنها در استنتاج و مدلهای استدلالی چطور کار میکنن؟
توی مرحله استنتاج، یه مدل هوش مصنوعی یه پرامپت دریافت میکنه. این پرامپت بسته به نوع مدل میتونه متن، تصویر، کلیپ صوتی، ویدیو، داده حسگر یا حتی توالی ژنتیکی باشه. مدل این ورودی رو به یه سری توکن ترجمه میکنه، اونها رو پردازش میکنه، پاسخش رو هم بهصورت توکن تولید میکنه، و در نهایت اون رو به فرمتی که کاربر انتظارش رو داره برمیگردونه.
نکته جالب اینه که زبان ورودی و خروجی لزوماً یکی نیست. مثلاً یه مدل که انگلیسی رو به ژاپنی ترجمه میکنه، یا یه مدلی که یه پرامپت متنی رو به تصویر تبدیل میکنه، دقیقاً همین کار رو انجام میده.
پنجره متنی یا context window
برای اینکه مدل بتونه یه پرامپت کامل رو بفهمه، باید بتونه چند تا توکن رو همزمان پردازش کنه. بیشتر مدلها یه محدودیت مشخص دارن که بهش میگن پنجره متنی یا context window، و کاربردهای مختلف به اندازههای متفاوتی از این پنجره نیاز دارن. یه مدل با ظرفیت چند هزار توکن شاید بتونه یه تصویر با کیفیت بالا یا چند صفحه متن رو پردازش کنه. یه مدل با پنجره متنی چند دههزار توکنی شاید بتونه یه رمان کامل یا یه پادکست یکساعته رو خلاصه کنه. بعضی مدلها هم پنجره متنی یک میلیون توکنی یا حتی بیشتر دارن، که به کاربر اجازه میده منابع داده خیلی حجیم رو برای تحلیل وارد کنه.
مدلهای استدلالی و توکنهای فکری
مدلهای استدلالی، که آخرین تحول توی دنیای مدلهای زبانی بزرگ محسوب میشن، سوالهای پیچیدهتر رو با رویکرد متفاوتی نسبت به توکن حل میکنن. این مدلها علاوه بر توکنهای ورودی و خروجی، یه دسته توکن دیگه هم تولید میکنن به اسم توکنهای استدلالی، که ممکنه دقیقهها یا حتی ساعتها طول بکشه تا مدل داره درباره یه مسئله فکر میکنه. این توکنهای استدلالی باعث میشن مدل بتونه پاسخهای بهتری به سوالات پیچیده بده، دقیقاً مثل یه آدم که وقتی زمان کافی برای فکر کردن داشته باشه، جواب بهتری میده. البته این افزایش توکن بهازای هر پرامپت، میتونه بیش از صد برابر قدرت پردازشی بیشتری نسبت به یه پاس استنتاج ساده و معمولی نیاز داشته باشه. به این پدیده میگن مقیاسپذیری زمان آزمون یا همون long thinking.
چرا شمارش توکنها اینقدر اهمیت داره؟
توکنها هم واحد صورتحساب هستن و هم واحد حافظه توی سیستمهای هوش مصنوعی. سه تا اثر عملی و ملموس این موضوع رو با هم مرور کنیم.
- هزینه: تقریباً همه API های تجاری مدلهای زبانی، قیمتگذاریشون بر اساس تعداد توکن هست، با نرخهای جداگانه برای توکنهای ورودی (پرامپت) و توکنهای خروجی (پاسخ تولیدشده). یه پرامپت سیستمی پرحرف یا یه تاریخچه گفتگوی طولانی میتونه بیسروصدا هزینهها رو بالا ببره.
- تأخیر یا latency: زمان تولید پاسخ تقریباً بهصورت خطی با تعداد توکنهای خروجی رابطه داره. یه پاسخ هزار توکنی، حدود ده برابر بیشتر از یه پاسخ صد توکنی طول میکشه تا استریم بشه.
- پنجره متنی: هر مدل یه سقف مشخص برای تعداد توکنهایی داره که میتونه توی یه فراخوانی در نظر بگیره. اگه از این سقف رد بشی، یا باید متن رو کوتاه کنی یا خلاصه کنی، وگرنه مدل نمیتونه کل زمینه رو پردازش کنه.
سقف توکن مدلهای مختلف چقدره؟
پنجرههای متنی توی چند سال اخیر به شکل خیلی سریعی رشد کردن. برای اینکه یه دید کلی و ملموس داشته باشی، جدول زیر رو ببین.
| مدل | ظرفیت پنجره متنی |
|---|---|
| GPT-4o | حدود ۱۲۸ هزار توکن |
| Claude 3.5 Sonnet | حدود ۲۰۰ هزار توکن |
| Gemini 1.5 Pro | تا ۲ میلیون توکن برای مشتریان خاص |
برای اینکه بهتر این اعداد رو حس کنی، حدود صد هزار توکن تقریباً معادل هفتاد و پنج هزار کلمه انگلیسیه، یعنی چیزی در حد یه رمان کوتاه. هرچی پنجره متنی یه مدل بزرگتر باشه، یه ایجنت هوش مصنوعی بهتر میتونه روی سندهای طولانیتر، گفتگوهای طولانیتر و شواهد بازیابیشده غنیتر استدلال کنه، بدون اینکه جزئیات قبلی رو گم کنه.
توکن چطور با مهندسی پرامپت و بازیابی اطلاعات مرتبطه؟
اقتصاد توکن تقریباً روی همه تصمیمات طراحی توی یه سیستم هوش مصنوعی تولیدی اثر میذاره. بخش زیادی از هنر مهندسی پرامپت، همین رسوندن دستورالعملها با کمترین تعداد توکن ممکنه، در حالی که رفتار مطلوب از مدل رو هم همچنان میگیری.
چرا RAG وجود داره؟
تکنیک تولید تقویتشده با بازیابی، یا همون Retrieval-Augmented Generation، تا حد زیادی به همین دلیل به وجود اومده. ارزونتر و دقیقتره که فقط مرتبطترین بخشهای یه پایگاه دانش رو بازیابی کنی، تا اینکه بخوای هر سند ممکن رو توی پرامپت بچپونی.
مدیریت گفتگوهای طولانی
تکنیکهایی که برای مدیریت جلسات گفتگوی طولانیمدت با هوش مصنوعی استفاده میشن، مثل خلاصهسازی، پنجرههای لغزان و حافظههای ذخیرهسازی، دقیقاً برای همین به وجود اومدن که تعداد توکنها رو تحت کنترل نگه دارن.
توکنها چطور اقتصاد هوش مصنوعی رو شکل میدن؟
توی مرحله پیشآموزش و پسآموزش، توکنها معادل سرمایهگذاری روی هوشمندی هستن. توی مرحله استنتاج هم، توکنها هزینه و درآمد رو مستقیماً هدایت میکنن. همینطور که کاربردهای هوش مصنوعی داره گسترش پیدا میکنه، اصول تازهای برای اقتصاد هوش مصنوعی هم داره شکل میگیره.
زیرساختهایی که برای پردازش حجم بالای استنتاج ساخته میشن، عملاً هوشمندی رو برای کاربران تولید میکنن و توکنها رو به بینشهای قابلکسبدرآمد تبدیل میکنن. دقیقاً به همین خاطره که تعداد فزایندهای از سرویسهای هوش مصنوعی، ارزش محصولاتشون رو بر اساس تعداد توکن مصرفشده و تولیدشده اندازه میگیرن و طرحهای قیمتگذاریشون رو بر همین اساس تنظیم میکنن.
مدلهای مختلف قیمتگذاری توکن
بعضی طرحهای قیمتگذاری، یه سقف مشترک بین توکنهای ورودی و خروجی به کاربر میدن. مثلاً یه کاربر میتونه یه پرامپت متنی کوتاه با چند توکن ورودی بفرسته و در ازاش یه پاسخ طولانی با هزاران توکن خروجی بگیره. یا برعکس، یه کاربر ممکنه بیشتر توکنهاش رو صرف ورودی کنه، مثلاً وقتی یه مجموعه سند طولانی رو میده تا مدل خلاصهش کنه.
برای اینکه بتونن حجم بالایی از کاربران همزمان رو پوشش بدن، بعضی سرویسها یه محدودیت توکن در دقیقه هم برای هر کاربر تعیین میکنن.
تجربه کاربری و سرعت پاسخگویی
توکنها تجربه کاربری سرویسهای هوش مصنوعی رو هم مستقیماً شکل میدن. زمان تا اولین توکن (time to first token) یعنی فاصله بین ارسال یه پرامپت توسط کاربر تا شروع پاسخ مدل، و تأخیر بین توکنها (inter-token latency) یعنی سرعت تولید توکنهای بعدی، هر دو تعیین میکنن که کاربر نهایی چطور خروجی یه اپلیکیشن هوش مصنوعی رو تجربه میکنه.
توی چتباتهای مبتنی بر مدلهای زبانی بزرگ، کوتاه کردن زمان تا اولین توکن میتونه تعامل کاربر رو بهتر کنه، چون یه ریتم گفتگوی طبیعیتر و بدون مکثهای غیرطبیعی ایجاد میکنه. بهینهسازی تأخیر بین توکنها هم میتونه کمک کنه که سرعت تولید متن با سرعت خوندن یه آدم معمولی هماهنگ باشه، یا مدلهای تولید ویدیو به نرخ فریم دلخواه برسن. برای مدلهایی که درگیر تفکر طولانی و پژوهش هستن، تمرکز بیشتر روی کیفیت توکنهای تولیدشدهست، حتی اگه این کار یهکم تأخیر بیشتر رو هم به همراه داشته باشه. توسعهدهندهها باید بین همه این معیارها تعادل درستی برقرار کنن تا بتونن تجربه کاربری باکیفیت رو با بازدهی و توان عملیاتی بهینه ارائه بدن.
توکن در هوش مصنوعی پشتیبانی مشتری چه نقشی داره؟
برای ایجنتهای هوش مصنوعی که مکالمات پشتیبانی مشتری رو مدیریت میکنن، مصرف توکن عملاً موتور پنهان اقتصاد واحد هر تیکته. یه تیکت واحد که به نتیجه میرسه، ممکنه شامل یه پرامپت سیستمی، پیام مشتری، چند تا قطعه بازیابیشده از پایگاه دانش، یه زنجیره از فراخوانی ابزارها و در نهایت یه پاسخ نهایی باشه، و هر مرحله از اینها توکن مصرف میکنه.
تیمهایی که مصرف توکن بهازای هر مکالمه حلشده رو زیر نظر دارن، میتونن پرامپتهای ناکارآمد، بازیابیهای بیشازحد بزرگ، یا حلقههای فراخوانی ابزار که کنترلنشده تکرار میشن رو زودتر شناسایی کنن، قبل از اینکه به شکل یه صورتحساب غیرمنتظره و سنگین خودشون رو نشون بدن. ابزارهای مانیتورینگ هوش مصنوعی هم معمولاً همین شاخص، یعنی توکن بهازای هر مکالمه، رو بهعنوان یکی از معیارهای اصلیشون دنبال میکنن.