Yolo Vision Thâm Quyến
Thâm Quyến
Tham gia ngay

Triển khai các mô hình YOLO của Ultralytics bằng cách sử dụng tích hợp ExecuTorch

Abirami Vina

5 phút đọc

Ngày 4 tháng 11 năm 2025

Khám phá cách xuất các mô hình Ultralytics YOLO như Ultralytics YOLO11 sang định dạng ExecuTorch để triển khai PyTorch gốc hiệu quả trên các thiết bị di động và biên.

Một số ứng dụng thị giác máy tính , chẳng hạn như kiểm tra chất lượng tự động, máy bay không người lái tự động hoặc hệ thống an ninh thông minh, hoạt động tốt nhất khi các mô hình Ultralytics YOLO, chẳng hạn như Ultralytics YOLO11 , chạy gần cảm biến để chụp ảnh. Nói cách khác, các mô hình này cần xử lý dữ liệu trực tiếp tại nơi dữ liệu được tạo ra, trên camera, máy bay không người lái hoặc hệ thống nhúng, thay vì gửi dữ liệu lên đám mây. 

Phương pháp này, được gọi là AI biên (edge AI) , cho phép các mô hình thực hiện suy luận trực tiếp trên thiết bị nơi dữ liệu được thu thập. Bằng cách xử lý thông tin cục bộ thay vì dựa vào máy chủ từ xa, hệ thống có thể đạt được độ trễ thấp hơn, tăng cường quyền riêng tư dữ liệu và độ tin cậy cao hơn, ngay cả trong môi trường có kết nối internet hạn chế hoặc không có kết nối internet.

Ví dụ, một camera sản xuất kiểm tra hàng nghìn sản phẩm mỗi phút, hoặc một máy bay không người lái điều hướng trong các môi trường phức tạp, không thể chịu được độ trễ thường gặp khi xử lý dữ liệu đám mây. Việc chạy YOLO11 trực tiếp trên thiết bị cho phép suy luận tức thời ngay trên thiết bị.

Để giúp việc chạy các mô hình YOLO của Ultralytics trên nền tảng biên trở nên dễ dàng và hiệu quả hơn, tích hợp ExecuTorch mới được Ultralytics hỗ trợ cung cấp một phương thức hợp lý để xuất và triển khai các mô hình trực tiếp đến các thiết bị di động và nhúng. ExecuTorch là một phần của hệ sinh thái PyTorch Edge và cung cấp giải pháp toàn diện để chạy các mô hình AI trực tiếp trên phần cứng di động và biên, bao gồm điện thoại, thiết bị đeo, bo mạch nhúng và vi điều khiển.

Sự tích hợp này giúp dễ dàng đưa mô hình YOLO của Ultralytics, chẳng hạn như YOLO11, từ giai đoạn đào tạo sang triển khai trên các thiết bị biên. Bằng cách kết hợp khả năng thị giác của YOLO11 với thời gian chạy nhẹ của ExecuTorch và quy trình xuất PyTorch, người dùng có thể triển khai các mô hình chạy hiệu quả trên phần cứng biên, đồng thời duy trì độ chính xác và hiệu suất suy luận dựa trên PyTorch.

Trong bài viết này, chúng ta sẽ xem xét kỹ hơn cách thức hoạt động của tích hợp ExecuTorch, lý do tại sao nó phù hợp tuyệt vời cho các ứng dụng AI biên và cách bạn có thể bắt đầu triển khai các mô hình Ultralytics YOLO với ExecuTorch. Hãy cùng bắt đầu!

ExecuTorch là gì?

Thông thường, khi bạn huấn luyện một mô hình trong PyTorch, nó sẽ chạy trên các máy chủ mạnh mẽ hoặc Bộ xử lý đồ họa (GPU) trên đám mây. Tuy nhiên, việc triển khai cùng một mô hình đó trên thiết bị di động hoặc thiết bị nhúng, chẳng hạn như điện thoại thông minh, máy bay không người lái hoặc vi điều khiển, đòi hỏi một giải pháp chuyên biệt có thể xử lý được các hạn chế về sức mạnh tính toán, bộ nhớ và kết nối.

Đó chính xác là những gì ExecuTorch mang lại. ExecuTorch là giải pháp toàn diện được phát triển như một phần của hệ sinh thái PyTorch Edge, cho phép suy luận hiệu quả trên thiết bị trên các nền tảng di động, nhúng và biên. Giải pháp này mở rộng khả năng của PyTorch vượt ra ngoài phạm vi đám mây, cho phép các mô hình AI chạy trực tiếp trên các thiết bị cục bộ.

Đưa suy luận PyTorch đến đỉnh cao

Về cơ bản, ExecuTorch cung cấp một môi trường chạy C++ nhẹ cho phép các mô hình PyTorch chạy trực tiếp trên thiết bị. ExecuTorch sử dụng định dạng mô hình PyTorch ExecuTorch (.pte), một định dạng xuất được tối ưu hóa, giúp tải nhanh hơn, chiếm ít bộ nhớ hơn và cải thiện tính di động. 

Nó hỗ trợ XNNPACK làm phần phụ trợ mặc định để suy luận Bộ xử lý trung tâm (CPU) hiệu quả và mở rộng khả năng tương thích trên nhiều phần cứng phụ trợ, bao gồm Core ML, Metal, Vulkan, Qualcomm, MediaTek, Arm EthosU, OpenVINO và các phần cứng khác. 

Các backend này cho phép tăng tốc tối ưu trên các thiết bị di động, nhúng và thiết bị biên chuyên dụng. ExecuTorch cũng tích hợp với quy trình xuất dữ liệu PyTorch, hỗ trợ các tính năng nâng cao như lượng tử hóa và xử lý hình dạng động để cải thiện hiệu suất và khả năng thích ứng trên các môi trường triển khai khác nhau.

Lượng tử hóa làm giảm kích thước mô hình và tăng tốc độ suy luận bằng cách chuyển đổi các giá trị có độ chính xác cao (chẳng hạn như số thực 32 bit) thành các giá trị có độ chính xác thấp hơn, trong khi xử lý hình dạng động được sử dụng để cho phép các mô hình xử lý hiệu quả các kích thước đầu vào biến đổi. Cả hai tính năng này đều rất quan trọng để chạy các mô hình AI trên các thiết bị biên có tài nguyên hạn chế.

Hình 1. Cách thức hoạt động của ExecuTorch ( Nguồn )

Một lớp thống nhất cho phần cứng biên

Ngoài thời gian chạy, ExecuTorch còn hoạt động như một lớp trừu tượng thống nhất cho nhiều backend phần cứng. Nói một cách đơn giản, nó trừu tượng hóa các chi tiết cụ thể của phần cứng và quản lý cách các mô hình tương tác với các đơn vị xử lý khác nhau, bao gồm CPU, GPU và Bộ xử lý thần kinh (NPU).

Sau khi xuất mô hình, ExecuTorch có thể được cấu hình để nhắm mục tiêu đến phần phụ trợ phù hợp nhất cho một thiết bị nhất định. Các nhà phát triển có thể triển khai mô hình hiệu quả trên nhiều phần cứng khác nhau mà không cần viết mã tùy chỉnh cho từng thiết bị hoặc duy trì các quy trình chuyển đổi riêng biệt.

Nhờ thiết kế dạng mô-đun, di động và tích hợp PyTorch liền mạch, ExecuTorch là một lựa chọn tuyệt vời để triển khai các mô hình thị giác máy tính như Ultralytics YOLO11 trên các hệ thống di động và nhúng. Nó thu hẹp khoảng cách giữa đào tạo mô hình và triển khai thực tế, giúp AI biên nhanh hơn, hiệu quả hơn và dễ triển khai hơn.

Các tính năng chính của ExecuTorch

Trước khi tìm hiểu cách xuất mô hình Ultralytics YOLO sang định dạng ExecuTorch, hãy cùng khám phá lý do khiến ExecuTorch trở thành lựa chọn đáng tin cậy để triển khai AI tại biên.

Sau đây là cái nhìn tổng quan về một số tính năng chính của nó:

  • Hỗ trợ lượng tử hóa: ExecuTorch hỗ trợ lượng tử hóa mô hình, một kỹ thuật chuyển đổi các giá trị có độ chính xác cao thành các giá trị có độ chính xác thấp hơn để giảm kích thước mô hình và tăng tốc độ suy luận. Điều này giúp các mô hình chạy nhanh hơn và sử dụng ít bộ nhớ hơn trên các thiết bị biên trong khi vẫn duy trì độ chính xác gần như tương đương.
  • Sử dụng bộ nhớ hiệu quả: Một trong những ưu điểm lớn nhất của ExecuTorch là cách nó xử lý bộ nhớ. Thay vì dựa vào phân bổ bộ nhớ động, vốn có thể gây ra độ trễ và lãng phí điện năng, ExecuTorch sử dụng cơ chế lập kế hoạch bộ nhớ trước thời hạn (Ahead-of-Time - AOT). Trong quá trình xuất, nó phân tích đồ thị mô hình và tính toán trước dung lượng bộ nhớ cần thiết cho mỗi thao tác. Điều này cho phép bộ chạy thực thi các mô hình bằng cách sử dụng một kế hoạch bộ nhớ tĩnh, đảm bảo hiệu suất có thể dự đoán được và ngăn ngừa tình trạng chậm hoặc sập nguồn trên các thiết bị có RAM hoặc dung lượng xử lý hạn chế.
  • Siêu dữ liệu mô hình tích hợp : Khi xuất dữ liệu bằng tích hợp được Ultralytics hỗ trợ, mỗi mô hình sẽ bao gồm một tệp YAML chứa siêu dữ liệu quan trọng như kích thước ảnh đầu vào, tên lớp và tham số cấu hình. Tệp bổ sung này giúp đơn giản hóa việc tích hợp mô hình vào nhiều ứng dụng khác nhau và đảm bảo hoạt động nhất quán trên các nền tảng biên khác nhau.

Cách xuất mô hình Ultralytics YOLO sang định dạng ExecuTorch

Bây giờ chúng ta đã hiểu rõ hơn về những gì ExecuTorch cung cấp, hãy cùng tìm hiểu cách xuất mô hình Ultralytics YOLO sang định dạng ExecuTorch.

Bước 1: Cài đặt gói Ultralytics Python

Để bắt đầu, bạn cần cài đặt gói Ultralytics Python bằng pip, một trình cài đặt gói. Bạn có thể thực hiện việc này bằng cách chạy lệnh "pip install ultralytics" trên terminal hoặc dấu nhắc lệnh. 

Nếu bạn đang làm việc trong môi trường Jupyter Notebook hoặc Google Colab, chỉ cần thêm dấu chấm than trước lệnh, chẳng hạn như "!pip install ultralytics". Sau khi cài đặt, gói Ultralytics cung cấp tất cả các công cụ bạn cần để huấn luyện, kiểm tra và xuất các mô hình thị giác máy tính, bao gồm cả Ultralytics YOLO11.

Nếu bạn gặp bất kỳ sự cố nào trong quá trình cài đặt hoặc xuất mô hình, tài liệu chính thức của Ultralytics và hướng dẫn Sự cố thường gặp có các bước khắc phục sự cố chi tiết và các biện pháp tốt nhất để giúp bạn bắt đầu và chạy mô hình một cách trơn tru.

Bước 2: Xuất Ultralytics YOLO11

Sau khi cài đặt gói Ultralytics, bạn có thể tải một biến thể của mô hình YOLO11 và xuất nó sang định dạng ExecuTorch. Ví dụ: bạn có thể sử dụng một mô hình được đào tạo trước như "yolo11n.pt" và xuất nó bằng cách gọi hàm xuất với định dạng được đặt thành "executorch". 

Thao tác này sẽ tạo ra một thư mục có tên “yolo11n_executorch_model”, bao gồm tệp mô hình được tối ưu hóa (.pte) và một tệp YAML siêu dữ liệu riêng biệt chứa các thông tin chi tiết quan trọng như kích thước hình ảnh và tên lớp.

Sau đây là mã để xuất mô hình của bạn:

from ultralytics import YOLO

model = YOLO("yolo11n.pt")

model.export(format="executorch")

Bước 3: Chạy suy luận sau khi xuất mô hình

Sau khi xuất, mô hình đã sẵn sàng để triển khai trên các thiết bị biên và di động bằng ExecuTorch runtime. Tệp mô hình .pte đã xuất có thể được tải vào ứng dụng của bạn để chạy suy luận thời gian thực trên thiết bị mà không cần kết nối đám mây.

Ví dụ, đoạn mã dưới đây cho thấy cách tải mô hình đã xuất và chạy suy luận. Suy luận đơn giản có nghĩa là sử dụng một mô hình đã được đào tạo để đưa ra dự đoán dựa trên dữ liệu mới. Ở đây, mô hình được kiểm tra trên hình ảnh một xe buýt lấy từ một URL công khai.

mô hình thực thi = YOLO("yolo11n_mô hình thực thi")

kết quả = executorch_model.predict("https://ultralytics.com/images/bus.jpg", lưu=Đúng)

Sau khi chạy mã, bạn sẽ thấy hình ảnh đầu ra có các đối tượng được phát hiện được lưu trong thư mục “runs/detect/predict”. 

Hình 2. Phát hiện đối tượng bằng mô hình YOLO11 được xuất theo định dạng ExecuTorch.

Lợi ích của việc sử dụng tích hợp ExecuTorch

Khi khám phá các tùy chọn xuất dữ liệu khác nhau được Ultralytics hỗ trợ, bạn có thể thắc mắc điều gì làm nên sự độc đáo của tích hợp ExecuTorch. Điểm khác biệt chính nằm ở khả năng kết hợp hiệu suất, tính đơn giản và tính linh hoạt, giúp dễ dàng triển khai các mô hình AI mạnh mẽ trực tiếp trên thiết bị di động và thiết bị biên.

Sau đây là một số lợi ích chính khi sử dụng tích hợp ExecuTorch:

  • Tùy chọn triển khai linh hoạt: Các mô hình ExecuTorch có thể được triển khai trên các ứng dụng di động, hệ thống nhúng, thiết bị IoT (Internet vạn vật) và phần cứng AI biên chuyên dụng. Tính linh hoạt này cho phép các nhà phát triển xây dựng các giải pháp AI có khả năng mở rộng, hoạt động ổn định trên nhiều nền tảng và môi trường khác nhau.
  • Hiệu suất được chứng minh qua chuẩn mực: Các thử nghiệm trên các thiết bị như Raspberry Pi 5 cho thấy các mô hình YOLO11 được xuất sang định dạng ExecuTorch chạy nhanh hơn khoảng 2 lần so với các mô hình PyTorch tương ứng, với độ chính xác gần như giống hệt nhau.
  • API tích hợp linh hoạt: ExecuTorch cung cấp API C++, Kotlin và Objective-C cho iOS, Android và Linux nhúng, cho phép các nhà phát triển tích hợp các mô hình YOLO trực tiếp vào các ứng dụng gốc.
  • Hỗ trợ tăng tốc phần cứng: ExecuTorch hỗ trợ nhiều nền tảng tăng tốc phần cứng, bao gồm Vulkan và Metal cho GPU di động, với tùy chọn tích hợp cho OpenCL và các API riêng của nhà cung cấp khác. Nó cũng có thể tận dụng các bộ tăng tốc chuyên dụng như NPU và DSP để đạt được tốc độ đáng kể so với suy luận chỉ dựa trên CPU.

Các ứng dụng thực tế của YOLO11 và xuất ExecuTorch

Gần đây, Ultralytics đã được công nhận là một ví dụ thành công của PyTorch ExecuTorch , nhấn mạnh sự hỗ trợ ban đầu của chúng tôi cho suy luận trên thiết bị và những đóng góp liên tục cho hệ sinh thái PyTorch. Sự công nhận này phản ánh mục tiêu chung là giúp AI hiệu suất cao dễ tiếp cận hơn trên các nền tảng di động và biên.

Từ đám mây đến biên: Cách ExecuTorch và YOLO11 hiện thực hóa Vision AI

Trên thực tế, giải pháp này trông giống như các giải pháp AI thị giác thực tế, hoạt động hiệu quả trên mọi thiết bị, từ điện thoại thông minh đến hệ thống nhúng. Ví dụ, trong sản xuất, các thiết bị biên đóng vai trò quan trọng trong việc giám sát dây chuyền sản xuất và phát hiện lỗi theo thời gian thực.

Hình 3. Ví dụ về việc sử dụng YOLO11 để phân tích dây chuyền lắp ráp sản xuất. ( Nguồn )

Thay vì gửi hình ảnh hoặc dữ liệu cảm biến lên đám mây để xử lý, vốn có thể gây ra sự chậm trễ và phụ thuộc vào kết nối internet, tích hợp ExecuTorch cho phép các mô hình YOLO11 chạy trực tiếp trên phần cứng cục bộ. Điều này có nghĩa là các nhà máy có thể phát hiện các vấn đề về chất lượng ngay lập tức, giảm thời gian chết và duy trì quyền riêng tư dữ liệu, đồng thời vận hành với tài nguyên tính toán hạn chế.

Sau đây là một số ví dụ khác về cách tích hợp ExecuTorch và mô hình Ultralytics YOLO có thể được áp dụng:

  • Thành phố thông minh: Bằng cách chạy mô hình YOLO11 cục bộ với ExecuTorch, các thành phố có thể đưa ra quyết định nhanh hơn dựa trên dữ liệu, từ phát hiện tắc đường đến xác định mối nguy hiểm, cải thiện khả năng di chuyển và an toàn tổng thể.
  • Bán lẻ và kho bãi: Với suy luận trên thiết bị, các nhà bán lẻ có thể tự động hóa việc giám sát kệ hàng, theo dõi hàng tồn kho và kiểm tra các gói hàng một cách nhanh chóng và an toàn mà không cần dựa vào kết nối đám mây.
  • Robot và máy bay không người lái : Các mô hình YOLO11 được tối ưu hóa cho phép robot và máy bay không người lái nhận dạng vật thể, di chuyển trong môi trường và đưa ra quyết định theo thời gian thực ngay cả khi không có kết nối internet.

Hình 4. Phát hiện và đếm xe ô tô trong giao thông bằng YOLO11 ( Nguồn )

Những điều cần nhớ

Việc xuất các mô hình Ultralytics YOLO sang định dạng ExecuTorch giúp dễ dàng triển khai các mô hình thị giác máy tính trên nhiều thiết bị, bao gồm điện thoại thông minh, máy tính bảng và các hệ thống nhúng như Raspberry Pi. Điều này có nghĩa là có thể chạy suy luận trên thiết bị được tối ưu hóa mà không cần dựa vào kết nối đám mây, cải thiện tốc độ, quyền riêng tư và độ tin cậy.

Cùng với ExecuTorch, Ultralytics hỗ trợ nhiều tích hợp, bao gồm TensorRT, OpenVINO, CoreML, v.v., mang đến cho các nhà phát triển sự linh hoạt để chạy mô hình của họ trên nhiều nền tảng. Khi việc áp dụng Vision AI ngày càng tăng, những tích hợp này giúp đơn giản hóa việc triển khai các hệ thống thông minh được xây dựng để hoạt động hiệu quả trong điều kiện thực tế.

Bạn tò mò về AI? Hãy xem kho lưu trữ GitHub của chúng tôi, tham gia cộng đồng của chúng tôi và khám phá các tùy chọn cấp phép để khởi động dự án Vision AI của bạn. Tìm hiểu thêm về các đổi mới như AI trong bán lẻthị giác máy tính trong hậu cần bằng cách truy cập trang giải pháp của chúng tôi.

Hãy cùng nhau xây dựng tương lai
của AI!

Bắt đầu hành trình của bạn với tương lai của học máy

Bắt đầu miễn phí
Đã sao chép liên kết vào clipboard