Tech Tips วันนี้ขอแนะนำให้รู้จัก MLflow เครื่องมือช่วยงานสำคัญของ Data Scientist โดยได้ผู้เชี่ยวชาญคุณแก้ว Senior Data Scientist จาก SCB TechX มาร่วมแชร์ความรู้และเทคนิคการใช้งานอย่างง่ายๆมาฝากค่ะ ซึ่งการพัฒนา model ให้ใช้งานได้จริงและดีนั้น เราต้องมีการทดลอง เปรียบเทียบ algorithm ที่สร้าง model รวมถึงกำหนดค่าตัวแปรต่าง ๆ เพื่อให้ได้ model ที่มีประสิทธิภาพที่สุดไปใช้งาน และเมื่อได้ model แล้ว ขั้นตอน deployment ไปสู่ production environment ก็เป็นกระบวนการที่สำคัญ หากไม่มีเครื่องมือช่วยจัดการกระบวนการตั้งแต่ การสร้าง ทดสอบ เปรียบเทียบ จนถึงนำ model ไปใช้งาน คงเป็นเรื่องที่วุ่นวายทีเดียว
MLflow เป็น open-source platform ที่ถูกพัฒนาเพื่อช่วยจัดการด้าน model lifecycle โดย MLflow มีองค์ประกอบ 4 ส่วน ได้แก่
1. MLflow Tracking ทำหน้าที่บันทึก และแสดงผลในรูปแบบ GUI ของข้อมูลการทดลอง เช่น ประเภทของ model การกำหนดค่าตัวแปรใน model ผลการทดลอง และ library ที่จำเป็น
2. MLflow Projects ทำหน้าที่จัดการ code ที่พัฒนาให้อยู่ในรูปแบบที่สามารถนำไปใช้งาน (deployment) ได้อย่างสะดวกและมีประสิทธิภาพ
3. MLflow Models เป็นส่วนที่ทำให้ model ที่สร้างขึ้น อยู่ในรูปแบบที่สามารเรียกใช้งานได้จาก application ต่าง ๆ ตัวอย่างเช่น การทำให้ model สามารถเรียกใช้งานแบบ API ได้
4. Model Registry ช่วยจัดการ model version เช่น หากมีการพัฒนา model version 2 ที่มีประสิทธิภาพกว่า version 1 เราสามารถเลือก model version 2 ไปใช้งาน (production) แต่หากใช้ไปแล้วพบ 1. ข้อผิดพลาดและอยากกลับมาใช้ model version 1 ก็สามารถทำการเลือกได้ทันที ผ่าน Model Registry
เมื่อเรารู้จัก MLflow พร้อมจุดเด่นในการจัดการ model lifecycle แล้ว Tech Tips ครั้งหน้าเราจะมาเรียนรู้เทคนิควิธีการใช้งานกันค่ะ