การทดสอบอัตโนมัติใน MLOps

MLOps แบบอัตโนมัติเต็มรูปแบบ

Arturo Opsetmoen Amador

Senior Consultant - Machine Learning

การทดสอบซอฟต์แวร์คืออะไร?

$$

กระบวนการประเมินและตรวจสอบว่าซอฟต์แวร์หรือแอปพลิเคชันทำงานได้ตามที่คาดหวัง

$$

ประเภทของการทดสอบซอฟต์แวร์ที่พบบ่อยที่สุด 3 ประเภท:

  • Unit tests
  • Integration tests
  • End-to-end tests

$$

$$

พีระมิดแสดง unit testing ที่ฐาน ตามด้วย integration testing และ end-to-end tests ที่ยอด

MLOps แบบอัตโนมัติเต็มรูปแบบ

ซอฟต์แวร์ ML มีลักษณะเฉพาะที่แตกต่างออกไป

แอปพลิเคชัน ML ไม่ได้ถูกโปรแกรมอย่างชัดเจน

$$

ภาพแสดงกระบวนการเรียนรู้ของระบบ ML

ขึ้นอยู่กับ:

  • ข้อมูล
  • โมเดล
MLOps แบบอัตโนมัติเต็มรูปแบบ

การทดสอบในระบบ MLOps แตกต่างออกไป

ภาพเปรียบเทียบระบบซอฟต์แวร์ทั่วไปที่ทดสอบด้วย unit tests และ integration tests กับระบบ ML ที่ทดสอบด้วย data tests, model tests และ pipeline tests

1 https://research.google/pubs/pub46555/
MLOps แบบอัตโนมัติเต็มรูปแบบ

การทดสอบระบบ ML

$$

นอกจากการทดสอบซอฟต์แวร์ทั่วไปแล้ว ยังมี:

  • Data tests
  • Model tests
  • Pipeline tests
MLOps แบบอัตโนมัติเต็มรูปแบบ

การทดสอบข้อมูล

การทดสอบฟีเจอร์และข้อมูลครอบคลุม:

  • ความคาดหวังของฟีเจอร์
  • คุณค่าของฟีเจอร์คุ้มค่ากับต้นทุน
  • การควบคุมความเป็นส่วนตัว
  • หลีกเลี่ยงการใช้ข้อมูลที่ผิดกฎหมาย

$$

ภาพชุดเทอร์โมมิเตอร์แสดงการวัดค่าต่างๆ

MLOps แบบอัตโนมัติเต็มรูปแบบ

การทดสอบโมเดล

การทดสอบโมเดลครอบคลุม:

  • เมตริกทางธุรกิจและ ML มีความสัมพันธ์กัน
  • ไฮเปอร์พารามิเตอร์ทุกตัวได้รับการปรับแล้ว

  • การ overfit ของโมเดล

  • ความล้าสมัยของโมเดล
  • การเปรียบเทียบกับ baseline
MLOps แบบอัตโนมัติเต็มรูปแบบ

การทดสอบ ML pipeline

การทดสอบ ML pipeline ครอบคลุม:

  • การเทรนมีความสามารถ reproducible
  • การทดสอบเชิง integration ของ ML pipeline

  • ความสามารถในการ debug โมเดล

MLOps แบบอัตโนมัติเต็มรูปแบบ

มาฝึกกันเถอะ!

MLOps แบบอัตโนมัติเต็มรูปแบบ

Preparing Video For Download...