Lộ trình TensorFlow Lite

Cập nhật: tháng 5 năm 2021

Phần sau đây trình bày tổng quan cấp cao về lộ trình của chúng tôi. Bạn nên lưu ý rằng lộ trình này có thể thay đổi bất cứ lúc nào và thứ tự bên dưới không phản ánh bất kỳ loại ưu tiên nào.

Chúng tôi chia lộ trình của mình thành bốn phân đoạn chính: khả năng sử dụng, hiệu suất, tối ưu hóa và tính di động. Chúng tôi đặc biệt khuyến khích bạn nhận xét về lộ trình của chúng tôi và cung cấp phản hồi cho chúng tôi trong nhóm thảo luận TensorFlow Lite .

Khả năng sử dụng

  • Phạm vi hoạt động mở rộng
    • Thêm các hoạt động được nhắm mục tiêu dựa trên phản hồi của người dùng.
    • Thêm các bộ hoạt động được nhắm mục tiêu cho các miền và khu vực cụ thể bao gồm các hoạt động ngẫu nhiên, các hoạt động lớp Keras cơ sở, bảng băm, các hoạt động đào tạo chọn lọc.
  • Thêm công cụ hỗ trợ
    • Cung cấp các chú thích biểu đồ TensorFlow và các công cụ tương thích để xác thực khả năng tương thích của TFLite và trình tăng tốc phần cứng trong quá trình đào tạo và sau khi chuyển đổi.
    • Cho phép nhắm mục tiêu và tối ưu hóa cho các trình tăng tốc cụ thể trong quá trình chuyển đổi.
  • Đào tạo trên thiết bị
    • Hỗ trợ đào tạo trên thiết bị để cá nhân hóa và chuyển giao học tập, bao gồm cả Colab minh họa cách sử dụng toàn diện.
    • Hỗ trợ các loại biến/tài nguyên (cả cho suy luận và đào tạo)
    • Hỗ trợ chuyển đổi và thực thi biểu đồ với nhiều điểm nhập hàm (hoặc chữ ký).
  • Tích hợp Android Studio nâng cao
    • Kéo và thả các mô hình TFLite vào Android Studio để tạo giao diện mô hình.
    • Cải thiện khả năng hỗ trợ lập hồ sơ cho Android Studio, bao gồm cả việc lập hồ sơ bộ nhớ.
  • Nhà thiết kế thời trang
    • Hỗ trợ các tác vụ mới hơn, bao gồm phát hiện đối tượng, đề xuất và phân loại âm thanh, bao gồm nhiều cách sử dụng phổ biến.
    • Hỗ trợ nhiều bộ dữ liệu hơn để giúp việc học chuyển giao dễ dàng hơn.
  • Thư viện tác vụ
    • Hỗ trợ nhiều loại mô hình hơn (ví dụ: âm thanh, NLP) với khả năng xử lý trước và sau liên quan.
    • Cập nhật thêm các ví dụ tham khảo với API tác vụ.
    • Hỗ trợ khả năng tăng tốc vượt trội cho mọi tác vụ.
  • Các mô hình và ví dụ SOTA khác
    • Thêm nhiều ví dụ khác (ví dụ: âm thanh, NLP, liên quan đến dữ liệu cấu trúc) để minh họa cách sử dụng mô hình cũng như các tính năng và API mới, bao gồm các nền tảng khác nhau.
    • Tạo các mô hình đường trục có thể chia sẻ trên thiết bị để giảm chi phí đào tạo và triển khai.
  • Triển khai liền mạch trên nhiều nền tảng
    • Chạy các mô hình TensorFlow Lite trên web.
  • Cải thiện hỗ trợ đa nền tảng
    • Mở rộng và cải tiến API cho Java trên Android, Swift trên iOS, Python trên RPi.
    • Tăng cường hỗ trợ CMake (ví dụ: hỗ trợ trình tăng tốc rộng hơn).
  • Hỗ trợ giao diện người dùng tốt hơn
    • Cải thiện khả năng tương thích với nhiều giao diện tác giả khác nhau, bao gồm Keras, tf.numpy.

Hiệu suất

  • Dụng cụ tốt hơn
    • Bảng điều khiển công khai để theo dõi mức tăng hiệu suất với mỗi bản phát hành.
    • Công cụ giúp hiểu rõ hơn về khả năng tương thích của đồ thị với các bộ tăng tốc mục tiêu.
  • Cải thiện hiệu suất CPU
    • XNNPack được bật theo mặc định để suy luận dấu phẩy động nhanh hơn.
    • Hỗ trợ độ chính xác một nửa từ đầu đến cuối (float16) với các hạt nhân được tối ưu hóa.
  • Hỗ trợ API NN được cập nhật
    • Hỗ trợ đầy đủ cho các tính năng, hoạt động và loại API NN phiên bản Android mới hơn.
  • Tối ưu hóa GPU
    • Cải thiện thời gian khởi động với sự hỗ trợ tuần tự hóa đại biểu.
    • Tương tác bộ đệm phần cứng để suy luận không sao chép.
    • Khả năng tăng tốc trên thiết bị có sẵn rộng rãi hơn.
    • Bảo hiểm hoạt động tốt hơn.

Tối ưu hóa

  • Lượng tử hóa

    • Lượng tử hóa sau đào tạo có chọn lọc để loại trừ các lớp nhất định khỏi lượng tử hóa.
    • Trình gỡ lỗi lượng tử hóa để kiểm tra tổn thất do lỗi lượng tử hóa trên mỗi lớp.
    • Áp dụng đào tạo nhận thức lượng tử hóa trên nhiều mô hình hơn, ví dụ: TensorFlow Model Garden.
    • Cải thiện chất lượng và hiệu suất cho lượng tử hóa phạm vi động sau đào tạo.
    • API nén Tensor để cho phép các thuật toán nén như SVD.
  • Cắt tỉa / thưa thớt

    • Kết hợp các API về thời gian đào tạo (cắt tỉa + đào tạo nhận biết lượng tử hóa) có thể định cấu hình.
    • Tăng tính ứng dụng chẵn lẻ trên mô hình TF Model Garden.
    • Hỗ trợ thực thi mô hình thưa thớt trong TensorFlow Lite.

Tính di động

  • Hỗ trợ vi điều khiển
    • Thêm hỗ trợ cho nhiều trường hợp sử dụng kiến ​​trúc MCU 32 bit để phân loại giọng nói và hình ảnh.
    • Giao diện âm thanh: Hỗ trợ tăng tốc và xử lý trước âm thanh trong đồ thị
    • Mã mẫu và mô hình cho dữ liệu hình ảnh và âm thanh.