บันทึกผลพยากรณ์แบบมีโครงสร้าง
บันทึกอินพุต เอาต์พุต และเวลาแฝงเป็น JSON
บันทึกผลพยากรณ์แบบมีโครงสร้าง เป็นบทเรียน MLOps Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน MLOps Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส MLOps Academy มีบทเรียนทั้งหมด 4 บทเรียน
เหตุผลที่ต้องบันทึกการทำนาย
เมื่อโมเดลของคุณให้บริการผู้ใช้จริง คุณไม่สามารถเฝ้าดูด้วยตนเองได้ การทำบันทึกการทำนายทุกครั้งคือวิธีดูว่าโมเดลทำงานอย่างไรในการใช้งานจริง 📊
ข้อความธรรมดาสร้างความยุ่งยาก
บรรทัดบันทึกอย่าง "ได้รับคำขอ ส่งคืนค่า 0.91" อาจอ่านเข้าใจง่ายสำหรับคุณ แต่ค้นหาได้ยากมากเมื่อมีข้อมูลจำนวนมาก เครื่องต้องการโครงสร้าง ไม่ใช่ข้อความบรรยาย
การบันทึกแบบมีโครงสร้าง
การบันทึกแบบมีโครงสร้างหมายความว่าแต่ละบรรทัดบันทึกเป็นออบเจ็กต์ขนาดเล็กที่ประกอบด้วยฟิลด์ที่มีชื่อ ไม่ใช่ประโยค เครื่องมือจึงกรอง จัดกลุ่ม และรวมข้อมูลได้ทันที
JSON คือรูปแบบที่ใช้
ตัวเลือกที่ใช้กันทั่วไปคือออบเจ็กต์ JSON หนึ่งรายการต่อบรรทัด ทุกฟิลด์มีคีย์ ระบบบันทึกจึงแยกวิเคราะห์ในรูปแบบเดียวกันทุกครั้ง
{"event": "prediction", "model": "churn-v3", "score": 0.91}สิ่งที่ควรบันทึกในการทำนายแต่ละครั้ง
สำหรับการเรียกใช้แต่ละครั้ง ให้เก็บอินพุต เอาต์พุต และระยะเวลาที่ใช้ ข้อมูลเหล่านี้ช่วยให้คุณแก้ไขข้อบกพร่อง ตรวจสอบย้อนหลัง และวัดคุณภาพได้ในภายหลัง
บันทึกเวลาแฝง
บันทึกเวลาแฝงเป็นมิลลิวินาทีเสมอ นี่คือสัญญาณเตือนแรก ๆ ว่าโมเดลหรือเซิร์ฟเวอร์กำลังเริ่มทำงานหนักเกินไป
import time
start = time.perf_counter()
score = model.predict(x)
latency_ms = (time.perf_counter() - start) * 1000เพิ่ม ID เพื่อติดตาม
กำหนด request_id ที่ไม่ซ้ำกันให้กับทุกคำขอ ภายหลังคุณจะติดตามการทำนายรายการเดียวกันข้ามบันทึก แดชบอร์ด และผลลัพธ์จริงในท้ายที่สุดได้
import uuid
request_id = str(uuid.uuid4())สร้างระเบียนบันทึก
รวบรวมฟิลด์ต่าง ๆ ไว้ในพจนานุกรมเดียว ระเบียนนี้จะกลายเป็นบรรทัด JSON หนึ่งบรรทัดที่ค้นหาได้ในบันทึกของคุณ
record = {
"request_id": request_id,
"model": "churn-v3",
"score": score,
"latency_ms": latency_ms,
}ส่งออก JSON ด้วยตัวบันทึก
ใช้โมดูล logging ในตัวของ Python และส่งระเบียนออกมาเป็น JSON อย่าใช้ print เพราะจะข้ามระดับและเวลาประทับ
import json, logging
log = logging.getLogger("predictions")
log.info(json.dumps(record))อย่าบันทึกข้อมูลลับดิบ
ระวังข้อมูลที่ใส่ลงไป อย่าบันทึกรหัสผ่าน โทเค็น และ PII ดิบ หรือแฮชฟิลด์ที่มีความละเอียดอ่อนก่อนข้อมูลเหล่านั้นจะถูกเขียนลงในบรรทัดบันทึก 🔒
ส่งบันทึกไปยังที่จัดเก็บส่วนกลาง
บันทึกบนเซิร์ฟเวอร์เครื่องเดียวจะหายไปเมื่อเซิร์ฟเวอร์เริ่มทำงานใหม่ ให้ส่งต่อไปยังที่จัดเก็บส่วนกลาง เช่น Loki หรือ CloudWatch เพื่อให้บันทึกยังคงอยู่แม้คอนเทนเนอร์ใดคอนเทนเนอร์หนึ่งจะหยุดทำงาน
ตรวจสอบอย่างรวดเร็ว
คุณต้องการบันทึกการทำนายที่ค้นหาและรวมข้อมูลได้เมื่อมีข้อมูลจำนวนมาก ควรใช้รูปแบบใด
สรุปทบทวน
คุณบันทึกการทำนายทุกครั้งเป็นระเบียน JSON แบบมีโครงสร้าง โดยมีอินพุต เอาต์พุต เวลาแฝง และ id จากนั้นส่งไปยังที่จัดเก็บส่วนกลาง นั่นคือดวงตาของคุณในการใช้งานจริง ✅
คำถามที่พบบ่อย
บทเรียน “บันทึกผลพยากรณ์แบบมีโครงสร้าง” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “บันทึกผลพยากรณ์แบบมีโครงสร้าง” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส MLOps Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส MLOps Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “บันทึกผลพยากรณ์แบบมีโครงสร้าง”
บันทึกอินพุต เอาต์พุต และเวลาแฝงเป็น JSON คุณปฏิบัติ MLOps Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน MLOps Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน MLOps Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “บันทึกผลพยากรณ์แบบมีโครงสร้าง” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน MLOps Academy นี้ได้ไหม
ได้ บทเรียน MLOps Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- บันทึกผลพยากรณ์แบบมีโครงสร้าง
- เปิดเผยเมตริกด้วย Prometheus
- สร้างแดชบอร์ด Grafana
- แจ้งเตือนเมื่อเวลาแฝงและข้อผิดพลาดพุ่งสูง