การติดตามการทดลองด้วย MLflow
mlflow.start_run(), log_param(), log_metric(), log_artifact() และการดูส่วนติดต่อผู้ใช้ของ MLflow
การติดตามการทดลองด้วย MLflow เป็นบทเรียน Learn AI with Python ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Learn AI with Python และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน
เหตุใดจึงต้องติดตามการทดลอง
งาน ML ประกอบด้วยรอบการทำงานหลายสิบรอบที่ใช้พารามิเตอร์และข้อมูลแตกต่างกัน หากไม่ติดตามข้อมูล คุณจะไม่รู้ว่าการตั้งค่าใดทำให้ได้โมเดลที่ดีที่สุด MLflow จะบันทึกพารามิเตอร์ ตัวชี้วัด และอาร์ติแฟกต์ของทุกรอบการทำงาน เพื่อให้สร้างผลลัพธ์ซ้ำและเปรียบเทียบกันได้
การติดตั้งและการนำเข้า
MLflow ติดตั้งและนำเข้าได้ด้วยคำสั่ง pip เพียงครั้งเดียว
# pip install mlflow
import mlflow
import mlflow.sklearnบริบท start_run
mlflow.start_run() เปิดรอบการทำงานในฐานะตัวจัดการบริบท ทุกสิ่งที่บันทึกภายในบล็อก with จะเป็นของรอบการทำงานนั้น และรอบการทำงานจะปิดโดยอัตโนมัติเมื่อออกจากบล็อก
with mlflow.start_run():
# log params, metrics, model here
passการบันทึกพารามิเตอร์
log_param บันทึกไฮเปอร์พารามิเตอร์หนึ่งรายการ (ข้อมูลเข้าที่คุณเลือก) ให้บันทึกทุกสิ่งที่กำหนดรอบการทำงาน เพื่อให้สร้างรอบนั้นซ้ำได้ในภายหลัง
with mlflow.start_run():
mlflow.log_param("n_estimators", 200)
mlflow.log_param("max_depth", 8)การบันทึกตัวชี้วัด
log_metric บันทึกผลลัพธ์เชิงตัวเลข เช่น ความแม่นยำหรือค่าความสูญเสีย (ข้อมูลออก) คุณสามารถบันทึกตัวชี้วัดซ้ำหลายครั้งโดยใช้ step เพื่อติดตามเส้นโค้งการฝึกสอน
mlflow.log_metric("accuracy", 0.93)
mlflow.log_metric("val_loss", 0.21, step=epoch)พารามิเตอร์กับตัวชี้วัด
- พารามิเตอร์: ข้อมูลเข้าที่คุณกำหนด (อัตราการเรียนรู้ ความลึก) บันทึกเพียงครั้งเดียว
- ตัวชี้วัด: ข้อมูลออกที่คุณวัด (ความแม่นยำ RMSE) สามารถเปลี่ยนแปลงไปตามขั้นตอนได้
การแยกข้อมูลทั้งสองประเภทออกจากกันช่วยให้ MLflow เปรียบเทียบรอบการทำงานในตารางและแผนภูมิได้
การบันทึกอาร์ติแฟกต์
log_artifact จัดเก็บไฟล์ใด ๆ ไว้กับรอบการทำงาน เช่น แผนภาพ เมทริกซ์ความสับสน ตัวอย่างข้อมูล และไฟล์การกำหนดค่า อาร์ติแฟกต์เป็นวิธีแนบหลักฐานประกอบเข้ากับรอบการทำงาน
mlflow.log_artifact("confusion_matrix.png")
mlflow.log_artifact("feature_importance.csv")การบันทึกโมเดล
mlflow.sklearn.log_model จัดเก็บโมเดล scikit-learn ที่ฝึกสอนแล้วในรูปแบบอนุกรมเป็นอาร์ติแฟกต์ พร้อมแพ็กเกจการพึ่งพาที่จำเป็น เพื่อให้โหลดกลับมาใช้หรือปรับใช้ได้ในภายหลัง แต่ละกรอบงานมีรูปแบบเฉพาะของตนเอง (mlflow.keras, mlflow.pytorch)
mlflow.sklearn.log_model(model, artifact_path="model")รหัสรอบการทำงาน
ทุกรอบการทำงานจะได้รับรหัสรอบการทำงานที่ไม่ซ้ำกัน คุณใช้รหัสนี้เพื่ออ้างอิง โหลดกลับมา หรือเปรียบเทียบรอบการทำงานเฉพาะรายการผ่านโปรแกรม
with mlflow.start_run() as run:
mlflow.log_metric("accuracy", 0.93)
print("Run ID:", run.info.run_id)รอบการทำงานที่สมบูรณ์
เมื่อนำทุกอย่างมารวมกัน: เปิดรอบการทำงาน บันทึกพารามิเตอร์ ฝึกสอน บันทึกตัวชี้วัด และบันทึกโมเดลทั้งหมดไว้ในบล็อกเดียว
with mlflow.start_run():
mlflow.log_param("max_depth", 8)
model.fit(X_train, y_train)
acc = model.score(X_test, y_test)
mlflow.log_metric("accuracy", acc)
mlflow.sklearn.log_model(model, "model")การดูการทดลอง
เรียกใช้ mlflow ui ในเทอร์มินัลเพื่อเปิดแดชบอร์ดเว็บภายในเครื่อง (ค่าเริ่มต้นคือ http://localhost:5000) ซึ่งคุณสามารถเรียกดูรอบการทำงาน เรียงตามตัวชี้วัด และเปรียบเทียบพารามิเตอร์แบบเคียงข้างกันได้
# terminal
mlflow uiตรวจสอบความเข้าใจ
ทดสอบความรู้เกี่ยวกับการติดตามด้วย MLflow ของคุณ
สรุปทบทวน
คุณติดตามการทดลองด้วย MLflow: start_run() เปิดรอบการทำงาน log_param/log_metric บันทึกข้อมูลเข้าและข้อมูลออก log_artifact จัดเก็บไฟล์ และ mlflow.sklearn.log_model บันทึกโมเดล แต่ละรอบการทำงานมีรหัสรอบการทำงาน และ mlflow ui แสดงข้อมูลทั้งหมด บทถัดไป: ทะเบียนโมเดลและการกำหนดเวอร์ชัน
คำถามที่พบบ่อย
บทเรียน “การติดตามการทดลองด้วย MLflow” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การติดตามการทดลองด้วย MLflow” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Learn AI with Python ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การติดตามการทดลองด้วย MLflow”
mlflow.start_run(), log_param(), log_metric(), log_artifact() และการดูส่วนติดต่อผู้ใช้ของ MLflow คุณปฏิบัติ Learn AI with Python ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Learn AI with Python หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Learn AI with Python บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “การติดตามการทดลองด้วย MLflow” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Learn AI with Python นี้ได้ไหม
ได้ บทเรียน Learn AI with Python ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การติดตามการทดลองด้วย MLflow
- การลงทะเบียนและการกำหนดเวอร์ชันแบบจำลอง
- การสร้างไปป์ไลน์แมชชีนเลิร์นนิงที่ทำซ้ำได้
- การตรวจสอบประสิทธิภาพแบบจำลองในระบบจริง