युनिट 2 / 11

टोकन आणि प्राइसिंग लॉजिक

नफा:

  • टोकन, इनपुट/आउटपुट टोकन डिस्टिंक्शन आणि टोकनीकरण या संकल्पना स्पष्ट करा.
  • टोकनची संख्या आणि युनिट किंमत यावरून विनंतीची किंमत आणि मासिक वर्कलोडची गणना करू शकते
  • मॉडेल निवडीच्या प्रभावाची आणि किंमतीवर त्वरित लांबीची तुलना करू शकते

LLM API चे अर्थशास्त्र समजून घेतल्याशिवाय तुम्ही मोठ्या प्रमाणावर उपाय तयार करू शकत नाही. डेमो एकदा चालतो; मुख्य म्हणजे महिन्याला हजारो कॉल्स येतात तेव्हा बिल काय असेल याचा अंदाज बांधता येणे. या युनिटमध्ये आम्ही गोष्टींची पैशाची बाजू सेट केली आहे: टोकन म्हणजे काय, इनपुट आणि आउटपुटची किंमत वेगळी का आहे, विनंतीची किंमत कशी मोजावी आणि मासिक वर्कलोडचे बजेट कसे करावे. ही माहिती तुम्हाला त्यानंतरच्या युनिट्समध्ये ऑप्टिमायझेशन तंत्र (कॅशिंग, मॉडेल निवड, बॅच) च्या रिटर्नचे मोजमाप करण्यास अनुमती देते.

टोकन म्हणजे काय?

टोकन हे सर्वात लहान युनिट आहे ज्यामध्ये मॉडेल मजकूरावर प्रक्रिया करते. शब्द नेहमी टोकन नसतो; टोकन हा सहसा शब्दाचा भाग असतो. साधारणपणे बोलायचे झाल्यास, इंग्रजीमध्ये, 1 टोकन म्हणजे ≈ 4 वर्ण ≈ 0.75 शब्द. तुर्की आणि कोडमध्ये, गुणोत्तर बदलते: तुर्की शब्द त्याच्या प्रत्यय रचना आणि वर्णमालामुळे इंग्रजीपेक्षा अधिक टोकनमध्ये विभागले जातात. त्यामुळे, डोळ्यांनी अंदाज लावण्यापेक्षा प्रदात्याच्या टोकन मोजणी साधनाने टोकनची संख्या मोजणे आवश्यक आहे.

टोकनीकरण (टोकनमध्ये मजकूर विभाजित करण्याची प्रक्रिया) प्रत्येक मॉडेलसाठी भिन्न असू शकते. याचे दोन व्यावहारिक परिणाम आहेत: (1) समान मजकूर वेगवेगळ्या मॉडेल्समध्ये भिन्न संख्येचे टोकन देऊ शकतात; (२) इतर प्रदात्यांकडून टोकनायझर्ससह केलेले अंदाज (उदा. OpenAI ची टिकटोकन लायब्ररी) क्लॉडसाठी चुकीचे असतील — तुम्ही वापरत असलेल्या मॉडेलसाठी टोकन मोजणी टिप वापरा.

इशारा: "किती टोकन्स बद्दल?" आंधळेपणाने प्रश्नाचे उत्तर देऊ नका. टोकन मोजणी API द्वारे प्रतिनिधी मजकूर पास करा; मोजमापावर आधारभूत बजेट निर्णय.

इनपुट आणि आउटपुट टोकन

इनव्हॉइसमध्ये दोन आयटम असतात:

  • इनपुट टोकन: तुम्ही मॉडेलला पाठवलेली कोणतीही गोष्ट — सिस्टम प्रॉम्प्ट, मागील टूर, वापरकर्ता संदेश, कागदपत्रे असल्यास. या सर्वांवर एकाच वेळी प्रक्रिया केली जाते.
  • आउटपुट टोकन: मॉडेलद्वारे तयार केलेला प्रतिसाद. प्रत्येक आउटपुट टोकनसाठी, मॉडेल चरण-दर-चरण गणना करते.

बऱ्याच प्रदात्यांसह, आउटपुट इनपुटपेक्षा कित्येक पटीने अधिक महाग आहे. कारण सोपे आहे: आउटपुट टोकन-बाय-टोकन तयार करण्यापेक्षा एकाच वेळी इनपुट वाचणे स्वस्त आहे. ही विषमता जाणून घेतल्याने "संक्षिप्त उत्तरांची आवश्यकता आहे" सारखे ऑप्टिमायझेशन इतके प्रभावी का आहेत हे स्पष्ट करते.

नमुना किमती (प्रति 1 दशलक्ष टोकन, USD)

खालील तक्ता संदर्भ आहे; किंमती कालांतराने बदलू शकतात, कृपया तुमच्या स्वतःच्या प्रदात्याच्या वर्तमान सूचीची पुष्टी करा.

मॉडेल वर्ग

नमुना मॉडेल

इनपुट ($/1M)

आउटपुट ($/1M)

ठराविक वापर

जलद/स्वस्त

हायकू 4.5

१.००

५.००

वर्गीकरण, लेबलिंग, साधा सारांश

संतुलित

सॉनेट 5

३.००

१५.००

सामान्य उद्देश, कोडिंग, एजंट कार्य

मजबूत

ओपस ४.८

५.००

२५.००

जटिल तर्क, लांब पल्ल्याची कार्ये

प्रत्येक वर्गात, आउटपुट इनपुटच्या 5 पट आहे; शिवाय, शक्तिशाली मॉडेलचे इनपुट देखील स्वस्त मॉडेलच्या इनपुटच्या 5 पट आहे. हे दोन अक्ष (इनपुट↔आउटपुट आणि मॉडेल क्लास) तुमच्या खर्चाच्या निर्णयांची चौकट तयार करतात.

खर्चाची गणना कशी करावी?

सूत्र सोपे आहे:

किंमत = (इनपुट_टोकन / 1,000,000) × इनपुट_किंमत + (आउटपुट_टोकन / 1,000,000) × आउटपुट_किंमत

नमुना खाते. सॉनेट 5: 1,500 इनपुट टोकन, 400 आउटपुट टोकनसह विनंती.

इनपुट = 1,500 / 1,000,000 × 3.00 = $0.0045 आउटपुट = 400 / 1,000,000 × 15.00 = $0.0060 एकूण = $0.0105 (सुमारे 1 सेंट)

एक कॉल स्वस्त दिसतो. परंतु व्हॉल्यूमने गुणाकार करा: दररोज 20,000 कॉल → $210 प्रतिदिन, ~$6,300 प्रति महिना. स्केल प्ले मध्ये येतो जेथे आहे.

मासिक बजेट टेम्पलेट

वर्कलोडचा मासिक खर्च काढण्यासाठी, हे टेम्पलेट वापरा:

1) प्रति विनंती सरासरी इनपुट टोकन: ......2) प्रति विनंती सरासरी आउटपुट टोकन: ......3) प्रति दिवस विनंत्यांची संख्या: ......4) प्रति महिना काम केलेले दिवस: ......5) प्रति विनंती खर्च = (1)/1M×input_price + (2)/1M×output_price6) मासिक किंमत = (5) × (3) × (3)

हा पॅटर्न स्प्रेडशीटमध्ये ओतणे आणि तुम्ही मॉडेल बदलता तेव्हा बेरीज कशी चालते हे पाहणे मॉडेल निवड (युनिट 5) आणि कॅशे (युनिट 6) निर्णयांना मूर्त रूप देते.

कॉपी करण्यायोग्य टेम्पलेटसह प्रॉम्प्ट लहान करणे

बहुतेक खर्च अनावश्यकपणे लांब प्रॉम्प्ट आणि वाया गेलेल्या आउटपुटमधून येतो. खालील टेम्पलेट थेट बचत प्रदान करतात.

# आउटपुट लांबी मर्यादित करा. कमाल 3 आयटमसह उत्तर द्या. तर्क किंवा प्रास्ताविक वाक्य जोडा.

# फक्त विनंती केलेले फील्ड परत करा फक्त खालील JSON परत करा, इतर कोणताही मजकूर जोडू नका:{"category": "...", "urgency": "low|medium|high"}

# अनावश्यक संदर्भ काढून टाका खालील मजकुरातून फक्त तारीख आणि रक्कम काढा. संपूर्ण मजकूराची पुनरावृत्ती करू नका. मजकूर: """{{text}}"""

# दीर्घ भाषणाचा सारांश द्या (इनपुट बचत) या भाषणाचा 5 आयटममध्ये सारांश करा. त्यानंतरच्या फेऱ्यांमध्ये मी पूर्ण भूतकाळाऐवजी हा सारांश वापरेन. भाषण: """{{भूतकाळ}}"""

कमकुवत प्रॉम्प्ट / मजबूत प्रॉम्प्ट (खर्चाच्या बाबतीत)

# कमजोर (आऊटपुट रिलीज करते, महाग) या समर्थन विनंतीचे विश्लेषण करा आणि मला एक सर्वसमावेशक पुनरावलोकन लिहा.

# मजबूत (आउटपुट मर्यादित करते, स्वस्त आणि अंदाज लावता येते) या समर्थन विनंतीचे वर्गीकरण करा. फक्त खालील JSON परत करा:{"category":"invoice|technical|refund| other","urgency":"low|medium|high"}वर्णन लिहू नका.

कमकुवत आवृत्ती कदाचित 500 आउटपुट टोकन तयार करते; मजबूत आवृत्ती ~15. आउटपुट महाग असल्यामुळे, हा प्रति कॉल एक महत्त्वपूर्ण फरक आहे आणि व्हॉल्यूमसह गुणाकार होतो.

तीन मिनी केसेस

केस 1 - लांब प्रॉम्प्टची छुपी किंमत. अकाऊंटिंग ऑटोमेशनने प्रत्येक इनव्हॉइसची क्रमवारी लावल्यामुळे, प्रत्येक विनंतीला इनपुट म्हणून 40-पानांचे “नियम पुस्तक” जोडले: प्रति विनंती ~12,000 इनपुट टोकन. सॉनेट 5 12,000/1M×3 = $0.036 नुकतेच प्रविष्ट केले. दररोज 5,000 बिले → $180 प्रतिदिन. नियम पुस्तिका (युनिट 6) कॅश केल्याने इनपुट खर्च ~90% कमी झाला.

केस 2 - मॉडेलचा आकार कमी करण्याचा मोबदला. एक संघ Opus 4.8: 300 इनपुट + 10 आउटपुट टोकन्ससह साधे "सकारात्मक/नकारात्मक" भावना टॅगिंग करत होता. ओपसची किंमत 300/1M×5 + 10/1M×25 = $0.00175. हायकूवर स्विच करणे, 300/1M×1 + 10/1M×5 = $0.00035 — 5x स्वस्त, अचूकतेतील फरक अतुलनीय होता. दरमहा 3 दशलक्ष कॉल्सवर, फरक $5,250 → $1,050 आहे.

केस 3 - आउटपुट सोडत आहे. जेव्हा विपणन संघाने उत्पादनाचे वर्णन तयार केले, तेव्हा ते आउटपुटवर कोणतीही मर्यादा सेट करत नाही; मॉडेलने कधीकधी 1,500 टोकन सांगितले. जेव्हा मी "60 शब्द जास्तीत जास्त" सूचना जोडली, तेव्हा सरासरी आउटपुट 900 ते 90 टोकन्सवर घसरले. छपाई महाग असल्याने मासिक बिल एक तृतीयांश कमी झाले आणि मजकूर अधिक उपयुक्त झाला.

सामान्य चुका

  • डोळ्याद्वारे टोकनचा अंदाज लावणे: आपण विशेषतः तुर्की आणि कोडमध्ये चुकीचे असू शकता. माप.
  • इनपुट आणि आउटपुट समान आहेत असे गृहीत धरून: आउटपुट सहसा जास्त महाग असते; बहुतेक ऑप्टिमायझेशन आउटपुट लहान करण्यापासून येते.
  • एका कॉलच्या स्वस्तपणामुळे फसवू नका: निर्णय व्हॉल्यूमद्वारे केला जातो. $0.01 × दशलक्ष = $10,000.
  • दुसर्या प्रदात्याच्या टोकनायझरसह अंदाज: चुकीचे परिणाम देते; मॉडेलचे टोकन मोजण्याचे साधन वापरा.
  • संभाषण इतिहासाची अमर्यादित वाढ: प्रत्येक फेरी एंट्रीमध्ये जोडली जाते; दीर्घ संभाषणांमध्ये सारांश द्या.
  • `max_tokens` अनावश्यकपणे उच्च ठेवणे: बजेट योजना आणि कट होण्याचा धोका लपवतो; एक वास्तववादी मूल्य द्या.

सखोल: संदर्भ विंडो आणि लांब इनपुट खर्च

केवळ "प्रति विनंती" नव्हे तर "संभाषणात" किंमत कशी वाढते हे पाहणे महत्त्वाचे आहे. मॉडेल प्रक्रिया करू शकणाऱ्या मजकुराच्या एकूण प्रमाणाला संदर्भ विंडो म्हणतात; इनपुट आणि आउटपुटची बेरीज या विंडोमध्ये बसणे आवश्यक आहे. आधुनिक मॉडेल्स खूप मोठ्या विंडो ऑफर करतात (शेकडो हजारो, अगदी लाखो टोकन देखील), परंतु याचा अर्थ असा नाही की तुम्ही ते "अनंतपणे भरू शकता" — तुम्ही जे काही विंडोमध्ये ठेवता ते इनपुट म्हणून बिल केले जाते.

लांबलचक संभाषणांचा सापळा असा आहे: प्रत्येक नवीन फेरीसह तुम्ही संपूर्ण इतिहास पुन्हा पाठवता (एकक 1 मध्ये राज्यहीनता). 20 फेऱ्यांच्या संभाषणात, 20 व्या विनंतीमध्ये संपूर्ण पहिल्या 19 फेऱ्या इनपुट म्हणून असतात. अशाप्रकारे, संभाषण जसजसे लांबत जाते, तसतसे प्रति विनंती खर्च रेषीय ऐवजी एकत्रितपणे वाढतो. एजंट सहाय्यकासोबत 50 फेऱ्यांचे संभाषण पहिल्या फेरीच्या डझनभर पटीने इनपुट खर्च करू शकते.

हे व्यवस्थापित करण्याचे दोन मार्ग आहेत. पहिले रिकॅप आहे: जुन्या फेऱ्यांना एकाच रिकॅप ब्लॉकमध्ये संकुचित करणे, फक्त शेवटच्या काही राउंड कच्चे ठेवणे. दुसरे म्हणजे प्रॉम्प्ट कॅशिंग (युनिट 6): पूर्ण किंमतीवर वारंवार प्रक्रिया करण्याऐवजी किंमतीच्या दहाव्या भागावर निश्चित संदर्भ वाचणे. एकत्रितपणे, ते दीर्घ, संदर्भ-केंद्रित वर्कलोडवरील बिल लक्षणीयरीत्या कमी करतात. त्यामुळे टोकन इकॉनॉमिक्स संपूर्ण सत्राच्या रचनेबद्दल आहे, एकच विनंती नाही.

सारांशात

टोकन हे सर्वात लहान युनिट आहे ज्यामध्ये मजकूरावर प्रक्रिया केली जाते; इनपुट आणि आउटपुटची किंमत वेगळी असते आणि आउटपुट बरेचदा जास्त महाग असते. किंमत म्हणजे टोकनची संख्या युनिटच्या किंमतीने गुणाकार केली जाते आणि वास्तविक निर्णय व्हॉल्यूमद्वारे केला जातो. प्रॉम्प्ट लहान करणे, आउटपुट मर्यादित करणे आणि कार्य पूर्ण करणारे सर्वात हलके मॉडेल निवडणे हे सर्वात डायरेक्ट लीव्हर्स आहेत जे खर्च अनेक वेळा कमी करतात.

अर्ज कार्य

स्वतःचे कार्य निवडा. (1) प्रातिनिधिक प्रॉम्प्टसाठी इनपुट आणि अनुमानित आउटपुट टोकनची संख्या निश्चित करा (शक्य असल्यास टोकन मोजणी साधनाने मोजा). (2) तीन मॉडेल वर्गांसाठी प्रति विनंती खर्चाची गणना करा. (३) तुमच्या रोजच्या विनंत्यांच्या संख्येचा अंदाज लावा आणि तीन मॉडेल्ससाठी मासिक बजेट काढा. (4) आउटपुट कमी करण्यासाठी एक सूचना जोडा आणि अपेक्षित बचत लक्षात घ्या.

चेकलिस्ट

  • मी टोकनची संकल्पना समजावून सांगू शकतो आणि टोकनायझेशन मॉडेलवर अवलंबून बदलते.
  • इनपुट आणि आउटपुट टोकनची किंमत वेगळी का असते हे मला माहीत आहे.
  • मी फॉर्म्युलासह विनंतीची किंमत मोजू शकतो.
  • मी टेम्प्लेट वापरून वर्कलोडसाठी मासिक बजेट तयार करू शकतो.
  • आउटपुट आणि मॉडेल कमी करण्याचा फायदा मी उदाहरणासह दर्शवू शकतो.