การผสานรวมและส่งมอบอย่างต่อเนื่องสำหรับ Machine Learning

CI/CD สำหรับ Machine Learning

Ravi Bhadauria

Machine Learning Engineer

ภาพรวมของ SDLC

  • SDLC: Software Development Life Cycle
  • แนวทางเป็นระบบที่ครอบคลุมกระบวนการพัฒนาซอฟต์แวร์ตั้งแต่ต้นจนจบ
  • SDLC workflow คือลำดับขั้นตอนที่ใช้เพื่อบรรลุเป้าหมายที่กำหนด:
    • Build: คอมไพล์และ/หรือแพ็กเกจโค้ด รวมถึงจัดการ dependencies
    • Test: ตรวจสอบการทำงาน คุณภาพ และความเชื่อถือได้ของโค้ด
    • Deploy: กระบวนการนำซอฟต์แวร์ไปใช้งานในสภาพแวดล้อมที่กำหนด

  แผนภาพแสดงลำดับขั้นตอนของ SDLC workflow โดย Build เป็นขั้นแรก ตามด้วย Test และ Deploy

CI/CD สำหรับ Machine Learning

SDLC ใน Machine Learning

  • การพัฒนา machine learning มีความซับซ้อนและใช้เวลามาก
    • โมเดลคืออัลกอริทึมที่พัฒนาเปลี่ยนแปลงอยู่เสมอ
    • Data engineering มีความสำคัญอย่างมาก
  • Continuous Integration/Continuous Delivery ช่วยลดข้อผิดพลาดและเร่งการส่งมอบซอฟต์แวร์ ML ที่มีคุณภาพ
  • จำเป็นต่อการพัฒนา machine learning และการทดลองอย่างมีประสิทธิภาพ
1 https://cloud.google.com/blog/products/ai-machine-learning/making-the-machine-the-machine-learning-lifecycle
CI/CD สำหรับ Machine Learning

CI/CD คืออะไร?

  • Continuous Integration (CI): แนวปฏิบัติในการ build, test และ merge โค้ดเข้า repository ร่วมกันบ่อยครั้ง
  • ช่วยให้ทีมตรวจพบปัญหาการผสานรวมได้เร็ว และรักษา codebase ให้สอดคล้องกัน
  • Continuous Delivery (CD): ทำให้โค้ดพร้อม deploy ขึ้น production ได้ตลอดเวลา แต่ต้องได้รับการอนุมัติด้วยตนเอง
  • Continuous Deployment (CD): deploy โค้ดขึ้น production โดยอัตโนมัติ โดยไม่ต้องมีการแทรกแซงด้วยตนเอง
CI/CD สำหรับ Machine Learning

CI/CD ใน Machine Learning

  • Data Dependency: การกำหนดเวอร์ชันและกลยุทธ์การจัดการข้อมูล
  • Experimentation: การปรับ hyperparameter โดยอัตโนมัติ
  • Model Versioning: ส่งเสริมการทำงานร่วมกัน
  • Testing Paradigm: ครอบคลุมมากกว่าการทดสอบเชิงฟังก์ชันและ unit testing แบบดั้งเดิม
  • Continuous Deployment Challenges: ความซับซ้อนในการให้บริการโมเดล การติดตาม และการอัปเดต
CI/CD สำหรับ Machine Learning

ขอบเขตของคอร์สนี้

แผนภาพขั้นตอนของโปรเจกต์ machine learning โดยเน้นขั้นตอน Data Preparation, Model Development และ Model Evaluation and Tuning

CI/CD สำหรับ Machine Learning

สรุป

  • SDLC workflow ประกอบด้วยการ build, test และ deploy โค้ด
  • Continuous Integration (CI) ช่วยให้ merge โค้ดบ่อยขึ้นและตรวจพบปัญหาได้เร็ว
  • Continuous Delivery (CD) ช่วยให้ deploy โค้ดได้โดยต้องมีการอนุมัติด้วยตนเอง
  • Continuous Deployment (CD) ทำให้การ deploy โค้ดเป็นอัตโนมัติโดยไม่ต้องแทรกแซงด้วยตนเอง
  • CI/CD ใน Machine Learning รองรับ
    • การกำหนดเวอร์ชันข้อมูล
    • การ build โมเดลและการกำหนดเวอร์ชันโมเดล
    • การทดลองแบบอัตโนมัติ
    • การทดสอบ
    • การ deploy
CI/CD สำหรับ Machine Learning

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

CI/CD สำหรับ Machine Learning

Preparing Video For Download...