แนวคิดชุดเครื่องมือการ์ดโมเดล

การ์ดโมเดล

การ์ดโมเดล คือเอกสารการเรียนรู้ของเครื่องที่ให้บริบทและความโปร่งใสในการพัฒนาและประสิทธิภาพของโมเดล สามารถใช้เพื่อแชร์ข้อมูลเมตาของโมเดลและตัวชี้วัดกับนักวิจัย นักพัฒนา นักข่าว และอื่นๆ

กรณีการใช้งานบางส่วนของการ์ดโมเดลได้แก่:

  • อำนวยความสะดวกในการแลกเปลี่ยนข้อมูลระหว่างผู้สร้างโมเดลและผู้พัฒนาผลิตภัณฑ์
  • แจ้งให้ผู้ใช้โมเดล ML ตัดสินใจโดยมีข้อมูลดีขึ้นเกี่ยวกับวิธีการใช้งาน (หรือวิธีไม่ใช้โมเดล)
  • การให้ข้อมูลแบบจำลองที่จำเป็นสำหรับการกำกับดูแลและความรับผิดชอบสาธารณะที่มีประสิทธิผล

สคีมา

สคีมาการ์ดโมเดล เป็นต้น แบบที่ อธิบายฟิลด์ที่มีอยู่ของการ์ดโมเดล อินเทอร์เฟซ JSON ก็มีให้บริการเช่นกัน ออบเจ็กต์เหล่านี้สามารถเชื่อมต่อกับระบบอื่นเพื่อการจัดเก็บ การวิเคราะห์ หรือการแสดงภาพ

ปัจจุบัน Model Card Schema มีการบังคับใช้อย่างเข้มงวด ใน Model Card Toolkit 2.0 ข้อจำกัดสคีมานี้จะถูกยกเลิก

กราฟิก

Model Card Toolkit จะสร้างกราฟิกสำหรับชุดข้อมูล TFX และผลการประเมินโดยอัตโนมัติ กราฟิกสามารถสร้างได้ด้วยตนเองโดยใช้เครื่องมือ เช่น Matplotlib และเขียนลงใน ModelCard - ดูรายละเอียดใน Model Card API

ใน Model Card schema กราฟิกจะถูกจัดเก็บไว้ในฟิลด์ Graphic.image และถูกเข้ารหัสเป็น สตริงที่เข้ารหัส base64 ชุดเครื่องมือการ์ดโมเดลสามารถช่วย สร้างอิมเมจ base64 ได้

ชุดเครื่องมือการ์ดโมเดล

Model Card Toolkit ช่วยให้คุณสร้าง เอกสาร Model Card รวมถึง Proto และ JSON object ด้วยอินเทอร์เฟซ Python ที่ได้รับการปรับปรุง

API การ์ดโมเดล

ชุดเครื่องมือการ์ดโมเดลประกอบด้วย Model Card API ที่ประกอบด้วย คลาส Python การอัพเดตที่ทำกับออบเจ็กต์ Model Card Python จะถูกเขียนไปยังออบเจ็กต์โปรโตของ Model Card

กราฟิก

ฟังก์ชัน model_card_toolkit.utils.graphics.figure_to_base64str() สามารถใช้ในการแปลงกราฟิก เช่น ตัวเลข Matplotlib เป็นสตริง base64

การบันทึกและการโหลดการ์ดโมเดล

หากคุณใส่คำอธิบายประกอบการ์ดโมเดลของคุณเสร็จแล้ว และต้องการทำให้เป็นอนุกรมในรูปแบบ JSON หรือ protobuf ให้ใช้เมธอด ModelCard.save()


import model_card_toolkit as mct

model_card = mct.ModelCard()
model_card.model_details.name = 'Fine-tuned MobileNetV2 Model for Cats vs. Dogs'
model_card.save('model_cards/cats_vs_dogs.json')

หากคุณต้องการกู้คืนและอัปเดตการ์ดโมเดลที่บันทึกไว้ ให้ใช้ฟังก์ชัน model_card_toolkit.model_card.load_model_card()


import model_card_toolkit as mct

model_card = mct.load_model_card('model_cards/cats_vs_dogs.json')
model_card.model_details.licenses.append(mct.License(identifier='Apache-2.0'))

เอกสารการ์ดโมเดล

ตามค่าเริ่มต้น เอกสารการ์ดโมเดลที่สร้างขึ้นจะเป็นไฟล์ HTML ที่อิงตาม default_template.html.jinja อย่างไรก็ตาม คุณยังสามารถจัดเตรียมเทมเพลต Jinja ที่คุณกำหนดเองได้ ไฟล์เทมเพลตเหล่านี้อาจเป็นรูปแบบข้อความใดก็ได้ (HTML, Markdown, LaTeX ฯลฯ) เทมเพลต Markdown มีให้เป็นตัวอย่าง

บูรณาการ TFX และ MLMD

ชุดเครื่องมือการ์ดโมเดลทำงานร่วมกับเครื่องมือ TensorFlow Extended และ ML Metadata ที่เก็บข้อมูลเมตาสามารถใช้ได้ในระหว่างการเริ่มต้นชุดเครื่องมือการ์ดโมเดล เพื่อเติมข้อมูลในช่องการ์ดโมเดลจำนวนมากล่วงหน้า และสร้างแผนการฝึกอบรมและการประเมินผล

สิ่งประดิษฐ์ ที่ใช้โดย MCT:

  • ตัวอย่าง และ ExampleStatistics : ใช้ในการพล็อตกราฟจำนวนชิ้นสำหรับแต่ละชุดข้อมูล ( TFDV )
  • Model และ ModelEvalued : ใช้เพื่อพล็อตเมตริกการประเมินผลแบบแบ่งส่วน TFMA

การประหารชีวิต ที่ใช้โดย MCT:

  • Trainer : ใช้เพื่อเติมชื่อรุ่นและเวอร์ชัน

ส่วนประกอบ ModelCardGenerator ได้ย้ายไปยังไลบรารี TFX Addons และไม่ได้บรรจุใน Model Card Toolkit จากเวอร์ชัน 2.0.0 อีกต่อไป ก่อนที่คุณจะสามารถใช้ส่วนประกอบนี้ คุณจะต้องติดตั้งแพ็คเกจ tfx-addons ก่อน:

pip install tfx-addons[model_card_generator]

ดู คู่มือ ModelCardGenerator และเรียกใช้ สมุดบันทึกกรณีศึกษา เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับส่วนประกอบ