แผนงาน TensorFlow Lite

อัปเดต: พฤษภาคม 2021

ข้อมูลต่อไปนี้แสดงถึงภาพรวมระดับสูงของแผนงานของเรา คุณควรทราบว่าแผนงานนี้อาจเปลี่ยนแปลงได้ตลอดเวลา และลำดับด้านล่างไม่ได้แสดงถึงลำดับความสำคัญใดๆ

เราแบ่งแผนงานออกเป็นสี่ส่วนหลัก: การใช้งาน ประสิทธิภาพ การเพิ่มประสิทธิภาพ และความสามารถในการพกพา เราขอแนะนำให้คุณแสดงความคิดเห็นในแผนงานของเราและให้ข้อเสนอแนะใน การอภิปรายกลุ่ม TensorFlow Lite

การใช้งาน

  • ขยายขอบเขตปฏิบัติการ
    • เพิ่ม ops เป้าหมายตามความคิดเห็นของผู้ใช้
    • เพิ่มชุดปฏิบัติการที่กำหนดเป้าหมายสำหรับโดเมนและพื้นที่เฉพาะ เช่น ปฏิบัติการสุ่ม, ปฏิบัติการเลเยอร์ Keras พื้นฐาน, ตารางแฮช, เลือกปฏิบัติการฝึกหัด
  • เครื่องมืออำนวยความสะดวกเพิ่มเติม
    • จัดเตรียมคำอธิบายประกอบกราฟ TensorFlow และเครื่องมือความเข้ากันได้เพื่อตรวจสอบความเข้ากันได้ของ TFLite และตัวเร่งฮาร์ดแวร์ระหว่างการฝึกอบรมและหลังการแปลง
    • อนุญาตการกำหนดเป้าหมายและการเพิ่มประสิทธิภาพสำหรับตัวเร่งความเร็วเฉพาะระหว่างการแปลง
  • การฝึกอบรมบนอุปกรณ์
    • สนับสนุนการฝึกอบรมในอุปกรณ์สำหรับการปรับเปลี่ยนในแบบของคุณและการถ่ายทอดการเรียนรู้ รวมถึง Colab ที่สาธิตการใช้งานแบบครบวงจร
    • รองรับประเภทตัวแปร/ทรัพยากร (ทั้งสำหรับการอนุมานและการฝึกอบรม)
    • รองรับการแปลงและดำเนินการกราฟด้วยจุดเข้าใช้งานหลายฟังก์ชัน (หรือลายเซ็น)
  • การผสานรวม Android Studio ที่ปรับปรุงแล้ว
    • ลากและวางโมเดล TFLite ลงใน Android Studio เพื่อสร้างอินเทอร์เฟซของโมเดล
    • ปรับปรุงการรองรับการทำโปรไฟล์ของ Android Studio รวมถึงการทำโปรไฟล์หน่วยความจำ
  • ช่างทำโมเดล
    • รองรับงานใหม่ๆ รวมถึงการตรวจหาวัตถุ คำแนะนำ และการจัดประเภทเสียง ครอบคลุมการใช้งานทั่วไปที่หลากหลาย
    • รองรับชุดข้อมูลมากขึ้นเพื่อให้การโอนย้ายการเรียนรู้ง่ายขึ้น
  • ไลบรารีงาน
    • รองรับประเภทโมเดลเพิ่มเติม (เช่น เสียง, NLP) พร้อมความสามารถในการประมวลผลก่อนและหลังที่เกี่ยวข้อง
    • อัปเดตตัวอย่างอ้างอิงเพิ่มเติมด้วย API ของงาน
    • รองรับการเร่งความเร็วแบบสำเร็จรูปสำหรับทุกงาน
  • รุ่นและตัวอย่าง SOTA เพิ่มเติม
    • เพิ่มตัวอย่างเพิ่มเติม (เช่น เสียง, NLP, ข้อมูลโครงสร้างที่เกี่ยวข้อง) เพื่อสาธิตการใช้งานโมเดล ตลอดจนคุณลักษณะใหม่และ API ที่ครอบคลุมแพลตฟอร์มต่างๆ
    • สร้างโมเดลแกนหลักที่แชร์ได้สำหรับอุปกรณ์เพื่อลดต้นทุนการฝึกอบรมและการใช้งาน
  • การปรับใช้ที่ราบรื่นในหลายแพลตฟอร์ม
    • เรียกใช้รุ่น TensorFlow Lite บนเว็บ
  • ปรับปรุงการรองรับข้ามแพลตฟอร์ม
    • ขยายและปรับปรุง API สำหรับ Java บน Android, Swift บน iOS, Python บน RPi
    • ปรับปรุงการสนับสนุน CMake (เช่น การสนับสนุนตัวเร่งในวงกว้าง)
  • การสนับสนุนส่วนหน้าที่ดีขึ้น
    • ปรับปรุงความเข้ากันได้กับส่วนหน้าการเขียนต่างๆ รวมถึง Keras, tf.numpy

ประสิทธิภาพ

  • เครื่องมือที่ดีกว่า
    • แดชบอร์ดสาธารณะสำหรับการติดตามประสิทธิภาพที่เพิ่มขึ้นในแต่ละรุ่น
    • เครื่องมือเพื่อความเข้าใจที่ดีขึ้นของกราฟความเข้ากันได้กับตัวเร่งเป้าหมาย
  • ปรับปรุงประสิทธิภาพของ CPU
    • XNNPack เปิดใช้งานโดยค่าเริ่มต้นเพื่อการอนุมานจุดทศนิยมที่เร็วขึ้น
    • รองรับความแม่นยำครึ่งหนึ่งจากต้นทางถึงปลายทาง (float16) พร้อมเมล็ดที่ปรับให้เหมาะสม
  • อัปเดต NN API รองรับ
    • การสนับสนุนอย่างเต็มที่สำหรับคุณลักษณะ NN API เวอร์ชัน Android ที่ใหม่กว่า ops และประเภท
  • การเพิ่มประสิทธิภาพ GPU
    • ปรับปรุงเวลาเริ่มต้นด้วยการสนับสนุนการทำให้เป็นอนุกรมของผู้รับมอบสิทธิ์
    • ฮาร์ดแวร์บัฟเฟอร์ interop สำหรับการอนุมานศูนย์สำเนา
    • ความพร้อมใช้งานที่กว้างขึ้นของการเร่งความเร็วอุปกรณ์
    • ความคุ้มครองที่ดีขึ้น

การเพิ่มประสิทธิภาพ

  • การหาปริมาณ

    • การหาปริมาณหลังการฝึกที่เลือกเพื่อแยกชั้นบางชั้นออกจากการหาปริมาณ
    • ดีบักเกอร์ Quantization เพื่อตรวจสอบการสูญเสียข้อผิดพลาดของ quantization ต่อแต่ละเลเยอร์
    • การใช้การฝึกอบรมเชิงปริมาณโดยคำนึงถึงความครอบคลุมของแบบจำลองมากขึ้น เช่น TensorFlow Model Garden
    • การปรับปรุงคุณภาพและประสิทธิภาพสำหรับการควอนไทซ์ช่วงไดนามิกหลังการฝึก
    • Tensor Compression API เพื่ออนุญาตให้ใช้อัลกอริธึมการบีบอัด เช่น SVD
  • การตัดแต่งกิ่ง / กระปรี้กระเปร่า

    • รวม APIs เวลาฝึกอบรมที่กำหนดค่าได้ (การตัดแต่งกิ่ง + การฝึกอบรมที่คำนึงถึงปริมาณ)
    • เพิ่มความกระปรี้กระเปร่าในโมเดล TF Model Garden
    • รองรับการดำเนินการโมเดลแบบกระจายใน TensorFlow Lite

การพกพา

  • รองรับไมโครคอนโทรลเลอร์
    • เพิ่มการรองรับกรณีการใช้งานสถาปัตยกรรม MCU แบบ 32 บิตสำหรับการจัดประเภทคำพูดและรูปภาพ
    • ส่วนหน้าของเสียง: รองรับการประมวลผลล่วงหน้าและการเร่งความเร็วเสียงในกราฟ
    • โค้ดตัวอย่างและแบบจำลองสำหรับข้อมูลภาพและเสียง