ฟีเจอร์และกรณีการใช้งาน DVC

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

Ravi Bhadauria

Machine Learning Engineer

ฟีเจอร์และกรณีการใช้งาน DVC

หัวข้อที่ครอบคลุม

  • การจัดเวอร์ชันข้อมูลและโมเดล
  • DVC Pipelines
  • การติดตาม Metrics และกราฟ

หัวข้อขั้นสูง (ไม่ครอบคลุม)

  • การติดตามการทดลอง
  • CI/CD สำหรับ Machine Learning
  • Data registry
การจัดการเวอร์ชันข้อมูลด้วย DVC เบื้องต้น

การจัดเวอร์ชันข้อมูลและโมเดล

แผนผังการจัดเวอร์ชันข้อมูลพร้อมโมเดลโดยเชื่อมโยงกับ Git commits ที่ระบุ

1 https://dvc.org/doc/use-cases/versioning-data-and-models
การจัดการเวอร์ชันข้อมูลด้วย DVC เบื้องต้น

Pipelines

แผนผัง pipeline ของขั้นตอนการเทรนโมเดล

  • กำหนด pipeline ใน dvc.yaml
stages:
  train:
    cmd: python train.py

deps: - code/train.py - data/input_data.csv - params/params.json
outs: - model_output/model.pkl
  • รันด้วย dvc repro.
การจัดการเวอร์ชันข้อมูลด้วย DVC เบื้องต้น

การติดตาม Metrics และกราฟ

$ dvc metrics diff
Path                  Metric    HEAD     workspace    Change
dvclive/metrics.json  AUC       0.78912  0.18114      -0.60798
dvclive/metrics.json  TP        215      768          553

การเปรียบเทียบค่า AUC metrics ระหว่างการทดลอง ML โดยใช้ DVC plots

1 https://dvc.org/doc/command-reference/plots/diff
การจัดการเวอร์ชันข้อมูลด้วย DVC เบื้องต้น

การติดตามการทดลอง

  • รันการทดลองและบันทึก metrics
    • dvc repro
    • dvc exp save
  • หรือรวมสองขั้นตอนด้วย dvc exp run
  • การทดลองคือ Git references แบบกำหนดเอง
    • ช่วยลด Git commits ที่ไม่จำเป็น
    • บันทึกได้อย่างชัดเจนด้วย dvc exp save
  • แสดงผลด้วย dvc exp show
การจัดการเวอร์ชันข้อมูลด้วย DVC เบื้องต้น

CI/CD สำหรับ Machine Learning

ภาพแนวคิดของ DVC และ CML ที่ใช้สำหรับ CI/CD

1 Picture credits: https://dvc.org/doc/use-cases/ci-cd-for-machine-learning
การจัดการเวอร์ชันข้อมูลด้วย DVC เบื้องต้น

Data registry

ภาพการใช้ DVC เป็น data registry

1 Picture credits: https://dvc.org/doc/use-cases/data-registry
การจัดการเวอร์ชันข้อมูลด้วย DVC เบื้องต้น

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

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

Preparing Video For Download...