คุณพร้อมที่จะปรับใช้โมเดลยูนิคอร์นที่คาดคะเนการปรากฏตัวของยูนิคอร์นแล้ว! ขณะทำให้ใช้งานได้ ไปป์ไลน์แมชชีนเลิร์นนิง (ML) ควรเรียกใช้ อัปเดต และ แสดงโดยไม่มีปัญหา หากเพียงแค่การทำให้โมเดลใช้งานได้นั้นง่ายเหมือนการกด ปุ่มทำให้ใช้งานได้ขนาดใหญ่ น่าเสียดายที่ ระบบแมชชีนเลิร์นนิงเต็มรูปแบบ ต้องมีการทดสอบสำหรับ:
- กำลังตรวจสอบข้อมูลอินพุต
- กำลังตรวจสอบฟีเจอร์ด้านวิศวกรรม
- กำลังตรวจสอบคุณภาพของโมเดลเวอร์ชันใหม่
- กำลังตรวจสอบโครงสร้างพื้นฐานด้านการแสดงผล
- การทดสอบการผสานรวมระหว่างคอมโพเนนต์ไปป์ไลน์
วิศวกรซอฟต์แวร์หลายคนชอบการพัฒนาที่ขับเคลื่อนด้วยการทดสอบ (TDD) มากกว่า ใน TDD ซอฟต์แวร์ จะเขียนการทดสอบก่อนที่จะเขียนคำว่า "จริง" ซอร์สโค้ด อย่างไรก็ตาม TDD อาจเป็นเรื่องยากสำหรับแมชชีนเลิร์นนิง ตัวอย่างเช่น ก่อนการฝึกโมเดล คุณจะเขียนการทดสอบเพื่อตรวจสอบความถูกต้องไม่ได้ ความสูญเสีย แต่คุณต้องค้นพบการสูญหายที่ทำได้ระหว่างการสร้างรูปแบบก่อน และจากนั้นทดสอบเวอร์ชันโมเดลใหม่ๆ กับความสูญเสียที่เป็นไปได้
เกี่ยวกับโมเดลยูนิคอร์น
ส่วนนี้จะพูดถึงโมเดลยูนิคอร์น สิ่งที่จำเป็นต้องทราบมีดังนี้
คุณกำลังใช้แมชชีนเลิร์นนิงเพื่อสร้างโมเดลการจัดประเภทที่คาดคะเน การปรากฏตัวของยูนิคอร์น ชุดข้อมูลแสดงรายละเอียดการปรากฏตัวของยูนิคอร์น 10,000 ตัวและ ยูนิคอร์น 10,000 ตัวที่ปรากฏตัว ชุดข้อมูลจะมีสถานที่ ช่วงเวลาของวัน ระดับความสูง อุณหภูมิ ความชื้น ร่มไม้ การปรากฏ สายรุ้ง และฟีเจอร์อื่นๆ อีกมากมาย
ทดสอบการอัปเดตโมเดลด้วยการฝึกที่ทำซ้ำได้
บางทีคุณอาจต้องการพัฒนาโมเดลยูนิคอร์นต่อไป ตัวอย่างเช่น สมมติว่า คุณทำงานด้านวิศวกรรมคุณลักษณะเพิ่มเติมในบางฟีเจอร์ จากนั้น ฝึกโมเดลอีกครั้งโดยหวังว่าจะได้ผลลัพธ์ที่ดีขึ้น (หรืออย่างน้อยเหมือนเดิม) ขออภัยที่การฝึกโมเดลซ้ำอาจทำได้ยากในบางครั้ง หากต้องการปรับปรุงการเกิดซ้ำ ให้ทําตามคําแนะนําต่อไปนี้
ตั้งต้นตัวสร้างตัวเลขสุ่มอย่างมีการตัดสินใจ โปรดดูรายละเอียดที่หัวข้อการสุ่มในข้อมูล รุ่นใหม่
เริ่มต้นคอมโพเนนต์โมเดลตามลำดับที่กำหนดเพื่อให้มั่นใจว่าคอมโพเนนต์จะได้รับ หมายเลขสุ่มเดียวกันจากตัวสร้างหมายเลขสุ่มในการวิ่งแต่ละครั้ง โดยทั่วไปแล้วไลบรารี ML จะจัดการข้อกำหนดนี้โดยอัตโนมัติ
หาค่าเฉลี่ยของการเรียกใช้โมเดลหลายๆ ครั้ง
ใช้การควบคุมเวอร์ชัน แม้สําหรับการทำซ้ำในขั้นต้นเพื่อให้คุณสามารถ โค้ดและพารามิเตอร์ที่แน่นอนเมื่อตรวจสอบโมเดลหรือไปป์ไลน์
แม้จะปฏิบัติตามหลักเกณฑ์เหล่านี้แล้ว แต่แหล่งที่มาอื่นๆ ของความไม่แน่นอนอาจมี ยังคงมีอยู่
ทดสอบการเรียกไปยัง API ของแมชชีนเลิร์นนิง
คุณทดสอบการอัปเดตการเรียก API อย่างไร คุณสามารถฝึกโมเดลอีกครั้ง แต่ เป็นเรื่องของเวลา เขียนการทดสอบ 1 หน่วยเพื่อสร้างข้อมูลอินพุตแบบสุ่มแทน และเรียกใช้ขั้นตอนเดียวในการไล่ระดับสี หากขั้นตอนนี้เสร็จสมบูรณ์โดยไม่มี แสดงว่าการอัปเดต API อาจไม่ได้ทำลายโมเดลของคุณ
เขียนการทดสอบการผสานรวมสำหรับคอมโพเนนต์ของไปป์ไลน์
ในไปป์ไลน์ ML การเปลี่ยนแปลงในคอมโพเนนต์หนึ่งอาจทำให้เกิดข้อผิดพลาดในคอมโพเนนต์อื่นๆ คอมโพเนนต์ ตรวจสอบว่าคอมโพเนนต์ทำงานร่วมกันโดยการเขียน การทดสอบการผสานรวมที่เรียกใช้ไปป์ไลน์ทั้งหมดตั้งแต่ต้นจนจบ
นอกจากทำการทดสอบการผสานรวมอย่างต่อเนื่อง คุณควรทำการทดสอบการผสานรวม เมื่อมีการผลักดันโมเดลใหม่ๆ และซอฟต์แวร์เวอร์ชันใหม่ ความช้าของการเรียกใช้ ไปป์ไลน์ทั้งหมดทำให้การทดสอบการผสานรวมอย่างต่อเนื่องยากขึ้น วิธีเรียกใช้การผสานรวม ทดสอบได้รวดเร็วขึ้น ฝึกกับข้อมูลชุดย่อยหรือด้วยโมเดลที่เรียบง่ายขึ้น รายละเอียด ขึ้นอยู่กับโมเดลและข้อมูลของคุณ เพื่อให้ได้ความครอบคลุมอย่างต่อเนื่อง การทดสอบที่รวดเร็วขึ้นเพื่อนำไปใช้กับโมเดลหรือซอฟต์แวร์เวอร์ชันใหม่ทั้งหมด ในขณะเดียวกัน การทดสอบที่ช้าของคุณจะทำงานอย่างต่อเนื่องในเบื้องหลัง
ตรวจสอบคุณภาพของโมเดลก่อนแสดง
ก่อนที่จะนำโมเดลใหม่ไปใช้งานจริง ให้ทดสอบ การเสื่อมคุณภาพมี 2 ประเภทดังต่อไปนี้
ประสิทธิภาพการทำงานลดลงอย่างรวดเร็ว ข้อบกพร่องในเวอร์ชันใหม่อาจทำให้ คุณภาพต่ำลง ตรวจสอบเวอร์ชันใหม่โดยตรวจสอบคุณภาพของเวอร์ชัน เมื่อเทียบกับเวอร์ชันก่อนหน้า
การเสื่อมสภาพช้า การทดสอบการลดลงอย่างฉับพลันอาจตรวจไม่พบช้า คุณภาพของโมเดลที่ลดลงในหลายเวอร์ชัน แต่ให้ตรวจสอบว่า การคาดการณ์ของโมเดลในชุดข้อมูลการตรวจสอบความถูกต้องตรงตามเกณฑ์คงที่ หาก ชุดข้อมูลการตรวจสอบความถูกต้องจะแตกต่างจากข้อมูลสด จากนั้นให้อัปเดตการตรวจสอบความถูกต้อง ชุดข้อมูล และตรวจสอบว่าโมเดลยังคงเป็นไปตามเกณฑ์คุณภาพเดิม
ตรวจสอบความเข้ากันได้ของโมเดลกับโครงสร้างพื้นฐานก่อนแสดง
หากโมเดลได้รับการอัปเดตเร็วกว่าเซิร์ฟเวอร์ โมเดลของคุณอาจมี ทรัพยากร Dependency ของซอฟต์แวร์อื่นจากเซิร์ฟเวอร์ของคุณ ซึ่งอาจก่อให้เกิด ไม่เข้ากัน ตรวจสอบว่าการดำเนินการที่โมเดลใช้นั้นแสดงอยู่ใน เซิร์ฟเวอร์โดยการทดลองใช้โมเดลในเซิร์ฟเวอร์เวอร์ชันแซนด์บ็อกซ์