The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

08.10.2017 12:07  Amazon открыл код компилятора NNVM для систем машинного обучения

Компания Amazon представила компилятор NNVM, предназначенный для компиляции предоставляемых системами машинного обучения высокоуровневых графов вычислений в оптимизированный набор машинных кодов. Код проекта распространяется под лицензией Apache 2.0.

Система поддерживает компиляцию моделей в форматах OpenML (поддерживаются фреймворки Keras и Caffe), Apache MXNet и недавно представленного FaceBook и Microsoft открытого формата ONNX (Open Neural Network Exchange), при помощи которого могут передавать модели обучения из фреймворков Caffe2, PyTorch и CNTK (Cognitive Toolkit). На выходе может генерироваться код для различных бэкендов, включая ядра для вычислений на стороне GPU при помощи CUDA, OpenCL и Metal, а также промежуточный код LLVM, на основе которого могут формироваться машинные инструкции для архитектур x86 и ARM или представление WebAssembly.

Компиляция включает в себя несколько стадий:

  • Формирование промежуточного представления графа вычислений на основе данных, полученных от различных фреймворков машинного обучения.
  • Оптимизация полученного графа вычислений и выделение операторов с подпрограммами обработки данных в графе.
  • Компиляция операторов в исполняемые модули и развёртывание для различных аппаратных бэкендов с минимальными зависимостями. Для построения кода на основе промежуточного представления используется стек TVM, предоставляющий предметно ориентированный язык для обеспечения работы используемых в модели операторов при помощи набора базовых реализаций, оптимизированных для различных целевых аппаратных платформ, а также вычислительных примитивов, таких как многопоточность, кэширование и разбиение циклов на блоки (tiling).

Архитектура NNVM позволяет легко добавлять новые фронтэнды, операторы и оптимизации графа, без необходимости изменения базовых интерфейсов. Полученные после компиляции модули могут быть сгенерированы в виде кода на c++, python, javascript, java, objective-c для запуска на серверах, мобильных устройствах, встраиваемых системах и в web-браузере.

Проведение тестирования генерации кода для CPU ARM и GPU NVIDIA показало, что формируемый компилятором итоговый код превосходит по производительности фреймворк MXNet. Размер формируемого модуля зависит в основном от размера runtime TVM, который при сборке для Raspberry Pi и мобильных устройств занимает около 300 Кб.



  1. Главная ссылка к новости (https://aws.amazon.com/blogs/a...)
  2. OpenNews: Facebook и Microsoft предложили открытый формат обмена моделями машинного обучения
  3. OpenNews: Facebook представил модульную систему машинного обучения Caffe2
  4. OpenNews: Yahoo открыл модель машинного обучения для выявления неприличных изображений
  5. OpenNews: Компания Sony открыла свои наработки в области нейронных сетей
  6. OpenNews: Выпуск системы машинного обучения TensorFlow 1.0 и классификатора изображений ResNeXt
Лицензия: CC-BY
Тип: Программы
Ключевые слова: amazon, nnvm
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Борщдрайвен бигдата, 13:04, 08/10/2017 [ответить] [смотреть все]
  • +6 +/
    Помнится, аналитики высочайшего уровня в новости об ONNX истово доказывали, что спецификация формата обмена моделями нейросеток «нинужна», васянокод и вообще EEE.
    А поди ж ты, амазон со своим тулкитом подключился.
     
     
  • 2.20, Аноним, 21:24, 08/10/2017 [^] [ответить] [смотреть все] [показать ветку]
  • +2 +/
    Аналитики с опеннета такие аналитики с опеннета
     
  • 2.27, Аноним, 17:22, 12/10/2017 [^] [ответить] [смотреть все] [показать ветку]
  • +/
    Как же не нужна Без этого впаривать правильно натренированные нейросети не пол... весь текст скрыт [показать] [показать ветку]
     
  • 1.21, Vkni, 21:38, 08/10/2017 [ответить] [смотреть все]  
  • +/
    Рабовладельцы таки что-то отдают в OSS, удивительно.
     
     
  • 2.22, НяшМяш, 21:46, 08/10/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    Не будешь холопов подкармливать - откуда рабы возьмутся?
     
     
  • 3.23, Vkni, 01:23, 09/10/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Ну Амазон - это известная галера Даже для программистов, а что уж говорить про ... весь текст скрыт [показать]
     
     
  • 4.24, ., 03:24, 09/10/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Что, не прошел интервью на программиста Погоди ох ши даже на грузчика ... весь текст скрыт [показать]
     
     
  • 5.25, Vkni, 04:48, 09/10/2017 [^] [ответить] [смотреть все]  
  • +2 +/
    В том-то и дело, что прошёл как-то До сих пор спамят ... весь текст скрыт [показать]
     
  • 4.28, Аноним, 17:23, 12/10/2017 [^] [ответить] [смотреть все]  
  • +/
    А это не они галеру автоматизировали Заменяя грузчиков на роботов и автоматику ... весь текст скрыт [показать]
     
  • 1.26, J.L., 14:48, 09/10/2017 [ответить] [смотреть все]  
  • +/
    //offtop

    > промежуточный код LLVM, на основе которого могут формироваться машинные инструкции для архитектур x86 и ARM или представление WebAssembly

    это разве все существующие в LLVM бэкенды ? что ограничивает набор бэкендов только этими ?

    > Оптимизация полученного графа вычислений и выделение операторов с подпрограммами обработки данных в графе.
    > Компиляция операторов в исполняемые модули и развёртывание для различных аппаратных бэкендов с минимальными зависимостями. Для построения кода на основе промежуточного представления используется стек TVM

    возможно ли без стояния в гамаке это использовать без NNVM, для "просто программы" ?

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor