Tài liệu này cung cấp thông tin tổng quan về việc cắt tỉa mô hình để giúp bạn xác định xem nó phù hợp với trường hợp sử dụng của bạn như thế nào.
- Để đi sâu vào ví dụ từ đầu đến cuối, hãy xem ví dụ Cắt tỉa bằng Keras .
- Để nhanh chóng tìm thấy các API bạn cần cho trường hợp sử dụng của mình, hãy xem hướng dẫn toàn diện về việc cắt tỉa .
- Để khám phá ứng dụng cắt tỉa cho suy luận trên thiết bị, hãy xem phần Cắt tỉa cho suy luận trên thiết bị với XNNPACK .
- Để xem ví dụ về cắt tỉa cấu trúc, hãy chạy hướng dẫn Cắt tỉa cấu trúc với độ thưa thớt 2 x 4 .
Tổng quan
Việc cắt bớt trọng số dựa trên cường độ dần dần loại bỏ các trọng số của mô hình trong quá trình huấn luyện để đạt được độ thưa của mô hình. Các mô hình thưa thớt dễ nén hơn và chúng ta có thể bỏ qua các số 0 trong quá trình suy luận để cải thiện độ trễ.
Kỹ thuật này mang lại những cải tiến thông qua việc nén mô hình. Trong tương lai, hỗ trợ khung cho kỹ thuật này sẽ mang lại những cải thiện về độ trễ. Chúng tôi đã thấy những cải tiến lên tới 6 lần về khả năng nén mô hình với độ chính xác bị mất ở mức tối thiểu.
Kỹ thuật này đang được đánh giá trong nhiều ứng dụng giọng nói khác nhau, chẳng hạn như nhận dạng giọng nói và chuyển văn bản thành giọng nói, đồng thời đã được thử nghiệm trên nhiều mô hình dịch thuật và thị giác khác nhau.
Ma trận tương thích API
Người dùng có thể áp dụng tính năng cắt tỉa bằng các API sau:
- Xây dựng mô hình:
keras
chỉ có các mô hình Tuần tự và Chức năng - Phiên bản TensorFlow: TF 1.x cho phiên bản 1.14+ và 2.x.
-
tf.compat.v1
với gói TF 2.X vàtf.compat.v2
với gói TF 1.X không được hỗ trợ.
-
- Chế độ thực thi TensorFlow: cả đồ thị và háo hức
- Đào tạo phân tán:
tf.distribute
chỉ thực hiện biểu đồ
Chúng tôi có lộ trình bổ sung hỗ trợ trong các lĩnh vực sau:
Kết quả
Phân loại hình ảnh
Người mẫu | Độ chính xác Top-1 không thưa thớt | Độ chính xác thưa thớt ngẫu nhiên | Độ thưa thớt ngẫu nhiên | Độ chính xác thưa thớt về cấu trúc | Cấu trúc thưa thớt |
---|---|---|---|---|---|
Khởi đầuV3 | 78,1% | 78,0% | 50% | 75,8% | 2 x 4 |
76,1% | 75% | ||||
74,6% | 87,5% | ||||
Mạng di độngV1 224 | 71,04% | 70,84% | 50% | 67,35% | 2 x 4 |
MobilenetV2 224 | 71,77% | 69,64% | 50% | 66,75% | 2 x 4 |
Các mô hình đã được thử nghiệm trên Imagenet.
Dịch
Người mẫu | BLEU không thưa thớt | BLEU thưa thớt | thưa thớt |
---|---|---|---|
GNMT EN-DE | 26,77 | 26,86 | 80% |
26,52 | 85% | ||
26.19 | 90% | ||
GNMT DE-EN | 29,47 | 29:50 | 80% |
29,24 | 85% | ||
28,81 | 90% |
Các mô hình sử dụng tập dữ liệu tiếng Đức và tiếng Anh WMT16 với news-test2013 làm tập phát triển và news-test2015 làm tập kiểm tra.
Mô hình phát hiện từ khóa
DS-CNN-L là mô hình phát hiện từ khóa được tạo cho các thiết bị biên. Nó có thể được tìm thấy trong kho ví dụ của phần mềm ARM.
Người mẫu | Độ chính xác không thưa thớt | Độ chính xác thưa thớt về cấu trúc (mẫu 2 x 4) | Độ chính xác thưa thớt ngẫu nhiên (độ thưa thớt mục tiêu 50%) |
---|---|---|---|
DS-CNN-L | 95,23 | 94,33 | 94,84 |
Ví dụ
Ngoài hướng dẫn Prune with Keras , hãy xem các ví dụ sau:
- Huấn luyện mô hình CNN về nhiệm vụ phân loại chữ số viết tay MNIST bằng cách cắt tỉa: mã
- Huấn luyện LSTM về nhiệm vụ phân loại tình cảm IMDB bằng cách cắt tỉa: mã
Để biết thông tin cơ bản, hãy xem Cắt tỉa hoặc không cắt tỉa: khám phá hiệu quả của việc cắt tỉa để nén mô hình [ giấy ].