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

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

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

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

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

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

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

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

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

ตัวอย่างเช่น คอมโพเนนต์มาตรฐาน ExampleGen ปล่อยตัวอย่างที่เป็นอนุกรม ซึ่งคอมโพเนนต์เช่น คอมโพเนนต์มาตรฐาน StatisticsGen ใช้เป็นอินพุต

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

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

พารามิเตอร์

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

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

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

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

ส่วนประกอบ

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

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

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

ท่อส่ง

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

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

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

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

เพื่อกำหนดลำดับการดำเนินการสำหรับอินสแตนซ์ของคอมโพเนนต์ TFX จะวิเคราะห์การขึ้นต่อกันของอาร์ติแฟกต์

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

จากการวิเคราะห์นี้ ออร์เคสตราดำเนินการ:

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

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

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

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

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

การเดินท่อ

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

ออเคสตร้า

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