איך חסכתי בחצי מחשבון ה-AI API שלנו תוך עמידה ב-p99 SLAs
חשבון ה-AI שלנו גדל מהר מדי. ה-CFO שלי כינה זאת קצב שריפה (burn rate) לא בר-קיימא. באותו זמן, השתמשנו ב-GPT-4o לכל דבר. זה עבד, אבל העלויות היו גבוהות מדי וה-p99 latency לא היה עקבי.
החלטתי להתייחס לבחירת מודל AI כבעיית תכנון מערכת (system design). הפסקתי לחפש את המודל הטוב ביותר והתחלתי לחפש את המודל הטוב ביותר עבור ה-SLAs הספציפיים שלנו.
קודם כל קבעתי יעדים ברורים: • p99 latency מתחת ל-1.5 שניות לצ'אט • 99.9% זמינות (availability) • Multi-region failover • קיבולת throughput של פי 3 מעומס השיא
ברגע שהיו לי את המספרים האלה, הפתרון הפך לברור. המודל הזול ביותר לכל טוקן הוא לא תמיד הבחירה הטובה ביותר עבור סביבת ייצור (production). אם מודל זול מכפיל את ה-latency שלכם, אתם מפסידים משתמשים.
השוואתי בין מודלים רבים. הפרש המחירים היה עצום. GPT-4o עולה $10.00 למיליון output tokens. GLM-4 Plus עולה $0.80. הבדיקות שלנו הראו ש-GLM-4 Plus תפקד כמעט באותה רמה כמו GPT-4o עבור המשימות הספציפיות שלנו, כמו סיכום (summarization) וחילוץ נתונים (extraction).
בניתי שכבת ניתוב (routing layer) כדי לנהל זאת. המערכת פועלת לפי הכללים הבאים: • ניתוב בקשות בהתאם לסוג עומס העבודה (workload type) • שימוש במודל fallback אם ה-latency מזנק • פיזור תעבורה בין אזורים (regions) • שמירה במטמון (cache) של בקשות תכופות
הוספתי גם Redis cache. שיעור ההצלחה (hit rate) הגיע ל-40% תוך שבוע אחד. זה הפחית את הוצאות הטוקנים שלנו על שאילתות חוזרות והוריד את ה-latency מ-1.4 שניות ל-200 מילי-שניות.
התוצאות: • הוצאות ה-inference החודשיות ירדו ב-58% • p99 latency ירד מ-1.6 שניות ל-1.18 שניות • זמן פעילות (uptime) נשאר ב-99.95% • שיעור ה-cache hit הגיע ל-42%
שלוש תובנות שלמדתי:
- בנו ערכת הערכה (evaluation suite) משלכם. אל תסמכו על benchmarks גנריים. השתמשו בנתוני ה-production האמיתיים שלכם.
- עקבו מקרוב אחרי מגבלות קצב (rate limits). תעבורה אזורית יכולה לגרום לזינוקים בלתי צפויים.
- בנו "מתג השבתה" (kill switch). פרומפט גרוע יכול לגרום לזינוק עצום בשימוש בטוקנים. הגבלה על מקסימום טוקנים (max tokens) חסכה לנו $14,000 פעם אחת.
אם חשבון ה-AI שלכם גבוה מדי, הגדירו קודם כל את ה-SLA שלכם. בנו ערכת הערכה מתעבורה אמיתית. לאחר מכן, בדקו את התמחור של מודלים