วิธีการนำ LLM มาใช้ในผลิตภัณฑ์ของคุณโดยไม่ทำให้ต้นทุนหรือความหน่วงพุ่งสูงจนเกินควบคุม
การสร้างเดโม AI นั้นทำได้ง่าย เพียงแค่คุณมี API key เขียน prompt แล้วนำไปโชว์ให้ทีมดู
จากนั้นคุณก็ปล่อยใช้งานจริง เมื่อมีทราฟฟิกเข้ามา ต้นทุนของคุณจะพุ่งสูงขึ้นและความหน่วง (latency) ก็จะเพิ่มขึ้นอย่างรวดเร็ว
การเปลี่ยนจากเดโมไปสู่ผลิตภัณฑ์จริงจำเป็นต้องมีการทำ cost and latency engineering และนี่คือวิธีการทำ
ควบคุมเอาต์พุตของคุณ
API ส่วนใหญ่คิดค่าบริการตามจำนวน token โดย output tokens จะมีราคาแพงกว่า input tokens
หลายคนเสียเวลาไปกับการปรับแต่ง prompt ให้สั้นลง แต่กลับปล่อยให้โมเดลตอบยาวเหยียด ซึ่งนี่คือความผิดพลาด
เพื่อประหยัดทั้งเงินและเวลา ให้จำกัดเอาต์พุตดังนี้:
- ขอผลลัพธ์เป็น JSON
- ขอคำตอบเพียงประโยคเดียว
- กำหนดขีดจำกัด
max_tokens - บอกให้โมเดลตอบอย่างกระชับ
คำตอบที่สั้นกว่าจะเร็วกว่าและราคาถูกกว่า
หยุดการเรียกใช้งานที่ไม่จำเป็น
วิธีประหยัดที่ดีที่สุดคือการไม่เรียกใช้โมเดลเลย
- ใช้ caching: เก็บคำตอบสำหรับคำถามที่พบบ่อย การใช้ semantic cache สามารถช่วยได้หากคำถามมีความคล้ายคลึงกันแต่ไม่เหมือนกันทุกประการ
- ใช้ routing: อย่าใช้โมเดลที่ดีที่สุดสำหรับงานง่ายๆ ให้ใช้โมเดลขนาดเล็กที่มีราคาถูกสำหรับการทำ classification และเก็บโมเดลราคาแพงไว้สำหรับงานที่ซับซ้อน
ปรับปรุงประสบการณ์ผู้ใช้งาน
หากการตอบกลับต้องใช้เวลา จงทำให้ผู้ใช้รู้สึกว่ามันเร็ว
- Stream tokens: แสดงคำที่กำลังถูกสร้างขึ้นมาทีละคำ วิธีนี้จะช่วยลดความรู้สึกในการรอคอย
- แสดงความคืบหน้า: หากงานมีหลายขั้นตอน ให้บอกผู้ใช้ว่ากำลังเกิดอะไรขึ้น ใช้ข้อความอย่างเช่น "กำลังค้นหาเอกสาร..." แทนที่จะเป็นแค่ตัวหมุน (spinner) ที่เงียบสนิท
จัดการกับ "tail" latency
บางคำขอจะช้าเสมอ อย่าปล่อยให้มันทำให้ผลิตภัณฑ์ของคุณพัง
- ตั้งค่า timeouts: ตัดสินใจว่าควรทำอย่างไรหากคำขอค้างอยู่ ให้ใช้ fallback หรือใช้โมเดลที่เล็กลงแทน
- ใช้ retries: เพิ่มการลองใหม่สำหรับข้อผิดพลาดเล็กน้อย แต่ต้องมีการจำกัดจำนวนครั้ง
- ใช้ circuit breakers: หากผู้ให้บริการ (provider) ล่ม ให้หยุดส่งคำขอทันทีเพื่อหลีกเลี่ยงการรอคอยที่ยาวนาน
ติดตามข้อมูลของคุณ
คุณไม่สามารถแก้ไขสิ่งที่คุณไม่ได้วัดผลได้ ให้บันทึกตัวเลข 3 ค่านี้สำหรับทุกคำขอ:
- Input tokens
- Output tokens
- Total latency
ให้ดูที่ต้นทุนต่อผลลัพธ์ที่สำเร็จของผู้ใช้ (cost per successful user outcome) ฟีเจอร์ที่ใช้งานได้จริงนั้นดีกว่าฟีเจอร์ราคาถูกที่ใช้งานไม่ได้
เลิกมองว่า LLM คือเวทมนตร์ แต่ให้มองว่ามันคือ dependency ที่ช้าและราคาแพงที่คุณต้องบริหารจัดการ
Optional learning community: https://t.me/GyaanSetuAi
