Искусственный интеллект (ИИ), машинное обучение (МО) и другие новые рабочие нагрузки требуют эффективных компьютерных систем от облака до периферии. Однако проектировщики систем сталкиваются с многочисленными трудностями, начиная с постоянно растущего пространства вариантов дизайна и оптимизации (включая алгоритмы, модели, программные среды, библиотеки, аппаратные платформы, методы оптимизации) и заканчивая поиском баланса между несколькими целями (включая точность, скорость, пропускную способность и т. д.). мощность, размер, цена). Кроме того, отсутствие общей экспериментальной основы и методологии еще больше затрудняет отслеживание и развитие последних достижений в области исследований.
Инициатива 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:
- Высокоэффективный 8-битный низкоточный вывод сверточных нейронных сетей с помощью IntelCaffe [Документ DOI] [DOI артефакта] [Рабочий процесс CK]
- Оптимизация рабочих нагрузок глубокого обучения на графическом процессоре ARM с помощью TVM [Бумажный DOI] [Артефактный DOI] [Рабочий процесс CK]
- Распознавание изображений в реальном времени с использованием совместных устройств IoT [Бумажный DOI] [Артефакт DOI] [Рабочий процесс CK]
- Использование аппаратно-программного стека VTA-TVM для ускорения FPGA 8-битного логического вывода ResNet-18 [Документальная DOI] [Артефактная DOI] [Рабочий процесс CK]
- Многоцелевая автонастройка 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 за их вклад.