แรงจูงใจในการทำ Data Versioning

การจัดการเวอร์ชันข้อมูลด้วย DVC เบื้องต้น

Ravi Bhadauria

Machine Learning Engineer

Data Versioning คืออะไร?

  • นิยาม
    • ติดตามการเปลี่ยนแปลงของข้อมูลตามเวลา
    • บันทึก snapshot ของข้อมูลในแต่ละรอบการทำงาน
    • คล้ายกับการทำ versioning สำหรับโค้ด
  • ประโยชน์
    • เรียกคืนและตรวจสอบข้อมูลได้
    • ความสอดคล้อง ความรับผิดชอบ และการสืบสายที่มาของข้อมูล
  • การประยุกต์ใช้
    • Data Science และ Machine Learning
    • Data Engineering
    • การวิเคราะห์ทางการเงิน การตรวจสอบ และการปฏิบัติตามกฎระเบียบ
การจัดการเวอร์ชันข้อมูลด้วย DVC เบื้องต้น

Data Versioning vs Code Versioning

Code Versioning

  • เป็นที่รู้จักดีในวงการพัฒนาซอฟต์แวร์
  • ใช้เครื่องมืออย่าง Git สำหรับ version control แบบกระจายศูนย์
  • จัดการได้ง่ายกว่า เนื่องจาก codebase มีขนาดเล็ก

Data Versioning

  • ค่อนข้างใหม่ (SciDB เสนอในปี 2012)
  • ใช้ toolchain อย่าง DVC ควบคู่กับ Git
  • จัดการได้ยากกว่า เนื่องจากชุดข้อมูลมีขนาดใหญ่
1 doi: 10.1109/ICDE.2012.102
การจัดการเวอร์ชันข้อมูลด้วย DVC เบื้องต้น

ทำไม ML จึงต้องใช้ Data Versioning?

ภาพแสดงองค์ประกอบของโมเดล ML ได้แก่ โค้ด Hyperparameter และข้อมูล

การจัดการเวอร์ชันข้อมูลด้วย DVC เบื้องต้น

อิทธิพลของชุดข้อมูล

Dataset A ภาพแสดง dataframe head ของ Dataset A

Dataset B ภาพแสดง dataframe head ของ Dataset B

การจัดการเวอร์ชันข้อมูลด้วย DVC เบื้องต้น

อิทธิพลของชุดข้อมูล

 

Hyperparameter คงที่ เปลี่ยนเฉพาะชุดข้อมูล

 

เมตริก Dataset A Dataset B
Precision 0.78 0.79
Recall 0.54 0.57
F1 Score 0.64 0.66
Accuracy 0.80 0.81
การจัดการเวอร์ชันข้อมูลด้วย DVC เบื้องต้น

อิทธิพลของ Hyperparameter

 

ชุดข้อมูลคงที่ เปลี่ยนเฉพาะ Hyperparameter

 

เมตริก n_estimators=5 n_estimators=10
Precision 0.78 0.85
Recall 0.54 0.52
F1 Score 0.64 0.65
Accuracy 0.80 0.81
การจัดการเวอร์ชันข้อมูลด้วย DVC เบื้องต้น

เลย์เอาต์ของแบบฝึกหัด Editor

ภาพแสดงหน้าต่างแบบฝึกหัด editor พร้อมระบุส่วนโฟลเดอร์ ไฟล์ และ terminal

การจัดการเวอร์ชันข้อมูลด้วย DVC เบื้องต้น

มาฝึกกันเถอะ!

การจัดการเวอร์ชันข้อมูลด้วย DVC เบื้องต้น

Preparing Video For Download...