Deploy ML model ด้วย MLEM ❤️
น้องใหม่ ที่ช่วยให้งาน DS ง่ายขึ้น 😎
🍭 เกริ่นนำกันก่อน
เป็นปกติที่เราเหล่า DS ทำ Model เสร็จ
หลังจากเลือก Model ที่ดีที่สุดแล้ว
ไม่ว่าจะเป็นในเรื่องของ
Explainability
Accuracy
Latency
บลาๆๆ อีกหลายๆเรื่อง
ต่างกันไปขึ้นกับแต่ละ Projects
สุดท้ายเราก็จะนำ Model นั้นไปสู่ Front Line
หรือนำไปสู่ Live Production
(แบบที่ไม่ต้องมานั่ง Click รัน Model เอง)
หรือก็คือการ Deploy Model นั่นเอง
🤖 MLEM น้องใหม่ Open-source
MLEM เข้ามาช่วยให้ DS Cool ขึ้น
ด้วยการที่ DS นั้นสามารถ Deploy Model ได้ง่ายขึ้น
ด้วยท่าที่เป็น Best Practice ผ่าน Gitflow
ทำให้เหมาะแก่การทำ CI/CD ด้วยอีกทาง
และยังทำงานร่วมกับ DVC tool ได้อีกด้วย
โคตรดีเลย
MLEM ยังทำงานร่วมกับ ML Framework ที่หลากหลาย
ทำการเช็คในเรื่องของ Python requirements
ไปจนถึงเรื่องของ Input/Output
ซึ่ง MLEM ช่วยให้งานด้านนี้ ลด Error ลงได้
จากการที่เราต้องมานั่งปรับแบบ Manual
🐣 การใช้งาน MLEM
เข้าไปได้ที่ Github ของ Project
https://github.com/iterative/mlem
หรือหน้าเวปทางการของ MLEM
https://mlem.ai/
เริ่มต้นติดตั้งโดย pip install mlem
เท่านี้ก็สามารถใช้งานได้แล้ว สุดยอด 🙈
หลังจาก Save Model ที่เราสร้างเสร็จ
จะได้ Artifact ของ Model เรา
เป็นไฟลล์สกุล .mlem
เรียกว่าเป็น Artifact ของ Model Version ของเรา
ตัวอย่างการ Deploy ตอนนี้
MLEM ใช้ Heroku เป็น Cloud สำหรับตัวอย่าง
โดยเราสามารถสร้าง Env Heroku
หลังจากนั้นยิงคำสั่ง Deploy Model ไป
ลองเข้าไปชมตัวอย่างหลัง Deploy ได้ที่
https://mlem-quick-start.herokuapp.com/
เท่าที่ดูเหมือนด้านในจะใช้ FAST API
มาช่วย Rest API อีกที
ซึ่งพอแอดลองไปเช็คไฟลล์ setup.py
ก็ใช่จริงๆด้วย
ลดงานไปได้อีกนะเออ 😇
😱 ML Deployment เป็นงานของใคร
แอดเองก็พยายามย้ำเสมอว่า
อย่าให้ Title ของเรามาบอกว่า
“เห้ยนี่ไม่ใช่งานเรา”
“ก็เราไม่มีทีม Tech ช่วย”
“นั่นมันงานของฝั่งแกรนะเว้ย”
แอดอยากให้เราลองเปิดใจเรียนรู้ตลอดเวลา
แรกๆมันอาจจะยากครับ แต่
เราจะทำงานร่วมกับแผนกอื่นๆได้โคตรสนุกเลย
และ เราจะไม่ตั้งคำถามเลย
ว่าทำอย่างไรถึงจะเลื่อนตำแหน่งได้
ทำอย่างไรจะเก่งขึ้นได้มากกว่านี้
สำหรับเพื่อนๆที่กำลังหา Projects ใส่ Resume
การนำ MLEM มาใช้งาน
แอดบอกเลยแมร่งโคตรดีงามมากๆ
เพราะไม่ใช่แค่เรารู้การทำงานของ DS จริงๆแล้ว
มันทำให้เรามีทักษะด้าน Software Engineer ที่ดีด้วย
ไม่ว่าจะเป็นเรื่องของ Git, Gitflow
Deployment, Shell Script, Cloud
และอื่นๆอีกมากมาย
ทักษะเหล่านี้จะตามเรามาเองครับ ❤️⭐