شیدهوش
فصل ۴ · درس ۵ از ۱۳

۵. هزینه، تأخیر و جدول معیارها

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

زمان مطالعه: ۱۵ دقیقهمرجع در کتاب: فصل ۴، بخش Cost and Latency — صفحهٔ ۳۵۱

هزینه و تأخیر

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

برای تأخیر چند سنجه هست: زمان تا اولین توکن (TTFTTime To First Tokenزمان تا اولین توکن)، زمان هر توکن (TPOTTime Per Output Tokenزمان به‌ازای هر توکن خروجی)، زمان بین توکن‌ها، زمان کل هر پرسش و… بدانید کدام برایتان مهم است. تأخیر فقط به مدل بستگی ندارد؛ به پرامپت و تنظیمات نمونه‌برداری هم. مدل‌های زبانی توکن‌به‌توکن تولید می‌کنند، پس خروجی بلندتر یعنی انتظار بیشتر. با پرامپت («کوتاه جواب بده»)، شرط توقف (فصل ۲) و روش‌های فصل ۹ می‌شود کنترلش کرد.

هزینه هم دو حالت دارد. API‌ها به‌ازای توکن پول می‌گیرند — توکن ورودی و خروجی بیشتر، هزینهٔ بیشتر. اگر مدل را خودتان میزبانی کنید، هزینه (غیر از نیروی مهندسی) محاسبه است. خیلی‌ها بزرگ‌ترین مدلی را برمی‌دارند که روی دستگاهشان جا شود؛ کارت‌های گرافیک معمولاً ۱۶، ۲۴، ۴۸ یا ۸۰ گیگابایت حافظه دارند و تصادفی نیست که خیلی از مدل‌های محبوب ۷ یا ۶۵ میلیارد پارامتر دارند. نکتهٔ مهم: هزینهٔ هر توکن در API با بزرگ شدن مقیاس تقریباً ثابت می‌ماند، ولی در میزبانی خودتان ارزان‌تر می‌شود — خوشه‌ای که روزی یک میلیارد توکن می‌تواند سرو کند، چه یک میلیون سرو کند چه یک میلیارد، همان هزینه را دارد. پس در هر مقیاس باید دوباره پرسید کدام به‌صرفه‌تر است.

همه با هم: جدول معیارها

این نمونهٔ کتاب از جدول معیارهای یک اپلیکیشن خیالی است. هر ردیف یک شرط سخت دارد (کمتر از آن قبول نیست) و یک حالت ایده‌آل:

معیارسنجهآزمونشرط سختایده‌آل
هزینههزینهٔ هر توکن خروجی—زیر ۳۰ دلار برای یک میلیون توکنزیر ۱۵ دلار
مقیاستوکن در دقیقه (TPMTokens Per Minuteتوکن در دقیقه — سقف حجمی که یک API در هر دقیقه می‌پذیرد. (Tokens Per Minute — توکن در دقیقه))—بیش از یک میلیونبیش از یک میلیون
تأخیرTTFT (صدک ۹۰)پرامپت‌های واقعی کاربرانزیر ۲۰۰ میلی‌ثانیهزیر ۱۰۰ میلی‌ثانیه
تأخیرزمان کل پرسش (صدک ۹۰)پرامپت‌های واقعی کاربرانزیر ۱ دقیقهزیر ۳۰ ثانیه
کیفیت کلیامتیاز Eloرتبه‌بندی Chatbot Arenaبیش از ۱۲۰۰بیش از ۱۲۵۰
تولید کدpass@1HumanEvalبیش از ۹۰٪بیش از ۹۵٪
سازگاری با واقعیتسنجهٔ داور داخلیدیتاست داخلی توهمبیش از ۰٫۸بیش از ۰٫۹

«صدک ۹۰» یعنی ۹۰٪ درخواست‌ها از این عدد سریع‌ترند — میانگین ممکن است چند درخواست خیلی کند را پنهان کند. ردیف «مقیاس» مخصوصاً برای API‌ها مهم است: سرویسی لازم دارید که حجم شما را تحمل کند. در پروژهٔ این فصل، جدول شرط‌های سخت ذهن‌یار را دقیقاً به همین شکل در کد می‌نویسیم.

خودآزمایی

تأخیر برای محصول شما خط قرمز است: باید زیر یک ثانیه باشد. مدل الف کیفیت ۹۰ و تأخیر ۳ ثانیه دارد؛ مدل ب کیفیت ۸۰ و تأخیر نیم ثانیه. کدام؟
چرا هزینهٔ هر توکن در میزبانی خودتان با مصرف بیشتر کم می‌شود؟
«صدک ۹۰ تأخیر برابر ۲۰۰ میلی‌ثانیه» یعنی چه؟

مرور فلش‌کارت‌های این درس

تعریف

اولین قدم بهینه‌سازی پارتو در انتخاب مدل چیست؟

برای دیدن پاسخ کلیک کنید یا Space بزنید

کارت ۱ از ۵

آکادمی هوش مصنوعی شیدهوش — بخشی از shidhoosh.com