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

การตรวจสอบประสิทธิภาพแบบจำลองในระบบจริง

การตรวจจับการเปลี่ยนแปลงของข้อมูล สัญญาณการเสื่อมประสิทธิภาพของแบบจำลอง ตัวกระตุ้นการฝึกใหม่ และไลบรารี evidently

การตรวจสอบประสิทธิภาพแบบจำลองในระบบจริง เป็นบทเรียน Learn AI with Python ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Learn AI with Python และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน

เหตุใดจึงต้องติดตามในระบบที่ใช้งานจริง

โมเดลที่ทำงานได้ดีเมื่อเปิดใช้งานอาจเสื่อมประสิทธิภาพลงอย่างเงียบ ๆ เมื่อโลกเปลี่ยนแปลง การติดตามจะตรวจพบการเปลี่ยนแปลงนี้ตั้งแต่เนิ่น ๆ ก่อนที่ตัวชี้วัดทางธุรกิจจะตกลงอย่างเงียบ ๆ ทำให้คุณทราบว่าควรฝึกสอนโมเดลใหม่เมื่อใด

การเปลี่ยนแปลงของข้อมูลกับการเปลี่ยนแปลงของแนวคิด

  • การเปลี่ยนแปลงของข้อมูล: การกระจายของข้อมูลเข้าเปลี่ยนไป (สัดส่วนลูกค้ากลุ่มใหม่)
  • การเปลี่ยนแปลงของแนวคิด: ความสัมพันธ์ระหว่างข้อมูลเข้ากับเป้าหมายเปลี่ยนไป (สิ่งที่ใช้พยากรณ์การเลิกใช้งานเปลี่ยนไป)

ทั้งสองอย่างทำให้ความแม่นยำลดลง แต่การติดตามจะตรวจจับแต่ละอย่างด้วยวิธีที่แตกต่างกัน

PSI สำหรับการเปลี่ยนแปลงของข้อมูล

ดัชนีเสถียรภาพของประชากร (PSI) เปรียบเทียบการกระจายของคุณลักษณะหนึ่งในปัจจุบันกับค่าพื้นฐาน ให้แบ่งข้อมูลทั้งสองชุดเป็นช่วง แล้วหาผลรวมของ (now% - base%) * ln(now% / base%) ในทุกช่วง

การอ่านค่า PSI

หลักเกณฑ์โดยประมาณ: PSI < 0.1 ไม่มีการเปลี่ยนแปลงที่มีนัยสำคัญ 0.1-0.25 มีการเปลี่ยนแปลงปานกลาง (ควรตรวจสอบ) > 0.25 มีการเปลี่ยนแปลงมาก (ควรฝึกสอนใหม่ในเร็ว ๆ นี้) โดยคำนวณ PSI แยกกันสำหรับแต่ละคุณลักษณะ

import numpy as np

def psi(base, now, bins=10):
    edges = np.percentile(base, np.linspace(0, 100, bins + 1))
    b_pct = np.histogram(base, edges)[0] / len(base) + 1e-6
    n_pct = np.histogram(now, edges)[0] / len(now) + 1e-6
    return np.sum((n_pct - b_pct) * np.log(n_pct / b_pct))

การทดสอบ KS สำหรับการกระจาย

การทดสอบ Kolmogorov-Smirnov (KS) เปรียบเทียบการกระจายแบบต่อเนื่องสองชุด ค่า p ขนาดเล็กหมายความว่าการกระจายในระบบที่ใช้งานจริงแตกต่างจากการกระจายในการฝึกสอนอย่างมีนัยสำคัญ ซึ่งเป็นสัญญาณของการเปลี่ยนแปลง

from scipy.stats import ks_2samp

stat, pvalue = ks_2samp(train_feature, prod_feature)
if pvalue < 0.05:
    print("Distribution drift detected")

PSI กับ KS

  • PSI: ตัวเลขเดียวที่ตีความได้ง่าย เหมาะสำหรับแดชบอร์ดและเกณฑ์ตัดสิน
  • KS: การทดสอบสมมติฐานทางสถิติที่มีค่า p มีความเข้มงวดกว่าสำหรับคุณลักษณะแบบต่อเนื่อง

หลายทีมรายงานทั้งสองค่าไว้เคียงข้างกัน

Evidently คืออะไร

Evidently คือไลบรารีโอเพนซอร์สที่ทำให้การสร้างรายงานการเปลี่ยนแปลงและคุณภาพเป็นแบบอัตโนมัติ แทนที่จะเขียนโค้ดสำหรับตัวชี้วัดแต่ละรายการด้วยตนเอง คุณสามารถประกอบการตรวจสอบที่กำหนดไว้ล่วงหน้า แล้วรับรายงาน HTML/JSON

# pip install evidently
from evidently.report import Report
from evidently.metric_preset import DataDriftPreset

การสร้างรายงาน DataDriftPreset

DataDriftPreset เรียกใช้ชุดการทดสอบการเปลี่ยนแปลงทั้งหมดกับทุกคอลัมน์ โดยเปรียบเทียบชุดข้อมูลอ้างอิง (ชุดข้อมูลฝึกสอน) กับข้อมูลปัจจุบัน (ข้อมูลจากระบบที่ใช้งานจริง)

report = Report(metrics=[DataDriftPreset()])
report.run(
    reference_data=train_df,
    current_data=prod_df
)
report.save_html("drift_report.html")

การดึงผลลัพธ์ผ่านโปรแกรม

ส่งออกรายงานเป็นพจนานุกรมเพื่อป้อนให้ตรรกะการแจ้งเตือน ทำให้การติดตามทำงานตามกำหนดเวลาได้โดยไม่ต้องมีผู้ดูแล

result = report.as_dict()
drift_share = result["metrics"][0]["result"]["dataset_drift"]
print("Dataset drift flag:", drift_share)

การแจ้งเตือนเมื่อความแม่นยำลดลง

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

THRESHOLD = 0.85

if live_accuracy < THRESHOLD:
    send_alert(f"Accuracy dropped to {live_accuracy:.2f}")

ปิดวงจรการทำงาน

การตรวจติดตามที่ดีต้องเชื่อมโยงกับการลงมือทำ: ตรวจพบการเปลี่ยนแปลงของข้อมูล -> แจ้งเตือน -> เรียกใช้กระบวนการฝึกโมเดลใหม่ (ไฟล์เมก/รีจิสทรีจากบทเรียนก่อนหน้า) -> นำเวอร์ชันใหม่ไปใช้งาน การตรวจติดตามที่ไม่มีแผนรับมือก็เป็นเพียงสัญญาณรบกวน

ตรวจสอบความเข้าใจอย่างรวดเร็ว

ทดสอบความรู้เกี่ยวกับการตรวจติดตามของท่าน

ทบทวน

ท่านได้ตรวจติดตามโมเดลในระบบจริงแล้ว: PSI และ การทดสอบ KS ตรวจพบการเปลี่ยนแปลงของข้อมูล, เอวิเดนต์ลี สร้างรายงานโดยอัตโนมัติผ่าน DataDriftPreset และท่านจะแจ้งเตือนเมื่อความแม่นยำลดต่ำกว่าเกณฑ์ จากนั้นจึงเรียกใช้การฝึกโมเดลใหม่ หลักสูตรการดำเนินงานแมชชีนเลิร์นนิงจบลงเพียงเท่านี้ หลักสูตรถัดไป: การให้บริการโมเดล AI ด้วย FastAPI

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

บทเรียน “การตรวจสอบประสิทธิภาพแบบจำลองในระบบจริง” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การตรวจสอบประสิทธิภาพแบบจำลองในระบบจริง” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Learn AI with Python ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การตรวจสอบประสิทธิภาพแบบจำลองในระบบจริง”

การตรวจจับการเปลี่ยนแปลงของข้อมูล สัญญาณการเสื่อมประสิทธิภาพของแบบจำลอง ตัวกระตุ้นการฝึกใหม่ และไลบรารี evidently คุณปฏิบัติ Learn AI with Python ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Learn AI with Python หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Learn AI with Python บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “การตรวจสอบประสิทธิภาพแบบจำลองในระบบจริง” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Learn AI with Python นี้ได้ไหม

ได้ บทเรียน Learn AI with Python ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

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

  1. การติดตามการทดลองด้วย MLflow
  2. การลงทะเบียนและการกำหนดเวอร์ชันแบบจำลอง
  3. การสร้างไปป์ไลน์แมชชีนเลิร์นนิงที่ทำซ้ำได้
  4. การตรวจสอบประสิทธิภาพแบบจำลองในระบบจริง
← กลับไปที่ Learn AI with Python