Novita اخیراً قیمتگذاری LLM خود را بهروزرسانی کرده است. برای تیمهایی که استنتاج (inference) عملیاتی را از طریق این پلتفرم اجرا میکنند، این جمله باید باعث بررسی فوری هزینههای فعلی شما شود. تغییرات نرخ API بهندرت در زمان مناسبی رخ میدهند و وقتی این تغییرات چندین سطح مدل را تحت تأثیر قرار میدهند، تأثیر آنها بر هزینههای ماهانه میتواند شدیدتر از حد انتظار باشد.
چرا قیمتگذاری Inference شایسته توجه شماست
اکثر اپلیکیشنهای مدرن هوش مصنوعی بر پایه خوشههای GPU مدیریتشده توسط خود کاربر ساخته نمیشوند. توسعهدهندگان درخواستها را به ارائهدهندگان inference مانند Novita هدایت میکنند، زیرا جایگزین آن شامل تأمین سختافزار، مدیریت استقرار vLLM یا TGI و مدیریت شروعهای سرد (cold starts) در زمان اوج ترافیک است. این راحتی ارزشمند است، اما هزینهبر نیز هست. هر توکن تولید شده به فاکتوری اضافه میشود که در طول نشستهای کاربری، وظایف پسزمینه و ابزارهای داخلی انباشته میشود.
وقتی یک ارائهدهنده قیمت خود را تغییر میدهد، اثر آن در تمام پشته (stack) شما پخش میشود. یک چتبات که روزانه ده هزار مکالمه با مشتری را مدیریت میکند، ممکن است در یک هفته چهل میلیون توکن ورودی و دوازده میلیون توکن خروجی مصرف کند. حتی اگر نرخ هر میلیون توکن چند دلار تغییر کند، تفاوت ماهانه به سرعت قابل توجه میشود. برای محصولات با بودجه محدود (bootstrapped) یا تیمهایی که با حاشیه سود کم فعالیت میکنند، این اختلاف میتواند سودآوری را از بین ببرد. یک دستیار کدنویسی که به عنوان افزونه مرورگر اجرا میشود، یک خط لوله خلاصهسازی دستهای (batch summarization pipeline) که در طول شب پردازش انجام میدهد، یا یک ابزار جستجوی داخلی که با هر بار بارگذاری صفحه از یک مدل پرسوجو میکند، همگی دارای آسیبپذیری یکسانی هستند. اقتصاد واحد (unit economics) آنها به قیمت دقیق توکن بعدی بستگی دارد.
چه چیزی در Novita تغییر کرد
Novita هزینههای جدیدی را معرفی کرده است که مدلهای مختلف در کاتالوگ خود را تحت تأثیر قرار میدهد. این شرکت افزایش یا کاهش درصدی یکسانی را در همه سطوح اعمال نکرده است. در عوض، تعدیلات بسته به مدل متفاوت است، به این معنی که صورتحساب شما بسته به اینکه دقیقاً از کدام endpointها استفاده میکنید، تغییر خواهد کرد.
اگر اپلیکیشن شما تمام ترافیک را از طریق یک مدل زبانی بزرگ (LLM) واحد هدایت میکند، محاسبات شما ساده است. نرخ قدیمی را با نرخ جدید مقایسه کنید و میزان ضرر یا صرفهجویی را پیشبینی کنید. اما اکثر تنظیمات عملیاتی پیچیدهتر هستند. تیمها اغلب منطق مسیریابی (routing logic) را حفظ میکنند که پرسوجوهای ساده را به مدلهای سبکتر میفرستد و مدلهای سنگین را برای وظایف استدلال پیچیده رزرو میکند. برخی دیگر تستهای A/B را روی چندین مدل اجرا میکنند تا تأخیر (latency) و کیفیت را مقایسه کنند. در این سناریوها، تغییر قیمت در تنها یک یا دو مدل میتواند کل ساختار هزینه شما را مختل کند.
ارقام دقیق مربوط به هر توکن و هر درخواست در یک گزارش تفصیلی که توسط Narevbot در Dev.to منتشر شده، آمده است. میتوانید لیست دقیق نرخها را در اینجا مشاهده کنید: https://dev.to/narevbot/changes-to-llm-pricing-novita-3plc
به حافظه یا یک اسکرینشات قدیمی که در مستندات شما دفن شده است، تکیه نکنید. قبل از اینکه مدلسازی بودجه فصل آینده خود را انجام دهید، اعداد فعلی را مستقیماً از آن منبع استخراج کنید.
چگونه میزان ریسک خود را بررسی کنید
با دادهها شروع کنید، نه با حدس و گمان. وارد داشبورد Novita شوید و تاریخچه استفاده خود را برای دو تا سه ماه گذشته صادر (export) کنید. آن دادهها را بر اساس مدل و نوع عملیات بخشبندی کنید. شما باید بدانید کدام endpointها بخش عمده بودجه شما را مصرف میکنند و کدامیک بیشترین توکن را در هر درخواست تولید میکنند.
به دنبال این الگوها باشید:
- ریسک تمرکز. اگر هفتاد درصد هزینههای شما از طریق یک مدل انجام میشود و آن مدل با افزایش قیمت مواجه شده است، فوریت موضوع بدیهی است. اگر هزینههای شما بین هشت مدل پخش شده باشد و قیمت سه مورد از آنها تغییر کرده باشد، محاسبات زمان بیشتری میبرد اما ریسک همچنان واقعی است.
- تورم توکن (Token bloat). بررسی کنید که آیا پرامپتهای شما با کانتکستهای غیرضروری حجیم شدهاند یا خیر. پرامپتهای سیستم طولانی، مثالهای few-shot تکراری و قالببندیهای پرگو (verbose) XML همگی هزینههای ورودی را افزایش میدهند. بهروزرسانی قیمتها، بهانهای عالی برای کاهش هزینههای اضافی است.
- ناکارآمدی خروجی. اگر اپلیکیشن شما درخواست تکمیلهای طولانی میکند اما فقط از چند جمله اول استفاده میکند، در واقع دارید برای توکنهایی که دور میریزید پول پرداخت میکنید. محدودیتهای
max_tokenو توالیهای توقف (stop sequences) خود را تنظیم کنید. - وظایف پسزمینه بلااستفاده. یک وظیفه زمانبندی شده که گزارشها را تولید میکند یا اسناد را embedding میکند، ممکن است بیش از حد نیاز اجرا شود. برنامه cron و اندازه دستهها (batch size) را بررسی کنید.
