واحد 2 / 11

توکن و منطق قیمت گذاری

سود:

  • مفهوم نشانه، تمایز توکن ورودی/خروجی و توکن سازی را توضیح دهید.
  • می تواند هزینه یک درخواست و حجم کار ماهانه را از روی تعداد توکن ها و قیمت واحد محاسبه کند
  • می تواند تاثیر انتخاب مدل و طول سریع را بر هزینه مقایسه کند

شما نمی توانید بدون درک اقتصاد API های LLM راه حلی در مقیاس بسازید. نسخه ی نمایشی یک بار اجرا می شود. نکته اصلی این است که بتوانیم پیش بینی کنیم که وقتی هزاران تماس در ماه انجام می شود، صورت حساب چقدر خواهد بود. در این واحد ما جنبه پولی را تنظیم می کنیم: نشانه چیست، چرا ورودی و خروجی قیمت متفاوتی دارند، چگونه هزینه یک درخواست را محاسبه کنیم، و چگونه حجم کار ماهانه را بودجه بندی کنیم. این اطلاعات به شما امکان می دهد تا بازده تکنیک های بهینه سازی (کش کردن، انتخاب مدل، دسته ای) را در واحدهای بعدی اندازه گیری کنید.

توکن چیست؟

توکن کوچکترین واحدی است که مدل در آن متن را پردازش می کند. یک کلمه همیشه یک نشانه نیست. نشانه معمولاً بخشی از یک کلمه است. به طور کلی، در زبان انگلیسی، 1 نشانه ≈ 4 کاراکتر ≈ 0.75 کلمه است. در زبان ترکی و کد، این نسبت متفاوت است: کلمات ترکی به دلیل ساختار و الفبای پسوندی آن اغلب به نشانه های بیشتری نسبت به انگلیسی تقسیم می شوند. بنابراین، اندازه گیری تعداد توکن ها با ابزار شمارش توکن ارائه دهنده به جای حدس زدن با چشم ضروری است.

توکن سازی (فرایند تقسیم متن به توکن) ممکن است برای هر مدل متفاوت باشد. این دو پیامد عملی دارد: (1) یک متن ممکن است تعداد نشانه‌های متفاوتی را در مدل‌های مختلف ارائه دهد. (2) پیش‌بینی‌های انجام‌شده با توکن‌ایزرهای دیگر ارائه‌دهندگان (مانند کتابخانه tiktoken OpenAI) برای کلود نادرست خواهد بود - از نکته شمارش نشانه‌ها برای مدلی که استفاده می‌کنید استفاده کنید.

نکته: "تقریباً چند توکن؟" کورکورانه به سوال پاسخ ندهید. یک متن نماینده را از طریق API شمارش رمز عبور دهید. تصمیمات بودجه را بر اساس اندازه گیری قرار دهید.

توکن های ورودی و خروجی

فاکتور شامل دو مورد است:

  • نشانه‌های ورودی: هر چیزی که به مدل ارسال می‌کنید - اعلان سیستم، تورهای گذشته، پیام کاربر، اسناد در صورت وجود. اینها به یکباره پردازش می شوند.
  • نشانه های خروجی: پاسخ تولید شده توسط مدل. برای هر نشانه خروجی، مدل گام به گام محاسبه را انجام می دهد.

در اکثر ارائه دهندگان، خروجی چندین برابر گرانتر از ورودی است. دلیل آن ساده است: خواندن ورودی به یکباره ارزان تر از تولید نشانه به نشانه خروجی است. دانستن این عدم تقارن توضیح می دهد که چرا بهینه سازی هایی مانند "نیاز به پاسخ های مختصر" بسیار موثر هستند.

قیمت نمونه (به ازای هر 1 میلیون توکن، دلار آمریکا)

جدول زیر یک مرجع است؛ قیمت ها ممکن است در طول زمان تغییر کنند، لطفاً لیست فعلی ارائه دهنده خود را تأیید کنید.

کلاس مدل

مدل نمونه

ورودی ($/1 میلیون)

خروجی ($/1 میلیون)

استفاده معمولی

سریع / ارزان

هایکو 4.5

1.00

5.00

طبقه بندی، برچسب گذاری، خلاصه ساده

متعادل

غزل 5

3.00

ساعت 15.00

هدف کلی، کدنویسی، کار نمایندگی

قوی

Opus 4.8

5.00

ساعت 25.00

استدلال پیچیده، وظایف طولانی مدت

در هر کلاس، خروجی 5 برابر ورودی است. علاوه بر این، حتی ورودی مدل قدرتمند 5 برابر ورودی مدل ارزان است. این دو محور (ورودی↔خروجی و کلاس مدل) چارچوب تصمیم گیری هزینه شما را تشکیل می دهند.

چگونه هزینه را محاسبه کنیم؟

فرمول ساده است:

هزینه = (توکن_ورودی / 1000000) × قیمت_ورودی + (توکن_خروجی / 1000000) × قیمت_خروجی

حساب نمونه یک درخواست با Sonnet 5: 1500 توکن ورودی، 400 توکن خروجی.

ورودی = 1500 / 1000000 × 3.00 = 0.0045 دلار خروجی = 400 / 1000000 × 15.00 = 0.0060 دلار کل = 0.0105 دلار (حدود 1 سنت)

یک تماس ارزان به نظر می رسد. اما ضرب در حجم: 20000 تماس در روز → 210 دلار در روز، ~ 6300 دلار در ماه. اینجاست که مقیاس وارد عمل می شود.

الگوی بودجه ماهانه

برای استخراج هزینه ماهانه حجم کاری، از این الگو استفاده کنید:

1) میانگین توکن ورودی در هر درخواست: ......2) میانگین نشانه خروجی در هر درخواست: ......3) تعداد درخواست در روز: ......4) روزهای کار در ماه: ......5) هزینه هر درخواست = (1)/1 میلیون×قیمت_ورودی + (2)/1 میلیون×قیمت_خروجی6) هزینه ماهانه = (5)× (4)

ریختن این الگو در صفحه‌گسترده و دیدن نحوه انجام مجموع زمانی که مدل را تغییر می‌دهید، تصمیم‌های انتخاب مدل (واحد 5) و حافظه پنهان (واحد 6) را در بر می‌گیرد.

کوتاه کردن درخواست با الگوهای قابل کپی

بیشتر هزینه ها ناشی از درخواست های طولانی غیر ضروری و خروجی هدر رفته است. قالب های زیر صرفه جویی مستقیم را ارائه می دهند.

# طول خروجی را محدود کنید. حداکثر با 3 مورد پاسخ دهید. یک جمله منطقی یا مقدماتی اضافه کنید.

# فقط فیلد درخواستی را برگردانید فقط JSON زیر را برگردانید، هیچ متن دیگری اضافه نکنید:{"category": "...", "urgency": "low|medium|high"}

# حذف زمینه غیر ضروری فقط تاریخ و مقدار را از متن زیر حذف کنید. کل متن را تکرار نکنید. متن: """{{text}}"""

# سخنرانی طولانی را خلاصه کنید (ذخیره ورودی) این گفتار را در 5 مورد خلاصه کنید. من از این خلاصه به جای گذشته کامل در دورهای بعدی استفاده خواهم کرد. گفتار: """{{گذشته}}"""

اعلان ضعیف / اعلان قوی (از نظر هزینه)

# ضعیف (خروجی را منتشر می کند، گران است) این درخواست پشتیبانی را تجزیه و تحلیل کنید و یک بررسی جامع برای من بنویسید.

# STRONG (خروجی را محدود می کند، ارزان و قابل پیش بینی است) این درخواست پشتیبانی را طبقه بندی کنید. فقط JSON زیر را برگردانید:{"category":"invoice|technical|refund| other","urgency":"low|medium|high"}توضیح ننویسید.

نسخه ضعیف شاید 500 توکن خروجی تولید می کند. نسخه قوی ~ 15. از آنجا که خروجی گران است، این تفاوت قابل توجهی در هر تماس است و با حجم چند برابر می شود.

سه کیف کوچک

مورد 1 - هزینه پنهان درخواست طولانی. همانطور که یک اتوماسیون حسابداری هر فاکتور را مرتب می کرد، یک "کتاب قوانین" 40 صفحه ای را به عنوان ورودی به هر درخواست اضافه کرد: ~ 12000 توکن ورودی در هر درخواست. با Sonnet 5 12000/1M×3 = 0.036 دلار به تازگی وارد شده است. 5000 اسکناس در روز → 180 دلار در روز. با ذخیره کردن کتاب قوانین (واحد 6) هزینه ورودی تا 90% کاهش یافت.

مورد 2 - بازده کوچک کردن مدل. یک تیم برچسب‌گذاری احساسات ساده «مثبت/منفی» را با Opus 4.8 انجام می‌داد: 300 ورودی + 10 توکن خروجی. هزینه Opus 300/1M×5 + 10/1M×25 = 0.00175 دلار. تغییر به هایکو، 300/1M×1 + 10/1M×5 = 0.00035 دلار — 5 برابر ارزان تر، تفاوت در دقت غیر قابل اندازه گیری بود. در 3 میلیون تماس در ماه، تفاوت 5250 دلار → 1050 دلار است.

مورد 3 - آزاد کردن خروجی. هنگامی که یک تیم بازاریابی شرح محصول را ارائه می‌کند، هیچ محدودیتی برای خروجی تعیین نمی‌کند. مدل گاهی اوقات 1500 توکن می گفت. وقتی دستور "60 کلمه حداکثر" را اضافه کردم، میانگین خروجی از 900 به 90 توکن کاهش یافت. از آنجایی که چاپ گران بود، صورتحساب ماهانه یک سوم کاهش یافت و متون مفیدتر شدند.

اشتباهات رایج

  • حدس زدن نشانه با چشم: ممکن است اشتباه کنید به خصوص در زبان ترکی و کد. اندازه گیری کنید.
  • با فرض یکسان بودن ورودی و خروجی: خروجی معمولاً بسیار گران‌تر است. بیشتر بهینه سازی از کوتاه کردن خروجی حاصل می شود.
  • فریب ارزان بودن یک تماس را نخورید: تصمیم با حجم گرفته می شود. 0.01 × میلیون = 10000 دلار.
  • پیش‌بینی با توکنایزر ارائه‌دهنده دیگر: نتایج نادرستی می‌دهد. از ابزار شمارش توکن مدل استفاده کنید.
  • بزرگ‌نمایی نامحدود تاریخچه مکالمه: هر دور به ورودی اضافه می‌شود. در گفتگوهای طولانی خلاصه کنید
  • بالا نگه داشتن «max_tokens» به طور غیر ضروری: برنامه بودجه و خطر کاهش را پنهان می کند. ارزش واقع بینانه بدهید.

عمیق تر: پنجره زمینه و هزینه ورودی طولانی

بسیار مهم است که ببینیم قیمت چگونه "در سراسر گفتگو" و نه فقط "در هر درخواست" افزایش می یابد. مقدار کل متنی که مدل می تواند پردازش کند، پنجره زمینه نامیده می شود. مجموع ورودی و خروجی باید در این پنجره قرار گیرد. مدل‌های مدرن پنجره‌های بسیار بزرگی را ارائه می‌کنند (صدها هزار، حتی میلیون‌ها توکن)، اما این بدان معنا نیست که می‌توانید «بی‌نهایت آن را پر کنید» - هر چیزی که در پنجره قرار می‌دهید به عنوان ورودی صورت‌حساب می‌شود.

دام مکالمات طولانی این است: با هر دور جدید کل تاریخ را دوباره ارسال می کنید (بی تابعیتی در واحد 1). در یک مکالمه 20 دوری، درخواست بیستم کل 19 دور اول را به عنوان ورودی به همراه دارد. بنابراین، با طولانی‌تر شدن مکالمه، هزینه هر درخواست به‌جای خطی افزایش می‌یابد. یک مکالمه 50 دور با یک دستیار نماینده می تواند هزینه ورودی ده ها برابر دور اول را ایجاد کند.

دو راه برای مدیریت این موضوع وجود دارد. اولی Recap است: فشرده کردن دورهای قدیمی در یک بلوک recap، تنها چند دور آخر را خام نگه می دارد. دوم، ذخیره سریع (واحد 6): خواندن متن ثابت با یک دهم قیمت به جای پردازش مکرر آن با قیمت کامل. آنها با هم، صورتحساب بارهای کاری طولانی و فشرده را به میزان قابل توجهی کاهش می دهند. بنابراین اقتصاد رمزی مربوط به طراحی کل جلسه است، نه یک درخواست.

به طور خلاصه

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

وظیفه کاربردی

یک کار را خودتان انتخاب کنید. (1) تعداد توکن های ورودی و خروجی تخمینی را برای یک درخواست نماینده تعیین کنید (در صورت امکان با ابزار شمارش نشانه ها اندازه گیری کنید). (2) هزینه هر درخواست برای سه کلاس مدل را محاسبه کنید. (3) تعداد درخواست های روزانه خود را تخمین بزنید و بودجه ماهانه سه مدل را استخراج کنید. (4) دستورالعملی برای کوتاه کردن خروجی و توجه به صرفه جویی مورد انتظار اضافه کنید.

چک لیست

  • [ ] من می توانم مفهوم نشانه ها را توضیح دهم و توکن سازی بسته به مدل متفاوت است.
  • [ ] من می دانم که چرا نشانه های ورودی و خروجی قیمت متفاوتی دارند.
  • [ ] می توانم هزینه یک درخواست را با فرمول محاسبه کنم.
  • [ ] می توانم با استفاده از یک الگو، بودجه ماهانه برای حجم کاری ایجاد کنم.
  • [ ] می توانم با یک مثال مزایای کوتاه کردن خروجی و کاهش مدل را نشان دهم.