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

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

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

อ่าน 2 นาทีอัปเดตล่าสุด

ภาพรวม

In machine learning it acts as the conductor that triggers data pipelines, retraining jobs, and batch predictions on a reliable schedule.

เจาะลึก

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

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

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

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

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

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

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

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

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

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

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

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

1

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

2

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

3

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

4

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

สำรวจต่อไป

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Apache Airflow for ML Workflows quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

เริ่มแบบทดสอบ

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

คำแนะนำต่อไป

Kubernetes สำหรับปริมาณงาน ML

คำถามที่พบบ่อย

What is Apache Airflow for ML Workflows?

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

ใน Apache Airflow อะไรคือสิ่งที่เป็นนามธรรมหลักที่ใช้ในการกำหนดเวิร์กโฟลว์

เวิร์กโฟลว์ Airflow ถูกกำหนดเป็น DAG ใน Python โดยที่งานคือโหนดและขอบจะกำหนดลำดับการดำเนินการ

Airflow มีบทบาทอย่างไรในไปป์ไลน์ ML มากที่สุด

Airflow เป็นตัวประสาน: จะกระตุ้นและประสานขั้นตอนต่างๆ เช่น การดึงข้อมูลและงานฝึกอบรม แทนที่จะใช้การประมวลผลหนักๆ

โครงสร้าง Airflow ใดที่ใช้ในการรอสภาวะภายนอก เช่น ไฟล์มาถึงที่จัดเก็บข้อมูล

เซ็นเซอร์เป็นตัวดำเนินการพิเศษที่หยุดเวิร์กโฟลว์ชั่วคราวจนกว่าจะตรงตามเงื่อนไข เช่น ไฟล์ลงหรือพาร์ติชั่นปรากฏขึ้น

'โฆษณาทดแทน' ของ Airflow ช่วยให้คุณทำอะไรได้บ้าง

การทดแทนจะดำเนินการ DAG ในช่วงเวลาที่ผ่านมา ซึ่งมีประโยชน์สำหรับการประมวลผลประวัติใหม่หลังจากการเปลี่ยนแปลงตรรกะไปป์ไลน์

องค์ประกอบใดประเมิน DAG อย่างต่อเนื่องและตัดสินใจว่างานใดที่พร้อมที่จะดำเนินการ

ตัวกำหนดเวลาแยกวิเคราะห์ DAG ตรวจสอบช่วงเวลากำหนดการและการขึ้นต่อกัน และจัดคิวงานที่มีขั้นตอนอัปสตรีมสำเร็จ