การผสานรวมและการปรับใช้อย่างต่อเนื่อง (CI/CD)

Machine Learning แบบ End-to-End

Joshua Stapleton

Machine Learning Engineer

CI/CD ในวงจรชีวิต ML

ขั้นตอนการ deploy ในวงจรชีวิต machine learning

Machine Learning แบบ End-to-End

หลักการ CI/CD

Continuous Integration (CI)

  • รวมโค้ดเข้า repository กลางอย่างสม่ำเสมอ
  • มักมีการทดสอบอัตโนมัติเพื่อตรวจหาข้อผิดพลาด

Continuous Integration แสดงด้วยภาพคลาวด์ที่กำลังอัปเดต

Continuous Deployment (CD)

  • deploy การอัปเดต codebase ไปยัง production โดยอัตโนมัติ
  • มักใช้ร่วมกับ CI

Continuous Deployment แสดงด้วยภาพจรวด

Machine Learning แบบ End-to-End

CI/CD ใน machine learning

CI/CD สำคัญมากสำหรับ production และการพัฒนาแบบวนซ้ำ

  • เช่น: เพิ่มข้อมูลผู้ป่วยใหม่โดยอัตโนมัติ
  • ช่วยป้องกัน data drift

 

CI/CD ใน ML:

  • ฝึกโมเดลใหม่อย่างสม่ำเสมอ
  • ทดสอบประสิทธิภาพ
  • deploy แบบอัตโนมัติตามกฎที่กำหนด
Machine Learning แบบ End-to-End

CI/CD ด้วย AWS Elastic Beanstalk

AWS Elastic Beanstalk (EB):

  • บริการแบบ fully managed สำหรับการ deploy และ scale แอปพลิเคชันและบริการ
  • ติดตั้ง EB
eb init

eb create heart_disease_env
eb deploy
eb open
Machine Learning แบบ End-to-End

ทางเลือกอื่นแทน EB (1)

Azure Machine Learning:

  • บริการให้คะแนนแบบ real-time
  • ทรัพยากรคำนวณแบบ managed สำหรับการฝึกโมเดล
  • ติดตามประสิทธิภาพใน production
Machine Learning แบบ End-to-End

ทางเลือกอื่นแทน EB (2)

GCP App Engine:

  • ทางเลือกที่คล้ายกับ AWS EB หรือ Azure Machine Learning
Machine Learning แบบ End-to-End

ทางเลือกอื่นแทน EB (3)

Kubernetes:

  • ระบบ orchestration คอนเทนเนอร์แบบ open-source
  • ทำให้การ deploy, scaling และการจัดการแอปพลิเคชันแบบ containerized เป็นอัตโนมัติ
  • รองรับ cloud platform หลักหลายแพลตฟอร์ม
  • เส้นโค้งการเรียนรู้สูงกว่า แต่ควบคุมได้มากกว่า
Machine Learning แบบ End-to-End

ทางเลือกอื่นแทน EB (4)

และอีกมากมาย!

Machine Learning แบบ End-to-End

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

Machine Learning แบบ End-to-End

Preparing Video For Download...