คุณพร้อมที่จะนําไปใช้แล้ว! ถ้าการทําให้โมเดลใช้งานได้อย่างเดียวก็ง่ายพอๆ กับการกดปุ่มสีแดง เมื่อทําให้ใช้งานได้ ไปป์ไลน์จะทํางาน อัปเดต และแสดงได้โดยไม่มีข้อจํากัด ความต้องการดังกล่าวทําให้เกิดข้อกําหนดและวิธีแก้ปัญหาที่กล่าวถึงในหน้านี้
ทดสอบการอัปเดตโมเดลด้วยการฝึกอบรมที่ทําให้เกิดซ้ําได้
ไม่ต้องสงสัยเลยว่าจะปรับปรุงการคาดการณ์ลักษณะยูนิคอร์นต่อไป สมมติว่าคุณเปลี่ยนโครงสร้างโค้ดวิศวกรรมฟีเจอร์สําหรับฟีเจอร์ "เวลาของวัน" คุณจะทดสอบได้อย่างไรว่ารหัสถูกต้อง คุณจึงตัดสินใจฝึกโมเดลอีกครั้งและรอดูผลลัพธ์เดียวกัน ขออภัย คุณพบว่าการฝึกโมเดลทําซ้ําไม่ได้ เรามุ่งมั่นที่จะทํานายลักษณะยูนิคอร์นที่ปรากฏตัว คุณต้องตรวจสอบเพิ่มเติม คุณพบว่าสามารถทําซ้ําได้โดยการทําตามขั้นตอนต่อไปนี้
โปรแกรมสร้างตัวเลขแบบสุ่ม (RNG) ดูรายละเอียดได้ที่การสุ่มในการสร้างข้อมูลจากหลักสูตรเตรียมความพร้อมและวิศวกรรมฟีเจอร์ในหลักสูตร ML
เริ่มต้นคอมโพเนนต์ของโมเดลตามลําดับคงที่เพื่อให้คอมโพเนนต์ได้รับหมายเลขสุ่มเดียวกันจาก RNG ในการเรียกใช้ทุกครั้ง โดยทั่วไปไลบรารี ML จะจัดการข้อกําหนดนี้โดยอัตโนมัติ
ค่าเฉลี่ยของการเรียกใช้โมเดลหลายครั้ง
ใช้การควบคุมเวอร์ชัน แม้กระทั่งสําหรับการปรับปรุงเบื้องต้น เพื่อให้คุณกําหนดโค้ดและพารามิเตอร์สําหรับตรวจสอบโมเดลหรือไปป์ไลน์ได้
แม้ว่าจะทําตามขั้นตอนเหล่านี้แล้ว คุณก็ยังอาจจะมีแหล่งที่มาอื่นๆ ที่ไม่อาจกําหนดได้
การทดสอบการอัปเดตโมเดลไปยังข้อมูลจําเพาะและการเรียก API
หลังจากอัปเดตโมเดลเป็น Uni Corn Predictionor 2.0 แล้ว คุณต้องทดสอบโมเดลใหม่เพื่อดูความถูกต้องตามอัลกอริทึม รวมถึงการเปลี่ยนแปลงที่เรียกใช้ API มาพูดถึงกันว่า
การทดสอบการเรียก API
คุณทดสอบการอัปเดตการเรียก API อย่างไร ได้นะ คุณสามารถฝึกโมเดลอีกครั้ง แต่เวลาก็ไม่ใช่เรื่องยาก ให้เขียนการทดสอบหน่วยเพื่อสร้างข้อมูลอินพุตแบบสุ่ม และใช้ข้อความแจ้งไล่ระดับแบบไล่ระดับเดียว คุณต้องการให้ขั้นตอนนี้เสร็จสมบูรณ์โดยไม่มีข้อผิดพลาดเกี่ยวกับรันไทม์
การทดสอบความถูกต้องของอัลกอริทึม
โมเดลต้องไม่เพียงคาดการณ์ได้ถูกต้องเท่านั้น แต่ยังควรทําให้โมเดลแม่นยําด้วย ไม่ใช่โชคชะตา ตัวอย่างเช่น หาก 99% ของอีเมลไม่ใช่สแปม การแยกประเภทอีเมลว่าไม่ใช่จดหมายขยะจะมีความแม่นยํา 99% เมื่อมีโอกาส คุณจึงต้องตรวจสอบความถูกต้องของอัลกอริทึม โปรดทําตามขั้นตอนต่อไปนี้
- ฝึกโมเดลให้ทําซ้ํา 2-3 ครั้งแล้วตรวจสอบว่าการสูญเสียลดลง
- ฝึกอัลกอริทึมโดยไม่ใช้การปรับตามปกติ หากโมเดลของคุณมีความซับซ้อนมากพอ โมเดลจะจดจําข้อมูลการฝึกและการสูญเสียการฝึกของคุณจะใกล้ 0
- ทดสอบการคํานวณย่อยที่เฉพาะเจาะจงของอัลกอริทึม เช่น คุณอาจทดสอบว่าส่วนหนึ่งของ RNN จะทํางาน 1 ครั้งต่อองค์ประกอบของข้อมูลอินพุต
เขียนการทดสอบการผสานรวมสําหรับคอมโพเนนต์ไปป์ไลน์
ในไปป์ไลน์ของ ML การเปลี่ยนแปลงของคอมโพเนนต์หนึ่งอาจทําให้เกิดข้อผิดพลาดในคอมโพเนนต์อื่นๆ ตรวจสอบว่าคอมโพเนนต์ต่างๆ ทํางานร่วมกันด้วยการเขียนการทดสอบที่เรียกใช้ไปป์ไลน์ทั้งหมดตั้งแต่ต้นจนจบ การทดสอบนี้เรียกว่าการทดสอบการผสานรวม
นอกเหนือจากการทดสอบการผสานรวมอย่างต่อเนื่องแล้ว คุณควรเรียกใช้การทดสอบการผสานรวมเมื่อพุชโมเดลใหม่และซอฟต์แวร์เวอร์ชันใหม่ ความช้าของการเรียกใช้ไปป์ไลน์ทั้งหมดจะทําให้การทดสอบการผสานรวมแบบต่อเนื่องทําได้ยากขึ้น หากต้องการเรียกใช้การทดสอบการผสานรวมให้เร็วขึ้น ให้ฝึกเกี่ยวกับข้อมูลชุดย่อยหรือใช้โมเดลที่ง่ายกว่า รายละเอียดจะขึ้นอยู่กับโมเดลและข้อมูล เพื่อให้ครอบคลุมอย่างต่อเนื่อง คุณจะต้องปรับ การทดสอบที่รวดเร็วขึ้นเพื่อให้การทดสอบทํางานร่วมกับโมเดลหรือซอฟต์แวร์เวอร์ชันใหม่ทุกเวอร์ชัน ในระหว่างนี้ การทดสอบที่ช้าจะทํางานอย่างต่อเนื่องในเบื้องหลัง
ตรวจสอบคุณภาพของโมเดลก่อนแสดงผล
ก่อนที่จะพุชเวอร์ชันใหม่ไปยังเวอร์ชันที่ใช้งานจริง ให้ทดสอบการลดคุณภาพใน 2 ประเภทนี้
การเสื่อมสภาพอย่างกะทันหัน: ข้อบกพร่องในเวอร์ชันใหม่อาจทําให้คุณภาพลดลงอย่างมาก ตรวจสอบเวอร์ชันใหม่ด้วยการตรวจสอบคุณภาพ เทียบกับเวอร์ชันก่อนหน้านี้
การเสื่อมสภาพอย่างช้า: การทดสอบการลดคุณภาพอย่างฉับพลันอาจตรวจหาคุณภาพของรูปแบบที่ลดลงช้าในหลายเวอร์ชัน โปรดตรวจสอบว่าการคาดการณ์ของโมเดลในชุดข้อมูลการตรวจสอบเป็นไปตามเกณฑ์คงที่ หากชุดข้อมูลการตรวจสอบของคุณต่างจากข้อมูลจริง ให้อัปเดตชุดข้อมูลการตรวจสอบและตรวจสอบว่าโมเดลยังคงมีเกณฑ์คุณภาพเหมือนกัน
ตรวจสอบความเข้ากันได้กับรุ่น Infra ก่อนที่จะแสดง
หากโมเดลของคุณอัปเดตเร็วกว่าเซิร์ฟเวอร์ โมเดลของคุณจะขึ้นอยู่กับทรัพยากรซอฟต์แวร์ที่แตกต่างกันจากเซิร์ฟเวอร์ ซึ่งอาจทําให้เกิดความไม่เข้ากัน ตรวจสอบว่าการดําเนินการที่โมเดลใช้อยู่ในเซิร์ฟเวอร์โดยทดลองใช้โมเดลในเซิร์ฟเวอร์เวอร์ชันแซนด์บ็อกซ์