p99 SLAs సాధిస్తూ మా AI API బిల్లును నేను ఎలా సగానికి తగ్గించాను
మా AI బిల్లు చాలా వేగంగా పెరుగుతోంది. మా CFO దీనిని అదుపు చేయలేని ఖర్చు (unsustainable burn rate) అని పిలిచారు. ఆ సమయంలో, మేము ప్రతిదానికీ GPT-4o ని ఉపయోగించేవాళ్లం. అది పనిచేసింది, కానీ ఖర్చులు చాలా ఎక్కువగా ఉన్నాయి మరియు p99 లేటెన్సీ (latency) స్థిరంగా లేదు.
AI మోడల్ ఎంపికను ఒక సిస్టమ్ డిజైన్ సమస్యగా పరిగణించాలని నేను నిర్ణయించుకున్నాను. నేను కేవలం ఉత్తమమైన మోడల్ కోసం వెతకడం ఆపివేసి, మా నిర్దిష్ట SLAలకు సరిపోయే ఉత్తమ మోడల్ కోసం వెతకడం ప్రారంభించాను.
మొదట నేను స్పష్టమైన లక్ష్యాలను నిర్దేశించుకున్నాను: • చాట్ కోసం 1.5 సెకన్ల కంటే తక్కువ p99 లేటెన్సీ • 99.9% లభ్యత (availability) • మల్టీ-రీజియన్ ఫెయిల్ఓవర్ (Multi-region failover) • పీక్ లోడ్ కంటే 3 రెట్లు ఎక్కువ త్రూపుట్ సామర్థ్యం (Throughput capacity)
ఈ సంఖ్యలు నాకు తెలిసిన తర్వాత, పరిష్కారం స్పష్టంగా అర్థమైంది. ప్రతి టోకెన్కు తక్కువ ధర ఉండే మోడల్ ఎప్పుడూ ప్రొడక్షన్ కోసం ఉత్తమ ఎంపిక కాకపోవచ్చు. ఒకవేళ తక్కువ ధర కలిగిన మోడల్ మీ లేటెన్సీని రెట్టింపు చేస్తే, మీరు వినియోగదారులను కోల్పోతారు.
నేను అనేక మోడళ్లను పోల్చి చూశాను. ధరల మధ్య వ్యత్యాసం చాలా ఎక్కువగా ఉంది. GPT-4o ప్రతి మిలియన్ అవుట్పుట్ టోకెన్లకు $10.00 ఖర్చవుతుంది. GLM-4 Plus కేవలం $0.80 మాత్రమే. సమ్మరైజేషన్ (summarization) మరియు ఎక్స్ట్రాక్షన్ (extraction) వంటి మా నిర్దిష్ట పనుల కోసం GLM-4 Plus దాదాపు GPT-4o అంత బాగా పనిచేస్తుందని మా పరీక్షలు చూపించాయి.
దీనిని నిర్వహించడానికి నేను ఒక రూటింగ్ లేయర్ను (routing layer) నిర్మించాను. ఈ సిస్టమ్ ఈ క్రింది నియమాలను అనుసరిస్తుంది: • వర్క్లోడ్ రకాన్ని బట్టి రిక్వెస్ట్లను రూట్ చేయడం • లేటెన్సీ పెరిగినప్పుడు ఫాల్బ్యాక్ మోడల్ను (fallback model) ఉపయోగించడం • ట్రాఫిక్ను వివిధ రీజియన్ల మధ్య పంపిణీ చేయడం • తరచుగా వచ్చే రిక్వెస్ట్లను క్యాష్ (cache) చేయడం
నేను ఒక Redis క్యాష్ను కూడా జోడించాను. ఒక వారంలోనే దీని హిట్ రేట్ (hit rate) 40% కి చేరుకుంది. ఇది పునరావృత క్వెరీలపై మా టోకెన్ ఖర్చును తగ్గించింది మరియు లేటెన్సీని 1.4 సెకన్ల నుండి 200 మిల్లీసెకన్లకు తగ్గించింది.
ఫలితాలు: • నెలవారీ ఇన్ఫరెన్స్ ఖర్చు 58% తగ్గింది • p99 లేటెన్సీ 1.6s నుండి 1.18s కి తగ్గింది • అప్టైమ్ (Uptime) 99.95% వద్ద కొనసాగింది • క్యాష్ హిట్ రేట్ 42% కి చేరుకుంది
నేను నేర్చుకున్న మూడు పాఠాలు:
- మీ స్వంత ఎవాల్యుయేషన్ సూట్ను (evaluation suite) నిర్మించుకోండి. సాధారణ బెంచ్మార్క్లను నమ్మకండి. మీ అసలు ప్రొడక్షన్ డేటాను ఉపయోగించండి.
- రేట్ లిమిట్లను (rate limits) నిశితంగా గమనించండి. రీజినల్ ట్రాఫిక్ వల్ల ఊహించని పెరుగుదల (spikes) సంభవించవచ్చు.
- ఒక కిల్ స్విచ్ (kill switch) నిర్మించుకోండి. ఒక తప్పుడు ప్రాంప్ట్ టోకెన్ వినియోగంలో భారీ పెరుగుదలకు కారణం కావచ్చు. మాక్సిమమ్ టోకెన్లపై పరిమితి (cap) విధించడం వల్ల ఒకసారి మాకు $14,000 ఆదా అయ్యాయి.
మీ AI బిల్లు చాలా ఎక్కువగా ఉంటే, మొదట మీ SLAను నిర్వచించండి. అసలు ట్రాఫిక్ నుండి ఒక ఎవాల్యుయేషన్ సూట్ను నిర్మించండి. ఆ తర్వాత, మీరు ప్రస్తుతం విస్మరిస్తున్న మోడళ్ల ధరలను పరిశీలించండి.
Source: https://dev.to/bolddeck/how-i-cut-our-ai-api-bill-in-half-while-hitting-p99-slas-1l05
Optional learning community: https://t.me/GyaanSetuAi