คู่มือทางเทคนิค

CI/CD สำหรับการเรียนรู้ของเครื่อง

CI/CD สำหรับแมชชีนเลิร์นนิงขยายการบูรณาการอย่างต่อเนื่องและไปป์ไลน์การส่งมอบอย่างต่อเนื่องเพื่อครอบคลุมไม่เพียงแค่โค้ดเท่านั้น แต่ยังรวมถึงข้อมูลและแบบจำลองด้วย

ภาพรวม

CI/CD สำหรับแมชชีนเลิร์นนิงขยายการบูรณาการอย่างต่อเนื่องและไปป์ไลน์การส่งมอบอย่างต่อเนื่องเพื่อครอบคลุมไม่เพียงแค่โค้ดเท่านั้น แต่ยังรวมถึงข้อมูลและแบบจำลองด้วย โดยทำการทดสอบ ฝึกอบรมใหม่ การตรวจสอบความถูกต้อง และการปรับใช้โดยอัตโนมัติ ดังนั้นระบบ ML จึงจัดส่งได้อย่างน่าเชื่อถือและซ้ำๆ แทนที่จะผ่านการส่งมอบด้วยตนเองที่เปราะบาง

CI/CD สำหรับ Machine Learning เป็นองค์ประกอบทางเทคนิคที่ส่งผลต่อคุณภาพของโมเดล ต้นทุนโครงสร้างพื้นฐาน เวลาแฝง และความน่าเชื่อถือในวงกว้าง

เจาะลึก

CI/CD แบบดั้งเดิมจะสร้าง ทดสอบ และปรับใช้ซอฟต์แวร์โดยอัตโนมัติเมื่อมีการเปลี่ยนแปลงโค้ด ML เพิ่มส่วนที่เคลื่อนไหวได้อีกสองส่วน: ข้อมูลและโมเดลที่ได้รับการฝึก ซึ่งหมายถึงทริกเกอร์ใหม่และการทดสอบใหม่ ขั้นตอนการบูรณาการอย่างต่อเนื่องอาจเรียกใช้การทดสอบหน่วยในโค้ดการประมวลผลข้อมูล ตรวจสอบสกีมาชุดข้อมูล และตรวจสอบว่าโมเดลฝึกฝนโดยไม่มีข้อผิดพลาด การจัดส่งแบบต่อเนื่องจะจัดแพคเกจโมเดล (มักจะเป็นคอนเทนเนอร์หรืออาร์ติแฟกต์ที่ลงทะเบียน) และปรับใช้เบื้องหลัง API หลายทีมเพิ่มการฝึกอบรมอย่างต่อเนื่อง (CT): ไปป์ไลน์ที่จะฝึกใหม่โดยอัตโนมัติเมื่อมีข้อมูลใหม่มาถึงหรือเมื่อการตรวจสอบตรวจพบการเบี่ยงเบน เครื่องมือต่างๆ เช่น GitHub Actions, GitLab CI, Jenkins, Kubeflow Pipelines และ CML จะประสานขั้นตอนเหล่านี้ เป้าหมายก็เหมือนกับในซอฟต์แวร์ นั่นคือการเผยแพร่ที่รวดเร็ว ปลอดภัย และทำซ้ำได้ แต่พื้นที่ผิวมีขนาดใหญ่กว่า เนื่องจากพฤติกรรมของแบบจำลองขึ้นอยู่กับข้อมูล ไม่ใช่แค่โค้ดเท่านั้น

ข้อมูลเชิงลึกทางเทคนิค

โดยทั่วไปไปป์ไลน์ ML CI/CD จะเป็นกราฟกำกับขั้นตอนต่างๆ ได้แก่ ตรวจสอบข้อมูล ฝึกอบรม ประเมินเทียบกับชุดที่ถูกระงับและเทียบกับรูปแบบการผลิตปัจจุบัน และการปรับใช้เกตบนเกณฑ์เมตริก ความแตกต่างที่สำคัญจาก CI/CD แบบคลาสสิกคือประตูประเมินผล โมเดลจะเลื่อนระดับก็ต่อเมื่อเหนือกว่าเส้นฐานของตัววัดที่ตกลงกันไว้ ไม่ใช่แค่ว่าการทดสอบผ่านเท่านั้น ไปป์ไลน์ได้รับการควบคุมเวอร์ชันและทริกเกอร์โดยการคอมมิตโค้ด ข้อมูลใหม่ หรือกำหนดการ ทำให้เกิดการทำงานที่ทำซ้ำและตรวจสอบได้

การเรียนรู้ CI/CD สำหรับการเรียนรู้ของเครื่อง

CI/CD สำหรับแมชชีนเลิร์นนิงขยายการบูรณาการอย่างต่อเนื่องและไปป์ไลน์การส่งมอบอย่างต่อเนื่องเพื่อครอบคลุมไม่เพียงแค่โค้ดเท่านั้น แต่ยังรวมถึงข้อมูลและแบบจำลองด้วย โดยทำการทดสอบ ฝึกอบรมใหม่ การตรวจสอบความถูกต้อง และการปรับใช้โดยอัตโนมัติ ดังนั้นระบบ ML จึงจัดส่งได้อย่างน่าเชื่อถือและซ้ำๆ แทนที่จะผ่านการส่งมอบด้วยตนเองที่เปราะบาง CI/CD สำหรับ Machine Learning เป็นองค์ประกอบทางเทคนิคที่ส่งผลต่อคุณภาพของโมเดล ต้นทุนโครงสร้างพื้นฐาน เวลาแฝง และความน่าเชื่อถือในระดับต่างๆ หากต้องการสร้างความเข้าใจอย่างลึกซึ้ง ให้ถือว่า CI/CD สำหรับ Machine Learning เป็นรูปแบบการดำเนินงาน ไม่ใช่คุณลักษณะเดียว: กำหนดผลลัพธ์ที่ต้องการ ชี้แจงสมมติฐาน และแยกสิ่งที่ระบบสามารถทำได้อย่างน่าเชื่อถือจากสิ่งที่ยังต้องใช้วิจารณญาณจากผู้เชี่ยวชาญ

ในทางปฏิบัติ ทีมที่แข็งแกร่งที่ใช้ CI/CD สำหรับการเรียนรู้ของเครื่องจะปรับสถาปัตยกรรม ข้อมูล และตัวเลือกโครงสร้างพื้นฐานให้เหมาะสมโดยเทียบกับความน่าเชื่อถือและต้นทุน โดยจะบันทึกเกณฑ์ความสำเร็จที่ชัดเจน ทดสอบกับข้อมูลและขั้นตอนการทำงานที่สมจริง และทำซ้ำตามรูปแบบความล้มเหลวที่สังเกตได้ แทนที่จะชนะการวัดประสิทธิภาพเพียงครั้งเดียว นี่คือจุดที่ความเข้าใจทางทฤษฎีกลายเป็นความสามารถที่คงทนของผลิตภัณฑ์ นโยบาย และการดำเนินงาน

การตัดสินใจด้านสถาปัตยกรรมขับเคลื่อนประสิทธิภาพและต้นทุนการดำเนินงานเป็นเวลาหลายปี ในเวลาเดียวกัน การเพิ่มประสิทธิภาพเกณฑ์มาตรฐานหนึ่งรายการสามารถซ่อนจุดอ่อนของระบบในวงกว้างได้ แนวทางที่ยืดหยุ่นที่สุดคือการรวมความเร็วของการทดลองเข้ากับวินัยในการกำกับดูแล: ดำเนินการนำร่อง จับหลักฐาน เผยแพร่บันทึกการตัดสินใจ และอัปเดตการป้องกันอย่างต่อเนื่องเมื่อพฤติกรรมของโมเดล ความคาดหวังของผู้ใช้ และข้อกำหนดด้านกฎระเบียบมีการเปลี่ยนแปลง

ผลกระทบเชิงกลยุทธ์

การตัดสินใจด้านสถาปัตยกรรมขับเคลื่อนประสิทธิภาพและต้นทุนการดำเนินงานเป็นเวลาหลายปี

การตัดสินใจด้านสถาปัตยกรรมขับเคลื่อนประสิทธิภาพและต้นทุนการดำเนินงานเป็นเวลาหลายปี ในการปรับใช้คุณภาพสูง สิ่งนี้จะถูกแปลเป็นกฎการปฏิบัติงานที่วัดผลได้ ขอบเขตความเป็นเจ้าของ และขั้นตอนการตรวจสอบที่เกิดซ้ำ เพื่อให้ทีมสามารถปรับขนาดความมั่นใจแทนที่จะปรับขนาดความคลุมเครือ

การศึกษาด้านเทคนิคช่วยให้ทีมเลือกกลุ่มที่เหมาะสม ไม่ใช่แค่กลุ่มใหม่ล่าสุด

การศึกษาด้านเทคนิคช่วยให้ทีมเลือกกลุ่มที่เหมาะสม ไม่ใช่แค่กลุ่มใหม่ล่าสุด ในการปรับใช้คุณภาพสูง สิ่งนี้จะถูกแปลเป็นกฎการปฏิบัติงานที่วัดผลได้ ขอบเขตความเป็นเจ้าของ และขั้นตอนการตรวจสอบที่เกิดซ้ำ เพื่อให้ทีมสามารถปรับขนาดความมั่นใจแทนที่จะปรับขนาดความคลุมเครือ

ตัวเลือกทางวิศวกรรมที่ดีกว่าจะช่วยลดเหตุการณ์ด้านความน่าเชื่อถือในการผลิต

ตัวเลือกทางวิศวกรรมที่ดีกว่าจะช่วยลดเหตุการณ์ด้านความน่าเชื่อถือในการผลิต ในการปรับใช้คุณภาพสูง สิ่งนี้จะถูกแปลเป็นกฎการปฏิบัติงานที่วัดผลได้ ขอบเขตความเป็นเจ้าของ และขั้นตอนการตรวจสอบที่เกิดซ้ำ เพื่อให้ทีมสามารถปรับขนาดความมั่นใจแทนที่จะปรับขนาดความคลุมเครือ

อนาคตของ CI/CD สำหรับการเรียนรู้ของเครื่อง

CI/CD สำหรับ ML กำลังรวมเข้ากับแพลตฟอร์ม MLOps ที่ได้รับการจัดการ ซึ่งจัดการไปป์ไลน์ การลงทะเบียน การตรวจสอบ และการย้อนกลับในที่เดียว คาดว่าจะมีลูปการฝึกอบรมอัตโนมัติมากขึ้นที่ถูกกระตุ้นโดยการตรวจจับดริฟท์ และรูปแบบ 'GitOps' ซึ่งมีการประกาศเวอร์ชันโมเดลที่ต้องการใน repo และปรับยอดโดยอัตโนมัติ สำหรับโมเดลภาษาขนาดใหญ่ ไปป์ไลน์กำลังเพิ่มชุดการประเมินแบบอัตโนมัติ Red-teaming และการตรวจสอบรั้วก่อนเผยแพร่ ชายแดนเป็นการส่งมอบที่ขับเคลื่อนด้วยนโยบายโดยอัตโนมัติโดยสมบูรณ์ โดยที่แบบจำลองจะก้าวหน้าผ่านการจัดเตรียมหลังจากผ่านประตูคุณภาพเชิงปริมาณ ความเป็นธรรม และความปลอดภัยเท่านั้น

การใช้งานจริงในโลกแห่งความเป็นจริง

ทีมฉ้อโกงใช้ GitHub Actions ดังนั้นทุกโค้ดที่คอมมิตจะฝึกโมเดลขนาดเล็กใหม่และบล็อกการรวมหากความแม่นยำลดลงต่ำกว่าพื้นฐานการผลิตปัจจุบัน

บริษัทอีคอมเมิร์ซแห่งหนึ่งใช้งานไปป์ไลน์ Kubeflow ซึ่งจะฝึกผู้แนะนำใหม่ทุกคืนโดยใช้ข้อมูลการซื้อใหม่ และปรับใช้อัตโนมัติเฉพาะในกรณีที่ตัววัดออฟไลน์ได้รับการปรับปรุง

ไปป์ไลน์ของธนาคารเรียกใช้การตรวจสอบสคีมากับข้อมูลขาเข้าและล้มเหลวในการสร้างหากการกระจายของคุณลักษณะเลื่อนไปเกินเกณฑ์ที่ตั้งไว้

ทีม ML ใช้ CML เพื่อโพสต์รายงานการประเมินโมเดลและแผนการเปรียบเทียบลงในคำขอดึงแต่ละรายการสำหรับการลงนามของผู้ตรวจสอบโดยตรง

รูปแบบการดำเนินงาน

CI/CD สำหรับการเรียนรู้ของเครื่องในทางปฏิบัติ

ทีมฉ้อโกงใช้ GitHub Actions ดังนั้นทุกโค้ดที่คอมมิตจะฝึกโมเดลขนาดเล็กใหม่และบล็อกการรวมหากความแม่นยำลดลงต่ำกว่าพื้นฐานการผลิตปัจจุบัน

ทีมการฉ้อโกงใช้การดำเนินการ GitHub ดังนั้นการคอมมิตโค้ดทุกครั้งจะฝึกโมเดลขนาดเล็กใหม่และบล็อกการรวมหากความแม่นยำลดลงต่ำกว่าพื้นฐานการผลิตปัจจุบัน ทีมมักจะได้รับผลลัพธ์ที่ดีกว่าเมื่อพวกเขากำหนดเกณฑ์คุณภาพล่วงหน้า รักษาเส้นทางการยกระดับโดยมนุษย์สำหรับกรณี Edge และติดตามทั้งการเพิ่มผลผลิตและต้นทุนข้อผิดพลาดเมื่อเวลาผ่านไป

CI/CD สำหรับการเรียนรู้ของเครื่องในทางปฏิบัติ

บริษัทอีคอมเมิร์ซแห่งหนึ่งใช้งานไปป์ไลน์ Kubeflow ซึ่งจะฝึกผู้แนะนำใหม่ทุกคืนโดยใช้ข้อมูลการซื้อใหม่ และปรับใช้อัตโนมัติเฉพาะในกรณีที่ตัววัดออฟไลน์ได้รับการปรับปรุง

บริษัทอีคอมเมิร์ซดำเนินการไปป์ไลน์ Kubeflow ซึ่งจะฝึกผู้แนะนำใหม่ทุกคืนเกี่ยวกับข้อมูลการซื้อใหม่และการปรับใช้อัตโนมัติเฉพาะในกรณีที่การปรับปรุงการวัดแบบออฟไลน์ ทีมมักจะได้รับผลลัพธ์ที่ดีกว่าเมื่อพวกเขากำหนดเกณฑ์คุณภาพล่วงหน้า รักษาเส้นทางการยกระดับโดยมนุษย์สำหรับกรณี Edge และติดตามทั้งประสิทธิภาพการทำงานที่เพิ่มขึ้นและต้นทุนข้อผิดพลาดเมื่อเวลาผ่านไป

CI/CD สำหรับการเรียนรู้ของเครื่องในทางปฏิบัติ

ไปป์ไลน์ของธนาคารเรียกใช้การตรวจสอบสคีมากับข้อมูลขาเข้าและล้มเหลวในการสร้างหากการกระจายของคุณลักษณะเลื่อนไปเกินเกณฑ์ที่ตั้งไว้

ไปป์ไลน์ของธนาคารเรียกใช้การตรวจสอบสคีมากับข้อมูลขาเข้าและล้มเหลวในการสร้างหากการกระจายของคุณสมบัติเปลี่ยนแปลงเกินเกณฑ์ที่กำหนด ทีมมักจะได้รับผลลัพธ์ที่ดีกว่าเมื่อพวกเขากำหนดเกณฑ์คุณภาพล่วงหน้า รักษาเส้นทางการยกระดับโดยมนุษย์สำหรับกรณี Edge และติดตามทั้งประสิทธิภาพการทำงานที่เพิ่มขึ้นและต้นทุนข้อผิดพลาดเมื่อเวลาผ่านไป

CI/CD สำหรับการเรียนรู้ของเครื่องในทางปฏิบัติ

ทีม ML ใช้ CML เพื่อโพสต์รายงานการประเมินโมเดลและแผนการเปรียบเทียบลงในคำขอดึงแต่ละรายการสำหรับการลงนามของผู้ตรวจสอบโดยตรง

ทีม ML ใช้ CML เพื่อโพสต์รายงานการประเมินโมเดลและแผนการเปรียบเทียบลงในแต่ละคำขอดึงสำหรับการลงนามของผู้ตรวจสอบโดยตรง ทีมมักจะได้รับผลลัพธ์ที่ดีกว่าเมื่อพวกเขากำหนดเกณฑ์คุณภาพไว้ล่วงหน้า รักษาเส้นทางการยกระดับโดยมนุษย์สำหรับกรณี Edge และติดตามทั้งประสิทธิภาพการทำงานที่เพิ่มขึ้นและต้นทุนข้อผิดพลาดเมื่อเวลาผ่านไป

ความเสี่ยงและรั้ว

!

การเพิ่มประสิทธิภาพเกณฑ์มาตรฐานหนึ่งรายการสามารถซ่อนจุดอ่อนของระบบในวงกว้างได้

!

ต้นทุนโครงสร้างพื้นฐานและการบำรุงรักษามักถูกประเมินต่ำไป

!

ช่องว่างด้านความปลอดภัยและความสามารถในการสังเกตสามารถเพิ่มขึ้นได้เมื่อระบบมีความซับซ้อนมากขึ้น

แผนงานการดำเนินงาน

1

กำหนดเป้าหมายเวลาแฝง คุณภาพ และต้นทุนก่อนนำไปใช้งาน

กำหนดเป้าหมายเวลาแฝง คุณภาพ และต้นทุนก่อนนำไปใช้งาน ถือว่าแต่ละขั้นตอนเป็นเหมือนประตูหลักฐาน: หากไม่ตรงตามเกณฑ์ ให้หยุดการเปิดตัวชั่วคราว ปิดช่องว่าง จากนั้นจึงขยายการใช้งานเท่านั้น

2

เกณฑ์มาตรฐานภายใต้สภาวะโหลดและข้อมูลจริง

เกณฑ์มาตรฐานภายใต้สภาวะโหลดและข้อมูลจริง ถือว่าแต่ละขั้นตอนเป็นเหมือนประตูหลักฐาน: หากไม่ตรงตามเกณฑ์ ให้หยุดการเปิดตัวชั่วคราว ปิดช่องว่าง จากนั้นจึงขยายการใช้งานเท่านั้น

3

การตรวจสอบเครื่องมือเพื่อหาข้อผิดพลาด การเบี่ยงเบน และผลกระทบต่อผู้ใช้

การตรวจสอบเครื่องมือเพื่อหาข้อผิดพลาด การเบี่ยงเบน และผลกระทบต่อผู้ใช้ ถือว่าแต่ละขั้นตอนเป็นเหมือนประตูหลักฐาน: หากไม่ตรงตามเกณฑ์ ให้หยุดการเปิดตัวชั่วคราว ปิดช่องว่าง จากนั้นจึงขยายการใช้งานเท่านั้น

4

เตรียมเส้นทางการย้อนกลับและการตอบสนองต่อเหตุการณ์ก่อนปรับขนาด

เตรียมเส้นทางการย้อนกลับและการตอบสนองต่อเหตุการณ์ก่อนปรับขนาด ถือว่าแต่ละขั้นตอนเป็นเหมือนประตูหลักฐาน: หากไม่ตรงตามเกณฑ์ ให้หยุดการเปิดตัวชั่วคราว ปิดช่องว่าง จากนั้นจึงขยายการใช้งานเท่านั้น

สำรวจต่อไป