ทำความเข้าใจเกี่ยวกับท่อส่ง TFX

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

MLOps คือแนวปฏิบัติของการนำแนวทางปฏิบัติของ DevOps ไปใช้เพื่อช่วยให้ทำงานอัตโนมัติ จัดการ และตรวจสอบเวิร์กโฟลว์แมชชีนเลิร์นนิง (ML) เวิร์กโฟลว์ ML ประกอบด้วยขั้นตอนในการ:

  • จัดเตรียม วิเคราะห์ และแปลงข้อมูล
  • ฝึกและประเมินแบบจำลอง
  • ปรับใช้แบบจำลองที่ได้รับการฝึกอบรมในการผลิต
  • ติดตามสิ่งประดิษฐ์ ML และทำความเข้าใจการขึ้นต่อกัน

การจัดการขั้นตอนเหล่านี้ในลักษณะเฉพาะกิจอาจเป็นเรื่องยากและใช้เวลานาน

TFX ทำให้การใช้ MLOps ง่ายขึ้นด้วยการจัดหาชุดเครื่องมือที่ช่วยให้คุณจัดการกระบวนการ ML ของคุณบนออร์เคสตราต่างๆ เช่น Apache Airflow, Apache Beam และ Kubeflow Pipelines การใช้เวิร์กโฟลว์ของคุณเป็นไปป์ไลน์ TFX คุณสามารถ:

  • ทำให้กระบวนการ ML ของคุณเป็นแบบอัตโนมัติ ซึ่งช่วยให้คุณฝึกซ้ำ ประเมิน และปรับใช้โมเดลของคุณเป็นประจำ
  • ใช้ทรัพยากรการประมวลผลแบบกระจายสำหรับการประมวลผลชุดข้อมูลขนาดใหญ่และปริมาณงาน
  • เพิ่มความเร็วของการทดลองโดยเรียกใช้ไปป์ไลน์ที่มีชุดไฮเปอร์พารามิเตอร์ต่างๆ

คู่มือนี้อธิบายแนวคิดหลักที่จำเป็นในการทำความเข้าใจไปป์ไลน์ TFX

สิ่งประดิษฐ์

ผลลัพธ์ของขั้นตอนในไปป์ไลน์ TFX เรียกว่า artifacts ขั้นตอนที่ตามมาในเวิร์กโฟลว์ของคุณอาจใช้อาร์ติแฟกต์เหล่านี้เป็นอินพุต ด้วยวิธีนี้ TFX ช่วยให้คุณถ่ายโอนข้อมูลระหว่างขั้นตอนเวิร์กโฟลว์

ตัวอย่างเช่น ส่วนประกอบมาตรฐาน ExampleGen ปล่อยตัวอย่างต่อเนื่อง ซึ่งส่วนประกอบต่างๆ เช่น ส่วนประกอบมาตรฐาน StatisticsGen ใช้เป็นอินพุต

อาร์ติแฟกต์ต้องพิมพ์อย่างเข้มงวดด้วย ประเภท อาร์ติแฟกต์ที่ลงทะเบียนในที่เก็บ ML Metadata เรียนรู้เพิ่มเติมเกี่ยวกับ แนวคิดที่ใช้ใน ML Metadata

ประเภทสิ่งประดิษฐ์มีชื่อและกำหนดสคีมาของคุณสมบัติ ชื่อประเภทสิ่งประดิษฐ์ต้องไม่ซ้ำกันในที่เก็บข้อมูลเมตา ML ของคุณ TFX มี สิ่งประดิษฐ์มาตรฐานหลายประเภท ที่อธิบายประเภทข้อมูลที่ซับซ้อนและประเภทค่า เช่น สตริง จำนวนเต็ม และทศนิยม คุณสามารถ ใช้ประเภทสิ่งประดิษฐ์เหล่านี้ซ้ำ หรือกำหนดประเภทสิ่งประดิษฐ์ที่กำหนดเองที่ได้รับจาก Artifact

พารามิเตอร์

พารามิเตอร์คืออินพุตของไพพ์ไลน์ที่ทราบก่อนดำเนินการไพพ์ไลน์ของคุณ พารามิเตอร์ช่วยให้คุณเปลี่ยนพฤติกรรมของไปป์ไลน์ หรือส่วนหนึ่งของไปป์ไลน์ ผ่านการกำหนดค่าแทนโค้ด

ตัวอย่างเช่น คุณสามารถใช้พารามิเตอร์เพื่อเรียกใช้ไปป์ไลน์ด้วยชุดไฮเปอร์พารามิเตอร์ต่างๆ โดยไม่ต้องเปลี่ยนโค้ดของไปป์ไลน์

การใช้พารามิเตอร์ช่วยให้คุณเพิ่มความเร็วของการทดลองโดยทำให้การเรียกใช้ไปป์ไลน์ของคุณง่ายขึ้นด้วยชุดพารามิเตอร์ต่างๆ

เรียนรู้เพิ่มเติมเกี่ยวกับ คลาส RuntimeParameter

ส่วนประกอบ

คอมโพเนนต์ คือการปรับใช้งาน ML ที่คุณสามารถใช้เป็นขั้นตอนในไปป์ไลน์ TFX ของคุณได้ ส่วนประกอบประกอบด้วย:

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

TFX มี ส่วนประกอบมาตรฐาน หลายอย่างที่คุณสามารถใช้ได้ในไปป์ไลน์ของคุณ หากส่วนประกอบเหล่านี้ไม่ตรงกับความต้องการของคุณ คุณสามารถสร้างส่วนประกอบที่กำหนดเองได้ เรียนรู้เพิ่มเติมเกี่ยวกับส่วนประกอบที่กำหนดเอง

ไปป์ไลน์

ไปป์ไลน์ TFX คือการนำเวิร์กโฟลว์ ML ไปใช้งานแบบพกพาที่สามารถรันบน orchestrator ต่างๆ เช่น Apache Airflow, Apache Beam และ Kubeflow Pipelines ไปป์ไลน์ประกอบด้วยอินสแตนซ์ส่วนประกอบและพารามิเตอร์อินพุต

อินสแตนซ์ของส่วนประกอบสร้างสิ่งประดิษฐ์เป็นเอาต์พุต และโดยทั่วไปจะขึ้นอยู่กับสิ่งประดิษฐ์ที่สร้างโดยอินสแตนซ์ของส่วนประกอบอัปสตรีมเป็นอินพุต ลำดับการดำเนินการสำหรับอินสแตนซ์ของส่วนประกอบถูกกำหนดโดยการสร้างกราฟ acyclic กำกับการขึ้นต่อกันของสิ่งประดิษฐ์

ตัวอย่างเช่น พิจารณาไปป์ไลน์ที่ทำสิ่งต่อไปนี้:

  • นำเข้าข้อมูลโดยตรงจากระบบที่เป็นกรรมสิทธิ์โดยใช้ส่วนประกอบที่กำหนดเอง
  • คำนวณสถิติสำหรับข้อมูลการฝึกอบรมโดยใช้องค์ประกอบมาตรฐาน StatisticsGen
  • สร้างสคีมาข้อมูลโดยใช้องค์ประกอบมาตรฐาน SchemaGen
  • ตรวจสอบข้อมูลการฝึกเพื่อหาความผิดปกติโดยใช้ส่วนประกอบมาตรฐาน ExampleValidator
  • ดำเนินการวิศวกรรมคุณลักษณะในชุดข้อมูลโดยใช้ส่วนประกอบมาตรฐานของ Transform
  • ฝึกโมเดลโดยใช้ส่วนประกอบมาตรฐาน Trainer
  • ประเมินโมเดลที่ได้รับการฝึกอบรมโดยใช้คอมโพเนนต์ของ Evaluator
  • หากโมเดลผ่านการประเมิน ไปป์ไลน์จะจัดคิวโมเดลที่ผ่านการฝึกอบรมไปยังระบบการปรับใช้ที่เป็นกรรมสิทธิ์โดยใช้ส่วนประกอบที่กำหนดเอง

ในการกำหนดลำดับการดำเนินการสำหรับอินสแตนซ์ของส่วนประกอบ TFX จะวิเคราะห์การขึ้นต่อกันของสิ่งประดิษฐ์

  • องค์ประกอบการนำเข้าข้อมูลไม่มีการพึ่งพาสิ่งประดิษฐ์ใดๆ ดังนั้นจึงสามารถเป็นโหนดแรกในกราฟได้
  • StatisticsGen ขึ้นอยู่กับ ตัวอย่างที่ เกิดจากการนำเข้าข้อมูล ดังนั้นจึงต้องดำเนินการหลังจากนำเข้าข้อมูล
  • SchemaGen ขึ้นอยู่กับ สถิติ ที่สร้างโดย StatisticsGen ดังนั้นจึงต้องดำเนินการหลังจาก StatisticsGen
  • ExampleValidator ขึ้นอยู่กับ สถิติ ที่สร้างโดย StatisticsGen และ สคีมา ที่สร้างโดย SchemaGen ดังนั้นจึงต้องดำเนินการหลังจาก StatisticsGen และ SchemaGen
  • การแปลงขึ้นอยู่กับ ตัวอย่างที่ เกิดจากการนำเข้าข้อมูลและ สคีมา ที่สร้างโดย SchemaGen ดังนั้นจึงต้องดำเนินการหลังจากการนำเข้าข้อมูลและ SchemaGen
  • ผู้ฝึกอบรมขึ้นอยู่กับ ตัวอย่างที่ เกิดจากการนำเข้าข้อมูล สคีมา ที่สร้างโดย SchemaGen และ โมเดลที่บันทึกไว้ ซึ่งสร้างโดย Transform ผู้ฝึกอบรมสามารถดำเนินการได้หลังจากนำเข้าข้อมูล, SchemaGen และ Transform เท่านั้น
  • ผู้ประเมินขึ้นอยู่กับ ตัวอย่างที่ เกิดจากการนำเข้าข้อมูลและ แบบจำลองที่บันทึกไว้ ซึ่งสร้างโดย Trainer ดังนั้นจึงต้องดำเนินการหลังจากนำเข้าข้อมูลและ Trainer
  • ตัวปรับใช้แบบกำหนดเองจะขึ้นอยู่กับ โมเดลที่บันทึกไว้ ซึ่งสร้างโดย Trainer และ ผลการวิเคราะห์ ที่สร้างโดย Evaluator ดังนั้นผู้ปรับใช้จะต้องดำเนินการหลังจาก Trainer และผู้ประเมิน

จากการวิเคราะห์นี้ ผู้ประสานงานดำเนินการ:

  • การนำเข้าข้อมูล, StatisticsGen, SchemaGen ส่วนประกอบอินสแตนซ์ตามลำดับ
  • คอมโพเนนต์ ExampleValidator และ Transform สามารถทำงานแบบคู่ขนานกันได้เนื่องจากใช้การพึ่งพาสิ่งประดิษฐ์อินพุตร่วมกันและไม่ขึ้นอยู่กับเอาต์พุตของกันและกัน
  • หลังจากที่ส่วนประกอบ Transform เสร็จสมบูรณ์แล้ว อินสแตนซ์ของ Trainer, Evaluator และ Custom Deployer จะทำงานตามลำดับ

เรียนรู้เพิ่มเติมเกี่ยวกับ การสร้างไปป์ไลน์ TFX

เทมเพลตไปป์ไลน์ TFX

เทมเพลต TFX Pipeline ช่วยให้เริ่มต้นการพัฒนาไปป์ไลน์ได้ง่ายขึ้นโดยจัดเตรียมไปป์ไลน์ที่สร้างไว้ล่วงหน้าซึ่งคุณสามารถปรับแต่งสำหรับกรณีการใช้งานของคุณได้

เรียนรู้เพิ่มเติมเกี่ยวกับ การกำหนดเทมเพลตไปป์ไลน์ TFX เอง

วิ่งไปป์ไลน์

การรันคือการดำเนินการไปป์ไลน์เพียงครั้งเดียว

ออเคสตรา

Orchestrator คือระบบที่คุณสามารถรันไปป์ไลน์ได้ TFX รองรับ orchestrator เช่น: Apache Airflow , Apache Beam และ Kubeflow Pipelines TFX ยังใช้คำว่า DagRunner เพื่ออ้างถึงการใช้งานที่สนับสนุน orchestrator