The-AI-Alliance / ai-accelerator-software-ecosystem-guide

Creative Commons Attribution 4.0 International
0 stars 2 forks source link

NNEF / ONNX update #5

Open edelsohn opened 1 day ago

edelsohn commented 1 day ago

ONNX has evolved into much more than just a specification for exchanging models. Here's a breakdown of why:

ONNX Runtime: A highly optimized inference engine that executes ONNX models. This actively developed runtime is a key part of the ONNX ecosystem, providing performance benefits and cross-platform compatibility.
ONNX-MLIR: A compiler framework that leverages the power of MLIR for advanced optimization and code generation. This significantly extends ONNX's capabilities beyond simple model exchange.
Tooling and Ecosystem: ONNX boasts a rich set of tools for model conversion, visualization, validation, and optimization.

This growing ecosystem further solidifies its position as a comprehensive solution for AI model deployment.

Key Differences Scope: ONNX covers a wide range of machine learning models (not just neural networks) and offers support for both training and inference pipelines. NNEF, in contrast, is focused on neural network models, with an emphasis on inference. Ecosystem: ONNX has a larger, more mature ecosystem, including runtimes, compilers, and hardware optimizations, whereas NNEF is mostly focused on the portability and deployment of neural networks. Framework Interoperability: ONNX facilitates a high degree of interoperability between different machine learning frameworks (PyTorch, TensorFlow, JAX, etc.), making it more versatile in model exchange and optimization. NNEF doesn’t have the same level of framework support and is more focused on mapping neural networks to hardware. Comparative Points That said, there are some areas where a comparison could be useful:

Model Portability: Both ONNX and NNEF enable models to be transferred between frameworks and hardware platforms. If you're evaluating solutions strictly from the perspective of deploying neural networks to hardware, comparing their performance and ease of use could be relevant. Standardization: Both standards aim to facilitate portability and efficiency, but ONNX’s support for a broader set of operators and models m

deanwampler commented 3 hours ago

Do you want to incorporate the text here and for #6 into the site?

edelsohn commented 3 hours ago

These are messages that Michael added to the Google Doc and I copied to Github issues. Michael will incorporate the changes. @fraggamuffin