Biên dịch và lượng tử hóa Ultralytics YOLOv5 để cải thiện hiệu năng với Deci
Tìm hiểu cách biên dịch, lượng tử hóa và benchmark các model Ultralytics YOLOv5 bằng nền tảng Deci để tăng tốc suy luận trên phần cứng mục tiêu.
Nuvola Ladi4 phút đọc
Tại Ultralytics, chúng tôi hợp tác thương mại với các startup khác để giúp tài trợ cho hoạt động nghiên cứu và phát triển các công cụ mã nguồn mở như YOLOv5, qua đó duy trì việc cung cấp miễn phí cho mọi người. Bài viết này có thể chứa các liên kết liên kết đến những đối tác đó.
Cập nhật: NVIDIA đã mua lại Deci vào năm 2024, và deci.ai hiện chuyển hướng đến NVIDIA. Các bước sử dụng nền tảng Deci được giữ lại để tham khảo.
Nền tảng Deci cung cấp các công cụ miễn phí giúp dễ dàng quản lý, tối ưu hóa và triển khai các model YOLOv5 trong mọi môi trường sản xuất. Deci hỗ trợ tất cả framework deep learning phổ biến như TensorFlow, PyTorch, Keras và ONNX. Bạn chỉ cần nền tảng chạy trên web hoặc client Python của chúng tôi để sử dụng từ code.
Vì sao chọn Deci?#
Bạn có thể dùng Deci không chỉ để export mà còn để pruning và lượng tử hóa model.
Deci cung cấp giao diện thuận tiện để export sang mọi định dạng và so sánh hiệu suất giữa model gốc với model đã chuyển đổi. Người dùng có thể tiếp tục tối ưu hóa model bằng phương pháp lượng tử hóa.
Với Deci, bạn có thể:#
Tăng hiệu năng inference lên đến 10 lần#
Tự động biên dịch và quantization model, đồng thời đánh giá các cấu hình production khác nhau để cải thiện độ trễ, thông lượng và giảm kích thước model cũng như dung lượng bộ nhớ sử dụng trên phần cứng của bạn.
Tìm phần cứng inference phù hợp nhất cho ứng dụng của bạn#
Chỉ với một nút bấm, hãy benchmark hiệu năng model trên nhiều thiết bị phần cứng (bao gồm cả thiết bị biên). Không cần thiết lập và kiểm thử thủ công nhiều cấu hình phần cứng và production.
Triển khai chỉ với vài dòng code#
Tận dụng inference engine dựa trên Python của Deci. Công cụ này tương thích với nhiều framework và loại phần cứng.
Thiết lập lần đầu#
Bước 1#
Tạo tài khoản miễn phí.

Bước 2#
Để bắt đầu tối ưu hóa model YOLOv5 đã được huấn luyện trước, bạn cần chuyển đổi model sang định dạng ONNX. Xem hướng dẫn export YOLOv5 để biết cách chuyển đổi model sang định dạng ONNX.
Bước 3#
Chuyển đến tab "Lab" và nhấp vào nút "New Model" ở góc trên bên phải màn hình để tải model ONNX YOLOv5 lên.

Làm theo các bước trong trình hướng dẫn tải model lên để chọn phần cứng đích, cũng như kích thước batch và mức lượng tử hóa mong muốn cho quá trình biên dịch model.

Sau khi điền thông tin liên quan, hãy nhấp vào "Start". Nền tảng Deci sẽ tự động tối ưu hóa runtime cho model Ultralytics YOLOv5 trên phần cứng bạn đã chọn, đồng thời benchmark model trên nhiều loại phần cứng. Quá trình này mất khoảng 10 phút.
Sau khi hoàn tất, một hàng mới sẽ xuất hiện bên dưới model baseline mà bạn đã tải lên trước đó. Tại đây, bạn có thể xem phiên bản đã tối ưu của model Ultralytics YOLOv5 được huấn luyện trước.

Tiếp theo là gì?#
Sau đó, bạn có thể tải model đã tối ưu xuống bằng cách nhấp vào nút "Deploy".

Sau đó, bạn sẽ được nhắc tải model xuống và nhận hướng dẫn cài đặt, sử dụng Infery — engine suy luận runtime của Deci.
Việc sử dụng Infery là tùy chọn. Bạn có thể lấy các file Python thô và dùng chúng với bất kỳ inference engine nào bạn chọn.

Khám phá kết quả tối ưu hóa và benchmark trong tab "Insights".

Sẵn sàng bắt đầu?#
Trước khi kết thúc, hãy cùng tìm hiểu một số ưu điểm mà Deci mang lại:
- Tối ưu thông lượng suy luận và độ trễ của model mà không ảnh hưởng đến độ chính xác
- Cho phép bạn tối ưu model từ tất cả các framework phổ biến
- Hỗ trợ model hướng đến mọi tác vụ deep learning
- Hỗ trợ triển khai trên các máy CPU và GPU phổ biến
- Benchmark mức độ phù hợp của model trên nhiều máy chủ phần cứng và nhà cung cấp cloud
- Chuẩn bị các model đã tải lên để phục vụ, suy luận và triển khai
Như bạn vừa thấy, bạn có thể tăng gấp đôi hiệu suất của model Ultralytics YOLOv5 chỉ trong khoảng 15 phút. Nền tảng Deci dễ sử dụng và trực quan.
Bạn có câu hỏi nào không? Tham gia cộng đồng của chúng tôi và gửi câu hỏi ngay hôm nay!
Được viết bởi
Bình luận
Đặt câu hỏi, chia sẻ kết quả hoặc giúp đỡ người khác.










