Tài liệu này cung cấp tổng quan về việc cắt tỉa mô hình để giúp bạn xác định cách nó phù hợp với trường hợp sử dụng của bạn.
- Để bổ nhào ngay vào một ví dụ end-to-end, xem Tỉa với Keras ví dụ.
- Để nhanh chóng tìm ra các API bạn cần cho trường hợp sử dụng của bạn, vui lòng xem hướng dẫn toàn diện cắt tỉa .
- Để khám phá những ứng dụng của cắt tỉa cho suy luận trên thiết bị, xem Tỉa cho suy luận trên thiết bị với XNNPACK .
- Để xem ví dụ về tỉa cấu trúc, chạy hướng dẫn tỉa cấu với 2 bằng 4 thưa thớt .
Tổng quat
Việc cắt tỉa trọng lượng dựa trên độ lớn dần dần loại bỏ trọng lượng của mô hình trong quá trình đào tạo để đạt được độ thưa thớt 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ẽ cung cấp các cải tiến về độ trễ. Chúng tôi đã thấy những cải tiến gấp 6 lần trong việc nén mô hình với độ chính xác tối thiểu.
Kỹ thuật này đang được đánh giá trong các ứ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, và đã được thử nghiệm trên nhiều mô hình phiên dịch và thị giác khác nhau.
Ma trận tương thích API
Người dùng có thể áp dụng cách cắt tỉa bằng 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 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ợ.
-
- Chế độ thực thi TensorFlow: cả biểu đồ và háo hức
- Distributed đào tạo:
tf.distribute
với chỉ thực hiện đồ thị
Chúng tôi đang trong lộ trình bổ sung hỗ trợ trong các lĩnh vực sau:
Các kết quả
Phân loại hình ảnh
Mô hình | Độ chính xác Top-1 không thưa thớt | Độ chính xác thưa thớt ngẫu nhiên | Sự thưa thớt ngẫu nhiên | Độ chính xác thưa thớt có cấu trúc | Có cấu trúc thưa thớt |
---|---|---|---|---|---|
InceptionV3 | 78,1% | 78,0% | 50% | 75,8% | 2 x 4 |
76,1% | 75% | ||||
74,6% | 87,5% | ||||
MobilenetV1 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
Mô hình | 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 bộ phát triển và news-test2015 làm bộ kiểm tra.
Mô hình phát hiện từ khóa
DS-CNN-L là một mô hình phát hiện từ khóa được tạo cho các thiết bị cạnh. Nó có thể được tìm thấy trong ARM phần mềm của kho ví dụ .
Mô hình | Độ chính xác không thưa thớt | Độ chính xác thưa thớt có cấu trúc (2 x 4 mẫu) | Độ chính xác thưa thớt ngẫu nhiên (mục tiêu thưa thớt 50%) |
---|---|---|---|
DS-CNN-L | 95,23 | 94,33 | 94,84 |
Các ví dụ
Ngoài các Prune với Keras hướng dẫn, xem các ví dụ sau:
- Đào tạo một mô hình CNN trên tay nhiệm vụ phân loại chữ số MNIST với cắt tỉa: đang
- Đào tạo một LSTM trên IMDB tình cảm nhiệm vụ phân loại với cắt tỉa: đang
Đối với nền, xem Để mận, hoặc không để mận: khám phá hiệu quả của cắt tỉa cho mô hình nén [ giấy ].