Η Microsoft και το Facebook ξεκινούν το open source project για να δημιουργήσουν από κοινού νευρωνικά φορητά δίκτυα (neural networks portable).
Η Microsoft και το Facebook ανακοίνωσαν σήμερα ένα νέο πρόγραμμα open source που αποσκοπεί στη δημιουργία μιας κοινής εκπροσώπησης μοντέλων για νευρωνικά δίκτυα σε διαφορετικά πλαίσια προγραμματισμού. Ονομάζεται Open Neural Network Exchange (ONNX), το νέο έργο θα καταστήσει δυνατή την κοινή χρήση μοντέλων μέσω του Cognitive Toolkit, του PyTorch και του Caffe2.
Το ONNX υποτίθεται ότι θα βοηθήσει στην επίλυση ενός από τα βασικά ζητήματα στο οικοσύστημα μάθησης μηχανής αυτή τη στιγμή. Υπάρχει πληθώρα διαφορετικών πλαισίων για τη δημιουργία και την εκτέλεση νευρωνικών δικτύων και άλλων συστημάτων εκμάθησης μηχανών, αλλά όλα είναι διαφορετικά και δεν είναι διαλειτουργικά.
Χρησιμοποιώντας το ONNX, είναι δυνατό το Facebook να εξάγει ένα εκπαιδευμένο μοντέλο που δημιουργήθηκε με το PyTorch και να το χρησιμοποιήσει με το Caffe2 για εξαγωγή συμπερασμάτων. Αυτό είναι σημαντικό για τη λήψη ενός μοντέλου που δημιουργήθηκε στην έρευνα (κάτι που η PyTorch είναι καλή) και να το φέρει στην παραγωγή με το Caffe2. Η Microsoft δήλωσε ότι εργάζεται να κυκλοφορήσει μια έκδοση του Cognitive Toolkit (επίσης γνωστού ως CNTK) που υποστηρίζει το ONNX.
Το σύστημα λειτουργεί εντοπίζοντας πώς παράγεται ένα νευρωνικό δίκτυο χρησιμοποιώντας ένα από αυτά τα πλαίσια κατά τη διάρκεια εκτέλεσης και στη συνέχεια κάνει χρήση αυτών των πληροφορίων για να δημιουργήσει ένα γενικό γράφημα υπολογισμού που μπορεί να μετακινηθεί. Αυτό είναι δυνατό επειδή κάθε ένα από αυτά τα πλαίσια παράγει ένα πολύ παρόμοιο τελικό αποτέλεσμα όταν πρόκειται για τον υπολογισμό, αν και η εκπροσώπηση υψηλότερου επιπέδου είναι διαφορετική.
Αυτή τη στιγμή, το μεγαλύτερο πρόβλημα με το ONNX είναι ότι δεν είναι συμβατό με κάποια άλλα δημοφιλή πλαίσια εκμάθησης μηχανών, όπως το TensorFlow, το οποίο προέρχεται από την Google, και το Apache MXNet, το οποίο είναι το προτιμώμενο πλαίσιο μηχανικής μάθησης του Amazon.
Εντούτοις, η υλοποίηση της υποστήριξης για το έργο είναι μη τετριμμένη. Το Facebook δήλωσε ότι έπρεπε να κάνει αλλαγές τόσο στο PyTorch όσο και στο Caffe2 για να υποστηρίξει το έργο. Η Microsoft και το Facebook έχουν πει ότι ελπίζουν ότι η κοινότητα ανοιχτού κώδικα θα τους βοηθήσει να αναπτύξουν το ONNX, οπότε θα είναι δυνατή η υποστήριξη περισσότερων πλαισίων στο μέλλον.
Επιπλέον, το ONNX δεν υποστηρίζει κάποια πιο πολύπλοκα δίκτυα, όπως αυτά που δημιουργήθηκαν στο PyTorch με δυναμικό έλεγχο ροής. Αυτό είναι κάτι που το Facebook σκοπεύει να προσθέσει στο μέλλον.