Thuật ngữ

ONNX (Trao đổi mạng nơ-ron mở)

Khám phá cách ONNX nâng cao khả năng di động và khả năng tương tác của mô hình AI, cho phép triển khai liền mạch Ultralytics YOLO mô hình trên nhiều nền tảng khác nhau.

Xe lửa YOLO mô hình đơn giản
với Ultralytics TRUNG TÂM

Tìm hiểu thêm

Trong lĩnh vực trí tuệ nhân tạo và máy học, khả năng tương tác là chìa khóa để tận dụng các công cụ tốt nhất và triển khai các mô hình trên nhiều môi trường khác nhau. ONNX (Open Neural Network Exchange) là một định dạng mở được xây dựng để biểu diễn các mô hình học máy, đảm bảo rằng các nhà phát triển AI không bị khóa trong một khuôn khổ duy nhất và có thể hợp lý hóa quy trình di chuyển các mô hình giữa các công cụ khác nhau. Nó cung cấp một biểu diễn thống nhất cho các mô hình, bất kể khuôn khổ nào được sử dụng để đào tạo, giúp triển khai các mô hình này trong nhiều công cụ suy luận, nền tảng phần cứng và môi trường khác nhau trở nên đơn giản hơn.

Sự liên quan của ONNX

Sự liên quan chính của ONNX nằm ở khả năng thúc đẩy tính di động và khả năng tương tác trong hệ sinh thái AI. Bằng cách xác định một tập hợp chung các toán tử và một định dạng chuẩn cho các mô hình học máy, ONNX cho phép các mô hình được đào tạo trong các khuôn khổ như PyTorch hoặc TensorFlow để dễ dàng chuyển giao và chạy bằng các công cụ suy luận khác nhau như TensorRT hoặc OpenVINO . Điều này đặc biệt có lợi cho các nhà phát triển sử dụng Ultralytics YOLO các mô hình, như ONNX export giúp đơn giản hóa việc triển khai mô hình trên nhiều nền tảng khác nhau, từ máy chủ đám mây đến các thiết bị biên. Ultralytics tạo điều kiện xuất khẩu các mô hình YOLOv8 sang ONNX định dạng, cho phép người dùng tận dụng các công cụ suy luận được tối ưu hóa để cải thiện hiệu suất và suy luận thời gian thực nhanh hơn.

Ứng dụng của ONNX

ONNX Khả năng tương thích giữa các khung làm cho nó có giá trị trong nhiều ứng dụng AI. Hai ví dụ cụ thể là:

  • Triển khai biên : Việc triển khai các mô hình AI trên các thiết bị biên thường yêu cầu hiệu suất và khả năng tương thích được tối ưu hóa với phần cứng cụ thể. ONNX cho phép các nhà phát triển đào tạo một mô hình bằng cách sử dụng một khuôn khổ cấp cao như PyTorch và sau đó xuất nó sang ONNX để chạy hiệu quả trên các thiết bị biên bằng cách sử dụng các công cụ suy luận như TensorRT trên NVIDIA Jetson hoặc OpenVINO trên Intel thiết bị. Điều này đảm bảo rằng các ứng dụng như máy ảnh thông minh hoặc rô bốt có thể thực hiện các nhiệm vụ phát hiện đối tượng với Ultralytics YOLO mô hình hóa hiệu quả theo thời gian thực.
  • Suy luận đa nền tảng : Trong các tình huống mà các giải pháp AI cần hoạt động trên các hệ điều hành và phần cứng khác nhau, ONNX cung cấp định dạng mô hình nhất quán. Ví dụ, ứng dụng phân tích hình ảnh y tế có thể được đào tạo trên các máy chủ mạnh nhưng cần thực hiện suy luận trên các máy có công suất thấp hơn trong bệnh viện hoặc phòng khám. ONNX cho phép chuyển đổi và thực hiện liền mạch cùng một mô hình trên nhiều môi trường khác nhau, đảm bảo hiệu suất nhất quán và đáng tin cậy bất kể nền tảng triển khai nào.

Các khái niệm liên quan

Hiểu biết ONNX cũng bao gồm việc nhận ra các khái niệm liên quan đóng vai trò trong việc triển khai và tối ưu hóa mô hình:

  • Công cụ suy luận : Đây là các thư viện phần mềm tối ưu hóa và thực thi các mô hình học máy trên phần cứng cụ thể. ONNX các mô hình thường được sử dụng với các công cụ suy luận như TensorRTOpenVINO để tăng tốc độ và hiệu quả suy luận.
  • Xuất mô hình: Quá trình chuyển đổi một mô hình đã được đào tạo từ định dạng của khuôn khổ ban đầu của nó (ví dụ: PyTorch .pt các tập tin) vào ONNX định dạng. Ultralytics cung cấp các công cụ đơn giản cho xuất khẩu YOLO mô hình ĐẾN ONNX và các định dạng khác.
  • Khả năng tương tác của khung : ONNX giải quyết thách thức của việc khóa khung bằng cách cho phép các mô hình được sử dụng trên các khung khác nhau. Mặc dù mỗi khung có điểm mạnh riêng, ONNX đảm bảo rằng các nhà phát triển có thể chọn công cụ tốt nhất cho từng giai đoạn của vòng đời AI mà không gặp rào cản về khả năng tương thích.

Bằng cách áp dụng ONNX , các nhà phát triển có thể đơn giản hóa đáng kể quy trình làm việc AI của mình, giảm độ phức tạp khi triển khai và đảm bảo các mô hình của họ linh hoạt và có hiệu suất cao trên nhiều ứng dụng và nền tảng.

Đọc tất cả