0Pricing
Learn AI with Python · บทเรียน

ไปป์ไลน์แมชชีนเลิร์นนิงที่ปรับขนาดได้ด้วย 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 path

XCom เหมาะสำหรับข้อมูลขนาดเล็ก

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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. รูปแบบสถาปัตยกรรมระบบปัญญาประดิษฐ์
  2. ไปป์ไลน์แมชชีนเลิร์นนิงที่ปรับขนาดได้ด้วย Airflow
  3. คลังคุณลักษณะ: Feast และ Tecton
  4. การสังเกตการณ์และการติดตามระบบปัญญาประดิษฐ์
← กลับไปที่ Learn AI with Python