Trang này được dịch bởi Cloud Translation API.
Switch to English

trọng lượng phân nhóm

Duy trì bởi Arm ML Tooling

Tài liệu này cung cấp một cái nhìn tổng quan về phân nhóm trọng để giúp bạn xác định nó như thế nào phù hợp với trường hợp sử dụng của bạn.

Tổng quat

Clustering, hoặc chia sẻ cân, giảm số lượng các giá trị trọng lượng duy nhất trong một mô hình, mang lại lợi ích cho việc triển khai. Nó nhóm đầu tiên trọng lượng của mỗi lớp vào N cụm, sau đó chia sẻ giá trị trọng tâm của cụm sao cho tất cả các trọng thuộc cluster.

Kỹ thuật này mang lại những cải tiến thông qua nén mô hình. hỗ trợ khuôn khổ tương lai có thể mở khóa những cải thiện bộ nhớ có thể làm cho một sự khác biệt rất quan trọng cho việc triển khai mô hình học sâu về hệ thống nhúng với nguồn lực hạn chế.

Chúng tôi đã thử nghiệm với clustering trên nhiệm vụ tầm nhìn và lời nói. Chúng tôi đã nhìn thấy lên đến 5x cải thiện nén mô hình với sự mất mát tối thiểu chính xác, như chứng minh bởi kết quả được trình bày dưới đây.

Hãy lưu ý rằng phân nhóm sẽ cung cấp giảm lợi ích cho chập và dày đặc lớp mà trước một lớp mẻ bình thường, cũng như kết hợp với lượng tử sau đào tạo cho mỗi trục.

ma trận tương thích API

Người dùng có thể áp dụng phân nhóm với các API sau:

  • Xây dựng mô hình: tf.keras với chỉ tuần tự và các mô hình chức năng
  • phiên bản TensorFlow: TF 1.x cho các phiên bản 1.14+ và 2.x.
    • tf.compat.v1 với một gói TF 2.X và tf.compat.v2 với một gói 1.x TF không được hỗ trợ.
  • thực hiện chế độ TensorFlow: cả hai đồ thị và háo hức

Các kết quả

phân loại hình ảnh

Mô hình Nguyên clustered
Top-1 chính xác (%) Kích thước của .tflite nén (MB) Cấu hình # Cụm Top-1 chính xác (%) Kích thước của .tflite nén (MB)
MobileNetV1 71.02 14.96
Selective (qua 3 lớp Conv2D) 256, 256, 32 70,62 8.42
Full (tất cả các lớp Conv2D) 64 66,07 2,98
MobileNetV2 72,29 12.90
Selective (qua 3 lớp Conv2D) 256, 256, 32 72,31 7.00
Full (tất cả các lớp Conv2D) 32 69,33 2,60

Các mô hình được đào tạo và thử nghiệm trên ImageNet.

đốm từ khóa

Mô hình Nguyên clustered
Top-1 chính xác (%) Kích thước của .tflite nén (MB) Cấu hình # Cụm Top-1 chính xác (%) Kích thước của .tflite nén (MB)
DS-CNN-L 95.03 1,5 Đầy 32 94,71 0.3

Các mô hình được đào tạo và thử nghiệm trên SpeechCommands v0.02.

  1. Serialize mô hình Keras vào tập tin .h5
  2. Chuyển đổi các tập tin .h5 vào .tflite sử dụng TFLiteConverter.from_keras_model_file()
  3. Nén file .tflite thành zip

Các ví dụ

Ngoài các phân nhóm Trọng lượng trong Keras dụ , xem các ví dụ sau đây:

  • Nhóm các trọng lượng của một mô hình CNN đào tạo trên tay bộ dữ liệu phân loại chữ số MNIST: đang

Việc thực hiện trọng lượng phân nhóm dựa trên Deep Nén: Nén sâu Neural Networks Với Tỉa, đào tạo Quantization và Huffman Mã hóa giấy . Xem chương 3, có tiêu đề đào tạo Quantization và Trọng lượng Sharing.