Facebook и Microsoft предложили открытый формат обмена моделями машинного обучения
Facebook и Microsoft выступили с инициативой по унификации обмена моделями между разными фреймвроками машинного обучения и системами искусственного интеллекта. Итогом стала разработка открытого формата ONNX (Open Neural Network Exchange) для представления моделей глубинного машинного обучения. Эталонная реализация ONNX написана на языке Python и распространяется под лицензией MIT.
В настоящее время возникают ситуации, когда в процессе экспериментов используются те или иные специфичные возможности определенных фреймворков, но при создании конечного продукта требования изменяются и возникает потребность в задействовании иных возможностей или преодолении ограничений. Необходимости возможности предоставляются в других фреймворках, но адаптация для них созданной модели машинного обучения становится трудной задачей, требующей большого объема ручной работы.
Ожидается, что ONNX станет отправной точкой в построении открытой экосистемы, в которой разработчики моделей машинного обучения и систем искусственного интеллекта не будут привязаны к конкретным инструментам и смогут легко переключаться между различными фреймворками, подбирая для себя оптимальную комбинацию.
ONNX определяет модель расширяемого графа вычислений, а также определения встроенных операторов и стандартных типов данных. Заявлено о скорой реализации поддержки ONNX во фреймворках Caffe2, PyTorch и Cognitive Toolkit. При помощи ONNX модель, натренированная в одном из этих фреймворков, может быть легко перенесена для работы в другом фреймворке. Например, исследователи могут построить экспериментальную модель при помощи PyTorch, обладающего большой гибкостью и широкими возможностями, или при помощи фреймворка ConvNet, позволяющего в интерактивной режиме быстро создавать прототипы, а при создании конечного продукта перенести в Caffe2, отличающегося высокой производительностью и возможностью работы на мобильных устройствах.