การใช้ ML Frameworks อื่นๆ ใน TFX

TFX เป็นแพลตฟอร์มที่มีเฟรมเวิร์กเป็นกลาง และสามารถใช้กับเฟรมเวิร์ก ML อื่นๆ ได้ เช่น JAX, scikit-learn

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

ไปป์ไลน์ SDK TFX และโมดูลส่วนใหญ่ใน TFX เช่น ไปป์ไลน์ orchestrator ไม่มีการพึ่งพาโดยตรงบน TensorFlow แต่มีบางแง่มุมที่มุ่งเน้นไปที่ TensorFlow เช่น รูปแบบข้อมูล เมื่อพิจารณาถึงความต้องการของเฟรมเวิร์กการสร้างแบบจำลองเฉพาะแล้ว ไปป์ไลน์ TFX สามารถใช้เพื่อฝึกโมเดลในเฟรมเวิร์ก ML ที่ใช้ Python อื่นๆ ได้ ซึ่งรวมถึง Scikit-learn, XGBoost และ PyTorch และอื่นๆ อีกมากมาย ข้อควรพิจารณาบางประการในการใช้ส่วนประกอบ TFX มาตรฐานกับเฟรมเวิร์กอื่นๆ ได้แก่:

  • ExampleGen ส่งออก tf.train.Example ในไฟล์ TFRecord เป็นตัวแทนทั่วไปสำหรับข้อมูลการฝึกอบรม และส่วนประกอบดาวน์สตรีมใช้ TFXIO เพื่ออ่านเป็น Arrow/RecordBatch ในหน่วยความจำ ซึ่งสามารถแปลงเป็น tf.dataset , Tensors หรือรูปแบบอื่น ๆ เพิ่มเติมได้ กำลังพิจารณารูปแบบเพย์โหลด/ไฟล์อื่นที่ไม่ใช่ tf.train.Example/TFRecord แต่สำหรับผู้ใช้ TFXIO ควรเป็น blackbox
  • การแปลง สามารถใช้เพื่อสร้างตัวอย่างการฝึกการแปลงไม่ว่าจะใช้เฟรมเวิร์กใดในการฝึก แต่หากรูปแบบโมเดลไม่ใช่ saved_model ผู้ใช้จะไม่สามารถฝังกราฟการแปลงลงในโมเดลได้ ในกรณีดังกล่าว การทำนายโมเดลจำเป็นต้องใช้ฟีเจอร์ที่ได้รับการแปลงแทนฟีเจอร์ดิบ และผู้ใช้สามารถเรียกใช้การแปลงเป็นขั้นตอนก่อนการประมวลผลก่อนที่จะเรียกใช้การทำนายโมเดลเมื่อให้บริการ
  • Trainer รองรับ GenericTraining เพื่อให้ผู้ใช้สามารถฝึกฝนโมเดลของตนโดยใช้เฟรมเวิร์ก ML ใดก็ได้
  • ผู้ประเมิน โดยค่าเริ่มต้นรองรับเฉพาะ saved_model เท่านั้น แต่ผู้ใช้สามารถจัดเตรียม UDF ที่สร้างการคาดการณ์สำหรับการประเมินโมเดลได้

การฝึกโมเดลในเฟรมเวิร์กที่ไม่ใช่ Python จะต้องมีการแยกส่วนประกอบการฝึกแบบกำหนดเองในคอนเทนเนอร์ Docker ซึ่งเป็นส่วนหนึ่งของไปป์ไลน์ที่ทำงานในสภาพแวดล้อมแบบคอนเทนเนอร์ เช่น Kubernetes

แจ๊กซ์

JAX คือ Autograd และ XLA ที่นำมารวมกันเพื่อการวิจัยแมชชีนเลิร์นนิงประสิทธิภาพสูง Flax คือไลบรารีโครงข่ายประสาทเทียมและระบบนิเวศสำหรับ JAX ซึ่งออกแบบมาเพื่อความยืดหยุ่น

ด้วย jax2tf เราสามารถแปลงโมเดล JAX/Flax ที่ผ่านการฝึกอบรมเป็นรูปแบบ saved_model ซึ่งสามารถนำไปใช้ได้อย่างราบรื่นใน TFX ด้วยการฝึกอบรมทั่วไปและการประเมินโมเดล สำหรับรายละเอียด โปรดดู ตัวอย่าง นี้

scikit-เรียนรู้

Scikit-learn เป็นไลบรารีการเรียนรู้ของเครื่องสำหรับภาษาการเขียนโปรแกรม Python เรามี ตัวอย่าง e2e พร้อมการฝึกอบรมและการประเมินผลแบบกำหนดเองใน TFX-Addons