วิธีที่ผมลดค่าใช้จ่าย AI API ลงครึ่งหนึ่ง ในขณะที่ยังรักษา p99 SLAs ไว้ได้

ค่าใช้จ่าย AI ของเราพุ่งสูงขึ้นเร็วเกินไป CFO ของผมเรียกมันว่าอัตราการเผาเงิน (burn rate) ที่ไม่ยั่งยืน ในตอนนั้น เราใช้ GPT-4o กับทุกอย่าง มันใช้งานได้ดี แต่ค่าใช้จ่ายสูงเกินไปและค่า p99 latency ก็ไม่คงที่

ผมตัดสินใจมองการเลือกโมเดล AI ให้เป็นปัญหาด้านการออกแบบระบบ (system design) ผมเลิกมองหาโมเดลที่ดีที่สุด แต่เริ่มมองหาโมเดลที่เหมาะสมที่สุดสำหรับ SLA เฉพาะของเรา

ผมเริ่มจากการตั้งเป้าหมายที่ชัดเจนก่อน: • p99 latency ต่ำกว่า 1.5 วินาทีสำหรับการแชท • Availability 99.9% • Multi-region failover • Throughput capacity เป็น 3 เท่าของช่วง peak load

เมื่อผมมีตัวเลขเหล่านี้แล้ว ทางออกก็เริ่มชัดเจนขึ้น โมเดลที่ราคาต่อ token ถูกที่สุดอาจไม่ใช่ตัวเลือกที่ดีที่สุดสำหรับการใช้งานจริง (production) หากโมเดลราคาถูกทำให้ latency เพิ่มขึ้นเป็นสองเท่า คุณก็จะเสียผู้ใช้งานไป

ผมเปรียบเทียบโมเดลหลายตัว และพบว่าส่วนต่างของราคานั้นมหาศาลมาก GPT-4o มีราคา $10.00 ต่อหนึ่งล้าน output tokens ในขณะที่ GLM-4 Plus ราคาเพียง $0.80 ผลการทดสอบของเราแสดงให้เห็นว่า GLM-4 Plus ทำงานได้ดีเกือบเทียบเท่า GPT-4o สำหรับงานเฉพาะทางของเรา เช่น การสรุปความ (summarization) และการสกัดข้อมูล (extraction)

ผมสร้าง routing layer ขึ้นมาเพื่อจัดการเรื่องนี้ โดยระบบจะทำงานตามกฎดังนี้: • ส่งต่อ request ตามประเภทของ workload • ใช้ fallback model หาก latency พุ่งสูงขึ้น • กระจาย traffic ไปยังภูมิภาคต่างๆ (regions) • ทำ cache สำหรับ request ที่เรียกใช้บ่อยๆ

ผมยังได้เพิ่ม Redis cache เข้าไปด้วย ซึ่งอัตรา cache hit rate พุ่งถึง 40% ภายในหนึ่งสัปดาห์ สิ่งนี้ช่วยลดการใช้ token สำหรับคำถามที่ซ้ำกัน และลด latency จาก 1.4 วินาที เหลือเพียง 200 มิลลิวินาที

ผลลัพธ์ที่ได้: • ค่าใช้จ่าย inference รายเดือนลดลง 58% • p99 latency ลดลงจาก 1.6 วินาที เหลือ 1.18 วินาที • Uptime ยังคงอยู่ที่ 99.95% • Cache hit rate อยู่ที่ 42%

3 บทเรียนที่ผมได้รับ:

  1. สร้างชุดการประเมิน (evaluation suite) ของคุณเอง อย่าเชื่อแค่ benchmark ทั่วไป ให้ใช้ข้อมูลจริงจากการใช้งาน (production data) ของคุณ
  2. เฝ้าระวัง rate limits อย่างใกล้ชิด Traffic ในแต่ละภูมิภาคอาจทำให้เกิดการพุ่งสูงขึ้นของโหลดอย่างไม่คาดคิด
  3. สร้าง kill switch ไว้เสมอ prompt ที่ไม่ดีอาจทำให้การใช้ token พุ่งสูงขึ้นอย่างมหาศาล การจำกัด max tokens เคยช่วยเราประหยัดเงินไปได้ถึง $14,000 ในครั้งหนึ่ง

หากค่าใช้จ่าย AI ของคุณสูงเกินไป ให้เริ่มจากการกำหนด SLA ของคุณก่อน สร้างชุดการประเมินจาก traffic จริง จากนั้นค่อยไปดูราคาของโมเดลที่คุณอาจจะเคยมองข้ามไป

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