Open Neural Network Exchange ( ONNX ) [ ˈɒnɪks ] [2] es un ecosistema de inteligencia artificial de código abierto [3] de empresas tecnológicas y organizaciones de investigación que establecen estándares abiertos para representar algoritmos de aprendizaje automático y herramientas de software para promover la innovación y la colaboración en el sector de la IA. ONNX está disponible en GitHub .
ONNX se llamó originalmente Toffee [4] y fue desarrollado por el equipo PyTorch en Facebook . [5] En septiembre de 2017 pasó a llamarse ONNX y fue anunciado por Facebook y Microsoft . [6] Más tarde, IBM , Huawei , Intel , AMD , Arm y Qualcomm anunciaron su apoyo a la iniciativa. [3]
En octubre de 2017, Microsoft anunció que agregaría su plataforma Cognitive Toolkit y Project Brainwave a la iniciativa. [3]
En noviembre de 2019, ONNX fue aceptado como proyecto de posgrado en Linux Foundation AI. [7]
En octubre de 2020, Zetane Systems se convirtió en miembro del ecosistema ONNX. [8]
La iniciativa tiene como objetivos:
Permitir a los desarrolladores moverse más fácilmente entre marcos, algunos de los cuales pueden ser más deseables para fases específicas del proceso de desarrollo, como entrenamiento rápido, flexibilidad de la arquitectura de red o inferencia en dispositivos móviles. [6]
Permitir que los proveedores de hardware y otros mejoren el rendimiento de las redes neuronales artificiales de múltiples marcos a la vez apuntando a la representación ONNX. [6]
ONNX proporciona definiciones de un modelo de gráfico computacional extensible, operadores integrados y tipos de datos estándar , centrados en la inferencia (evaluación). [6]
Cada gráfico de flujo de datos computacionales es una lista de nodos que forman un gráfico acíclico . Los nodos tienen entradas y salidas. Cada nodo es una llamada a un operador. Los metadatos documentan el gráfico. Los operadores integrados deben estar disponibles en cada marco compatible con ONNX. [6]