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

Apache Airflow สำหรับเวิร์กโฟลว์ ML

Apache Airflow เป็นแพลตฟอร์มโอเพ่นซอร์สสำหรับการเขียน กำหนดเวลา และติดตามเวิร์กโฟลว์ในรูปแบบโค้ด

ภาพรวม

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

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

เจาะลึก

Airflow ก่อตั้งขึ้นที่ Airbnb ในปี 2014 และปัจจุบันเป็นโครงการ Apache สิ่งที่เป็นนามธรรมหลักคือ DAG: กราฟ Acyclic แบบกำกับของงานที่กำหนดใน Python โดยที่ Edge กำหนดลำดับการดำเนินการและการขึ้นต่อกัน ผู้จัดกำหนดการจะแยกวิเคราะห์ DAG เหล่านี้ ตัดสินใจว่างานใดพร้อมแล้ว และส่งงานเหล่านั้นไปยังผู้ดำเนินการและพนักงาน UI บนเว็บจะแสดงประวัติการทำงาน บันทึก และสถานะงาน สำหรับ ML นั้น Airflow ถูกใช้อย่างกว้างขวางในฐานะผู้เรียบเรียงแทนที่จะเป็นกลไกการคำนวณ โดยไม่ได้ฝึกโมเดลเอง แต่เรียกใช้ขั้นตอนต่างๆ เช่น การดึงข้อมูล การตรวจสอบความถูกต้อง เริ่มต้นงานการฝึกสอนบน Spark หรือพ็อด Kubernetes และปรับใช้ผลลัพธ์ ผู้ปฏิบัติงานและเซ็นเซอร์อนุญาตให้งานเรียกใช้ระบบภายนอก รอไฟล์ หรือเรียกใช้คอนเทนเนอร์ จุดแข็งของมันคือการจัดกำหนดการที่เชื่อถือได้ การลองใหม่ การทดแทน และการมองเห็นที่ชัดเจนในไปป์ไลน์ที่ซับซ้อนและอิงตามเวลา

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

Airflow DAG เป็นเพียงโค้ด Python ดังนั้นการขึ้นต่อกันจึงแสดงทางโปรแกรมด้วยตัวดำเนินการที่เชื่อมโยงกันด้วยไวยากรณ์ bitshift หรือ API งาน ตัวกำหนดตารางเวลาจะประเมินช่วงเวลากำหนดการและการขึ้นต่อกันของงานแต่ละ DAG อย่างต่อเนื่อง โดยจัดคิวเฉพาะงานที่มีการขึ้นต่อกันต้นน้ำสำเร็จ ผู้ดำเนินการ เช่น Celery หรือ Kubernetes จะรันงานเหล่านั้นกับพนักงานแบบกระจาย การรันงานแต่ละครั้งจะถูกติดตามด้วยสถานะ บันทึก และลอจิกการลองใหม่ และข้อมูลเมตาจะถูกจัดเก็บไว้ในฐานข้อมูลสำรองเพื่อการตรวจสอบเต็มรูปแบบ

การเรียนรู้ Apache Airflow สำหรับเวิร์กโฟลว์ ML

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

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

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

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

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

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

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

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

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

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

อนาคตของ Apache Airflow สำหรับเวิร์กโฟลว์ ML

Airflow 2.x และ 3.x เน้นตัวกำหนดเวลาที่เร็วขึ้น TaskFlow API สำหรับไปป์ไลน์ Python ที่สะอาดกว่า และการกำหนดเวลาที่รับรู้ข้อมูล โดยที่ DAG จะทริกเกอร์การอัปเดตชุดข้อมูล แทนที่จะเป็นนาฬิกาคงที่ สำหรับ ML คาดว่าจะมีความเชื่อมโยงที่แน่นแฟ้นยิ่งขึ้นกับร้านค้าฟีเจอร์และการฝึกสอนใหม่ที่ขับเคลื่อนด้วยเหตุการณ์ Airflow วางตำแหน่งตัวเองมากขึ้นในฐานะเลเยอร์การเรียบเรียงที่ประสานเครื่องมือพิเศษเช่น dbt, Spark และ Kubeflow แทนที่จะแข่งขันกับพวกมัน โดยประสานบทบาทของมันในฐานะแกนหลักในการกำหนดตารางเวลาของข้อมูลสมัยใหม่และสแต็ก ML

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

บริษัทสื่อดำเนินการ Airflow DAG ทุกวัน ซึ่งจะดึงบันทึกการมีส่วนร่วมของผู้ใช้ ฝึกโมเดลคำแนะนำใหม่ และรีเฟรชแคชการให้บริการ

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

บริษัทฟินเทคกำหนดเวลางานให้คะแนนเป็นชุดรายชั่วโมงโดยที่ Airflow ทริกเกอร์โมเดลคอนเทนเนอร์เพื่อแจ้งธุรกรรมที่น่าสงสัย

ทีมข้อมูลใช้การทดแทน Airflow เพื่อประมวลผลข้อมูลประวัติหลายเดือนอีกครั้งผ่านไปป์ไลน์วิศวกรรมฟีเจอร์ใหม่หลังจากการเปลี่ยนแปลงลอจิก

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

Apache Airflow สำหรับเวิร์กโฟลว์ ML ในทางปฏิบัติ

บริษัทสื่อดำเนินการ Airflow DAG ทุกวัน ซึ่งจะดึงบันทึกการมีส่วนร่วมของผู้ใช้ ฝึกโมเดลคำแนะนำใหม่ และรีเฟรชแคชการให้บริการ

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

Apache Airflow สำหรับเวิร์กโฟลว์ ML ในทางปฏิบัติ

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

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

Apache Airflow สำหรับเวิร์กโฟลว์ ML ในทางปฏิบัติ

บริษัทฟินเทคกำหนดเวลางานให้คะแนนเป็นชุดรายชั่วโมงโดยที่ Airflow ทริกเกอร์โมเดลคอนเทนเนอร์เพื่อแจ้งธุรกรรมที่น่าสงสัย

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

Apache Airflow สำหรับเวิร์กโฟลว์ ML ในทางปฏิบัติ

ทีมข้อมูลใช้การทดแทน Airflow เพื่อประมวลผลข้อมูลประวัติหลายเดือนอีกครั้งผ่านไปป์ไลน์วิศวกรรมฟีเจอร์ใหม่หลังจากการเปลี่ยนแปลงลอจิก

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

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

!

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

!

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

!

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

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

1

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

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

2

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

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

3

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

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

4

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

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

สำรวจต่อไป