เข้าร่วมชุมชน SIG TFX-Addons และช่วยปรับปรุง TFX ให้ดียิ่งขึ้น!

คู่มือผู้ใช้ TFX

บทนำ

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

TFX 1.0

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

การติดตั้ง

PythonPyPI

pip install tfx

แพ็คเกจกลางคืน

TFX ยังเป็นเจ้าภาพจัดแพคเกจคืนที่ https://pypi-nightly.tensorflow.org บน Google Cloud ในการติดตั้งแพ็คเกจ nightly ล่าสุด โปรดใช้คำสั่งต่อไปนี้:

pip install -i https://pypi-nightly.tensorflow.org/simple --pre tfx

สิ่งนี้จะติดตั้งแพ็คเกจทุกคืนสำหรับการพึ่งพา TFX ที่สำคัญเช่น TensorFlow Model Analysis (TFMA), TensorFlow Data Validation (TFDV), TensorFlow Transform (TFT), TFX Basic Shared Libraries (TFX-BSL), ML Metadata (MLMD)

เกี่ยวกับ TFX

TFX เป็นแพลตฟอร์มสำหรับสร้างและจัดการเวิร์กโฟลว์ ML ในสภาพแวดล้อมการผลิต TFX ให้สิ่งต่อไปนี้:

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

    เรียนรู้เพิ่มเติมเกี่ยวกับท่อ TFX

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

    เรียนรู้เพิ่มเติมเกี่ยวกับชิ้นส่วนมาตรฐาน TFX

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

    เรียนรู้เพิ่มเติมเกี่ยวกับห้องสมุด TFX

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

ส่วนประกอบมาตรฐาน TFX

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

ไปป์ไลน์ TFX โดยทั่วไปประกอบด้วยส่วนประกอบต่อไปนี้:

  • ExampleGen เป็นองค์ประกอบการป้อนข้อมูลเริ่มต้นของท่อที่จะนำเข้าและเลือกที่จะแยกชุดข้อมูลที่ป้อนข้อมูล

  • StatisticsGen คำนวณสถิติสำหรับชุดข้อมูล

  • SchemaGen ตรวจสอบสถิติและสร้างสคีข้อมูล

  • ExampleValidator ลักษณะความผิดปกติและค่าที่ขาดหายไปในชุดข้อมูล

  • แปลง ดำเนินวิศวกรรมคุณลักษณะในชุดข้อมูล

  • เทรนเนอร์ รถไฟรุ่น

  • จูนเนอร์ tunes hyperparameters ของรูปแบบ

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

  • InfraValidator การตรวจสอบรูปแบบที่เป็นจริง servable จากโครงสร้างพื้นฐานและป้องกันไม่ให้รูปแบบที่เลวร้ายจากการถูกผลักดัน

  • Pusher ปรับใช้รูปแบบในการให้บริการโครงสร้างพื้นฐาน

  • BulkInferrer การประมวลผลการดำเนินการชุดในรูปแบบที่มีการร้องขอการอนุมานไม่ติดฉลาก

ไดอะแกรมนี้แสดงการไหลของข้อมูลระหว่างส่วนประกอบเหล่านี้:

การไหลของส่วนประกอบ

ห้องสมุด TFX

TFX มีทั้งไลบรารีและส่วนประกอบไปป์ไลน์ ไดอะแกรมนี้แสดงความสัมพันธ์ระหว่างไลบรารี TFX และส่วนประกอบไปป์ไลน์:

ไลบรารีและส่วนประกอบ

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

ไลบรารี TFX ประกอบด้วย:

  • TensorFlow การตรวจสอบข้อมูล (TFDV) เป็นห้องสมุดสำหรับการวิเคราะห์และตรวจสอบข้อมูลการเรียนรู้เครื่อง ได้รับการออกแบบมาให้สามารถปรับขนาดได้สูงและทำงานได้ดีกับ TensorFlow และ TFX TFDV รวมถึง:

    • การคำนวณที่ปรับขนาดได้ของสถิติสรุปของการฝึกอบรมและข้อมูลการทดสอบ
    • การผสานรวมกับวิวเวอร์สำหรับการกระจายข้อมูลและสถิติ ตลอดจนการเปรียบเทียบคู่ของชุดข้อมูล (Facets)

    • การสร้างสคีมาข้อมูลโดยอัตโนมัติเพื่ออธิบายความคาดหวังเกี่ยวกับข้อมูล เช่น ค่า ช่วง และคำศัพท์ที่ต้องการ

    • โปรแกรมดูสคีมาเพื่อช่วยคุณตรวจสอบสคีมา

    • การตรวจหาความผิดปกติเพื่อระบุความผิดปกติ เช่น คุณลักษณะที่ขาดหายไป ค่าที่อยู่นอกขอบเขต หรือประเภทคุณลักษณะที่ไม่ถูกต้อง เป็นต้น

    • โปรแกรมดูความผิดปกติเพื่อให้คุณสามารถดูว่าคุณลักษณะใดมีความผิดปกติและเรียนรู้เพิ่มเติมเพื่อแก้ไข

  • TensorFlow Transform (TFT) เป็นห้องสมุดสำหรับ preprocessing ข้อมูลที่มี TensorFlow TensorFlow Transform มีประโยชน์สำหรับข้อมูลที่ต้องใช้ full pass เช่น:

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

    KerasTuner จะใช้สำหรับการปรับแต่ง hyperparameters สำหรับรูปแบบ

  • TensorFlow รุ่นวิเคราะห์ (Tfma) เป็นห้องสมุดสำหรับการประเมินแบบจำลอง TensorFlow ใช้ร่วมกับ TensorFlow เพื่อสร้าง EvalSavedModel ซึ่งจะกลายเป็นพื้นฐานสำหรับการวิเคราะห์ อนุญาตให้ผู้ใช้ประเมินแบบจำลองของตนกับข้อมูลจำนวนมากในลักษณะแบบกระจาย โดยใช้ตัวชี้วัดเดียวกันที่กำหนดไว้ในผู้ฝึกสอน เมตริกเหล่านี้สามารถคำนวณจากส่วนต่างๆ ของข้อมูลและแสดงภาพในโน้ตบุ๊ก Jupyter

  • TensorFlow เมตาดาต้า (TFMD) ให้การรับรองมาตรฐานของเมตาดาต้าที่มีประโยชน์เมื่อเครื่องฝึกอบรมรุ่นที่เรียนรู้กับ TensorFlow ข้อมูลเมตาอาจสร้างขึ้นด้วยมือหรือโดยอัตโนมัติในระหว่างการวิเคราะห์ข้อมูลอินพุต และอาจนำไปใช้เพื่อการตรวจสอบความถูกต้อง การสำรวจ และการแปลงข้อมูล รูปแบบการทำให้เป็นอันดับข้อมูลเมตารวมถึง:

    • สคีมาที่อธิบายข้อมูลแบบตาราง (เช่น tf.Examples)
    • การรวบรวมสถิติสรุปในชุดข้อมูลดังกล่าว
  • ML เมตาดาต้า (MLMD) เป็นห้องสมุดสำหรับการบันทึกและเรียกเมตาดาต้าที่เกี่ยวข้องกับการพัฒนา ML และเวิร์กโฟลว์นักวิทยาศาสตร์ข้อมูล ข้อมูลเมตาส่วนใหญ่มักใช้การแทนค่า TFMD MLMD จัดการติดตาใช้ SQL-Lite , MySQL และร้านค้าอื่น ๆ ข้อมูลที่คล้ายกัน

เทคโนโลยีสนับสนุน

ที่จำเป็น

  • อาปาเช่บีม เป็นแหล่งเปิดรูปแบบครบวงจรสำหรับการกำหนดทั้งชุดและสตรีมมิ่งข้อมูลแบบขนานท่อการประมวลผล TFX ใช้ Apache Beam เพื่อใช้ไปป์ไลน์ข้อมูลแบบขนาน ท่อจะถูกดำเนินการแล้วโดยหนึ่งในคานสนับสนุนประมวลผลแบบกระจายกลับปลายซึ่งรวมถึง Apache Flink, Apache Spark, Google Cloud Dataflow และอื่น ๆ

ไม่จำเป็น

Orchestrator เช่น Apache Airflow และ Kubeflow ทำให้การกำหนดค่า ใช้งาน ตรวจสอบ และบำรุงรักษาไปป์ไลน์ ML ง่ายขึ้น

  • Apache ไหลเวียนของอากาศ เป็นแพลตฟอร์มโปรแกรมเขียนตารางเวลาและการตรวจสอบขั้นตอนการทำงาน TFX ใช้ Airflow เพื่อเขียนเวิร์กโฟลว์เป็นกราฟ acyclic กำกับ (DAG) ของงาน ตัวกำหนดตารางเวลาการไหลของอากาศทำงานบนอาร์เรย์ของผู้ปฏิบัติงานในขณะที่ติดตามการขึ้นต่อกันที่ระบุ ยูทิลิตี้บรรทัดคำสั่งที่หลากหลายทำให้การทำศัลยกรรมที่ซับซ้อนบน DAG เป็นเรื่องง่าย อินเทอร์เฟซผู้ใช้ที่สมบูรณ์ทำให้ง่ายต่อการเห็นภาพท่อที่กำลังทำงานอยู่ในการผลิต ตรวจสอบความคืบหน้า และแก้ไขปัญหาเมื่อจำเป็น เมื่อเวิร์กโฟลว์ถูกกำหนดเป็นโค้ด เวิร์กโฟลว์นั้นจะสามารถบำรุงรักษา กำหนดเวอร์ชันได้ ทดสอบได้ และทำงานร่วมกันได้มากขึ้น

  • Kubeflow มีความมุ่งมั่นที่จะทำให้การใช้งานของเครื่องเรียนรู้ (ML) เวิร์กโฟลว์ใน Kubernetes ง่ายพกพาและสามารถปรับขนาดได้ เป้าหมายของ Kubeflow ไม่ใช่การสร้างบริการอื่นๆ ขึ้นมาใหม่ แต่เพื่อให้เป็นวิธีที่ตรงไปตรงมาในการปรับใช้ระบบโอเพ่นซอร์สที่ดีที่สุดสำหรับ ML กับโครงสร้างพื้นฐานที่หลากหลาย Kubeflow ท่อ เปิดใช้องค์ประกอบและการดำเนินการของเวิร์กโฟลว์ทำซ้ำได้ใน Kubeflow, บูรณาการกับการทดลองและประสบการณ์ตามโน๊ตบุ๊ค บริการ Kubeflow Pipelines บน Kubernetes ประกอบด้วยที่เก็บ Metadata ที่โฮสต์ เครื่องมือจัดการตามคอนเทนเนอร์ เซิร์ฟเวอร์โน้ตบุ๊ก และ UI เพื่อช่วยให้ผู้ใช้พัฒนา เรียกใช้ และจัดการไปป์ไลน์ ML ที่ซับซ้อนตามขนาด Kubeflow Pipelines SDK อนุญาตให้สร้างและแบ่งปันส่วนประกอบและองค์ประกอบของไปป์ไลน์โดยทางโปรแกรม

การพกพาและการทำงานร่วมกัน

TFX ถูกออกแบบมาให้พกพาไปสภาพแวดล้อมหลายและกรอบการประสานรวมทั้ง Apache ไหลเวียนของอากาศ , Apache Beam และ Kubeflow นอกจากนี้ยังเป็นแบบพกพาแพลตฟอร์มคอมพิวเตอร์ที่แตกต่างกันรวมทั้งในสถานที่และแพลตฟอร์มคลาวด์เช่น แพลตฟอร์มคลาวด์ของ Google (GCP) โดยเฉพาะอย่างยิ่ง interoperates TFX กับ serveral บริการ GCP การจัดการเช่น แพลตฟอร์มคลาวด์ AI สำหรับ การฝึกอบรมและการทำนาย และ เมฆ Dataflow สำหรับกระจายข้อมูลการประมวลผลหลายด้านอื่น ๆ ของวงจรชีวิต ML

โมเดล กับ โมเดลที่บันทึกไว้

แบบอย่าง

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

โปรดทราบว่า 'โมเดล' อาจอ้างถึงคำจำกัดความของกราฟการคำนวณ TensorFlow (เช่น ไฟล์ Python) ที่แสดงวิธีคำนวณการคาดการณ์ ประสาทสัมผัสทั้งสองอาจใช้สลับกันได้ตามบริบท

รูปแบบที่บันทึกไว้

  • คืออะไร SavedModel : สากล, ภาษาเป็นกลางเถียงอนุกรมคืนของรุ่น TensorFlow
  • ทำไมมันจึงเป็นสิ่งสำคัญ: จะช่วยให้ระบบในระดับที่สูงขึ้นเพื่อการผลิต, เปลี่ยน, และใช้แบบจำลอง TensorFlow ใช้นามธรรมเดียว

SavedModel เป็นรูปแบบซีเรียลไลซ์เซชันที่แนะนำสำหรับการให้บริการโมเดล TensorFlow ในการผลิต หรือการส่งออกโมเดลที่ผ่านการฝึกอบรมสำหรับแอปพลิเคชันเนทีฟมือถือหรือ JavaScript ตัวอย่างเช่น หากต้องการเปลี่ยนโมเดลเป็นบริการ REST สำหรับการคาดการณ์ คุณสามารถทำให้โมเดลเป็นอนุกรมเป็น SavedModel และให้บริการโดยใช้ TensorFlow Serving ดู เสิร์ฟ TensorFlow รุ่น สำหรับข้อมูลเพิ่มเติม

สคีมา

บางส่วนประกอบ TFX ใช้รายละเอียดของการป้อนข้อมูลของคุณที่เรียกว่าคีมา คีมาเป็นตัวอย่างของ schema.proto schemas เป็นประเภทของ บัฟเฟอร์โปรโตคอล ที่รู้จักกันโดยทั่วไปว่าเป็น "protobuf" สคีมาสามารถระบุชนิดข้อมูลสำหรับค่าคุณลักษณะ ว่าต้องมีคุณลักษณะในตัวอย่างทั้งหมด ช่วงค่าที่อนุญาต และคุณสมบัติอื่นๆ หรือไม่ ข้อดีอย่างหนึ่งของการใช้ TensorFlow Data Validation (TFDV) คือ การสร้างสคีมาโดยอัตโนมัติโดยอนุมานประเภท หมวดหมู่ และช่วงจากข้อมูลการฝึก

นี่เป็นข้อความที่ตัดตอนมาจากสคีมา protobuf:

...
feature {
  name: "age"
  value_count {
    min: 1
    max: 1
  }
  type: FLOAT
  presence {
    min_fraction: 1
    min_count: 1
  }
}
feature {
  name: "capital-gain"
  value_count {
    min: 1
    max: 1
  }
  type: FLOAT
  presence {
    min_fraction: 1
    min_count: 1
  }
}
...

ส่วนประกอบต่อไปนี้ใช้สคีมา:

  • การตรวจสอบข้อมูล TensorFlow
  • การแปลงเทนเซอร์โฟลว์

ในไปป์ไลน์ TFX ทั่วไป การตรวจสอบความถูกต้องของข้อมูล TensorFlow จะสร้างสคีมา ซึ่งถูกใช้โดยส่วนประกอบอื่นๆ

พัฒนาด้วย TFX

TFX มอบแพลตฟอร์มที่ทรงพลังสำหรับทุกขั้นตอนของโครงการการเรียนรู้ของเครื่อง ตั้งแต่การวิจัย การทดลอง และการพัฒนาบนเครื่องในพื้นที่ของคุณ ผ่านการปรับใช้ เพื่อที่จะทำสำเนารหัสหลีกเลี่ยงและกำจัดที่มีศักยภาพสำหรับ การฝึกอบรม / การให้บริการเอียง ก็ขอแนะนำที่จะใช้ท่อ TFX ของคุณสำหรับการฝึกอบรมทั้งรูปแบบและการใช้งานของรุ่นที่ผ่านการฝึกอบรมและการใช้งาน เปลี่ยน ชิ้นส่วนที่ใช้ประโยชน์ TensorFlow Transform ห้องสมุดสำหรับทั้งการฝึกอบรมและการอนุมาน โดยการทำเช่นนี้ คุณจะใช้โค้ดประมวลผลล่วงหน้าและโค้ดวิเคราะห์เดียวกันอย่างสม่ำเสมอ และหลีกเลี่ยงความแตกต่างระหว่างข้อมูลที่ใช้สำหรับการฝึกอบรมและข้อมูลที่ป้อนไปยังโมเดลที่ได้รับการฝึกอบรมในการผลิต รวมทั้งได้รับประโยชน์จากการเขียนโค้ดนั้นเพียงครั้งเดียว

การสำรวจข้อมูล การสร้างภาพ และการทำความสะอาด

การสำรวจข้อมูล การสร้างภาพ และการทำความสะอาด

ท่อ TFX มักจะเริ่มต้นด้วยการ ExampleGen องค์ประกอบซึ่งยอมรับการป้อนข้อมูลและรูปแบบเป็น tf.Examples บ่อยครั้งสิ่งนี้จะทำหลังจากข้อมูลถูกแบ่งออกเป็นชุดข้อมูลการฝึกอบรมและการประเมิน เพื่อให้มีส่วนประกอบ ExampleGen สองชุด อย่างละชุดสำหรับการฝึกอบรมและการประเมิน นี่คือตามปกติ StatisticsGen องค์ประกอบและ SchemaGen องค์ประกอบซึ่งจะตรวจสอบข้อมูลของคุณและสรุปคีข้อมูลและสถิติ คีมาและสถิติจะถูกบริโภคโดย ExampleValidator องค์ประกอบซึ่งจะมีลักษณะความผิดปกติค่าที่ขาดหายไปและประเภทข้อมูลไม่ถูกต้องในข้อมูลของคุณ ทั้งหมดขององค์ประกอบเหล่านี้ใช้ประโยชน์จากความสามารถของ TensorFlow การตรวจสอบข้อมูล ห้องสมุด

TensorFlow การตรวจสอบข้อมูล (TFDV) เป็นเครื่องมือที่มีคุณค่าเมื่อทำสำรวจเริ่มต้นการสร้างภาพและทำความสะอาดของชุดข้อมูลของคุณ TFDV ตรวจสอบข้อมูลของคุณและสรุปประเภทข้อมูล หมวดหมู่ และช่วง จากนั้นจะช่วยระบุความผิดปกติและค่าที่ขาดหายไปโดยอัตโนมัติ นอกจากนี้ยังมีเครื่องมือสร้างภาพข้อมูลที่สามารถช่วยคุณตรวจสอบและทำความเข้าใจชุดข้อมูลของคุณ หลังจากเสร็จสิ้นการท่อของคุณคุณสามารถอ่านข้อมูลเมตาจาก MLMD และใช้เครื่องมือสร้างภาพของ TFDV ในโน๊ตบุ๊ค Jupyter ในการวิเคราะห์ข้อมูลของคุณ

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

การแสดงข้อมูล

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

แรกที่คุณจะสอบถาม ML เมตาดาต้า (MLMD) เพื่อหาผลของการประหารชีวิตเหล่านี้ของส่วนประกอบเหล่านี้และจากนั้นใช้ API สนับสนุนการสร้างภาพใน TFDV เพื่อสร้างการสร้างภาพในโน้ตบุ๊คของคุณ ซึ่งรวมถึงการ tfdv.load_statistics () และ tfdv.visualize_statistics () ใช้การสร้างภาพนี้คุณจะสามารถเข้าใจลักษณะของชุดข้อมูลของคุณและถ้าปรับเปลี่ยนที่จำเป็นตามที่ต้องการ

การพัฒนาและฝึกอบรมโมเดล

วิศวกรรมคุณลักษณะ

ท่อ TFX ทั่วไปจะรวมถึงการ เปลี่ยน องค์ประกอบซึ่งจะดำเนินการวิศวกรรมคุณลักษณะโดยใช้ประโยชน์จากความสามารถของ Transform (TFT) TensorFlow ห้องสมุด การแปลงกินองค์ประกอบสคีที่สร้างขึ้นโดยองค์ประกอบ SchemaGen และนำไปใช้ การแปลงข้อมูล ในการสร้างรวมและเปลี่ยนคุณสมบัติที่จะนำมาใช้ในการฝึกอบรมรูปแบบของคุณ การล้างค่าที่หายไปและการแปลงประเภทควรทำในองค์ประกอบ Transform หากมีความเป็นไปได้ที่สิ่งเหล่านี้จะปรากฏในข้อมูลที่ส่งสำหรับคำขอการอนุมาน มีบางข้อพิจารณาที่สำคัญคือ เมื่อมีการออกแบบรหัส TensorFlow สำหรับการฝึกอบรมใน TFX

การสร้างแบบจำลองและการฝึกอบรม

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

เมื่อทำงานกับโมเดลที่ใช้ Estimator ส่วนสุดท้ายของโค้ดการสร้างโมเดลของคุณควรบันทึกโมเดลของคุณเป็นทั้ง SavedModel และ EvalSavedModel การบันทึกเป็น EvalSavedModel ช่วยให้มั่นใจได้ว่าเมตริกที่ใช้ในเวลาฝึกจะพร้อมใช้งานในระหว่างการประเมินด้วย (โปรดทราบว่าไม่จำเป็นสำหรับโมเดลที่อิงตาม Keras) ประหยัด EvalSavedModel ต้องการให้คุณนำเข้า TensorFlow รุ่นวิเคราะห์ (Tfma) ห้องสมุดในองค์ประกอบเทรนเนอร์ของคุณ

import tensorflow_model_analysis as tfma
...

tfma.export.export_eval_savedmodel(
        estimator=estimator,
        export_dir_base=eval_model_dir,
        eval_input_receiver_fn=receiver_fn)

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

การวิเคราะห์และทำความเข้าใจประสิทธิภาพของแบบจำลอง

การวิเคราะห์แบบจำลอง

หลังจากการพัฒนาและฝึกอบรมแบบจำลองเบื้องต้น การวิเคราะห์และทำความเข้าใจประสิทธิภาพของแบบจำลองของคุณเป็นสิ่งสำคัญ ท่อ TFX ทั่วไปจะรวมถึง ประเมิน องค์ประกอบที่ยกระดับความสามารถของ TensorFlow รุ่นวิเคราะห์ (Tfma) ห้องสมุดซึ่งมีชุดเครื่องมือที่ใช้พลังงานสำหรับขั้นตอนของการพัฒนานี้ องค์ประกอบ Evaluator กินรูปแบบที่คุณส่งออกข้างต้นและช่วยให้คุณสามารถระบุรายชื่อของ tfma.SlicingSpec ที่คุณสามารถใช้เมื่อการแสดงผลและการวิเคราะห์ผลการดำเนินงานรูปแบบของคุณ แต่ละ SlicingSpec กำหนดชิ้นของข้อมูลการฝึกอบรมของคุณที่คุณต้องการตรวจสอบเช่นประเภทโดยเฉพาะอย่างยิ่งสำหรับคุณสมบัติเด็ดขาดหรือช่วงโดยเฉพาะอย่างยิ่งสำหรับคุณสมบัติเชิงตัวเลข

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

การวิเคราะห์แบบจำลองและการแสดงภาพ

หลังจากที่คุณได้เสร็จสิ้นการทำงานครั้งแรกของคุณของข้อมูลของคุณผ่านการฝึกอบรมรุ่นของคุณและเรียกใช้ Evaluator ส่วนประกอบ (ซึ่งใช้ประโยชน์จาก Tfma ) เกี่ยวกับผลการฝึกอบรมที่คุณสามารถเห็นภาพผลในโน้ตบุ๊คสไตล์ Jupyter สำหรับการวิ่งเพิ่มเติม คุณสามารถเปรียบเทียบผลลัพธ์เหล่านี้ในขณะที่คุณทำการปรับเปลี่ยน จนกว่าผลลัพธ์ของคุณจะเหมาะสมที่สุดสำหรับแบบจำลองและแอปพลิเคชันของคุณ

แรกที่คุณจะสอบถาม ML เมตาดาต้า (MLMD) เพื่อหาผลของการประหารชีวิตเหล่านี้ของส่วนประกอบเหล่านี้และจากนั้นใช้ API สนับสนุนการสร้างภาพใน Tfma เพื่อสร้างการสร้างภาพในโน้ตบุ๊คของคุณ ซึ่งรวมถึงการ tfma.load_eval_results และ tfma.view.render_slicing_metrics ใช้การสร้างภาพนี้คุณจะสามารถเข้าใจลักษณะของรูปแบบของคุณและถ้าปรับเปลี่ยนที่จำเป็นตามที่ต้องการ

การตรวจสอบประสิทธิภาพของแบบจำลอง

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

ตรวจสอบว่าสามารถให้บริการแบบจำลองได้

การตรวจสอบอินฟาเรด

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

เป้าหมายการทำให้ใช้งานได้

เมื่อคุณได้พัฒนาและฝึกอบรมโมเดลที่คุณพอใจแล้ว ก็ถึงเวลาปรับใช้กับเป้าหมายการปรับใช้อย่างน้อยหนึ่งรายการซึ่งจะได้รับคำขอการอนุมาน TFX รองรับการปรับใช้กับเป้าหมายการปรับใช้สามคลาส โมเดลที่ผ่านการฝึกอบรมซึ่งส่งออกเป็น SavedModels สามารถนำไปใช้กับเป้าหมายการปรับใช้ใด ๆ หรือทั้งหมดเหล่านี้

การไหลของส่วนประกอบ

การอนุมาน: การให้บริการ TensorFlow

TensorFlow ให้บริการ (TFS) เป็นความยืดหยุ่นที่มีประสิทธิภาพสูงที่ให้บริการของระบบสำหรับโมเดลการเรียนรู้ที่ออกแบบมาสำหรับสภาพแวดล้อมการผลิต มันใช้ SavedModel และจะยอมรับคำขออนุมานผ่านอินเทอร์เฟซ REST หรือ gRPC มันทำงานเป็นชุดของกระบวนการบนเซิร์ฟเวอร์เครือข่ายอย่างน้อยหนึ่งเซิร์ฟเวอร์ โดยใช้สถาปัตยกรรมขั้นสูงแบบใดแบบหนึ่งเพื่อจัดการการซิงโครไนซ์และการคำนวณแบบกระจาย ดู เอกสาร TFS สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการพัฒนาและปรับใช้โซลูชั่น TFS

ในท่อทั่วไป SavedModel ซึ่งได้รับการฝึกอบรมในการเป็น เทรนเนอร์ องค์ประกอบจะเป็นครั้งแรกได้รับการตรวจสอบอินฟาใน InfraValidator ส่วนประกอบ InfraValidator เปิดตัวเซิร์ฟเวอร์โมเดล Canary TFS เพื่อให้บริการ SavedModel จริง หากตรวจสอบได้ผ่านการ Pusher องค์ประกอบในที่สุดก็จะปรับ SavedModel เพื่อโครงสร้างพื้นฐาน TFS ของคุณ ซึ่งรวมถึงการจัดการหลายเวอร์ชันและการอัปเดตโมเดล

การอนุมานใน Native Mobile และ IoT Applications: TensorFlow Lite

TensorFlow Lite เป็นชุดของเครื่องมือที่อุทิศตนเพื่อช่วยเหลือนักพัฒนาใช้ผ่านการฝึกอบรมรุ่น TensorFlow ของพวกเขาในการใช้งานโทรศัพท์มือถือและ IOT พื้นเมือง มันใช้ SavedModels เดียวกันกับ TensorFlow Serving และใช้การปรับให้เหมาะสม เช่น การหาปริมาณและการตัดแต่งกิ่งเพื่อปรับขนาดและประสิทธิภาพของโมเดลที่เป็นผลลัพธ์ให้เหมาะสมที่สุดสำหรับความท้าทายในการทำงานบนอุปกรณ์พกพาและอุปกรณ์ IoT ดูเอกสาร TensorFlow Lite สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้ TensorFlow Lite

การอนุมานใน JavaScript: TensorFlow JS

TensorFlow JS เป็นห้องสมุด JavaScript สำหรับการฝึกอบรมและการปรับรุ่น ML ในเบราว์เซอร์และบน Node.js. มันใช้ SavedModels เดียวกันกับ TensorFlow Serving และ TensorFlow Lite และแปลงเป็นรูปแบบเว็บ TensorFlow.js ดูเอกสาร TensorFlow JS สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการใช้ TensorFlow JS

การสร้าง TFX Pipeline ด้วย Airflow

ตรวจสอบ การประชุมเชิงปฏิบัติการการไหลของอากาศ สำหรับรายละเอียด

การสร้างท่อส่ง TFX ด้วย Kubeflow

ติดตั้ง

Kubeflow ต้องการคลัสเตอร์ Kubernetes เพื่อเรียกใช้ไปป์ไลน์ตามขนาด ดูแนวทางการใช้งาน Kubeflow ว่าคู่มือผ่านตัวเลือกสำหรับ การปรับใช้คลัสเตอร์ Kubeflow

กำหนดค่าและเรียกใช้ไปป์ไลน์ TFX

โปรดปฏิบัติตาม TFX เกี่ยวกับ Cloud AI แพลตฟอร์มท่อส่งกวดวิชา ที่จะเรียกใช้ท่อส่งตัวอย่าง TFX บน Kubeflow ส่วนประกอบ TFX ได้รับการจัดคอนเทนเนอร์เพื่อสร้างไพพ์ไลน์ Kubeflow และตัวอย่างแสดงให้เห็นถึงความสามารถในการกำหนดค่าไปป์ไลน์เพื่ออ่านชุดข้อมูลสาธารณะขนาดใหญ่และดำเนินการฝึกอบรมและขั้นตอนการประมวลผลข้อมูลตามขนาดในระบบคลาวด์

อินเทอร์เฟซบรรทัดคำสั่งสำหรับการดำเนินการไปป์ไลน์

TFX มี CLI ที่เป็นหนึ่งเดียวซึ่งช่วยให้ดำเนินการไปป์ไลน์อย่างเต็มรูปแบบ เช่น สร้าง อัปเดต เรียกใช้ แสดงรายการ และลบไปป์ไลน์บนออร์เคสตราต่างๆ รวมถึง Apache Airflow, Apache Beam และ Kubeflow สำหรับรายละเอียดโปรดปฏิบัติตาม คำแนะนำเหล่านี้