Cách xuất mô hình Ultralytics YOLO bằng Ultralytics Platform
Xuất các mô hình thị giác AI một cách dễ dàng bằng Ultralytics Platform. Khám phá cách chuẩn bị mô hình chỉ với vài cú nhấp chuột để triển khai trên biên (edge), thiết bị di động và đám mây.
Tháng trước, chúng tôi đã ra mắt Ultralytics Platform, một không gian làm việc thống nhất được thiết kế để đơn giản hóa toàn bộ quy trình làm việc về thị giác máy tính. Nền tảng này tập hợp các khả năng AI thị giác quan trọng, bao gồm quản lý tập dữ liệu, gán nhãn, huấn luyện model, kiểm thử, triển khai và giám sát vào một giao diện tinh gọn duy nhất.

Hình 1. Hình ảnh sơ lược về Ultralytics Platform (Nguồn)
Là một phần của quy trình end-to-end này, việc triển khai đóng vai trò quan trọng trong việc đưa các model từ giai đoạn thử nghiệm vào sử dụng thực tế. Trước đây, chúng ta đã khám phá các tùy chọn triển khai khác nhau có sẵn trên nền tảng, bao gồm inference chia sẻ thông qua các API, các endpoint chuyên dụng cho triển khai production có khả năng mở rộng, và xuất model để chạy trên các thiết bị edge hoặc cơ sở hạ tầng bên ngoài.
Bây giờ, hãy cùng tìm hiểu kỹ hơn về việc xuất model và cách tính năng này hỗ trợ triển khai trên các môi trường khác nhau. Không giống như inference chia sẻ và các endpoint chuyên dụng, vốn thực thi các model trong cơ sở hạ tầng do Ultralytics Platform quản lý, tính năng xuất model cho phép các model được triển khai và chạy trong các môi trường bên ngoài như thiết bị edge, ứng dụng di động và cơ sở hạ tầng tùy chỉnh.
Trước khi các model có thể chạy trong các môi trường này, chúng cần được chuyển đổi sang các định dạng được runtime mục tiêu hỗ trợ. Mỗi thiết lập triển khai đều có những yêu cầu riêng, từ các định dạng nhẹ cho thiết bị di động và edge cho đến các định dạng hiệu suất cao cho hệ thống đám mây và hệ thống dựa trên GPU.
Theo truyền thống, quy trình này có thể tốn thời gian, bao gồm các script, dependencies và nhiều công cụ khác nhau. Với Ultralytics Platform, việc xuất model trở nên đơn giản hơn nhiều. Các model có thể được chuyển đổi và tối ưu hóa chỉ trong vài cú nhấp chuột mà không cần thiết lập thêm.
Trong bài viết này, chúng ta sẽ tìm hiểu xuất model là gì, các định dạng được Ultralytics Platform hỗ trợ và cách chọn định dạng phù hợp cho trường hợp sử dụng của bạn. Hãy bắt đầu thôi!
Link to this sectionTổng quan về việc xuất model#
Xuất model bao gồm việc chuyển đổi một model đã được huấn luyện trước hoặc tùy chỉnh sang một định dạng có thể sử dụng bên ngoài framework gốc của nó. Các model YOLO của Ultralytics được xây dựng bằng PyTorch và lưu trữ ở định dạng gốc, hoạt động hiệu quả cho việc huấn luyện, đánh giá và thử nghiệm trong hệ sinh thái PyTorch.
Tuy nhiên, các môi trường triển khai thường có các runtime và yêu cầu phần cứng khác nhau. Do đó, định dạng được sử dụng trong quá trình huấn luyện không phải lúc nào cũng phù hợp để triển khai.
Ví dụ, một ứng dụng di động có thể yêu cầu định dạng nhẹ được tối ưu hóa để tiêu thụ năng lượng thấp, trong khi một ứng dụng dựa trên trình duyệt cần một định dạng chạy hiệu quả trong môi trường web.
Các thiết bị edge như camera và hệ thống nhúng được hưởng lợi từ các model gọn nhẹ và nhanh chóng, trong khi các hệ thống đám mây được thiết kế cho việc inference hiệu suất cao. Để hỗ trợ các kịch bản khác nhau này, các model cần được xuất sang các định dạng tương thích.
Link to this sectionTại sao tùy chọn xuất model lại quan trọng hơn bao giờ hết#
Ngày nay, các model thị giác máy tính đang được triển khai gần nơi dữ liệu được tạo ra, đặc biệt là trên các thiết bị edge. Điện thoại thông minh chạy các ứng dụng thị giác thời gian thực, camera CCTV thực hiện giám sát tại chỗ và các hệ thống tự hành dựa vào việc ra quyết định tức thì.
Tuy nhiên, việc triển khai trong các môi trường này đi kèm với hàng loạt thách thức. Các thiết bị edge có sức mạnh tính toán hạn chế, yêu cầu độ trễ nghiêm ngặt cũng như những hạn chế về bộ nhớ và tiêu thụ năng lượng. Một model hoạt động tốt trong quá trình huấn luyện với đủ tài nguyên có thể không chạy hiệu quả trong các điều kiện hạn chế này.
Xuất model sang định dạng phù hợp có thể giúp giải quyết những thách thức này. Bằng cách chuyển đổi model một cách thích hợp, model có thể được tối ưu hóa về tốc độ, giảm kích thước và tương thích với phần cứng cụ thể.
Đồng thời, việc xuất model mang lại sự linh hoạt. Cùng một model có thể được điều chỉnh cho các môi trường triển khai khác nhau bằng cách chuyển đổi nó sang nhiều định dạng dựa trên các yêu cầu cụ thể.

Hình 2. Một số định dạng xuất có sẵn trong Ultralytics Platform (Nguồn)
Ví dụ, định dạng model NCNN được tối ưu hóa cho thiết bị di động và edge với mức sử dụng tài nguyên thấp. Trong khi đó, định dạng OpenVINO được thiết kế riêng cho phần cứng Intel và mang lại hiệu suất tốt hơn trên các CPU, GPU và NPU.
Trong hầu hết các trường hợp, việc đạt được mức linh hoạt này đồng nghĩa với việc phải xử lý các chuyển đổi thủ công, dependencies và nhiều công cụ khác nhau, khiến quy trình trở nên phức tạp và tốn thời gian. Ultralytics Platform tinh gọn quy trình này bằng cách làm cho việc xuất model trở nên dễ tiếp cận và dễ quản lý hơn.
Link to this sectionCách Ultralytics Platform đơn giản hóa việc xuất model#
Thông thường, việc xuất model được coi là một bước tách biệt và phức tạp trong các quy trình thị giác máy tính. Ultralytics Platform thay đổi điều này bằng cách tích hợp tùy chọn xuất model trực tiếp vào một không gian làm việc duy nhất bao gồm mọi thứ từ huấn luyện đến triển khai.
Một trong những ưu điểm chính là trải nghiệm xuất không cần code (no-code). Không cần phải viết script, quản lý môi trường hoặc sử dụng các lệnh riêng cho framework. Các model có thể được xuất chỉ trong vài cú nhấp chuột thông qua giao diện trực quan.

Hình 3. Ví dụ về việc xuất một model từ Ultralytics Platform (Nguồn)
Ở phía sau, nền tảng xử lý tất cả các công việc nặng nhọc. Các tác vụ thường đòi hỏi nhiều công cụ và thiết lập thủ công được tinh gọn thành một quy trình duy nhất. Bạn không cần cài đặt thêm dependencies hay xử lý các vấn đề tương thích, giúp việc đi từ một model đã huấn luyện đến giải pháp sẵn sàng cho production trở nên dễ dàng hơn nhiều.
Link to this sectionCác định dạng xuất model được hỗ trợ bởi Ultralytics Platform#
Ultralytics Platform hỗ trợ 17 định dạng xuất, giúp dễ dàng chuẩn bị các model cho nhiều môi trường triển khai khác nhau mà không làm tăng thêm sự phức tạp.
Dưới đây là tổng quan về một số định dạng xuất thường được sử dụng:
- Đa nền tảng và khả năng tương tác: ONNX và TorchScript được sử dụng rộng rãi để chạy các model trên các framework và môi trường khác nhau. ONNX đóng vai trò là cầu nối giữa các hệ sinh thái, giúp việc di chuyển model giữa các công cụ trở nên dễ dàng hơn, trong khi TorchScript cho phép chạy các model PyTorch trong production mà không yêu cầu runtime Python.
- Inference hiệu suất cao trên GPU: TensorRT được thiết kế cho các GPU NVIDIA và tập trung vào việc tối ưu hóa các model để có độ trễ thấp và throughput cao. Nó hỗ trợ các kỹ thuật như giảm độ chính xác và layer fusion để tăng tốc inference, làm cho nó trở thành lựa chọn mạnh mẽ cho các ứng dụng thời gian thực và quy mô sản xuất.
- Triển khai trên thiết bị di động và edge: CoreML, LiteRT (TensorFlow Lite) và NCNN được tối ưu hóa cho các thiết bị có tài nguyên tính toán và bộ nhớ hạn chế. Các định dạng này giảm kích thước model và cải thiện hiệu suất, cho phép hiệu năng mượt mà trên điện thoại thông minh, hệ thống nhúng và phần cứng edge. CoreML thường được sử dụng trong hệ sinh thái Apple, trong khi LiteRT phổ biến cho Android.
- Thực thi tối ưu hóa phần cứng: OpenVINO được thiết kế cho phần cứng Intel, bao gồm CPU, GPU và VPU, đồng thời giúp cải thiện tốc độ và hiệu quả inference trên các thiết bị đó. Các định dạng chuyên biệt cho phần cứng như thế này rất hữu ích khi bạn cần đạt được hiệu suất tốt nhất từ một hệ thống cụ thể.
- Framework cụ thể và runtime chuyên biệt: Các định dạng như PaddlePaddle và ExecuTorch hỗ trợ các hệ sinh thái và nhu cầu triển khai cụ thể, bao gồm việc chạy model hiệu quả trên các thiết bị edge hoặc tích hợp với các stack deep learning đặc thù.
Link to this sectionCách xuất model bằng Ultralytics Platform#
Xuất model trên Ultralytics Platform là một quy trình đơn giản, dựa trên giao diện người dùng. Toàn bộ quy trình làm việc được xử lý thông qua giao diện, không cần các script hoặc công cụ dòng lệnh.
Dưới đây là cách bạn có thể xuất một model bằng nền tảng:
- Đăng nhập và chọn model của bạn: Truy cập vào dự án và mở model đã huấn luyện mà bạn muốn xuất.
- Đi đến tab Xuất (Export): Trong bảng điều khiển model, nhấp vào tab Xuất để xem các tùy chọn xuất có sẵn.
- Chọn định dạng xuất: Chọn một định dạng như ONNX, TensorRT hoặc CoreML dựa trên nhu cầu triển khai của bạn.
- Cấu hình cài đặt xuất (tùy chọn): Điều chỉnh các tham số như kích thước ảnh, độ chính xác hoặc kích thước batch để tối ưu hóa hiệu suất.
- Bắt đầu quy trình xuất: Nhấp vào “Start Export” để bắt đầu. Nền tảng sẽ tự động xử lý việc chuyển đổi.
- Tải xuống model đã xuất: Sau khi hoàn tất quá trình xuất, bạn có thể tải xuống model và sử dụng trong pipeline triển khai của mình.

Hình 4. Xem qua việc cấu hình cài đặt xuất trong Ultralytics Platform
Link to this sectionChọn định dạng xuất phù hợp#
Khi khám phá các định dạng xuất khác nhau được Ultralytics Platform hỗ trợ, bạn có thể tự hỏi nên chọn định dạng nào. Câu trả lời thực sự phụ thuộc vào nơi và cách bạn dự định sử dụng model của mình.
Dưới đây là một vài yếu tố cần cân nhắc:
- Yêu cầu về độ trễ: Đối với các ứng dụng thời gian thực như phân tích video hoặc hệ thống tự hành, độ trễ thấp là rất quan trọng. Các định dạng được tối ưu hóa cho inference hiệu suất cao, chẳng hạn như TensorRT, thường phù hợp hơn.
- Hạn chế về phần cứng: Các thiết bị có bộ nhớ và sức mạnh xử lý hạn chế, như điện thoại di động hoặc hệ thống nhúng, yêu cầu các định dạng nhẹ như LiteRT hoặc NCNN.
- Kích thước model và tiêu thụ năng lượng: Khi làm việc với thiết bị edge, kích thước model và mức tiêu thụ năng lượng trở nên quan trọng. Các model nhỏ hơn, được tối ưu hóa giúp đảm bảo hiệu suất ổn định mà không gây tốn tài nguyên.
- Môi trường triển khai: Nếu model của bạn cần chạy trên các nền tảng khác nhau, các định dạng như ONNX mang lại sự linh hoạt. Đối với các trường hợp sử dụng dành riêng cho nền tảng, như ứng dụng iOS, CoreML thường là lựa chọn tốt hơn.
Không có một định dạng nào phù hợp cho tất cả. Tất cả quy về việc cân bằng hiệu suất, khả năng tương thích và các hạn chế của môi trường mục tiêu. Ultralytics Platform giúp việc này trở nên dễ dàng hơn bằng cách cho phép bạn thử nghiệm và so sánh các định dạng khác nhau mà không cần tốn thêm công sức.
Link to this sectionCác điểm chính rút ra#
Xuất model là một bước quan trọng để chuẩn bị cho model của bạn sẵn sàng sử dụng trong thực tế trên các môi trường khác nhau. Với Ultralytics Platform, quy trình này trở nên đơn giản hơn nhiều, cho phép bạn chuyển đổi và tối ưu hóa các model mà không cần thiết lập thêm hay trở nên phức tạp. Bằng cách chọn định dạng phù hợp cho trường hợp sử dụng của mình, bạn có thể đảm bảo model của mình chạy hiệu quả ở bất cứ nơi đâu bạn triển khai.
Tham gia cộng đồng đang phát triển của chúng tôi và xem kho lưu trữ GitHub của chúng tôi để tìm hiểu thêm về thị giác máy tính. Khám phá các trang giải pháp của chúng tôi để biết thêm về các ứng dụng như AI trong robot và thị giác máy tính trong logistics. Khám phá các tùy chọn cấp phép của chúng tôi và bắt đầu xây dựng với AI thị giác!






