การลงทะเบียนและการกำหนดเวอร์ชันแบบจำลอง
การลงทะเบียนแบบจำลอง การจัดระยะ (Staging/Production) ชื่อแทนแบบจำลอง และการโหลดตามเวอร์ชัน
การลงทะเบียนและการกำหนดเวอร์ชันแบบจำลอง เป็นบทเรียน Learn AI with Python ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Learn AI with Python และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน
ทะเบียนโมเดลคืออะไร
ทะเบียนโมเดลของ MLflow คือที่จัดเก็บโมเดลส่วนกลาง ซึ่งติดตามโมเดลที่มีชื่อ เวอร์ชันของโมเดล และขั้นตอนวงจรการใช้งาน เพื่อให้ทีมทราบอยู่เสมอว่าโมเดลใดกำลังใช้งานจริงและถูกนำไปถึงจุดนั้นได้อย่างไร
เหตุใดการกำหนดเวอร์ชันจึงสำคัญ
โมเดลได้รับการฝึกสอนใหม่อยู่เสมอ การกำหนดเวอร์ชันทำให้การฝึกสอนใหม่แต่ละครั้งมีหมายเลข ช่วยให้ย้อนกลับได้ทันทีหากโมเดลใหม่ทำงานผิดพลาด และเชื่อมโยงแต่ละเวอร์ชันกับรอบการทำงานที่สร้างเวอร์ชันนั้น เพื่อให้ตรวจสอบที่มาได้อย่างครบถ้วน
การลงทะเบียนโมเดล
mlflow.register_model รับ URI ของโมเดลที่บันทึกไว้และชื่อโมเดล แล้วสร้างเวอร์ชัน 1 (หรือเวอร์ชันถัดไป) ในทะเบียน
import mlflow
result = mlflow.register_model(
model_uri="runs:/<run_id>/model",
name="churn_classifier"
)
print("Version:", result.version)การลงทะเบียนขณะบันทึก
คุณยังสามารถลงทะเบียนโมเดลโดยตรงขณะบันทึกได้ด้วยการส่ง registered_model_name ซึ่งจะสร้างเวอร์ชันใหม่โดยอัตโนมัติในแต่ละรอบการทำงาน
mlflow.sklearn.log_model(
model,
artifact_path="model",
registered_model_name="churn_classifier"
)ขั้นตอนของวงจรการใช้งาน
แต่ละเวอร์ชันจะผ่านขั้นตอนต่าง ๆ ดังนี้: ไม่มี -> การเตรียมใช้งาน (การทดสอบ) -> การใช้งานจริง (เปิดให้บริการ) -> เก็บถาวร ขั้นตอนเหล่านี้แยก "เวอร์ชันใด" ออกจาก "เวอร์ชันใดกำลังให้บริการ" ดังนั้นการเลื่อนขั้นจึงเป็นเพียงการเปลี่ยนข้อมูลกำกับ ไม่ใช่การนำระบบไปใช้งานใหม่
MlflowClient
การดำเนินการกับทะเบียนผ่านโปรแกรมจะทำผ่าน MlflowClient
from mlflow.tracking import MlflowClient
client = MlflowClient()การเลื่อนขั้นของวงจรการใช้งาน
transition_model_version_stage เลื่อนขั้นเวอร์ชัน ย้ายเวอร์ชันไปยังการเตรียมใช้งานเพื่อ QA แล้วจึงย้ายไปยังการใช้งานจริงเมื่อผ่านการตรวจสอบแล้ว
client.transition_model_version_stage(
name="churn_classifier",
version=3,
stage="Production"
)การโหลดตามขั้นตอน
โค้ดให้บริการสามารถโหลด "สิ่งที่อยู่ในขั้นการใช้งานจริง" ได้โดยไม่ต้องเขียนหมายเลขเวอร์ชันตายตัว ดังนั้นเมื่อเลื่อนขั้นเวอร์ชันใหม่ สิ่งที่จะให้บริการก็จะได้รับการอัปเดตทันที
import mlflow.pyfunc
model = mlflow.pyfunc.load_model(
"models:/churn_classifier/Production"
)นามแฝงของโมเดล (MLflow 2.x)
MLflow 2.x เปิดตัวนามแฝง: ตัวชี้ที่มีชื่อและเปลี่ยนแปลงได้ เช่น @champion หรือ @challenger ซึ่งผูกอยู่กับเวอร์ชัน นามแฝงมีความยืดหยุ่นมากกว่าชื่อขั้นตอนที่กำหนดตายตัว และเป็นแนวทางสมัยใหม่ที่แนะนำ
client.set_registered_model_alias(
name="churn_classifier",
alias="champion",
version=3
)การโหลดตามนามแฝง
อ้างอิงโมเดลด้วยนามแฝงโดยใช้ไวยากรณ์ @ ดังนั้นการกำหนดนามแฝงใหม่ให้กับเวอร์ชันอื่นจะเปลี่ยนเส้นทางของผู้ใช้ทั้งหมดไปยังเวอร์ชันนั้นทันที
model = mlflow.pyfunc.load_model(
"models:/churn_classifier@champion"
)ขั้นตอนกับนามแฝง
- ขั้นตอน: ชุดที่กำหนดตายตัว (การเตรียมใช้งาน/การใช้งานจริง/เก็บถาวร) วงจรการใช้งานเรียบง่าย
- นามแฝง: ใช้ชื่อแบบกำหนดเองได้ มีหลายชื่อในโมเดลเดียว และเป็นแนวทางที่แนะนำใน MLflow 2.x
โครงการใหม่ควรเลือกใช้นามแฝงเพื่อความยืดหยุ่น
ตรวจสอบความเข้าใจ
ทดสอบความรู้เกี่ยวกับทะเบียนโมเดลของคุณ
สรุปทบทวน
คุณใช้ทะเบียนโมเดลของ MLflow: register_model สร้างเวอร์ชัน MlflowClient.transition_model_version_stage เลื่อนเวอร์ชันผ่านการเตรียมใช้งาน/การใช้งานจริง และคุณโหลดโมเดลตามขั้นตอนหรือตามนามแฝง (MLflow 2.x) ได้ ทำให้การให้บริการอัปเดตโดยไม่ต้องเปลี่ยนโค้ด บทถัดไป: การสร้างไปป์ไลน์ที่สร้างซ้ำได้
คำถามที่พบบ่อย
บทเรียน “การลงทะเบียนและการกำหนดเวอร์ชันแบบจำลอง” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การลงทะเบียนและการกำหนดเวอร์ชันแบบจำลอง” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Learn AI with Python ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การลงทะเบียนและการกำหนดเวอร์ชันแบบจำลอง”
การลงทะเบียนแบบจำลอง การจัดระยะ (Staging/Production) ชื่อแทนแบบจำลอง และการโหลดตามเวอร์ชัน คุณปฏิบัติ Learn AI with Python ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Learn AI with Python หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Learn AI with Python บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “การลงทะเบียนและการกำหนดเวอร์ชันแบบจำลอง” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Learn AI with Python นี้ได้ไหม
ได้ บทเรียน Learn AI with Python ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การติดตามการทดลองด้วย MLflow
- การลงทะเบียนและการกำหนดเวอร์ชันแบบจำลอง
- การสร้างไปป์ไลน์แมชชีนเลิร์นนิงที่ทำซ้ำได้
- การตรวจสอบประสิทธิภาพแบบจำลองในระบบจริง