چگونه از LLMها بدون از دست دادن بودجه خود استفاده کنیم

ساخت یک دموی هوش مصنوعی آسان است. یک کلید API می‌گیرید، یک پرامپت می‌نویسید و کار می‌کند.

اما عرضه آن برای کاربران واقعی متفاوت است. ترافیک از راه می‌رسد و هزینه‌های شما به شدت بالا می‌رود. تأخیر (latency) شما افزایش می‌یابد. تیم مالی از شما سوال می‌پرسد.

فاصله بین یک دمو و یک محصول واقعی، مهندسی است. شما باید هزینه و سرعت را مدیریت کنید.

برای صرفه‌جویی در هزینه، خروجی خود را کنترل کنید

اکثر APIها بر اساس توکن هزینه دریافت می‌کنند. آن‌ها بابت آنچه می‌فرستید و آنچه برمی‌گردانند هزینه می‌گیرند. توکن‌های خروجی گران‌تر از توکن‌های ورودی هستند.

فقط پرامپت‌های خود را کوتاه نکنید؛ روی پاسخ تمرکز کنید. • درخواست فرمت JSON کنید. • درخواست پاسخ در یک جمله کنید. • یک حد مجاز برای توکن‌ها (max token limit) تعیین کنید. • به مدل بگویید کوتاه و مختصر پاسخ دهد.

پاسخ‌های کوتاه، ارزان‌تر و سریع‌تر هستند.

تعداد فراخوانی‌ها را کاهش دهید

ارزان‌ترین فراخوانی، فراخوانی‌ای است که هرگز انجام نمی‌دهید.

  • از کشینگ (caching) استفاده کنید. بسیاری از کاربران سوالات مشابهی می‌پرسند. یک کش، یک فراخوانی کند API را به یک جستجوی سریع تبدیل می‌کند.
  • از یک روتر (router) استفاده کنید. شما برای هر کاری به یک مدل عظیم نیاز ندارید. برای کارهای ساده از یک مدل کوچک و ارزان استفاده کنید. مدل گران‌قیمت را فقط برای کارهای دشوار به کار بگیرید.

تجربه کاربری را بهبود ببخشید

گاهی اوقات نمی‌توانید مدل را سریع‌تر کنید، اما می‌توانید کاری کنید که سریع‌تر به نظر برسد.

  • پاسخ‌ها را به صورت استریم (stream) نمایش دهید. متن را همان‌طور که تولید می‌شود نشان دهید. کاربران بلافاصله شروع به خواندن می‌کنند. این کار باعث می‌شود زمان انتظار کوتاه‌تر به نظر برسد.
  • پیشرفت کار را نشان دهید. اگر انجام کار مراحل مختلفی دارد، به کاربر اطلاع دهید. به جای یک چرخش بارگذاری (loading spinner) خالی، از پیام‌هایی مانند «در حال جستجوی اسناد...» استفاده کنید.

درخواست‌های کند را مدیریت کنید

چند درخواست بسیار کند می‌تواند محصول شما را خراب کند. اجازه ندهید آن‌ها معطل بمانند.

  • تایم‌اوت‌های (timeouts) سخت‌گیرانه تعیین کنید. تصمیم بگیرید که اگر یک درخواست خیلی طول کشید، چه اتفاقی بیفتد.
  • از تلاش مجدد (retries) با محدودیت استفاده کنید. تا ابد تلاش مجدد نکنید.
  • از قطع‌کن‌های مدار (circuit breakers) استفاده کنید. اگر سرویس‌دهنده از دسترس خارج شد، ارسال درخواست را متوقف کرده و یک حالت جایگزین (fallback) نشان دهید.

داده‌های خود را ردیابی کنید

چیزی را که اندازه‌گیری نمی‌کنید، نمی‌توانید اصلاح کنید. این سه مورد را برای هر درخواست ثبت (log) کنید: • توکن‌های ورودی • توکن‌های خروجی • مجموع تأخیر (total latency)

این موارد را بر اساس هر ویژگی (feature) ردیابی کنید. احتمالاً یک ویژگی خاص را پیدا خواهید کرد که عامل اصلی اکثر هزینه‌های شماست.

از برخورد با مدل به عنوان یک جادو خودداری کنید. با آن به عنوان یک وابستگی (dependency) کند و گران‌قیمت برخورد کنید که باید آن را مدیریت کنید.

Source: https://dev.to/muhammadzainnaseer/how-to-put-an-llm-in-your-product-without-wrecking-your-costs-or-your-latency-89a