ONNX
Định nghĩa
ONNX (Open Neural Network Exchange) là một định dạng trao đổi model dùng để biểu diễn neural network dưới dạng graph có thể được tối ưu và chạy bởi runtime chuyên dụng.
Vấn đề giải quyết
Khi đưa Transformer vào production, framework training không phải lúc nào cũng là lựa chọn inference nhanh nhất. ONNX giúp tách model khỏi framework gốc và mở đường cho graph optimization.
Cơ chế trực giác
Model trong framework training
-> Export sang ONNX graph
-> Runtime tối ưu graph
-> Chạy inference bằng backend tối ưu hơnLiên kết với ORT
ONNX Runtime là runtime dùng để chạy graph ONNX và áp dụng các tối ưu inference.
Cách hiểu bằng lời của tôi
ONNX là lớp trung gian: biến model thành một graph chuẩn để các runtime production có thể tối ưu tốt hơn so với cách chạy trực tiếp trong framework huấn luyện.