Xây dựng mô hình LiteRT

Trang này cung cấp hướng dẫn về cách tạo mô hình TensorFlow với mục đích chuyển đổi sang định dạng mô hình LiteRT. Các mô hình học máy (ML) mà bạn dùng với LiteRT ban đầu được xây dựng và huấn luyện bằng các công cụ và thư viện cốt lõi của TensorFlow. Sau khi tạo mô hình bằng lõi TensorFlow, bạn có thể chuyển đổi mô hình đó sang một định dạng mô hình ML nhỏ hơn và hiệu quả hơn, được gọi là mô hình LiteRT.

Nếu bạn đã có một mô hình cần chuyển đổi, hãy xem trang Tổng quan về việc chuyển đổi mô hình để biết hướng dẫn về cách chuyển đổi mô hình.

Xây dựng mô hình

Nếu đang xây dựng một mô hình tuỳ chỉnh cho trường hợp sử dụng cụ thể của mình, bạn nên bắt đầu bằng cách phát triển và huấn luyện một mô hình TensorFlow hoặc mở rộng một mô hình hiện có.

Các hạn chế về thiết kế mô hình

Trước khi bắt đầu quy trình phát triển mô hình, bạn nên biết các ràng buộc đối với mô hình LiteRT và xây dựng mô hình của mình dựa trên những ràng buộc này:

  • Khả năng tính toán hạn chế – So với các máy chủ được trang bị đầy đủ với nhiều CPU, dung lượng bộ nhớ cao và bộ xử lý chuyên dụng như GPU và TPU, các thiết bị di động và thiết bị biên có nhiều hạn chế hơn. Mặc dù đang tăng về sức mạnh tính toán và khả năng tương thích với phần cứng chuyên dụng, nhưng các mô hình và dữ liệu mà bạn có thể xử lý hiệu quả bằng các mô hình này vẫn còn tương đối hạn chế.
  • Kích thước của các mô hình – Độ phức tạp tổng thể của một mô hình, bao gồm cả logic tiền xử lý dữ liệu và số lượng lớp trong mô hình, làm tăng kích thước trong bộ nhớ của một mô hình. Một mô hình lớn có thể chạy quá chậm hoặc đơn giản là không phù hợp với bộ nhớ hiện có của thiết bị di động hoặc thiết bị biên.
  • Kích thước dữ liệu – Kích thước dữ liệu đầu vào có thể được xử lý hiệu quả bằng một mô hình học máy bị giới hạn trên thiết bị di động hoặc thiết bị biên. Các mô hình sử dụng thư viện dữ liệu lớn (chẳng hạn như thư viện ngôn ngữ, thư viện hình ảnh hoặc thư viện đoạn video) có thể không phù hợp với những thiết bị này và có thể yêu cầu các giải pháp lưu trữ và truy cập bên ngoài thiết bị.
  • Các thao tác được TensorFlow hỗ trợ – Môi trường thời gian chạy LiteRT hỗ trợ một nhóm nhỏ các thao tác mô hình học máy so với các mô hình TensorFlow thông thường. Khi phát triển một mô hình để sử dụng với LiteRT, bạn nên theo dõi khả năng tương thích của mô hình với các chức năng của môi trường thời gian chạy LiteRT.

Để biết thêm thông tin về cách tạo các mô hình hiệu quả, tương thích và có hiệu suất cao cho LiteRT, hãy xem bài viết Các phương pháp hay nhất về hiệu suất.

Phát triển mô hình

Để tạo một mô hình LiteRT, trước tiên bạn cần tạo một mô hình bằng cách sử dụng các thư viện lõi TensorFlow. Các thư viện cốt lõi của TensorFlow là các thư viện cấp thấp cung cấp API để xây dựng, huấn luyện và triển khai các mô hình học máy.

Quy trình tạo TFLite

TensorFlow cung cấp 2 cách để thực hiện việc này. Bạn có thể phát triển mã mô hình tuỳ chỉnh của riêng mình hoặc bắt đầu bằng một cách triển khai mô hình có trong Model Garden của TensorFlow.

Model Garden

TensorFlow Model Garden cung cấp các cách triển khai nhiều mô hình học máy (ML) hiện đại cho thị giác và xử lý ngôn ngữ tự nhiên (NLP). Bạn cũng sẽ tìm thấy các công cụ quy trình làm việc để nhanh chóng định cấu hình và chạy các mô hình đó trên các tập dữ liệu tiêu chuẩn. Các mô hình học máy trong Model Garden có đầy đủ mã nguồn để bạn có thể kiểm thử, huấn luyện hoặc huấn luyện lại bằng cách sử dụng các tập dữ liệu của riêng mình.

Cho dù bạn đang muốn đo điểm chuẩn hiệu suất cho một mô hình nổi tiếng, xác minh kết quả của nghiên cứu mới phát hành hay mở rộng các mô hình hiện có, Model Garden đều có thể giúp bạn đạt được các mục tiêu về học máy.

Mô hình tuỳ chỉnh

Nếu trường hợp sử dụng của bạn nằm ngoài những trường hợp được các mô hình trong Model Garden hỗ trợ, thì bạn có thể sử dụng một thư viện cấp cao như Keras để phát triển mã huấn luyện tuỳ chỉnh. Để tìm hiểu kiến thức cơ bản về TensorFlow, hãy xem hướng dẫn về TensorFlow. Để bắt đầu với các ví dụ, hãy xem Tổng quan về hướng dẫn TensorFlow. Phần này chứa các con trỏ đến hướng dẫn từ cấp độ bắt đầu đến chuyên gia.

Đánh giá mô hình

Sau khi phát triển mô hình, bạn nên đánh giá hiệu suất và kiểm thử mô hình đó trên thiết bị của người dùng cuối. TensorFlow cung cấp một số cách để thực hiện việc này.

  • TensorBoard là một công cụ cung cấp các phép đo và hình ảnh trực quan cần thiết trong quy trình làm việc của hoạt động học máy. TensorBoard cho phép theo dõi các chỉ số thử nghiệm như tổn thất và độ chính xác, trực quan hoá biểu đồ mô hình, chiếu các mục nhúng vào không gian chiều thấp hơn và nhiều chỉ số khác.
  • Các công cụ đo điểm chuẩn có sẵn cho từng nền tảng được hỗ trợ, chẳng hạn như ứng dụng đo điểm chuẩn Android và ứng dụng đo điểm chuẩn iOS. Hãy sử dụng các công cụ này để đo lường và tính toán số liệu thống kê cho các chỉ số hiệu suất quan trọng.

Tối ưu hoá mô hình

Với các hạn chế về tài nguyên dành riêng cho các mô hình TensorFlow Lite, việc tối ưu hoá mô hình có thể giúp đảm bảo mô hình của bạn hoạt động hiệu quả và sử dụng ít tài nguyên điện toán hơn. Hiệu suất của mô hình học máy thường là sự cân bằng giữa kích thước và tốc độ suy luận so với độ chính xác. LiteRT hiện hỗ trợ hoạt động tối ưu hoá thông qua việc lượng tử hoá, cắt tỉa và phân cụm. Hãy xem chủ đề tối ưu hoá mô hình để biết thêm thông tin chi tiết về các kỹ thuật này. TensorFlow cũng cung cấp một Bộ công cụ tối ưu hoá mô hình cung cấp một API triển khai các kỹ thuật này.

Các bước tiếp theo