ปัจจุบันนี้ โลกเรามีการเปลี่ยนแปลงไปอย่างรวดเร็ว Machine Learning จึงจำเป็นต้องพัฒนาการเรียนรู้และการประมวลผลให้มีประสิทธิภาพ เพื่อให้ครอบคลุมทุกการเปลี่ยนแปลงที่เกิดขึ้น ดังนั้น “MLflow” จึงถูกสร้างขึ้นมาเป็นกำลังหลักในการจัดการ Machine Learning ให้พัฒนาไปได้อย่างคล่องตัว
MlFlow คืออะไร
MLFlow เป็น Opensource ที่เอาไว้บริหารจัดการ End to End Life-cycle ของ Machine Learning หรือการเรียนรู้ของคอมพิวเตอร์ ซึ่งจะต้องมีการพัฒนาอยู่ตลอดเวลาโดยใช้ข้อมูลของ User ป้อนข้อมูลเข้าไปในระบบ แล้วมันจะประมวณผลข้อมูลนั้นๆ ออกมาหลายรูปแบบไม่ว่าจะเป็นในรูปแบบของหุ่นยนต์ หรือทางเราเรียกว่า AI (Artificial Intelligence) หรือการทำ Business Intelligence นั่นเอง
MlFlow ประกอบไปด้วย 3 โครงสร้างหลัก ดังนี้
-
MlFlow Tracking การบันทึกและติดตามการทดสอบ
-
MlFlow Projects สร้างแพ็กเกจโค้ดข้อมูลเพื่อจำลองการทำงานบนแพลตฟอร์มนั้นๆ
-
MlFlow Models ปรับใช้กับโมเดลของ Machine Learning ใน Service ที่หลากหลาย
การทำงานของ MlFlow
ก่อนอื่นเลย MLFlow สามารถทำเป็น Machine Learning as a Service ได้โดยตัวมันเองรองรับกับ Programming language ได้หลายภาษาไม่ว่าจะเป็น Java, .NET, PHP เป็นต้น นอกจากนี้เรายังสามารถที่จะเข้าถึงฟังก์ชั่นต่างๆ ผ่าน API ที่เป็น REST กับ Command Line (CML) ได้อีกด้วย
Use Cases เพื่อเข้าใจ MLFlow อย่างลึกซึ่ง
-
Train a linear regression model, predict scoring – ตัว MLFlow สามารถ Plot กราฟ เส้นตรงได้แถมยังสามารถที่จะคาดคะเนคะแนนต่างๆ ไม่ว่าจะเป็นกีฬาหรือเกมส์ต่างๆ ได้ โดยมันจะรวบรวมข้อมูลและประมวณผลข้อมูลนั้นๆ ออกมานั่นเอง
-
Orchestrate Workflows – ถัดมาจะเป็นการทำ Workflow ต่างๆ ไม่ว่าจะเป็น Process ของการทำงานขององค์กร, หรือแม้กระทั่งพวกการขึ้นระบบต่างๆ ให้มีความถูกต้องและรวดเร็ว
-
Hyperparameter Tuning – ถ้าเราพูดถึง Hyperparameter ใน Machine Learning ก็จะหมายถึง Parameter ที่สามารถปรับแต่งค่าต่างๆ เพื่อเอาไว้บริหารจัดการการเรียนรู้ของคอมพิวเตอร์นั่นเอง โดย MLFlow จะเป็นเครื่องมือที่สามารถมอบสิทธิให้กับ Developer ในการปรับแต่งข้อมูลต่างๆ เพื่อเอาไว้ใช้ทำ Machine Learning ได้เลย
MLFlow เหมาะกับองค์กรไหนบ้าง
-
สำหรับองค์กรที่ต้องการพัฒนาระบบการทำงานให้มีความลื่นไหล
-
สำหรับองค์กรที่ต้องการโฟกัสการทำงานของกราฟและการทำ Analysis เป็นหลัก