วิธีใช้ LLM โดยไม่ทำให้งบบานปลาย

การสร้าง AI demo นั้นทำได้ง่ายมาก แค่คุณมี API key เขียน prompt แล้วมันก็ใช้งานได้เลย

แต่การนำไปใช้งานจริงกับผู้ใช้จริงนั้นต่างออกไป เมื่อมีทราฟฟิกเข้ามา ค่าใช้จ่ายของคุณจะพุ่งสูงขึ้น Latency จะเพิ่มขึ้น และทีมการเงินจะเริ่มตั้งคำถาม

ช่องว่างระหว่าง demo กับผลิตภัณฑ์จริงคือเรื่องของวิศวกรรม คุณต้องจัดการทั้งเรื่องต้นทุนและความเร็ว

ควบคุม Output เพื่อประหยัดเงิน

API ส่วนใหญ่คิดค่าบริการตามจำนวน token โดยคิดทั้งจากสิ่งที่คุณส่งไปและสิ่งที่ระบบตอบกลับมา ซึ่ง output tokens จะมีราคาแพงกว่า input tokens

อย่าเพียงแค่ตัดทอน prompt ของคุณ แต่ให้โฟกัสที่คำตอบ • ขอคำตอบเป็น JSON • ขอคำตอบเพียงประโยคเดียว • กำหนดขีดจำกัด max token • สั่งให้โมเดลตอบให้กระชับ

คำตอบที่สั้นกว่าจะราคาถูกกว่าและเร็วกว่า

ลดจำนวนการเรียกใช้งาน (calls)

การเรียกใช้งานที่ถูกที่สุด คือการที่คุณไม่ต้องเรียกใช้งานเลย

  • ใช้ caching เพราะผู้ใช้หลายคนมักถามคำถามเดิมๆ การใช้ cache จะเปลี่ยนจากการเรียก API ที่ช้า ให้เป็นการค้นหาข้อมูลที่รวดเร็วแทน
  • ใช้ router คุณไม่จำเป็นต้องใช้โมเดลขนาดใหญ่สำหรับทุกงาน ให้ใช้โมเดลขนาดเล็กที่มีราคาถูกสำหรับงานง่ายๆ และใช้โมเดลราคาแพงเฉพาะกับงานที่ยากเท่านั้น

ปรับปรุงประสบการณ์ผู้ใช้ (User Experience)

บางครั้งคุณไม่สามารถทำให้โมเดลทำงานเร็วขึ้นได้ แต่คุณสามารถทำให้มัน "รู้สึก" เร็วขึ้นได้

  • ใช้การ stream responses แสดงข้อความขณะที่กำลังสร้างขึ้นมา เพื่อให้ผู้ใช้เริ่มอ่านได้ทันที ซึ่งจะช่วยให้ความรู้สึกในการรอนั้นสั้นลง
  • แสดงความคืบหน้า หากงานต้องทำเป็นขั้นตอน ให้แจ้งผู้ใช้ เช่น ใช้ข้อความอย่าง "กำลังค้นหาเอกสาร..." แทนที่จะแสดงแค่ตัวหมุนโหลด (loading spinner) ว่างๆ

จัดการกับคำขอที่ล่าช้า

คำขอที่ช้ามากๆ เพียงไม่กี่รายการอาจทำลายผลิตภัณฑ์ของคุณได้ อย่าปล่อยให้มันค้าง (hang)

  • ตั้งค่า timeout ที่เข้มงวด ตัดสินใจล่วงหน้าว่าจะให้เกิดอะไรขึ้นหากคำขอใช้เวลานานเกินไป
  • ใช้การ retry แบบจำกัดจำนวนครั้ง อย่าพยายาม retry ไปเรื่อยๆ อย่างไม่มีที่สิ้นสุด
  • ใช้ circuit breakers หากผู้ให้บริการล่ม ให้หยุดส่งคำขอและแสดงผลลัพธ์สำรอง (fallback) แทน

ติดตามข้อมูลของคุณ

คุณไม่สามารถแก้ไขสิ่งที่คุณไม่ได้วัดผลได้ ควรบันทึก (log) 3 สิ่งนี้สำหรับทุกคำขอ: • Input tokens • Output tokens • Total latency

ติดตามข้อมูลเหล่านี้แยกตามฟีเจอร์ แล้วคุณจะพบว่ามีฟีเจอร์ใดฟีเจอร์หนึ่งที่เป็นตัวการหลักที่ทำให้เกิดค่าใช้จ่ายส่วนใหญ่

เลิกมองว่าโมเดลคือเวทมนตร์ แต่ให้มองว่ามันคือ dependency ที่ทำงานช้าและมีราคาแพง ซึ่งคุณต้องบริหารจัดการมัน

Source: https://dev.to/muhammadzainnaseer/how-to-put-an-llm-in-your-product-without-wrecking-your-costs-or-your-latency-89a