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

Инициатива ACM Reproducible Quality-Efficient Systems Tournaments (ReQuEST) предлагает междисциплинарному сообществу (рабочие нагрузки/программное обеспечение/аппаратное обеспечение) разложить сложный многоцелевой процесс сравнительного анализа, совместного проектирования и оптимизации на настраиваемые рабочие процессы с повторно используемыми компонентами (см. введение в ReQuEST). Мы используем открытую структуру рабочего процесса коллективных знаний (CK) и строгую методологию оценки артефактов ACM (AE), чтобы позволить сообществу совместно исследовать компромисс между качеством и эффективностью для быстро меняющихся рабочих нагрузок в различных системах.

Турнир 1st ReQuEST послужил проверкой концепции нашего подхода. Мы предложили сообществу представить полные реализации (код, данные, сценарии и т. д.) для популярной задачи классификации объектов ImageNet. В течение нескольких недель четыре добровольца сотрудничали с авторами, чтобы преобразовать их артефакты в общий формат CK и оценить преобразованные артефакты на исходных или аналогичных платформах. Показатели оценки включали точность набора для проверки ImageNet (50 000 изображений), задержку (в секундах на изображение), пропускную способность (изображений в секунду), цену платформы (доллары) и пиковое энергопотребление (Вт).

Поскольку сведение всех показателей в один для выбора одного победителя часто приводит к перепроектированию решений, вместо этого мы решили выбрать несколько реализаций на границе Парето, основываясь на их уникальности, или просто получить эталонную реализацию. Авторам таких избранных решений была предоставлена ​​возможность поделиться своими мыслями на связанном Семинаре ReQuEST, организованном совместно с 23-й конференцией ACM ASPLOS в конце марта 2018 года в Вильямсбурге, штат Вирджиния, США (ASPLOS — главный форум для междисциплинарных системные исследования, охватывающие компьютерную архитектуру и аппаратное обеспечение, языки программирования и компиляторы, операционные системы и сети).

Материалы ReQuEST-ASPLOS’18, доступные в Цифровой библиотеке ACM, включают пять статей с приложениями к артефактам и набор значков воспроизводимости ACM. Материалы сопровождаются снимками рабочих процессов Коллективных знаний, охватывающих очень разнообразный стек моделей/программного/аппаратного обеспечения:

  • Модели: MobileNets, ResNet-18, ResNet-50, Inception-v3, VGG16, AlexNet, SSD.
  • Типы данных: 8-битное целое, 16-битное с плавающей запятой (половина), 32-битное с плавающей запятой (с плавающей запятой).
  • Фреймворки и библиотеки ИИ: MXNet, TensorFlow, Caffe, Keras, Arm Compute Library, cuDNN, TVM, NNVM.
  • Платформы: Xilinx Pynq-Z1 FPGA, процессоры Arm Cortex и Arm Mali GPGPU (Linaro HiKey960 и T-Firefly RK3399), ферма устройств Raspberry Pi, NVIDIA Jetson TX1 и TX2 и серверы Intel Xeon в Amazon Web Services, Google Cloud и Microsoft Azure.

Утвержденные результаты ReQuEST-ASPLOS’18, доступные на таблице результатов ReQuEST, также демонстрируют удивительное разнообразие:

  • Задержка: 4 .. 500 миллисекунд на изображение
  • Пропускная способность: 2 .. 465 изображений в секунду
  • Первый уровень точности: 41 .. 75 процентов
  • Первый уровень точности: 65 .. 93 процента
  • Размер модели (предварительно обученные веса): 2 .. 130 мегабайт.
  • Пиковая потребляемая мощность:2,5 .. 180 Вт
  • Частота устройства: 100 .. 2600 мегагерц
  • Стоимость устройства: 40 .. 1200 долларов
  • Стоимость использования облака: 2,6E-6 .. 9,5E-6 долларов за вывод

Самое главное, теперь сообщество может получить доступ ко всем вышеперечисленным рабочим процессам CK по разрешающим лицензиям и продолжить совместную работу над ними через специальные проекты ReQuEST’18 GitHub. Во-первых, рабочие процессы могут быть автоматически адаптированы к новым платформам и средам путем обнаружения уже установленных зависимостей (например, библиотек) или перестроения зависимостей с помощью встроенного менеджера пакетов, поддерживающего Linux, Windows, MacOS и Android. Во-вторых, рабочие процессы можно настраивать путем замены новых моделей, наборов данных, фреймворков, библиотек и т. д. В-третьих, рабочие процессы могут быть расширены, чтобы предоставить новые варианты дизайна и оптимизации (например, квантование), а также метрики оценки (например, потребление энергии или памяти). Наконец, рабочие процессы можно использовать для совместной автонастройки (массовой настройки), чтобы исследовать огромные области оптимизации с использованием таких устройств, как телефоны и планшеты Android, при этом лучшие решения будут доступны сообществу на онлайн-табло CK. ».

Наш чрезвычайно положительный опыт также позволил нам критически оценить несколько потенциальных проблем, связанных с расширением масштабов этого подхода, и предложить способы их преодоления:

  • Честный конкурентный бенчмаркинг между различными платформами, фреймворками и моделями — тяжелая работа. Это требует тщательного рассмотрения эквивалентности модели (например, выполнение одного и того же набора операций), входной эквивалентности (например, предварительная обработка входных данных одним и тем же способом), выходной эквивалентности (например, проверка выходных данных для каждого входного параметра, а не просто вычисление обычной совокупной оценки точности), и т. д. Формализация требований к бенчмаркингу и их инкапсуляция в общие компоненты CK (например, с использованием независимого от фреймворка представления модели, такого как ONNX) и рабочие процессы (например, для преобразования входных данных и проверки вывода) должны помочь стандартизировать и автоматизировать процесс бенчмаркинга и, таким образом, принести порядок и мир в галактику ;) .
  • Тщательная оценка артефакта может занять несколько человеко-недель. Каждый представленный рабочий процесс необходимо детально изучить в исходном виде, а затем преобразовать в общепринятый формат. Однако чем больше повторно используемых компонентов CK (таких как рабочие процессы, модули/плагины, пакеты) совместно используется сообществом, тем легче становится преобразование. Например, мы успешно повторно использовали несколько ранее общих компонентов для моделей, фреймворков и библиотек, а также универсальный рабочий процесс CK для бенчмаркинга и автонастройки программ. Мы предлагаем ввести новый значок воспроизводимости ACM для таких унифицированных компонентов включай и работай. В конечном итоге это может привести к созданию рынка для парето-эффективных реализаций (кода и данных), совместно используемых в виде переносимых, настраиваемых и повторно используемых компонентов CK.
  • Для оценки артефактов может потребоваться доступ к дорогостоящим вычислительным ресурсам (например, облачным экземплярам с 72-ядерными серверами), проприетарным инструментам (например, компиляторам Intel) и вспомогательному оборудованию (например, измерителям мощности). Повышение авторитета AE за счет широкого признания его преимуществ и влияния должно помочь нам получить доступ, лицензиатов и спонсорство со стороны отрасли и финансовых агентств.
  • Полная экспериментальная оценка может занять много недель (например, при проверке точности 50 000 изображений на плате FPGA с частотой 100 МГц). Комитет AE может сотрудничать с авторами, чтобы определить минимально полезную область для оценки, которая по-прежнему будет давать понимание сообществу. Сообщество может в конечном итоге получить полную оценку с помощью краудсорсинга. Другими словами, автоэкспозиция может быть «постановочной» с быстрой проверкой того, что артефакты «функциональны» до крайнего срока готовности камеры, с последующей полной оценкой с использованием методологии ReQuEST. Фактически, ReQuEST может превратиться в некоммерческий сервис для конференций и журналов. Спонсорство должно помочь привлечь опытных оценщиков, работающих полный рабочий день, а также волонтеров, работающих неполный рабочий день, для работы над объединением и оценкой артефактов и рабочих процессов.

Наши планы на будущее включают:

  • сотрудничество с сообществом, нашим Консультативным советом и ACM для решения вышеуказанных проблем;
  • использование опыта ReQuEST для оказания помощи AE на предстоящей конференции SysML’19;
  • замена нерепрезентативных тестов реалистичными рабочими нагрузками;
  • создание реалистичных обучающих наборов на основе ошибочных прогнозов, которыми поделилось сообщество;
  • совершенствование методологии бенчмаркинга и совместного проектирования, а также участие в новых инициативах в области бенчмаркинга, таких как MLPerf;
  • сотрудничество с другими конкурсами, такими как LPIRC, DAWNBench и SCC, по разработке общей экспериментальной базы;
  • стандартизация многоцелевых рабочих процессов автонастройки и совместного проектирования;
  • расширение единого сбора информации о платформе в СК;
  • улучшение и документирование экспериментальной структуры и таблицы результатов;
  • формирование воспроизводимых и интерактивных отчетов (см. примеры 1 и 2);
  • добавление новых общих компонентов, таких как рабочие нагрузки, наборы данных, инструменты и платформы;
  • автоматизация AE у источника путем интеграции рабочих процессов CK, например, с Горячий CRP;
  • стандартизация API и метаописаний общих компонентов, чтобы сделать их «готовыми к рынку»;
  • запускаем новые соревнования ReQuEST для других рабочих нагрузок!

Мы также организуем соответствующий семинар ResCuE-HPC на Supercomputing’18, чтобы обсудить с сообществом некоторые из вышеперечисленных вопросов, уделяя особое внимание тому, как разрабатывать воспроизводимые, настраиваемые и переносимые рабочие процессы для высокопроизводительных вычислений (HPC).

Наше долгосрочное видение состоит в том, чтобы значительно снизить сложность и затраты на разработку и развертывание ИИ, машинного обучения и других новых рабочих нагрузок. Мы считаем, что наличие открытого репозитория (маркетплейса) настраиваемых рабочих процессов с повторно используемыми компонентами помогает объединить междисциплинарное сообщество для совместной разработки, оптимизации и автоматической настройки компьютерных систем для всего стека модели/программного/аппаратного обеспечения. Системные интеграторы также выиграют от возможности собирать комплексные решения, адаптируя такие многократно используемые компоненты к своим конкретным сценариям использования, требованиям и ограничениям. Мы предполагаем, что наш управляемый сообществом подход и децентрализованный рынок помогут ускорить внедрение и передачу технологий новых методов AI/ML, подобных движению с открытым исходным кодом.

Процедуры ACM с многократно используемыми рабочими процессами CK и компонентами AI/ML:

  1. Высокоэффективный 8-битный низкоточный вывод сверточных нейронных сетей с помощью IntelCaffe [Документ DOI] [DOI артефакта] [Рабочий процесс CK]
  2. Оптимизация рабочих нагрузок глубокого обучения на графическом процессоре ARM с помощью TVM [Бумажный DOI] [Артефактный DOI] [Рабочий процесс CK]
  3. Распознавание изображений в реальном времени с использованием совместных устройств IoT [Бумажный DOI] [Артефакт DOI] [Рабочий процесс CK]
  4. Использование аппаратно-программного стека VTA-TVM для ускорения FPGA 8-битного логического вывода ResNet-18 [Документальная DOI] [Артефактная DOI] [Рабочий процесс CK]
  5. Многоцелевая автонастройка MobileNets для всего программного и аппаратного стека [Бумажный DOI] [Артефакт DOI] [Рабочий процесс CK]

Организаторы (от А до Я):

  • Луис Сезе, Вашингтонский университет, США
  • Натали Энрайт Джергер, Университет Торонто, Канада
  • Бабак Фальсафи, EPFL, Швейцария
  • Григорий Фурсин, фонд cTuning, Франция
  • Антон Лохмотов, дивидити, Великобритания
  • Тьерри Моро, Вашингтонский университет, США
  • Адриан Сэмпсон, Корнельский университет, США
  • Филипп Стэнли Марбелл, Кембриджский университет, Великобритания

Консультативный совет (от А до Я):

  • Микаэла Блотт, Xilinx
  • Unmesh Bordoloi, General Motors
  • Офер Декель, Microsoft
  • Мария Жироне, CERN openlab
  • Уэйн Грейвс, ACM
  • Винод Гровер, NVIDIA
  • Сумит Гупта, IBM
  • Джеймс Хетерингтон, Институт Алана Тьюринга
  • Стив Кеклер, NVIDIA
  • Вэй Ли, Intel
  • Колин Осборн, рука
  • Эндрю Патнэм, Microsoft
  • Борис Шулькин, Magna
  • Грег Стоунер, AMD
  • Алекс Уэйд, Инициатива Чана Цукерберга
  • Пэн Ву, Huawei
  • Клифф Янг, Google

Благодарности:

Мы благодарим Консультативный совет ReQuEST за их горячую поддержку нашего видения; авторам ReQuEST за то, что они очень быстро преобразовывали свои рабочие процессы в формат CK и во время оценки артефактов; Флавио Велла и Николаю Чуносову за помощь в объединении и оценке заявок; Xipeng Shen и James Tuck за их поддержку в организации семинара ReQuEST на ASPLOS’18; Craig Rodkin, Asad Ali и Wayne Graves за помощь в подготовке материалов ACM DL с рабочими процессами CK, а также сообщество CK за их вклад.