اگر مقالهی حاضر از هامیا ژورنال را مطالعه میکنید، بدون شک از طرفداران و علاقهمندان هوش مصنوعی و مدلهای زبانی بزرگ هستید. تیم نویسندگان مقالات هامیا ژورنال در دسته بندی هوش مصنوعی در تلاش است تا با پوشش اخبار به روز در حوزه هوش مصنوعی، اطلاعاتی جامع و همچنین ترند را در قالب مقالات تخصصی به سمع و نظر علاقه مندان حوزه هوش مصنوعی قرار دهد. مقالات منتشر شده در این دسته بندی همگی به بررسی تخصصیترین مفاهیم موجود در این حوزه میپردازد. در این مقاله نیز به بررسی چندین مفاهیم تخصصی موجود در حوزه مدلهای زبانی بزرگ مانند مدلهای هوش مصنوعی شرکت OpenAI، شرکت Anthropic و مدل Claude، شرکت گوگل و مدل Gemini، شرکت مایکروسافت و Copilot، مدل هوش مصنوعی شرکت متا و غیره پرداخته خواهد شد. مقالهی زیر به جهت درک هر چه بهتر مدلهای هوش مصنوعی بسیار حائز اهمیت است؛ چرا که مفاهیمی که به بررسی تخصصی آنها در این مقاله پرداخته میشود، از ملزومات درک صحیح از کارکرد مدلهای زبانی بوده که میتواند به کاربران نیز کمک کند تا به صورت منطقی از این گونه مدلها و چت باتها استفاده کنند و خروجیهای بسیار منطقی و نیز بدور از هرگونه توهم دریافت کنند.
بهترین مدلهای زبانی بزرگ (LLM) در سال 2024
این مقاله به صورت کلی به بررسی مفاهیمی همچون توکن (Token)، محدودیت توکن (Token limit)، توکنایزیشن (Tokenization)، پنجره کانالی (Context Window)، بیشترین خروجی (Max output) و دیگر مباحث مرتبط میپردازد. با درک صحیح این تعاریف، میتوانید آموختههای خود را در پرامپتها و دستورات خود اعمال کنید. پس از آن افسار هوش مصنوعی در دستان شماست و میتوانید از قابلیتهای خارق العاده هوش مصنوعی بهرهمند شوید و چندین پله در زندگی و کار خود پیشرفت کنید.
فهرست مطالب
- توکن
- محدودیت توکن ( Token Limit )
- تعریف فرایند توکنایزیشن ( Tokenization ) در مدلهای زبانی بزرگ
- پنجره کانالی (Context Window) یا به تعبیر دیگر، پنجره زمینه چیست؟
- بیشترین خروجی یا بیشترین توکن یا Max Output
- جزئیات بیشتر درباره پنجرههای کانالی
- چرا پنجرههای کانالی در مدلهای زبانی بزرگ مهم هستند؟
- مزایای پنجرههای کانالی بزرگ
- مقایسهی اندازهی پنجره کانالی مدلهای زبانی پیشرو
توکن
توکن مثل یک برچسب یا نشانی است که به چیزی چسبانده میشود تا آن را شناسایی کنیم. مثلاً در یک کتابخانه، هر کتاب یک برچسب یا توکن منحصر به فرد دارد. در کامپیوتر هم، توکنها برای شناسایی کلمات، اعداد و علائم مختلف در برنامهها استفاده میشوند و همچنین در پردازش اطلاعات، برنامهنویسی و بسیاری از حوزههای دیگر کاربرد دارند. در دنیای کامپیوتر و تکنولوژی توکنها انواع مختلفی دارند اما در این مقاله، منظور از توکن، همان توکن مدلهای زبانی بزرگ است.
انواع توکنها
توکن مدلهای زبانی بزرگ (Large Language Model)
یک توکن کوچکترین واحد معنیدار در متن است که میتواند یک کلمه، جزئی از یک کلمه یا یک کاراکتر باشد. در مدلهای زبان بزرگ (LLM) مانند GPT، متن ورودی به مجموعهای از توکنها شکسته میشود تا مدل بتواند آن را پردازش کند. توکنها ممکن است بسته به زبان و پیچیدگی متن متفاوت باشند. در زبانهایی که کلمات طولانی دارند، توکنها میتوانند کلمات کامل باشند، در حالی که در زبانهایی که کلمات کوتاهتر دارند، توکنها ممکن است بخشی از کلمات باشند.
معرفی ChatGPT | انقلابی بزرگ در هوش مصنوعی
توکن حلقهای (Token Ring)
در شبکه حلقه توکن، یک توکن (مثل یک نشان) به صورت مداوم در یک حلقه میچرخد. هر دستگاهی که این توکن را دریافت کند، میتواند از آن برای ارسال پیام استفاده کند. بعد از ارسال پیام، توکن دوباره به حالت اول برمیگردد تا دستگاه بعدی بتواند از آن استفاده کند. به این ترتیب، همه دستگاههای شبکه به نوبت میتوانند پیامهای خود را ارسال کنند. به زبان سادهتر، تصور کنید دستگاههای شبکه مثل حلقهای به هم متصل شدهاند و یک توکن (نشان) در این حلقه دائماً در حال گردش است. این توکن مثل یک مجوزی است که به دستگاه اجازه میدهد تا پیام خود را ارسال کند. وقتی یک دستگاه توکن را دریافت میکند، پیام خود را به آن اضافه میکند و توکن را به دستگاه بعدی میفرستد. دستگاه بعدی پیام را میخواند و توکن را خالی میکند تا دستگاه بعدی بتواند از آن استفاده کند. به زبان سادهتر، شبکه حلقه توکن یک سیستم منظم برای ارسال پیام بین دستگاهها است که در آن هر دستگاه باید منتظر بماند تا نوبتش برای ارسال پیام برسد.
توکن برنامه نویسی (Programming Token)
در برنامهنویسی، کدها از واحدهای کوچکی به نام توکن ساخته میشوند. این توکنها مثل کلمات یا علائم نقطه ویرگول در زبان فارسی هستند. هر توکن وظیفهای خاص دارد، مثل نشان دادن اعداد، نامها، عملگرهای ریاضی یا کلمات کلیدی زبان برنامهنویسی. توکن برنامهنویسی کوچکترین بخش قابل شناسایی در کد است. هر کاراکتر در کد به یکی از پنج دسته اصلی تقسیم میشود که هر کدام نقش خاصی را ایفا میکنند: ثابتها برای نمایش مقادیر عددی ثابت، شناسهها برای نامگذاری متغیرها و توابع، عملگرها برای انجام محاسبات، کلمات کلیدی برای ساختار دادن به کد و جداکنندهها برای تفکیک قسمتهای مختلف کد.
زبان برنامه نویسی پایتون : مقدمهای بر کدنویسی در Python
توکن امنیتی (Security Token)
توکن امنیتی یک وسیله فیزیکی است که به همراه یک رمز عبور یا پین، به شما اجازه میدهد تا به یک سیستم کامپیوتری یا شبکه دسترسی داشته باشید. این توکنها معمولاً به صورت کارتهای هوشمند یا دستگاههای کوچک ساخته میشوند و میتوانند برای ورود به سیستمهای مختلف استفاده شوند.
مثلاً ممکن است برای ورود به سیستم بانکی خود نیاز به یک کارت هوشمند و یک رمز عبور داشته باشید. کارت هوشمند در اینجا توکن امنیتی است و رمز عبور چیزی است که شما میدانید.
محدودیت توکن (Token Limit)
مدلهای زبانی مانند GPT دارای محدودیتی در تعداد توکنهایی هستند که میتوانند در یک بار درخواست یا پرامپت پردازش کنند. این محدودیت به نام Token Limit شناخته میشود. به بیان سادهتر، این محدودیت نشان میدهد که مدل زبانی نمیتواند بیشتر از یک تعداد مشخصی از توکنها را در یک ورودی یا مکالمه پردازش کند. محدودیت توکن در واقع حداکثر تعداد توکنهایی است که یک LLM میتواند در یک ورودی یا خروجی پردازش کند.
چرا محدودیت توکن وجود دارد؟
این محدودیت به دلیل ساختار و معماری مدلهای زبانی است. مدلها دارای حافظه محدودی هستند و برای حفظ کارایی و دقت، تنها میتوانند تعداد معینی از توکنها را در یک بار درخواست پردازش کنند. اگر تعداد توکنها از این حد بیشتر شود، مدل نمیتواند تمامی ورودیها را به درستی پردازش کند و باید ورودی یا خروجی را قطع کند.
تفاوت مدلها در Token Limit
محدودیت توکن در مدلهای مختلف ممکن است متفاوت باشد. برای مثال:
- GPT-3 دارای محدودیت 2048 توکن است.
- GPT-4 دارای محدودیتهای بالاتری است، مثلاً در برخی نسخهها تا 8192 یا حتی 32768 توکن را پردازش میکند. این تفاوتها به دلیل پیشرفتهای تکنولوژیکی و بهینهسازیهای انجام شده در نسخههای جدیدتر مدلها است.
ارتباط Token Limit با ورودی و خروجی
محدودیت توکن نه تنها شامل ورودی (متنی که کاربر مینویسد) میشود، بلکه خروجی (پاسخی که مدل تولید میکند) را نیز در بر میگیرد. به عنوان مثال، اگر شما 1500 توکن تحت عنوان پرامپت به مدل بدهید و مدل بتواند 2048 توکن را پردازش کند، فقط 548 توکن برای تولید پاسخ باقی میماند. در این گام تاثیر مهندسی پرامپت و رعایت اصول پرامپت نویسی ظاهر میشود؛ چرا که هر چقدر طول پرامپت دارای توکنهای کمتری باشد و در عین حال از مهندسی کافی برخوردار باشد و منظور اصلی مطلب مورد بحث را به مدل زبانی برساند، در این صورت از تعداد توکنهای بیشتری برای خروجی برخوردار خواهید بود. برای یادگیری اصول نگارش پرامپت و مهندسی آن، میتوانید مقالهی منتشر شده با عنوان “پرامپت نویسی: چگونه هوش مصنوعی را به بردهی خود تبدیل کنیم!” در هامیا ژورنال را مطالعه نمایید.
فرض کنید میخواهید یک متن ساده را برای مدل ارسال کنید:
متن شما: “این یک کتاب جالب درباره علم است. آیا میتوانی برای من خلاصهای از آن ارائه بدهی؟”
حال بیایید این متن را به توکنها تقسیم کنیم:
- “این” یک توکن است.
- “یک” یک توکن است.
- “کتاب” یک توکن است.
- “جالب” یک توکن است.
- “درباره” یک توکن است.
- “علم” یک توکن است.
- “است” یک توکن است.
- “.” یک توکن است.
- “آیا” یک توکن است.
- “می” و “توانی” دو توکن هستند (چون مدل برخی کلمات را به اجزای کوچکتر تقسیم میکند).
- “برای” یک توکن است.
- “من” یک توکن است.
- “خلاصهای” ممکن است به دو توکن تقسیم شود (مثلاً “خلاصه” و “ای”).
- “از” یک توکن است.
- “آن” یک توکن است.
- “ارائه” یک توکن است.
- “بدهی؟” ممکن است به دو یا حتی سه توکن تقسیم شود (مثلاً “بدهی” و “؟”).
در مجموع، این متن ممکن است شامل حدود 20-25 توکن باشد. اگر شما مدل GPT-3 با محدودیت 2048 توکن را استفاده کنید، میتوانید چنین تعداد توکنهایی را بدون مشکل پردازش کنید. اما اگر متنتان بسیار طولانی باشد و مدل به حد 2048 توکن برسد، نمیتواند آن را به طور کامل پردازش کند.
Token limit برای هر دو ورودی و خروجی مشترک است، یعنی اگر توکنهای ورودی خیلی زیاد باشند، فضای کمتری برای پاسخ مدل باقی میماند. مدلهای جدیدتر با توکنهای بیشتر به شما اجازه میدهند تا متنهای طولانیتری را ارسال کنید و پاسخهای مفصلتری دریافت کنید. تعداد توکنها بستگی به نوع مدل، زبان ورودی و ساختار جمله دارد.
تعریف فرایند توکنایزیشن (Tokenization) در مدلهای زبانی بزرگ
توکنایزیشن (Tokenization) یکی از اولین و مهمترین گامها در پردازش زبان طبیعی (NLP) است که در مدلهای زبانی بزرگ استفاده میشود. این فرایند به معنای شکستن یک متن به واحدهای کوچکتری به نام “توکن” است. هر توکن میتواند یک کلمه، بخشهایی از یک کلمه، یا حتی علائمی مانند علامتگذاریها باشد. مدلهای زبانی مانند GPT و Claude به این توکنها نیاز دارند تا بتوانند زبان طبیعی را پردازش کنند و وظایف مختلفی مانند تولید متن، ترجمه یا تحلیل انجام دهند.
تفاوتهای بین کلاود (Claude) و چت جیپیتی (ChatGPT)
چرا توکنایزیشن اهمیت دارد؟
یکسانسازی ورودی: توکنایزیشن به تبدیل متون مختلف با ساختارهای متفاوت به یک قالب واحد کمک میکند که برای مدل قابل فهم باشد.
شناسایی واحدهای معنایی: توکنها میتوانند واحدهای معنایی کوچکتری را نشان دهند که به مدل کمک میکند تا روابط بین کلمات را بهتر درک کند.
کاهش حجم داده: با تبدیل کلمات به توکنها، حجم داده ورودی به مدل کاهش مییابد که باعث افزایش سرعت پردازش میشود.
انواع توکنایزیشن
مدلهای مختلف برای شرکتهای هوش مصنوعی از روشهای متفاوتی برای توکنایز کردن توکنها استفاده میکنند و الزاما از روشهای مشابهی استفاده نمیکنند. یعنی هر شرکتی فرایند توکنایزر منحصر به فرد خود را دارد. یکی از رایجترین روشها برای این کار، Byte-Pair Encoding (BPE) یا WordPiece است. این روشها کلمات را به قطعات کوچکتر، مانند زیرکلمات یا حتی حروف شکسته تبدیل میکنند تا مدلها بتوانند کلمات جدید و ناآشنا را بهتر درک و پردازش کنند. بنابراین یک کلمه ممکن است بیش از یک توکن باشد. برای مثال کلمه “unhappiness” ممکن است به صورت زیر شکسته شود و شامل 3 توکن یا همان اتمهای تشکیل دهنده باشد:
“un” و “happi” و “ness”
اما به طور کلی فرایند توکنایزیشن به 4 روش زیر است:
- توکنایزیشن مبتنی بر فضا: سادهترین روش که در آن متن بر اساس فاصله بین کلمات به توکنها تقسیم میشود.
- توکنایزیشن مبتنی بر کاراکتر: در این روش، متن به تکتک کاراکترها شکسته میشود.
- توکنایزیشن جمله: در این روش متن به جملات تقسیم میشود.
- توکنایزیشن مبتنی بر واژگان: از یک واژگان از پیش تعریف شده برای تقسیم متن استفاده میشود.
مراحل توکنایزیشن
- شکستن متن به توکنها: یک جمله یا متن به توکنهای کوچکتر شکسته میشود. مثلاً جمله “سلام دنیا” ممکن است به دو توکن “سلام” و “دنیا” تقسیم شود.
- نگاشت توکنها به اعداد (نمایش دیجیتال): بعد از اینکه متن به توکنها تقسیم شد، این توکنها به یک عدد (شناسه) نگاشت میشوند. این مرحله برای پردازش مدلها بسیار ضروری است؛ زیرا مدلها با اعداد سروکار دارند.
- نمایش توکنها در قالب وکتور: توکنها به یک نمایش برداری (وکتور) نگاشته میشوند که مدل بتواند آنها را پردازش کند. این نمایش برداری، اطلاعات معنایی و نحوی مربوط به هر توکن را به صورت عددی در خود دارد.
- مدلسازی وابستگیها: در مرحله بعد، مدلهای زبانی، توالی و ارتباط بین توکنها را با استفاده از روشهای یادگیری عمیق مثل شبکههای عصبی، مدل میکنند تا در نهایت متن جدیدی تولید یا متنی را تحلیل کنند.
مثالی از توکنایزیشن
فرض کنید متنی که داریم این است:
“من به مدرسه میروم.”
- شکستن متن به بلوکها
- این متن ممکن است به این توکنها شکسته شود: [“من”، “به”، “مدرسه”، “میروم”، “.”]
2. نگاشت توکنها به اعداد:
- برای هر توکن یک عدد اختصاص داده میشود. مثلاً:
- “من” → 12345
- “به” → 54321
- “مدرسه” → 67890
- “میروم” → 98765
- “.” → 11111
3. نمایش توکنها به صورت وکتور:
- هر عدد یا توکن به یک وکتور چندبعدی تبدیل میشود. که هر درایه نشان دهندهی مشخصهای خاص است (برای مثال درایه اول نشان دهنده جنسیت، عدد دوم نشان دهنده رنگ و غیره). لازم به ذکر است. اعداد اختصاص یافته شده برای هر کلمه و سپس برای هر درایه به عهدهی شبکه عصبی است. برای مثال:
- 12345 (وکتور: [0.12, 0.56, 0.89,…])
- 54321 (وکتور: [0.78, 0.45, 0.33,…])
4. مدلسازی ارتباطات:
- مدل با توجه به ارتباط و توالی توکنها، جمله را تحلیل کرده و خروجی مناسب مانند ترجمه یا پیشبینی جمله بعدی را تولید میکند. این مرحله از فرایند، بر عهدهی شبکه عصبی بوده و بر اساس پایگاه داده و احتمالات میباشد. برای مثال وقتی به مدل زبانی این جملهی ناقص تحویل داده شود:
“پایتخت کشور فرانسه …. است.”
مدل زبانی بزرگ این جمله را در ابتدا با توجه به آنچه گفته شد توکنایز میکند و پس از آماده شدن توکنها و وکتورها، شبکه عصبی لیستی از کلماتی که احتمال بالایی برای تکمیل جملهی ناقص دارند را تهیه میکند (مطابق با پایگاه داده و همچنین در برخی مدلها متناسب با بازخورد کاربران از خروجی مدل). مانند لیست زیر:
جمله | ֍ | احتمال |
پایتخت کشور فرانسه ֍ است. | پاریس | 0.917 |
پایتخت کشور فرانسه ֍ است. | نیویورک | 0.856 |
پایتخت کشور فرانسه ֍ است. | پرنده | 0.642 |
پایتخت کشور فرانسه ֍ است. | لپتاپ | 0.354 |
پایتخت کشور فرانسه ֍ است. | فرش | 0.241 |
پایتخت کشور فرانسه ֍ است. | رولز رویس | 0.167 |
پایتخت کشور فرانسه ֍ است. | فلسفه | 0.081 |
همانطور که مشاهده میشود، عدد تخصیص یافته شده برای جای خالی، با احتمال بسیار بالایی برای کلمهی پاریس است. پس مطابق با آماری که از دیتابیس این شبکه عصبی استنتاج میشود، کلمهی اول یعنی پاریس انتخاب اول توسط شبکه عصبی برای مدل خواهد بود. توکنایزیشن فرایندی است که متن را به واحدهای کوچکتر (توکن) شکسته و سپس آنها را به صورت اعداد و بردارهای قابل فهم برای مدلهای یادگیری عمیق تبدیل میکند. این فرایند پایهای برای انجام هرگونه پردازش زبانی است و به مدل امکان میدهد که متنهای زبان طبیعی را تحلیل یا تولید کند.
پنجره کانالی (Context Window) یا به تعبیر دیگر، پنجره زمینه چیست؟
با فرض اینکه به درک قابل قبولی از مفاهیم توکن، محدودیت توکن و توکنایزیشن رسیدیم، حال به چیستی مهمترین مفهوم موجود در زمینه مدلهای زبانی بزرگ یعنی پنجره کانالی یا همان (Context Window) که در فارسی به اشتباه پنجره زمینه ترجمه میشود میپردازیم. برای درک هر چه بهتر این مفهوم به مثال زیر که در رابطه با تغدیهی کودکان است توجه کنید:
کودکان برای سلامتی هر چه بیشتر باید شیر بخورند.
در گام اول، فرض کنیم که این جمله را به مدل زبانی دادهایم تا آن را پردازش کند. در ابتدا مدل سعی میکند تا جمله را توکنیزه بکند. با وجود روشهای مختلف برای توکنیزه کردن، فرض کنیم که مدل در سادهترین حالت، جمله را به صورت زیر توکنیزه میکند:
تعداد توکن | توکن |
1 | کودکان |
2 | برای |
3 | سلامتی |
4 | هر |
5 | چه |
6 | بیشتر |
7 | باید |
8 | شیر |
9 | بخورند |
10 | . |
همانطور که مشاهده میشود، جمله دارای 10 توکن میباشد.
پنجره کانالی برای ورودی
حالت اول: پردازش ورودی
در پردازش ورودی، با فرض اینکه جملهی نوشته شده همان پرامپت کاربر است، مقدار پنجره کانالی مدل را در وضعیت اول برابر با 5 در نظر میگیریم. در این حالت فرایند پردازش جمله به طریق زیر خواهد بود:
- چون مقدار پنجره کانالی 5 فرض شده است، مدل به صورت بستههای توکنی 5 عددی، از ابتدای جمله، 5 توکن ابتدایی از جمله را انتخاب و پردازش میکند:
“کودکان برای سلامتی هر چه”
2. در گام دوم، نوبت پردازش برای کلمهی بعدی (توکن ششم) است. پردازش توکن ششم به صورت زیر خواهد بود:
“برای سلامتی هر چه بیشتر”
همانطور که مشاهده میشود، در این مرحله هم یک بستهی 5 تایی از توکنها انتخاب شدهاند. با پیشرفت پردازش توکنها توسط مدل، برای حفظ پردازش 5 تایی از توکنها، با انتخاب توکن بعدی، در واقع توکن قبلی از کانال خارج شده و توکن جلویی وارد کانال پردازش میشود (درست مانند استخر توپ که با اضافه کردن توپ به استخر و در صورت پر شدن ظرفیت استخر، توپهای استخر سر میرود). همین تعبیر باعث میشود تا به جای واژهی “پنجره زمینه” که تقریبا در همهی مقالات مشابه در دیگر ژورنالها استفاده میشود، “پنجره کانالی” جایگزین شود؛ چرا که به درستی فرایند پردازش متن را بیان میکند. حال به مراحل بعدی از کارکرد مدل با پنجره کانالی 5 توکنی دقت کنید.
3. در گام سوم، نوبت پردازش برای کلمهی بعدی (توکن هفتم) است. پردازش توکن هفتم به صورت زیر خواهد بود:
“سلامتی هر چه بیشتر باید”
4. گام چهارم:
“هر چه بیشتر باید شیر”
5. گام پنجم:
“چه بیشتر باید شیر بخورند”
6. گام ششم (گام نهایی)
“بیشتر باید شیر بخورند.”
مطابق با فرایند پردازش مدل از جملهی ذکر شده، مدل، توکنها را به صورت توکنهای 5 تایی وارد کانال پردازش میکند. اما چون ظرفیت کانال پردازش 5 توکن است، با پردازش توکن بعدی، توکن قبلی (اولین توکن) از کانال حذف میشود و بدین ترتیب فرایند پردازش تمکیل میشود. این مدل فرضی با پنجره کانالی 5 توکنی، برای جملهی ذکر شده، مدلی نامناسب خواهد بود. چرا که نمیتواند کل جمله را به صورت یکجا پردازش کند. در مدلهای زبانی بزرگ، چون مدلها با متنها سروکار دارند، مدلی مناسب است و از کارکرد بالایی برخوردار است که کل متن را بتواند در کانال خود بگنجاند و از ظرفیت بالایی برخوردار باشد. حال در وضعیت دوم فرض کنیم جملهی بالا را مدلی با پنجرهی کانالی 20 توکنی پردازش کند. در حالت دوم داریم:
“کودکان برای سلامتی هر چه بیشتر باید شیر بخورند.”
چون ظرفیت کانال پردازش 20 توکن است، پس مدل دوم میتواند کل جمله را که دارای 10 توکن است در نظر بگیرد. پس مدل دوم از لحاظ کارکرد دارای کیفیت بالایی است.
حالت دوم: پردازش معنای کلمات در پرامپتها بر اساس توکن هدف
هنگامی که به مدلی پرامپتی فرضا 100 توکنی داده شود و پنجره کانالی هم فرضا 20 توکن باشد، در این حالت در ابتدا مدل سعی میکند تا کل توکنهای موجود در پرامپت را تحلیل بکند. بدین ترتیب که در کسری از ثانیه، در هر مرحله و با انتخاب هر توکن به عنوان توکن هدف، 20 توکن در سمت چپ و راست توکن هدف متناسب با بار معنایی موجود در پرامپت تحلیل میشوند تا بار معنایی هر کلمه، متناسب با معنی موجود در پرامپت تفسیر شوند. توکن هدف (Target Token) توکنی است که مدل در هر مرحله آن را انتخاب میکند و توکنهای موجود در همسایگی توکن هدف را تحلیل میکند. پنجرهی کانالی مجموعهای مشخص از توکنها است که در اطراف یک توکن هدف در یک متن یا دنباله قرار میگیرد. این مفهوم، هستهی اصلی بسیاری از وظایف پردازش زبان طبیعی (NLP) مانند مدلسازی زبان، جاسازی کلمات (word embedding) و ترجمه ماشینی است. پنجرهی کانالی با در نظر گرفتن توکنهای همسایه به مدلها کمک میکند تا اطلاعات زمینهایِ (contextual information) یک توکن هدف را استخراج کنند. مدلها با بررسی کلمات اطراف یک کلمه، معنای آن را درک میکنند. این فرآیند، زمینهسازی (contextualisation) نامیده میشود و برای رفع ابهام بسیار مهم است. ارتباط این توکن هدف با سایر توکنهای اطراف آن، معنای آن را تعیین میکند. در نتیجه، درک مدل از اولین توکن هدف، معنای سایر توکنهای همسایه آن را مشخص خواهد کرد. این موضوع در تولید زبان طبیعی، به ویژه در مورد مدلهای زبان بزرگ اهمیت ویژهای دارد. برای مثال، اگر فصل اول رمان خود را به مدل بدهید و از آن بخواهید فصل بعدی را بنویسد، به یک پنجرهی کانالی بزرگ نیاز دارد. در غیر این صورت، فصل بعدی به طور پیوسته از فصل اول نشأت نخواهد گرفت. اندازه پنجرهی کانالی، تعداد توکنهایی را که در هر طرفِ توکن هدف در نظر گرفته میشوند، تعیین میکند. برای مثال، اندازهی یک پنجرهی کانالی برابر با ۲۰ به این معناست که ۲۰ توکن در سمت چپ و ۲۰ توکن در سمت راستِ توکن هدف، مورد بررسی قرار میگیرند.
پنجره کانالی برای خروجی
مثالی که زده شد، مثالی برای ورودی مدل بود. یعنی ما جمله را برای پردازش به مدل دادیم. همانطور که میدانید مدلهای زبانی بزرگ، ورودی را دریافت و خروجی را تولید میکنند. حال فرض کنید همین مثال را خود مدل تولید میکند. در خروجی که مدل تولید میکند، علاوه بر پردازش توکنها مانند آنچه در پردازش ورودی گفته شد (نگاشت اعداد به توکنها، وکتور کردن اعداد و انتخاب کلمهی بعدی مطابق با احتمالات)، مدل باید ادامه نوشتن جمله را نیز مطابق با آنچه گفته شد، از سر بگیرد. فرض کنید که از مدل زبانی بزرگ، از تاثیر شیر برای سلامتی کودکان پرسیده شده است و مدل خروجی زیر را مطابق با پرامپت کاربر تولید میکند:
کودکان برای سلامتی هر چه بیشتر باید شیر بخورند.
در وضعیت اول، دوباره فرض میشود که مدلی که این جواب را به عنوان خروجی به کاربر برمیگرداند، دارای پنجره کانالی 5 توکنی است. در این صورت:
- گام اول:
“کودکان“
ابتدا توکن اول متناسب با موضوع مورد بحث تشکیل میشود، یعنی همان “کودکان”. در هنگام ایجاد خروجی متنی توسط مدل زبانی، کلمهی انتخاب شده توسط مدل، توکن هدف یا Target Token نامیده میشود. وظیفهی پنجره کانالی در هنگام ایجاد خروجی، این است که مدل متناسب با تعداد توکن پنجره کانالی (که در وضعیت اول برابر با 5 توکن فرض شده است) به 5 توکن قبلی از توکن هدف نگاه بکند و متناسب با معنی توکن هدف، توکن یا کلمهی بعدی را حدس بزند. در مثال گفته شده، با توجه به اینکه توکن “کودکان” ابتداییترین توکن است، پس مطمئنیم که قبل از کلمهی “کودکان” هیچ کلمهای وجود نخواهد داشت. بنابراین مدل متناظر با پنجرهی کانالی خود به 5 توکن قبلی نگاه میکند. اما چون در این گام، کلمهی کودکان ابتداییترین توکن است پس مدل چیزی نخواهد دید.
2. گام دوم:
“کودکان برای“
در گام دوم، مدل متناسب با ورودی و پرامپت، کلمه بعدی یعنی “برای” مطابق با آمار و احتمالات و مکانیسم شبکه عصبی انتخاب میشود. در این گام توکن هدف اختصاص به کلمهی “برای” دارد. پس مدل در تلاش است متناسب با عدد پنجره کانالی (5 توکن)، 5 توکن قبلی را بررسی کند تا کلمه و توکن بعدی را متناسب با موضوع انتخاب کند. در این گام دو توکن “کودکان” و “برای” تحلیل و آنالیز خواهند شد تا توکن سوم انتخاب شود. با توجه به اینکه پنجره کانالیِ مدلِ فرضی 5 است و تا به الان فقط 2 توکن نوشته شده است، پس تا به مرحله از فرایند هیچ توکنی از کانال حذف نخواهد شد.
3. گام سوم:
“کودکان برای سلامتی“
در این گام نیز مطابق با آنچه گفته شد، توکن هدف اختصاص به توکن “سلامتی” دارد و برای حدس کلمهی بعدی، مدل به تعداد 5 توکن قبلی از توکن هدف نگاه میکند تا توکن بعدی را حدس بزند و هر توکنی که از احتمال بالایی برخوردار است انتخاب کند.
4. گام چهارم:
“کودکان برای سلامتی هر“
5. گام پنجم:
“کودکان برای سلامتی هر چه“
6. گام ششم:
“کودکان برای سلامتی هر چه بیشتر“
در این گام، توکن هدف اختصاص به توکن “بیشتر” دارد. حال مطابق با روند و کارکرد پنجره کانالی، مدل به 5 توکن قبلی توکنِ هدف یعنی “بیشتر” نگاه میکند که 5 توکن قبلی به صورت زیر خواهد بود:
“بیشتر”، “چه”، “هر”، “سلامتی” و “برای”
همانطور که مشاهده میشود، توکن کودکان، ششمین توکن قبل از توکن هدف است و بنابراین بدیهی است که مطابق با ظرفیت پنجره کانالی مدل، توکن “کودکان” از کانال حذف میشود و مدل فقط 5 توکن قبلی را بررسی میکند تا توکن بعدی را حدس بزند. حال توکن کودکان از کانال حذف شده و گویی که مدل، کاملا کلمهی کودکان را فراموش کرده است. پس حدس کلمهی بعدی توسط مدل، بدون در نظر گرفتن توکن کودکان خواهد بود. بدین ترتیب با اضافه شدن توکن جدید، توکنهای قبلی از کانال خارج میشوند و مدل بر اساس 5 توکن قبلی از توکن هدف، کلمهی بعدی را حدس میزند. اندازه پنجره کانالی (پس از تولید متن)، تعداد توکنهایی است که هم قبل و هم بعد از یک کلمه یا کاراکتر خاص (توکن هدف) قرار میگیرند و محدودههایی را تعیین میکند که هوش مصنوعی در آن مؤثر باقی میماند. اندازه پنجره کانالی شامل مجموعهای از درخواستهای کاربر و پاسخهای هوش مصنوعی از تاریخچه کاربری اخیر است. با این حال، هوش مصنوعی نمیتواند به تاریخچه مجموعه دادههایی که خارج از اندازه پنجره کانالی تعریف شده دسترسی پیدا کند و در عوض خروجی ناقص و نادرستی را تولید میکند. همانطور که احتمالا متوجه هم شدهاید، در این مرحله خطری مدل را تهدید میکند، خطری به نام توهم هوش مصنوعی که مقالهی این پدیده هم پیشتر در هامیا ژورنال منتشر شده است. به همین ترتیب، مکانیزم بررسی 5 توکن قبلی و حدس توکن بعدی تا آخر ادامه مییابد.
7. گام هفتم:
“کودکان برای سلامتی هر چه بیشتر باید“
8. گام هشتم:
“کودکان برای سلامتی هر چه بیشتر باید شیر“
9. گام نهم:
“کودکان برای سلامتی هر چه بیشتر باید شیر بخورند“
10. گام دهم (نهایی)
“کودکان برای سلامتی هر چه بیشتر باید شیر بخورند.“
همانطور که مشاهده میشود فرایند تولید متن توسط مدل هوش مصنوعی با پنجره کانالی 5 توکنی به صورت منقطع تا آخر ادامه یافت و خروجی تشکیل شد. در مدلهای زبانی بزرگ این مراحل و گامها در کسری از ثانیه انجام میشود. کم بودن عدد پنجره کانالیِ مدلهای زبانی بزرگ، به عنوان یک عیب بزرگ تلقی میشود؛ چرا که مدلی قویتر و با کیفیتتر است که بتواند کل خروجی را در کانال خود جای دهد و با ایجاد توکن بعدی، هیچ توکنی از ابتدای متن از کانال خارج نشود. حال اگر جملهی “کودکان برای سلامتی هر چه بیشتر باید شیر بخورند.” به مدلی با پنجره کانالی 20 توکنی داده شود، مدل جدید در هر مرحله از انجام کار، تمامی توکنها را میتواند در کانال خود ذخیره کند؛ چرا که جمله دارای 10 توکن است و پنجره کانالی دارای 20 توکن است.
توهم هوش مصنوعی در مواردی که پنجره کانالی دارای توکن کمتری باشد رخ میدهد. برای درک رخ دادن پدیده توهم هوش مصنوعی در چنین مواردی به مثال زیر دقت کنید:
همان جملهی قبلی را در نظر بگیرید اما با پنجره کانالی 3 توکنی. حال فرض کنید که روند تحلیل توکنهای قبلی و حدس توکن جدید به مرحلهی زیر برسد:
“کودکان برای سلامتی هر چه بیشتر باید شیر“
با توجه به اینکه در این گام، توکنهای “کودکان”، “برای”، “سلامتی”، “هر” و “چه” تا به اینجای کار، کلا از کانال و به نوعی از حافظهی مدل پاک شده است، پس مدل مجبور است توکن بعدی را بر اساس 3 کلمهی قبلی توکن هدف یعنی توکنهای “بیشتر”،”باید” و “شیر” حدس بزند. در این حالت مدل ممکن است بحث مورد نظر کاربر با مدل را که در رابطه با تغدیهی کودکان است فراموش کند و توکن “شیر” را اشتباه تفسیر کند و کلا فکر کند که مقصود از شیر، همان سلطان جنگل و یا حتی شیر فلکه میباشد. در این حالت تصور اینکه ادامه جمله اینگونه نوشته شود دور از انتظار نیست:
“کودکان برای سلامتی هر چه بیشتر باید شیر را در قفس نگه داری کنند.”
و اینگونه است که توهم هوش مصنوعی رخ میدهد.
بیشترین خروجی یا بیشترین توکن یا Max Output
در مبحث پنجره کانالی برای خروجی مدل، تعریف دیگری نیز وجود دارد به نام بیشترین توکن یاMaximum Tokens و یا Max Output. این عبارت نیز به سادگی اشاره به تعداد توکنهایی که مدل میتواند در پاسخ به یک پرامپت یا پرسش واحد کاربر ایجاد کند دارد.
برای مثال، در مدل o1-preview که برای شرکت OpenAI است، تعداد بیشترین توکنی که مدل میتواند در یک پرسش و پاسخ ایجاد کند، 32 هزار توکن است. این میزان توکن تقریبا برابر با 24 هزار کلمه میشود. به طور کلی در مراجع معتبر ذکر شده است که هر هزار توکن، برابر با 3/4 همان توکن است (24000=3/4*32000). شاید از خود بپرسید که تفاوت بیشترین خروجی یا Max Output با محدودیت توکن که در بالا توضیح داده شد چیست؟ در جواب باید گفت هر دو دارای معنایی یکسانی هستند؛ اما محدودیت توکن یک مفهوم است، در حالی که بیشترین خروجی یا بیشترین توکن پارامتر و معیاری است که تمامی مدلهای زبانی بزرگ با استفاده از این پارامتر، مدل خود را معرفی میکنند و هر مدلی که دارای پارامتر “بیشترین خروجی یا Max Outrput” بزرگتری باشد، یعنی مدل خروجی بیشتری را میتواند در هر بار درخواست و جواب تولید کند.
جزئیات بیشتر درباره پنجرههای کانالی
اندازه
اندازه پنجرهی کانالی، تعداد توکنهایی را که در هر طرفِ توکن هدف در نظر گرفته میشوند، تعیین میکند. برای مثال، اندازهی یک پنجرهی کانالی برابر با 200 به این معناست که 200 توکن در سمت چپ و 200 توکن در سمت راستِ توکن هدف، مورد بررسی قرار میگیرند. پنجرههای کانالی میتوانند از نظر اندازه، ثابت یا متغیر باشند:
- ثابت: در این حالت، تعداد ثابتی از توکنها در هر طرفِ توکن هدف در نظر گرفته میشود، بدون توجه به موقعیت آن در کل متن (دنباله). همانطور که قبلا ذکر شد، اندازهی ۲۰ نشان میدهد که ۲۰ توکن در سمت چپ و ۲۰ توکن در سمت راستِ توکن هدف، مورد بررسی قرار میگیرند. این رویکرد ساده است اما انعطافپذیری کمتری دارد.
- متغیر: در این حالت، تعداد توکنهای در نظر گرفته شده میتواند بر اساس موقعیت توکن هدف در متن تغییر کند. این رویکرد به مدل اجازه میدهد تا خود را با ساختارهای مختلف جمله و وابستگیهای دوربرد (long-range dependencies) در متن انطباق دهد. با این حال، پیادهسازی مدلهای با پنجرههای کانالی متغیر میتواند پیچیدهتر باشد.
اطلاعات زمینهای
توکنهای درون پنجرهی کانالی، اطلاعاتی در مورد بافت نحوی (syntactic context) و معنایی (semantic context) توکنِ هدف در اختیار مدلها قرار میدهند. این اطلاعات زمینهای به مدلها کمک میکند تا معنای توکن هدف و نحوهی استفاده از آن را در میان کلمات اطرافش درک کنند.
- بافت نحوی: به ساختار جمله و روابط دستوری بین کلمات اشاره دارد. با در نظر گرفتن کلمات اطراف، مدل میتواند تشخیص دهد که آیا یک کلمه اسم، فعل، صفت و غیره است و چگونه با سایر کلمات جمله ارتباط دارد. برای مثال، در جملهی “من رشته مهندسی معدن را دوست دارم.”، مدل با بررسی پنجرهی کانالی متوجه میشود که “معدن” یک اسم است و نقش مفعول را در جمله ایفا میکند.
- بافت معنایی: به معنای کلی جمله و ارتباط آن با دنیای واقعی اشاره دارد. با در نظر گرفتن کلمات اطراف، مدل میتواند مفهوم کلی جمله را درک کند و معنای دقیقتر توکن هدف را بر اساس آن استخراج کند. برای مثال، در جملهی “من برای بیدار ماندن به قهوه نیاز دارم”، مدل با در نظر گرفتن کلمات “بیدار ماندن” درک میکند که “قهوه” در این جمله به عنوان یک نوشیدنی انرژیزا در نظر گرفته شده است.
آموزش و پیشبینی
پنجرهی کانالی در دو مرحلهی کلیدی در مدلهای یادگیری ماشین برای پردازش زبان طبیعی (NLP) نقش اساسی ایفا میکند:
- آموزش (Training): در مرحلهی آموزش، مدلها از پنجرهی کانالی برای یادگیری نمایشهایی از کلمات (word representations) یا پیشبینی کلمهی بعدی در یک دنباله استفاده میکنند.
- نمایش کلمات: با در نظر گرفتن کلمات اطراف یک کلمه در پنجرهی کانالی، مدلها میتوانند یاد بگیرند که هر کلمه چگونه در متن استفاده میشود و با دیگر کلمات مرتبط است. این امر به مدلها اجازه میدهد تا معنای کلمات را به صورت برداری (vector) یا ماتریسی (matrix) نمایش دهند که برای انجام کارهای مختلف NLP مفید است.
- پیشبینی کلمهی بعدی: مدلها میتوانند با در نظر گرفتن کلمات قبلی در یک دنباله (مثلاً یک جمله) و استفاده از پنجرهی کانالی برای بررسی کلمات اطراف، کلمهی بعدیِ احتمالی در آن دنباله را پیشبینی کنند. این قابلیت در کاربردهایی مانند تکمیل خودکار متن و ترجمه ماشینی بسیار مفید است.
2. پیشبینی (Prediction) یا استنتاج (Inference): در مرحلهی پیشبینی یا استنتاج، پنجرهی کانالی برای تولید پیشبینیها یا تصمیمگیری بر اساس بافت (context) اطراف یک کلمه استفاده میشود.
- پیشبینی: مدلها میتوانند با استفاده از پنجرهی کانالی برای در نظر گرفتن کلمات اطراف، خروجیهای مختلفی مانند ترجمهی یک کلمه به زبان دیگر، طبقهبندی یک جمله بر اساس احساس (sentiment analysis) یا پاسخ به یک سؤال را پیشبینی کنند.
- تصمیمگیری: مدلها میتوانند با در نظر گرفتن پنجرهی کانالی برای تجزیهی جمله و شناسایی نقشهای دستوری کلمات، تصمیم بگیرند که چگونه یک کلمه خاص را در یک جمله تفسیر کنند.
چرا پنجرههای کانالی در مدلهای زبانی بزرگ مهم هستند؟
پنجره کانالی یک عامل کلیدی در ارزیابی عملکرد و تعیین کاربردهای بعدی LLM است. توانایی ارائه پاسخهای سریع و مرتبط بر اساس توکنهای اطراف هدف در تاریخچه متن، معیاری از عملکرد مدل است. حد بالای توکن نشاندهنده سطح هوش بالاتر و توانایی پردازش دادههای بیشتر است.
پنجرههای کانالی میتوانند محدودیتهای متنی را برای پاسخهای هوشمند هوش مصنوعی تعیین کنند، از پاسخهای طولانی اجتناب کرده و به طور مداوم متنهایی به زبان قابل خواندن تولید کنند. ابزار هوش مصنوعی هر پاسخ را با پارامترهای تعریفشده خود تولید میکند و به این ترتیب به یک مکالمه بلادرنگ کمک میکند.
به طور مشابه، یک پنجره کانالی هر دو طرف چپ و راست توکن هدف را در متن بررسی میکند و ابزار هوش مصنوعی مجموعه دادههای اطراف توکن هدف را شناسایی و هدف قرار میدهد. این امر بررسیهای غیرضروری روی تاریخچه مکالمه را حذف میکند و فقط پاسخهای مرتبط را ارائه میدهد.
مزایای پنجرههای کانالی بزرگ
پنجرههای کانالی بزرگ چندین مزیت دارند. برخی از قابل توجهترین مزایا عبارتند از:
- صرفه جویی در زمان: ابزار هوش مصنوعی مولد، مجموعه دادههای طرفین توکن هدف را بدون در نظر گرفتن دادههای نامرتبط با توکن هدف ورودی، مشخص میکند. در واقع، یک پنجره کانالی مناسب، به خصوص یک پنجره کانالی بزرگ، میتواند عملیات را تسریع کند.
- پذیرش ورودیهای بزرگ: پنجره کانالی بزرگ نشانگر قوی از توانایی معنایی LLM برای مدیریت توکنها است. LLMها با استفاده از جاسازی کلمه، جستجوهای زبانی را در پایگاه داده برداری پشتیبانی میکنند و در نهایت با درک اصطلاحات مرتبط با توکن هدف، پاسخهای مرتبط ایجاد میکنند.
- ارائه تحلیل دقیق: یک پنجره کانالی برای تجزیه و تحلیل عمیق دادهها در سمت چپ و راست توکن هدف عمل میکند. قرار دادن امتیاز اهمیت، امکان خلاصه سازی کل یک فایل را فراهم میکند. بررسی دقیق بسیاری از توکنها، تحقیق، یادگیری و عملیات سازمانی مبتنی بر هوش مصنوعی را تقویت میکند.
- اجازه برای تنظیم توکن: کدگذار-رمزگشا در LLM از مکانیزم هایی مانند “هدهای توجه (attention heads)” برای درک بهتر وابستگیهای زمینهای (متنی) استفاده میکند. در موارد استفاده با طول متن طولانی، یک LLM میتواند برای اجتناب از پاسخهای اضافی، به طور انتخابی روی سمت مرتبط با توکن هدف تمرکز کند. در واقع، بهینهسازی استفاده از توکن، پردازش سریع متن طولانی را در عین حال که ارتباط آن را شناسایی و حفظ میکند، تضمین میکند.
مقایسهی اندازهی پنجره کانالی مدلهای زبانی پیشرو
اندازههای مختلفی برای پنجرههای کانالی در LLMهای گوناگون وجود دارد. پنجرههای کانالی برای برخی از مدلهای زبانی بزرگ پیشرو به قرار زیر است:
OpenAI o1 | |||
مدل | بیشترین توکن | پنجره کانالی | تاریخ آموزش داده |
O1-preview | 32 هزار | 128 هزار | تا اکتبر 2023 |
O1-mini | 64 هزار | 128 هزار | تا اکتبر 2023 |
مدل جدید شرکت OpenAI به نام o1 ؛ استدلال قوی اما سرعت پایین
GPT سری 4 | ||||
مدل | توضیحات | بیشترین توکن | پنجره کانالی | تاریخ آموزش داده |
GPT-4o | پیشرفتهترین مدل چندوجهی پرچمدار که از GPT-4 Turbo ارزانتر و سریعتر است. | 64 هزار | 128 هزار | تا اکتبر 2023 |
gpt-4o-2024-08-06 | آخرین نسخه که از خروجیهای ساختاریافته پشتیبانی میکند. | 16 هزار | 128 هزار | تا اکتبر 2023 |
chatgpt-4o-latest | مدلی پویا که به طور مداوم تا آخرین نسخه از GPT-4o در ChatGPT آپدیت میشود. | 8192 | 128 هزار | تا اکتبر 2023 |
gpt-4o-mini | مدلی کوچک، مقرونبهصرفه و هوشمند برای انجام سریع وظایف و کارهای سبک. GPT-4o mini ارزانتر و توانمندتر از GPT-3.5 Turbo است. | 16 هزار | 128 هزار | تا اکتبر 2023 |
gpt-4-turbo | آخرین مدل GPT-4 Turbo با قابلیتهای بینایی. درخواستهای بینایی اکنون میتوانند از حالت JSON و فراخوانی تابع استفاده کنند. | 4096 | 128 هزار | تا دسامبر 2023 |
gpt-4-turbo-2024-04-09 | GPT-4 Turbo با مدل بینایی. درخواستهای بینایی اکنون میتوانند از حالت JSON و فراخوانی تابع استفاده کنند. gpt-4-turbo در حال حاضر به این نسخه اشاره دارد. | 4096 | 128 هزار | تا دسامبر 2023 |
gpt-4-0125-preview | مدل پیشنمایش GPT-4 Turbo با هدف کاهش مواردی که مدل به خاطر آنها از انجام وظیفه خودداری میکند (یا به اصطلاح “تنبلی” میکند). | 4096 | 128 هزار | تا دسامبر 2023 |
gpt-4-turbo-preview | در حال حاضر به نسخه پیشنمایش gpt-4-0125 اشاره دارد (gpt-4-turbo-preview). | 4096 | 128 هزار | تا آوریل 2023 |
gpt-4-1106-preview | مدلی از GPT-4 Turbo با ویژگیهای بهبودیافته در پیروی از دستورالعملها، حالت JSON، خروجیهای قابل تکرار، فراخوانی تابع موازی و موارد دیگر. حداکثر 4096 توکن خروجی را برمیگرداند. این مدل پیشنمایش هنوز برای ترافیک تولید مناسب نیست. | 4096 | 128 هزار | تا آوریل 2023 |
gpt-4 | توانمندتر از هر مدل GPT-3.5، قادر به انجام وظایف پیچیدهتر و بهینهسازی شده برای گفتگو. | 8192 | 8192 | تا سپتامبر 2021 |
gpt-4-0613 | نسخهای از gpt-4 با دادههایی شامل فراخوانی تابع که در 13 ژوئن 2023 منتشر شد. بر خلاف gpt-4، این مدل بهروزرسانی نشد و 3 ماه پس از انتشار نسخه جدید، منسوخ شد. | 8192 | 8192 | تا سپتامبر 2021 |
gpt-4-0314 | نسخهای از gpt-4 در تاریخ 14 مارس 2023. | 8192 | 8192 | تا سپتامبر 2021 |
GPT سری 3.5 | ||||
مدل | توضیحات | بیشترین توکن | پنجره کانالی | تاریخ آموزش داده |
gpt-3.5-turbo-0125 | آخرین مدل GPT-3.5 Turbo با دقتی بالاتر در پاسخدهی به فرمتهای درخواستشده و رفع یک اشکال که باعث ایجاد مشکل رمزگذاری متن برای فراخوانیهای تابع در زبانهای غیرانگلیسی میشد. | 4096 | 16385 | تا سپتامبر 2021 |
gpt-3.5-turbo-1106 | مدل GPT-3.5 Turbo با ویژگیهای بهبودیافته در پیروی از دستورالعملها، حالت JSON، خروجیهای قابل تکرار، فراخوانی تابع موازی و موارد دیگر. | 16 هزار | 16385 | تا سپتامبر 2021 |
gpt-3.5-turbo | در حال حاضر اشاره به مدل gpt-3.5-turbo-0125 دارد. | 4096 | 4096 | تا سپتامبر 2021 |
gpt-3.5-turbo-instruct | قابلیتهای مشابه با مدلهای GPT-3. سازگار با نقطه پایانی تکمیلهای قدیمی و ناسازگار با تکمیلهای گفتگو. | 4096 | 4096 | تا سپتامبر 2021 |
Claude سری 2 و instant | ||||
مدل | توضیحات | بیشترین توکن | پنجره کانالی | تاریخ آموزش داده |
Claude 2 | Claude 2.1، نسل قبلی Claude 3، با ارائه عملکردی قوی و کارآمد در زمینههای مختلف، گامی اساسی در جهت توسعه Claude 3 برداشت. | 4096 | 100 هزار | اوایل 2023 |
Claude 2.1 | نسخهی بروز شدهی Claude 2 با دقتی بهبود یافته. | 4096 | 200 هزار | اوایل 2023 |
Claude Instant 1.2 | مقرون به صرفهترین، کوچکترین و سریعترین مدل شرکت Anthropic ، نسل قبلی مدل Claude Haiku | 4096 | 100 هزار | اوایل 2023 |
Claude سری 3 | ||||
مدل | توضیحات | بیشترین توکن | پنجره کانالی | تاریخ آموزش داده |
Claude 3 Opus | کلاود 3 Opus هوشمندترین مدل آنتروپیک است که در انجام وظایف بسیار پیچیده بهترین عملکرد را دارد. این مدل میتواند با تسلط کلامی، فصاحت و درکی شبیه به انسان، با درخواستهای باز و سناریوهای ناشناخته برخورد کند. | 4096 | 200 هزار | تا آگوست 2023 |
Claude 3 Sonnet | کلاود 3 Sonnet تعادل ایدهآلی بین هوش و سرعت ایجاد میکند، به ویژه برای کارهای سازمانی. این مدل، عملکردی قوی را با هزینهای کمتر نسبت به همتایان خود ارائه میدهد و برای استقامت بالا در استقرارهای هوش مصنوعی در مقیاس بزرگ طراحی شدهاست. | 4096 | 200 هزار | تا آگوست 2023 |
Claude 3 Haiku | کلاود 3 Haiku سریعترین و فشردهترین مدل آنتروپیک برای پاسخگویی تقریباً آنی و لحظهای است. این مدل به سوالات و درخواستهای ساده با سرعتی بینظیر پاسخ میدهد. کاربران قادراند تجربیات هوش مصنوعی بدون نقصی ایجاد کنند که تقلید کننده تعاملات انسانی است. | 4096 | 200 هزار | تا آگوست 2023 |
Claude سری 3.5 | ||||
مدل | توضیحات | بیشترین توکن | پنجره کانالی | تاریخ آموزش داده |
Claude 3.5 Opus | Claude 3.5 Opus در هر دو زمینه تولید کد و مراحل اولیه پردازش تصویر قوی است و آن را به یک گزینه همه کاره برای کاربردهای مختلف فناوری تبدیل میکند. | مشخص نیست. | مشخص نیست. | مشخص نیست. |
Claude 3.5 Sonnet | مدل کلاود 3.5 Sonnet یک پیشرفت قابل توجه در زمینه هوش مصنوعی است. این مدل در مقایسه با مدلهای قبلی، توانایی بسیار بهتری در درک مفاهیم پیچیده، طنز و دستورالعملهای پیچیده دارد و میتواند متنهایی با کیفیت بالا و طبیعی تولید کند. | 4096 | 200 هزار | تا آگوست 2023 |
Claude 3.5 Haiku | Claude 3.5 Haiku دارای قابلیتهای اولیه تولید کد است. این مدل برای پردازش تصویر کمتر مؤثر است، اما همچنان برای وظایف ساده کدنویسی و استفادههای عمومی مناسب است. | مشخص نیست. | مشخص نیست. | مشخص نیست. |
سری مدلهای Google Gemini | ||||
مدل | توضیحات | بیشترین توکن | پنجره کانالی | تاریخ آموزش داده |
Gemini flash | Gemini 1.5 Flash یک مدل بنیادی است که در انجام طیف متنوعی از وظایف چندوجهی مانند درک بصری، طبقهبندی، خلاصهسازی و ایجاد محتوا از تصویر، صدا و ویدیو عملکرد خوبی دارد. | 8192 | 1 میلیون | تا نوامبر 2023 |
Gemini Ultra | این مدل برای تولید خروجی با کیفیت بالا در وظایف پیچیده مانند کدنویسی و استدلال بهینه شده است و از چندین زبان پشتیبانی میکند. Ultra برای تولید خروجی با کیفیت بالا در وظایف پیچیده مانند کدنویسی و استدلال بهینه شده است و از چندین زبان پشتیبانی میکند. | 8192 | 32 هزار | مشخص نیست. |
Gemini 1.5 pro | Gemini 1.5 Pro به لطف آموزش بر روی حجم عظیمی از دادهها، توانایی انجام وظایف پیچیده مانند ترجمه زبانها، خلاصه کردن متنهای طولانی، و پاسخگویی به سوالات پیچیده را دارد. همچنین، این مدل در مقایسه با مدلهای قبلی، دقت و سرعت بسیار بالاتری دارد و میتواند در طیف گستردهای از کاربردها، از جمله جستجوی اطلاعات، تولید محتوا، و توسعه نرمافزار، مورد استفاده قرار گیرد. | 8192 | 1 میلیون | تا نوامبر 2023 |
Gemini pro | این مدل قادر است طیف وسیعی از وظایف پیچیده را انجام دهد، از جمله درک و تولید انواع مختلف محتوا مانند متن، کد و حتی تصاویر. جیمینای پرو با آموزش بر روی حجم عظیمی از دادهها، توانایی استدلال پیچیده، ترجمه زبانها، خلاصه کردن متنهای طولانی و پاسخگویی به سوالات پیچیده را دارد. این مدل همچنین در مقایسه با مدلهای قبلی، دقت و سرعت بسیار بالاتری دارد و میتواند در کاربردهای متنوعی مانند جستجوی اطلاعات، تولید محتوا و توسعه نرمافزار مورد استفاده قرار گیرد. یکی از ویژگیهای برجسته جیمینای پرو، توانایی آن در پردازش همزمان چندین نوع داده است که این امر به آن اجازه میدهد تا وظایف پیچیدهتری را انجام دهد. | 8192 | 32 هزار | تا دسامبر 2023 |