ไปป์ไลน์แมชชีนเลิร์นนิงที่ปรับขนาดได้ด้วย Airflow
กระบวนการที่อิง DAG การพึ่งพากันของงาน และการนำเข้าข้อมูล → การฝึก → การประเมิน → การนำไปใช้งาน
ไปป์ไลน์แมชชีนเลิร์นนิงที่ปรับขนาดได้ด้วย Airflow เป็นบทเรียน Learn AI with Python ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Learn AI with Python และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน
เหตุผลที่ต้องมีการจัดการกระบวนการทำงาน
กระบวนการทำงานของการเรียนรู้ของเครื่องมีหลายขั้นตอน ได้แก่ นำเข้าข้อมูล สร้างฟีเจอร์ ฝึก ประเมินผล และ deploy การดำเนินการเหล่านี้ด้วยตนเองมีความเปราะบาง Apache Airflow จัดการขั้นตอนเหล่านี้ในรูปโค้ด พร้อมการจัดตารางเวลา การลองใหม่ การจัดการสิ่งที่ต้องทำก่อนหลัง และการตรวจติดตามในตัว
DAG
Airflow จำลองกระบวนการทำงานเป็น DAG (กราฟมีทิศทางแบบไม่มีวัฏจักร) ของงาน คำว่าไม่มีวัฏจักรหมายความว่างานใด ๆ ไม่สามารถขึ้นต่อกับตัวเองเป็นวงวนได้ ดังนั้นการทำงานจึงมีลำดับที่กำหนดไว้อย่างชัดเจนตั้งแต่ต้นจนจบเสมอ
การกำหนด DAG
คุณประกาศ DAG ด้วยตัวระบุหนึ่งรายการ ตารางเวลา และวันที่เริ่มต้น ตารางเวลาจะควบคุมความถี่ในการทำงาน เช่น การฝึกโมเดลใหม่ทุกวัน
from airflow import DAG
import datetime
with DAG(
dag_id="ml_pipeline",
schedule="@daily",
start_date=datetime.datetime(2024, 1, 1),
catchup=False,
) as dag:
...ตัวดำเนินการคืองาน
แต่ละโหนดใน DAG คืองานที่สร้างจาก ตัวดำเนินการ ตัวดำเนินการแต่ละชนิดจะทำงานแตกต่างกัน เช่น ฟังก์ชัน Python คำสั่ง bash คำสั่ง SQL และอื่น ๆ
PythonOperator สำหรับการฝึกโมเดล
PythonOperator เรียกใช้ฟังก์ชันที่เรียกได้ของ Python ตัวดำเนินการนี้เหมาะอย่างยิ่งสำหรับขั้นตอนการฝึกที่เรียกใช้ฟังก์ชันฝึกโมเดลของคุณ
from airflow.operators.python import PythonOperator
def train_model():
# load features, fit model, save artifact
...
train = PythonOperator(
task_id="train",
python_callable=train_model,
)BashOperator สำหรับการประเมินผล
BashOperator เรียกใช้คำสั่งเชลล์ เหมาะสำหรับเรียกใช้สคริปต์ประเมินผลหรือเครื่องมือ CLI
from airflow.operators.bash import BashOperator
evaluate = BashOperator(
task_id="evaluate",
bash_command="python /opt/ml/evaluate.py --model latest",
)การกำหนดสิ่งที่ต้องทำก่อนหลัง
ตัวดำเนินการ >> กำหนดลำดับของงาน: a >> b หมายความว่า b จะทำงานหลังจาก a สำเร็จ ตัวดำเนินการนี้เชื่อม DAG เข้าด้วยกัน เพื่อให้การประเมินผลเริ่มขึ้นหลังจากการฝึกเสร็จสิ้นเท่านั้น
train >> evaluate
# train must succeed before evaluate runsสายสิ่งที่ต้องทำก่อนหลังที่ยาวขึ้น
คุณสามารถเชื่อมงานหลายงานเพื่อแสดงลำดับทั้งหมดของกระบวนการได้ Airflow จะเรียกใช้แขนงที่เป็นอิสระต่อกันแบบขนาน และเคารพสิ่งที่ต้องทำก่อนหลังทุกข้อที่คุณประกาศไว้
ingest >> features >> train >> evaluate >> deployการส่งข้อมูลด้วย XCom
XCom (การสื่อสารข้ามงาน) ช่วยให้งานหนึ่งส่งค่าขนาดเล็ก เช่น เส้นทางของโมเดลหรือตัวชี้วัด เพื่อให้งานถัดไปดึงค่าไปใช้ได้ เนื่องจากงานต่าง ๆ ทำงานแบบแยกจากกัน
def train_model(ti):
path = "/models/run_42.pt"
ti.xcom_push(key="model_path", value=path)
def deploy(ti):
path = ti.xcom_pull(key="model_path", task_ids="train")
# deploy the artifact at pathXCom เหมาะสำหรับข้อมูลขนาดเล็ก
XCom มีไว้สำหรับ ข้อมูลกำกับขนาดเล็ก เช่น เส้นทาง ตัวระบุ และตัวชี้วัด ไม่ใช่ชุดข้อมูลขนาดใหญ่ ชิ้นงานขนาดใหญ่ควรอยู่ในพื้นที่จัดเก็บอ็อบเจ็กต์ (S3) โดยส่งผ่าน XCom เพียงตำแหน่งที่จัดเก็บ การใช้ XCom มากเกินไปกับข้อมูลขนาดใหญ่จะเพิ่มภาระให้ฐานข้อมูลข้อมูลกำกับ
การจัดตารางเวลาและการลองใหม่
Airflow เพิ่มความทนทานสำหรับระบบจริงให้โดยแทบไม่ต้องทำอะไรเพิ่ม: ตารางเวลา เรียกใช้การทำงานโดยอัตโนมัติ งานที่ล้มเหลวจะ ลองใหม่ โดยเพิ่มช่วงหน่วงเวลา และส่วนติดต่อผู้ใช้จะแสดงสถานะของทุกงานและการทำงาน พร้อมแจ้งเตือนเมื่อเกิดความล้มเหลว
ตรวจสอบความเข้าใจ
ทดสอบความรู้เกี่ยวกับ Airflow ของคุณ
ทบทวน
คุณได้เรียนรู้กระบวนการทำงานของการเรียนรู้ของเครื่องที่ปรับขนาดได้ด้วย Airflow:
- DAG ที่มี ตารางเวลา จะกำหนดกระบวนการ
- PythonOperator เรียกใช้การฝึก ส่วน BashOperator เรียกใช้การประเมินผล
- ตัวดำเนินการ
>>กำหนดสิ่งที่ต้องทำก่อนหลังของงาน - XCom ส่งชิ้นงานขนาดเล็กระหว่างงาน ส่วนข้อมูลขนาดใหญ่ไปอยู่ในพื้นที่จัดเก็บอ็อบเจ็กต์
คำถามที่พบบ่อย
บทเรียน “ไปป์ไลน์แมชชีนเลิร์นนิงที่ปรับขนาดได้ด้วย Airflow” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ไปป์ไลน์แมชชีนเลิร์นนิงที่ปรับขนาดได้ด้วย Airflow” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Learn AI with Python ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ไปป์ไลน์แมชชีนเลิร์นนิงที่ปรับขนาดได้ด้วย Airflow”
กระบวนการที่อิง DAG การพึ่งพากันของงาน และการนำเข้าข้อมูล → การฝึก → การประเมิน → การนำไปใช้งาน คุณปฏิบัติ Learn AI with Python ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Learn AI with Python หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Learn AI with Python บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “ไปป์ไลน์แมชชีนเลิร์นนิงที่ปรับขนาดได้ด้วย Airflow” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Learn AI with Python นี้ได้ไหม
ได้ บทเรียน Learn AI with Python ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- รูปแบบสถาปัตยกรรมระบบปัญญาประดิษฐ์
- ไปป์ไลน์แมชชีนเลิร์นนิงที่ปรับขนาดได้ด้วย Airflow
- คลังคุณลักษณะ: Feast และ Tecton
- การสังเกตการณ์และการติดตามระบบปัญญาประดิษฐ์