วิธีเลือกโมเดล AI สำหรับผลิตภัณฑ์จริง
มีคุณสมบัติหกประการที่ตัดสินว่าโมเดลหนึ่งเหมาะกับผลิตภัณฑ์หรือไม่ และคุณภาพที่โดดเด่นเป็นเพียงหนึ่งในนั้น นี่คือวิธีคัดเลือกเชิงปฏิบัติที่จบลงด้วยการทดสอบ ไม่ใช่ความชอบส่วนตัว
คำตอบโดยย่อ
ควรเลือกใช้โมเดล AI ตัวไหนดี
เริ่มจากข้อจำกัดของคุณ ไม่ใช่ตารางอันดับ จดบันทึกงบเวลาแฝงที่รับได้ เพดานต้นทุนต่อคำขอ ความต้องการด้านบริบท ว่าต้องใช้การเรียกเครื่องมือหรือผลลัพธ์แบบมีโครงสร้างหรือไม่ และข้อมูลสามารถส่งไปที่ใดได้บ้าง ห้าข้อนี้มักจะตัดตัวเลือกส่วนใหญ่ออกไปได้แล้ว จากนั้นทดสอบสองหรือสามตัวเลือกที่เหลือกับกรณีจริงห้าสิบกรณีจากทราฟฟิกของคุณเอง เปรียบเทียบเป็นรายกรณีแทนที่จะดูค่าเฉลี่ย แล้วเลือกตัวที่ถูกที่สุดในบรรดาตัวที่ผ่านเกณฑ์
ประเด็นสำคัญ
- ข้อจำกัดตัดตัวเลือกออกได้เร็วกว่าอันดับคุณภาพ ให้ใช้ข้อจำกัดก่อน แล้วรายชื่อผู้เข้ารอบสุดท้ายมักจะเหลือเพียงสองหรือสามตัวเลือก
- ทราฟฟิกในการผลิตส่วนใหญ่ไม่จำเป็นต้องใช้โมเดลที่แข็งแกร่งที่สุดที่มีอยู่ การจัดเส้นทางคำของ่ายๆ ไปยังโมเดลขนาดเล็กเป็นการประหยัดที่ใหญ่ที่สุดที่หาได้ในผลิตภัณฑ์ส่วนใหญ่
- เวลาแฝงเป็นคุณสมบัติของผลิตภัณฑ์ ไม่ใช่รายละเอียดทางเทคนิค เวลาจนถึงโทเคนแรกมักสำคัญต่อผู้ใช้มากกว่าเวลาสร้างผลลัพธ์ทั้งหมด
- ความน่าเชื่อถือของการเรียกเครื่องมือและผลลัพธ์แบบมีโครงสร้างแตกต่างกันระหว่างโมเดลมากกว่าที่คะแนนคุณภาพทั่วไปจะบ่งบอก และเป็นตัวตัดสินว่าการเชื่อมต่อระบบจะใช้งานได้เลยหรือไม่
- เลือกให้เหมาะกับทราฟฟิกที่คุณมีอยู่จริง และออกแบบระบบให้การเปลี่ยนโมเดลในภายหลังเป็นเพียงการเปลี่ยนค่าคอนฟิก ไม่ใช่การเขียนใหม่ทั้งหมด
การเลือกโมเดลมักถูกมองเป็นปัญหาการจัดอันดับ นั่นคือหาโมเดลที่ดีที่สุดแล้วใช้มัน แนวคิดแบบนี้มักนำไปสู่ผลลัพธ์ที่คาดเดาได้สองแบบ คือระบบราคาแพงที่ทำงานง่ายๆ หรือระบบราคาถูกที่ล้มเหลวในจุดที่ไม่มีใครทดสอบไว้
กรอบคิดที่ดีกว่าคือการจัดซื้อ ข้อจำกัดมาก่อน รายชื่อผู้เข้ารอบมาที่สอง และการทดสอบมาที่สาม ข้อจำกัดคือสิ่งที่ทำงานหนักที่สุดในกระบวนการนี้ และมันเป็นคุณสมบัติของผลิตภัณฑ์คุณเอง ไม่ใช่ความเห็นเกี่ยวกับโมเดล
หกคุณสมบัติที่ตัดสินความเหมาะสม
คุณภาพในงานของคุณ ไม่ใช่คุณภาพโดยทั่วไป โมเดลที่เขียนร้อยแก้วได้สวยงามอาจดึงข้อมูลแบบมีโครงสร้างได้แย่ และโมเดลที่ให้เหตุผลทางคณิตศาสตร์ได้ดีอาจช้าเกินจำเป็นสำหรับงานจัดหมวดหมู่ อันดับทั่วไปเป็นเพียงตัวกรองว่าควรทดสอบโมเดลใดบ้าง ไม่ใช่สิ่งทดแทนการทดสอบจริง
ต้นทุนต่อคำขอ คิดราคาจากโทเคนขาเข้าและขาออก คูณด้วยทราฟฟิกจริงของคุณ ตัวเลขที่สำคัญคือค่าใช้จ่ายรายเดือนที่ปริมาณการใช้งานตามที่คาดการณ์ไว้ ควรคำนวณล่วงหน้าไม่ใช่ย้อนหลัง และควรสังเกตว่าโมเดลแบบใช้เหตุผลมักคิดค่าใช้จ่ายจากการคิดวิเคราะห์ภายในเป็นโทเคนขาออกด้วย ทำให้ต้นทุนจริงต่องานที่เสร็จสมบูรณ์อาจสูงกว่าราคาที่ประกาศไว้หลายเท่า
เวลาแฝง มีตัวเลขสองตัว ไม่ใช่ตัวเดียว เวลาจนถึงโทเคนแรก กำหนดการตอบสนองที่ผู้ใช้รับรู้ในอินเตอร์เฟซแบบสตรีมมิง เวลาสร้างผลลัพธ์ทั้งหมด กำหนดปริมาณงานที่ทำได้สำหรับงานแบบเป็นชุด ผลิตภัณฑ์แบบโต้ตอบมักให้ความสำคัญกับตัวแรกมากกว่า ส่วนไปป์ไลน์ที่รันตอนกลางคืนสนใจแค่ตัวหลัง
ขนาดหน้าต่างบริบท วัดการกระจายของอินพุตจริงของคุณที่เปอร์เซ็นไทล์ที่ 95 การเลือกตามค่าสูงสุดที่พบไม่บ่อยหมายถึงการจ่ายเงินเพื่อความจุที่คุณใช้เพียงไม่กี่ครั้งต่อเดือน ในทุกคำขอที่คุณส่ง
ความสามารถในการเชื่อมต่อระบบ ความน่าเชื่อถือของการเรียกเครื่องมือ ผลลัพธ์ที่บังคับให้ตรงตามสคีมา พฤติกรรมการสตรีม การรับอินพุตภาพหรือเสียงหากต้องการ สิ่งเหล่านี้แตกต่างกันระหว่างโมเดลมากกว่าที่คะแนนคุณภาพทั่วไปจะบ่งบอกได้ และมักเป็นคุณสมบัติที่ตัดสินว่าการเชื่อมต่อระบบจะใช้งานได้เลยหรือไม่ ไม่ใช่แค่ว่าใช้งานได้ดีแค่ไหน
ข้อจำกัดด้านการติดตั้งและข้อมูล ข้อมูลสามารถถูกประมวลผลที่ใดได้บ้าง เงื่อนไขการเก็บรักษาข้อมูลเป็นอย่างไร มีจุดให้บริการในภูมิภาคหรือไม่ โมเดลสามารถรันในสภาพแวดล้อมของคุณเองได้หรือไม่ เรื่องเหล่านี้มักถูกตัดสินใจนอกทีมวิศวกรรม และจะตัดตัวเลือกออกไปโดยไม่คำนึงถึงคุณสมบัติอื่นใดเลย
ทดสอบด้วยกรณีของคุณเอง
เมื่อเหลือผู้เข้ารอบสุดท้ายสองหรือสามตัวเลือก การตัดสินใจจะขึ้นอยู่กับการทดสอบ และการทดสอบไม่จำเป็นต้องซับซ้อน
นำ กรณีจริงห้าสิบกรณีจากทราฟฟิกของคุณเอง มารันกับแต่ละตัวเลือก แล้วเปรียบเทียบเป็นรายกรณีแทนที่จะดูค่าเฉลี่ย ค่าเฉลี่ยแทบไม่บอกอะไรคุณเลย ข้อมูลที่น่าสนใจคือกรณีใดบ้างที่แต่ละโมเดลทำผิดพลาด และกรณีเหล่านั้นสำคัญหรือไม่ โมเดลที่อ่อนกว่าเล็กน้อยโดยรวมแต่ไม่เคยล้มเหลวในหมวดที่มีมูลค่าสูงคือตัวเลือกที่ดีกว่า และคะแนนรวมจะไม่มีวันบอกเรื่องนี้กับคุณ
มีข้อควรระวังเชิงปฏิบัติสองข้อ ใช้พรอมป์เดียวกันสำหรับแต่ละตัวเลือกในรอบแรก เพื่อให้ได้เส้นฐานที่เป็นธรรม จากนั้นก่อนตัดสินใจ ให้ใช้เวลาปรับแต่งพรอมป์สำหรับตัวเลือกที่นำโด่งอยู่บ้าง เพราะโมเดลแต่ละตัวตอบสนองต่อสิ่งที่แตกต่างกัน และพรอมป์ที่ปรับแต่งไว้สำหรับตัวหนึ่งอาจทำให้ประเมินตัวอื่นต่ำเกินจริง และ วัดเวลาแฝงและต้นทุนในการรันเดียวกัน เพื่อให้ทั้งสามมิตินี้มาจากการทดลองเดียว ไม่ใช่สามการทดลองแยกกัน
ทราฟฟิกส่วนใหญ่ไม่จำเป็นต้องใช้โมเดลที่แข็งแกร่งที่สุด
นี่คือข้อสังเกตที่ส่งผลทางการเงินมากที่สุด และใช้ได้กับแทบทุกผลิตภัณฑ์
ทราฟฟิกจริงไม่ได้มีความยากเท่ากันทั้งหมด ผู้ช่วยฝ่ายบริการลูกค้าตอบคำถามทั่วไปจำนวนมากและคำถามยากจริงๆ เพียงจำนวนน้อย ไปป์ไลน์การจัดหมวดหมู่ส่วนใหญ่พบเจอกรณีที่ชัดเจน การส่งทั้งหมดไปให้โมเดลที่แข็งแกร่งที่สุดที่มีอยู่หมายถึงการจ่ายราคาสำหรับกรณีที่ยากที่สุด เพื่อทำงานที่ง่ายที่สุด
วิธีแก้ไขมาตรฐานคือ การจัดเส้นทาง (routing) โมเดลขนาดเล็กที่รวดเร็วจัดการงานส่วนใหญ่ พร้อมส่งต่อไปยังโมเดลขนาดใหญ่เมื่อสัญญาณความมั่นใจ หมวดหมู่ หรือความล้มเหลวในการตรวจสอบบ่งชี้ว่างานนั้นยาก การประหยัดที่ได้มักมีนัยสำคัญ เพราะส่วนที่มีปริมาณสูงคือจุดที่เงินไหลออกมากที่สุด และเพดานคุณภาพยังคงถูกรักษาไว้สำหรับกรณีที่ต้องการมัน
การจัดเส้นทางมีต้นทุนของตัวเอง คือต้องประเมินโมเดลสองตัว ต้องดูแลกฎการจัดเส้นทาง และมีจุดล้มเหลวใหม่เมื่อระบบส่งกรณีที่ยากไปให้โมเดลเล็ก มันคุ้มค่าเมื่อปริมาณมากพอ แต่ไม่คุ้มค่าต่ำกว่าเกณฑ์ระดับหนึ่ง เกณฑ์นั้นเฉพาะเจาะจงกับทราฟฟิกของคุณ และการคำนวณหามันใช้เวลาทำงานราวครึ่งวัน
เลือกโดยคำนึงถึงการเปลี่ยนแปลง
ไม่ว่าคุณจะเลือกอะไร มันจะถูกแทนที่ในที่สุด โมเดลที่มีให้ใช้งานในอีกหนึ่งปีข้างหน้าจะถูกกว่า เร็วกว่า หรือดีกว่า และการตัดสินใจที่คุณทำตอนนี้ไม่ควรมีต้นทุนสูงในการทบทวนใหม่
มีสามนิสัยที่ช่วยลดต้นทุนนั้น เก็บพรอมป์ นิยามเครื่องมือ และการแยกวิเคราะห์ผลลัพธ์ไว้ในโค้ดของคุณเอง เพื่อให้การเปลี่ยนผู้ให้บริการเป็นเพียงการเปลี่ยนค่าคอนฟิก ไม่ใช่การเขียนใหม่ทั้งหมด เก็บชุดข้อมูลประเมินผล (eval set) ไว้ เพราะมันคือสิ่งที่ทำให้การประเมินตัวเลือกใหม่กลายเป็นงานหนึ่งวันแทนที่จะเป็นโครงการทั้งโครงการ และ ล็อกเวอร์ชันของโมเดลไว้อย่างชัดเจน แทนที่จะติดตามนามแฝงที่เปลี่ยนแปลงตลอดเวลา เพื่อให้การเปลี่ยนแปลงพฤติกรรมเป็นสิ่งที่คุณกำหนดเวลาเอง ไม่ใช่สิ่งที่คุณมาพบเจอทีหลัง
ข้อสุดท้ายนี้ควรได้รับการเน้นย้ำเป็นพิเศษ ระบบที่ติดตามนามแฝงล่าสุดของผู้ให้บริการจะรับการเปลี่ยนแปลงพฤติกรรมทุกอย่างโดยอัตโนมัติ รวมถึงการเปลี่ยนแปลงที่ทำลายพรอมป์ที่ปรับแต่งมาอย่างพิถีพิถัน ล็อกเวอร์ชันไว้ รันการประเมินผลเมื่อมีเวอร์ชันใหม่ปรากฏขึ้น แล้วอัปเกรดอย่างมีการไตร่ตรอง
วิธีการแบบสั้น
- จดข้อจำกัดทั้งห้าลงเป็นตัวเลข
- คัดกรองหาผู้เข้ารอบที่ตรงตามข้อจำกัด ซึ่งมักเหลือสองหรือสามตัวเลือก
- รันกรณีจริงห้าสิบกรณีผ่านแต่ละตัวเลือก วัดคุณภาพเป็นรายกรณี พร้อมทั้งเวลาแฝงและต้นทุนไปพร้อมกัน
- ปรับแต่งพรอมป์สำหรับตัวเลือกที่นำโด่งแล้วรันใหม่
- เลือก ตัวเลือกที่ถูกที่สุดในบรรดาตัวที่ผ่านเกณฑ์ ไม่ใช่ตัวที่ได้คะแนนสูงสุด
- ล็อกเวอร์ชันไว้ เก็บชุดข้อมูลประเมินผลไว้ และทบทวนใหม่เมื่อมีสิ่งใหม่เปิดตัว
ขั้นตอนที่ห้าคือจุดที่ประหยัดเงินได้มากที่สุด และเป็นขั้นตอนที่คนมักข้ามไป เพราะการเลือกโมเดลที่แข็งแกร่งที่สุดให้ความรู้สึกปลอดภัยกว่าการเลือกโมเดลที่เพียงพอ แต่เมื่อคิดเป็นรายคำขอตลอดทั้งปี มันมักไม่เป็นเช่นนั้นเลย
คำถามที่พบบ่อย
- ควรใช้โมเดลที่มีความสามารถสูงสุดที่มีอยู่เสมอหรือไม่
- ไม่ใช่ การเลือกเช่นนี้เป็นค่าเริ่มต้นที่เหมาะสมขณะที่คุณยังอยู่ระหว่างค้นหาว่างานต้องการอะไร เพราะช่วยตัดคุณภาพของโมเดลออกจากตัวแปรที่ต้องพิจารณา เมื่อเข้าใจงานชัดเจนแล้ว โดยทั่วไปคำขอส่วนใหญ่จะรองรับได้อย่างเหมาะสมด้วยโมเดลที่เล็กกว่า ราคาถูกกว่า และเร็วกว่า
- จริง ๆ แล้วฉันต้องใช้บริบทมากเพียงใด?
- วัดข้อมูลนำเข้าที่ใช้งานจริง ณ เปอร์เซ็นไทล์ที่ 95 แทนที่จะอิงค่าสูงสุดที่จินตนาการได้ หลายทีมมักเลือกขนาดบริบทที่ใช้เพียงไม่กี่ครั้งต่อเดือน แต่ต้องจ่ายต้นทุนของระดับโมเดลที่แพงกว่านั้นในทุกคำขอ
- ระยะเวลาจนถึงโทเค็นแรกคืออะไร และเหตุใดจึงสำคัญ?
- คือช่วงเวลาหน่วงก่อนที่ผลลัพธ์แรกจะปรากฏให้เห็น ในอินเทอร์เฟซแบบสตรีม ผู้ใช้จะรับรู้ถึงความรวดเร็วในการตอบสนองตั้งแต่วินาทีนั้น ไม่ใช่เมื่อการสร้างผลลัพธ์เสร็จสิ้น ดังนั้นตัวเลขนี้จึงมักเป็นค่าความหน่วงที่สำคัญกว่าสำหรับผลิตภัณฑ์เชิงโต้ตอบ
- ฉันจะหลีกเลี่ยงการผูกติดกับผู้ให้บริการรายเดียวได้อย่างไร?
- เก็บพรอมต์ นิยามเครื่องมือ และกระบวนการแยกวิเคราะห์ไว้ในโค้ดของคุณเอง แทนที่จะพึ่งพาโครงสร้างนามธรรมที่เฉพาะเจาะจงกับผู้ให้บริการ และจัดเตรียมชุดประเมินผลที่ใช้ทดสอบตัวเลือกใด ๆ ได้ ความสามารถในการย้ายระบบเกิดจากการมีวิธีทดสอบทางเลือกต่าง ๆ ไม่ใช่จากชั้นนามธรรม
- โมเดลราคาถูกกว่าที่ใช้พรอมต์ดีกว่าสามารถแข่งขันได้หรือไม่?
- ได้บ่อยครั้ง โมเดลขนาดเล็กที่มีตัวอย่าง โครงสร้างผลลัพธ์ที่ชัดเจน และระบบค้นคืนข้อมูลที่ดี มักทำผลงานได้เหนือกว่าโมเดลขนาดใหญ่ที่ใช้พรอมต์คลุมเครือ ทั้งยังมีค่าใช้จ่ายเพียงเศษเสี้ยว
แหล่งข้อมูล
- API pricing — OpenAI
- Pricing — Anthropic
- Chatbot Arena: An Open Platform for Evaluating LLMs by Human Preference — arXiv