Полку стандартов для обмена нейронными сетками прибыло, причём от разработчиков железа, и это NNEF, Neural Network Exchange Format --
https://www.khronos.org/nnef. Это добавочка к длинному ряду: Khronos standards include Vulkan®, OpenGL®, OpenGL® ES, OpenGL® SC, WebGL™, SPIR-V™, OpenCL™, SYCL™, OpenVX™, NNEF™, COLLADA™, OpenXR™ and glTF™.
Чётко даётся цель: перенос знаний между системами тренинга нейросеток и железом вывода, то есть речь идёт о выходных языках (буквально, NNEF сделан питоноподобным) оптимизаторов нейросеток типа TVM (
http://tvmlang.org/) или TensoRT 3 (
https://developer.nvidia.com/tensorrt):
Напомню, что до этого мы видели в этой сфере главным образом ONNX (
http://onnx.ai/). И там те же члены, хотя их было и поменьше. Правда, NVIDIA в рабочей группе NNEF нет, но и в ONNX она появилась совсем недавно. Я думаю, и тут появится (NVIDIA член Khronos). Отличия более простого ONNX от более навороченного NNEF читать в
https://www.khronos.org/blog/nnef-design-philosophy-network-structure-and-target-use-cases Что дают все эти стандарты поддержки оптимизаторов? Например, дешевизну и скорость получающихся решений. Вот пример с TensorRT 3 на восьмибитном представлении (
https://devblogs.nvidia.com/parallelforall/int8-inference-autonomous-vehicles-tensorrt/, INT8 inference with TensorRT improves inference throughput and latency by about 5x compared to the original network running in Caffe):
Это вполне может быть ещё не конец истории, я вот писал ещё пару лет назад, что нужно "думать о мощности аппроксимаций: переход к bitwise сеткам (начиная, например, с обзора в
http://arxiv.org/abs/1603.01025 -- где обсуждаются пятибитные и трёхбитные логарифмические разрядные представления для весов и активаций в свёрточных сетях)". С восьмибитными представлениями уже промышленные решения, а вот пятибитные и трёхбитные представления ещё не появились, дальше можно только гадать -- появятся, или не появятся. Но инфраструктура для их возможного появления разрабатывается полным ходом, стандарты будут, дело только в реализациях.
Это только самое начало долгого стандартизационного пути, достаточно вспомнить "войны браузеров" и повспоминать историю HTML --
https://en.wikipedia.org/wiki/HTML, но ещё лучше VRML --
https://en.wikipedia.org/wiki/VRML (и поглядите, чем оно там закончилось, если закончилось). Большие инфраструктуры обеспечивают именно стандарты. Как только удаётся сформулировать хороший платформенный стандарт, так тут же появляется массовость приложений. Появление нейросетевого стандарта -- верный признак перехода к массовым применениям. Нейровеб приходит, но (как обычно) совсем не так, как его ждали. Не могу не вспомнить тут о других стандартах нейросетей -- прежде всего
https://www.neuroml.org/ и
http://neuralensemble.org/PyNN/ (где тот же Питон в основе). Вот я писал в 2014 году про моделирование нейронов червя с его использованием:
https://www.neuroml.org/.