ไปป์ไลน์การทดสอบในเวอร์ชันที่ใช้งานจริง

ยินดีด้วย คุณได้ทําให้การคาดการณ์แบบยูนิคอร์นทั่วโลกใช้งานได้แล้ว คุณต้องการให้ตัวคาดการณ์ทํางานตลอด 24 ชั่วโมงโดยไม่มีข้อผูกมัด คุณจะทราบได้อย่างรวดเร็วว่าคุณต้องตรวจสอบไปป์ไลน์ ML ของคุณ แม้การตรวจสอบคอมโพเนนต์ทั้งหมดอาจดูน่ากังวล แต่ลองมาดูข้อกําหนดและวิธีแก้ไขกัน

ตรวจหาการเบี่ยงเบนการฝึกฝนและการให้บริการ

ความคลาดเคลื่อนระหว่างการฝึกและการให้บริการหมายความว่าข้อมูลที่คุณป้อนจะแตกต่างกันไประหว่างการฝึกและการแสดงผล ตารางต่อไปนี้จะอธิบาย 2 ประเภทพื้นฐานที่บิดเบือน

ประเภท คำจำกัดความ ตัวอย่าง โซลูชัน
สคีมาเอียง ข้อมูลการฝึกและการป้อนอินพุตไม่เป็นไปตามสคีมาเดียวกัน รูปแบบหรือการกระจายข้อมูลการแสดงผลจะเปลี่ยนแปลงในขณะที่โมเดลยังฝึกกับข้อมูลเก่า ใช้สคีมาเดียวกันเพื่อตรวจสอบการฝึกและข้อมูลการแสดงผล ตรวจสอบสถิติแยกต่างหากซึ่งไม่ได้ตรวจสอบโดยสคีมา เช่น เศษส่วนของค่าที่หายไป
ฟีเจอร์เอียง ข้อมูลทางวิศวกรรมจะแตกต่างกันระหว่างการฝึกและการให้บริการ โค้ดวิศวกรรมฟีเจอร์แตกต่างกันระหว่างการฝึกและการให้บริการ การสร้างข้อมูลทางวิศวกรรมที่แตกต่างกัน ใช้กฎทางสถิติเดียวกันสําหรับการฝึกอบรมและการแสดงผลข้อมูลทางวิศวกรรม เช่นเดียวกับสคีมาแบบเอียง ติดตามจํานวนฟีเจอร์ที่บิดเบี้ยวที่ตรวจพบ และอัตราส่วนของตัวอย่างที่บิดเบี้ยวต่อฟีเจอร์

ตรวจสอบรูปแบบอายุตลอดไปป์ไลน์

หากข้อมูลการแสดงผลค่อยๆ เปลี่ยนแปลงไปตามเวลา แต่โมเดลของคุณไม่ได้รับการฝึกซ้ําบ่อยๆ คุณจะพบว่าคุณภาพของโมเดลลดลง ติดตามเวลาตั้งแต่ฝึกโมเดลข้อมูลใหม่และกําหนดอายุเกณฑ์สําหรับการแจ้งเตือน นอกเหนือจากการตรวจสอบอายุของโมเดลที่ให้บริการแล้ว คุณควรตรวจสอบอายุของโมเดลตลอดไปป์ไลน์เพื่อจับแผงไปป์ไลน์

ทดสอบว่าน้ําหนักและเอาต์พุตของโมเดลมีความเสถียรเป็นตัวเลข

ระหว่างการฝึกโมเดล น้ําหนักและเอาต์พุตเลเยอร์ไม่ควรเป็น NaN หรือ Inf เขียนการทดสอบเพื่อตรวจสอบค่า NaN และ Inf ของน้ําหนักและเอาต์พุตของเลเยอร์ นอกจากนี้ ให้ทดสอบว่าเอาต์พุตมากกว่าครึ่งหนึ่งของเลเยอร์ไม่เป็น 0

ตรวจสอบประสิทธิภาพของโมเดล

ตัวคาดเดายูนิคอร์นของคุณได้รับความนิยมสูงกว่าที่คาดไว้! คุณจะได้รับคําขอการคาดการณ์จํานวนมากและข้อมูลการฝึกอบรมมากขึ้น ยอดเยี่ยมที่ได้รู้ว่าโมเดลของคุณต้องใช้หน่วยความจําและเวลาในการฝึกมากขึ้นเรื่อยๆ คุณตัดสินใจที่จะตรวจสอบประสิทธิภาพของโมเดลโดยทําตามขั้นตอนต่อไปนี้

  • ติดตามประสิทธิภาพของโมเดลตามเวอร์ชันของโค้ด โมเดล และข้อมูล การติดตามดังกล่าวจะช่วยให้คุณระบุสาเหตุที่แท้จริงของประสิทธิภาพที่ลดลงได้
  • ทดสอบขั้นตอนการฝึกอบรมต่อวินาทีสําหรับโมเดลเวอร์ชันใหม่เทียบกับเวอร์ชันก่อนหน้าและเทียบกับเกณฑ์คงที่
  • ตรวจจับการรั่วไหลของหน่วยความจําโดยตั้งค่าเกณฑ์สําหรับการใช้หน่วยความจํา
  • ตรวจสอบเวลาในการตอบกลับของ API และติดตามเปอร์เซ็นไทล์ แม้ว่าเวลาในการตอบกลับของ API อาจอยู่นอกเหนือการควบคุม แต่การตอบสนองช้าอาจทําให้เมตริกมีค่าในโลกแห่งความเป็นจริงต่ํา
  • ตรวจสอบจํานวนคําค้นหาที่ตอบต่อวินาที

ทดสอบคุณภาพของโมเดลสดในข้อมูลที่แสดงผล

คุณตรวจสอบความถูกต้องของรูปแบบแล้ว แต่จะเกิดอะไรขึ้นหากสถานการณ์ในชีวิตจริง เช่น พฤติกรรมของยูนิคอร์น เปลี่ยนไปหลังบันทึกข้อมูลการตรวจสอบของคุณ คุณภาพของโมเดล ที่แสดงจะลดลง อย่างไรก็ตาม การทดสอบคุณภาพของการแสดงผลก็ทําได้ยากเพราะข้อมูลจริงจะไม่มีการติดป้ายกํากับเสมอไป หากข้อมูลที่แสดงของคุณไม่มีป้ายกํากับ ให้พิจารณาการทดสอบเหล่านี้

  • สร้างป้ายกํากับโดยใช้เจ้าหน้าที่ตรวจสอบ

  • ตรวจสอบโมเดลที่แสดงการให้น้ําหนักทางสถิติอย่างมีนัยสําคัญในการคาดการณ์ ดู การจัดประเภท: การให้น้ําหนักการคาดการณ์

  • ติดตามเมตริกของโมเดลจริง ตัวอย่างเช่น หากคุณกําลังจัดประเภทสแปม ให้เปรียบเทียบการคาดคะเนของคุณกับสแปมที่ผู้ใช้รายงาน

  • ลดความหลากหลายที่อาจเกิดขึ้นระหว่างข้อมูลการฝึกอบรมและการให้บริการ ด้วยการแสดงเวอร์ชันใหม่ของคําค้นหาเพียงบางส่วน เมื่อตรวจสอบความถูกต้องของโมเดลการแสดงผลใหม่แล้ว ให้ทยอยเปลี่ยนไปใช้คําค้นหาทั้งหมดเป็นเวอร์ชันใหม่

เมื่อใช้การทดสอบเหล่านี้ โปรดอย่าลืมตรวจสอบคุณภาพของการคาดการณ์ทั้งการลดลงอย่างรวดเร็วและช้า