Алгоритм разрабатывает оптимизированные модели машинного обучения до 200 раз быстрее, чем традиционные методы
Новая область в искусственном интеллекте включает использование алгоритмов для автоматического проектирования систем машинного обучения, известных как нейронные сети, которые являются более точными и эффективными, чем разработанные человеческими инженерами. Но эта так называемая технология поиска нейронной архитектуры (NAS) является вычислительно дорогой.
Один из самых современных алгоритмов NAS, недавно разработанный Google, отработал 48 000 часов работы группы графических процессоров (GPU) для создания единой сверточной нейронной сети, используемой для задач классификации и идентификации изображений. У Google есть возможность параллельно запускать сотни графических процессоров и другие специализированные микросхемы, но это недоступно многим другим.
В документе, представленном на Международной конференции по обучению представлений в мае, исследователи MIT описывают алгоритм NAS, который может напрямую изучать специализированные сверточные нейронные сети (CNN) для целевых аппаратных платформ — при работе на массиве массива данных изображений — всего за 200 часов графического процессора. , что может позволить гораздо более широкое использование этих типов алгоритмов.
Исследователи говорят, что ограниченные в ресурсах исследователи и компании могут извлечь выгоду из алгоритма экономии времени и затрат. Общей целью является «демократизация ИИ», — говорит соавтор Сонг Хан, доцент кафедры электротехники и компьютерных наук и исследователь в лабораториях микросистемных технологий в Массачусетском технологическом институте. «Мы хотим, чтобы как эксперты по искусственному интеллекту, так и неопытные работники могли эффективно проектировать архитектуры нейронных сетей с помощью кнопочного решения, которое быстро работает на конкретном оборудовании».
Хан добавляет, что такие алгоритмы NAS никогда не заменят инженеров-людей. «Цель состоит в том, чтобы разгрузить повторяющуюся и утомительную работу, связанную с проектированием и усовершенствованием архитектуры нейронных сетей», — говорит Хан, к которому присоединились два исследователя из своей группы, Хан Кай и Лигенг Чжу.
«Path-level» бинаризация и обрезка
В своей работе исследователи разработали способы удаления ненужных компонентов проектирования нейронной сети, сокращения времени вычислений и использования только части аппаратной памяти для запуска алгоритма NAS. Дополнительное нововведение обеспечивает более эффективную работу каждого выходного CNN на конкретных аппаратных платформах — процессорах, графических процессорах и мобильных устройствах — по сравнению с разработанными традиционными подходами. В тестах CNN исследователей измерялись на мобильном телефоне в 1,8 раза быстрее, чем традиционные модели золотого стандарта с аналогичной точностью.
Архитектура CNN состоит из уровней вычислений с настраиваемыми параметрами, называемыми «фильтрами», и возможных связей между этими фильтрами. Фильтры обрабатывают пиксели изображения в сетках квадратов — таких как 3×3, 5×5 или 7×7 — каждый фильтр покрывает один квадрат. Фильтры по существу перемещаются по изображению и объединяют все цвета их покрытой сетки пикселей в один пиксель. Различные слои могут иметь фильтры разного размера и подключаться для обмена данными по-разному. Результатом является сжатое изображение — из объединенной информации от всех фильтров — которое может быть легче проанализировано компьютером.
Поскольку число возможных архитектур на выбор — так называемое «пространство поиска» — настолько велико, применение NAS для создания нейронной сети на массивных наборах данных изображений является вычислительно запретительным. Инженеры обычно запускают NAS на меньших наборах прокси-серверов и передают свои изученные архитектуры CNN целевой задаче. Однако этот метод обобщения снижает точность модели. Кроме того, одинаковая выходная архитектура также применяется ко всем аппаратным платформам, что приводит к проблемам с эффективностью.
Исследователи обучили и протестировали свой новый алгоритм NAS для задачи классификации изображений в наборе данных ImageNet, который содержит миллионы изображений в тысяче классов. Сначала они создали пространство поиска, которое содержит все возможные кандидаты CNN «пути» — что означает, как слои и фильтры соединяются для обработки данных. Это дает алгоритму NAS свободу выбора оптимальной архитектуры.
Обычно это означает, что все возможные пути должны быть сохранены в памяти, что будет превышать пределы памяти GPU. Чтобы решить эту проблему, исследователи используют технику, называемую «бинаризация на уровне пути», которая хранит только один выбранный путь за раз и сохраняет порядок потребления памяти. Они объединяют эту бинаризацию с «сокращением на уровне пути», методом, который традиционно учитывает, какие «нейроны» в нейронной сети могут быть удалены, не влияя на вывод. Однако вместо отбрасывания нейронов алгоритм NAS исследователей сокращает целые пути, что полностью меняет архитектуру нейронной сети.
При обучении все пути изначально имеют одинаковую вероятность выбора. Затем алгоритм отслеживает пути — сохраняя только по одному за раз — чтобы отметить точность и потери (числовое наказание, назначенное за неправильные прогнозы) их выходных данных. Затем он корректирует вероятности путей для оптимизации как точности, так и эффективности. В конце концов, алгоритм удаляет все пути с низкой вероятностью и сохраняет только путь с наибольшей вероятностью, что является окончательной архитектурой CNN.
Аппаратная известно
Еще одно ключевое нововведение — сделать алгоритм NAS «аппаратно-ориентированным», говорит Хэн, подразумевая, что он использует задержку на каждой аппаратной платформе в качестве сигнала обратной связи для оптимизации архитектуры. Например, для измерения этой задержки на мобильных устройствах крупные компании, такие как Google, будут использовать «ферму» мобильных устройств, которая стоит очень дорого. Вместо этого исследователи построили модель, которая предсказывает время ожидания, используя только один мобильный телефон.
Для каждого выбранного уровня сети алгоритм выбирает архитектуру на этой модели прогнозирования задержки. Затем он использует эту информацию для проектирования архитектуры,которая работает как можно быстрее, при этом достигается высокая точность. В экспериментах CNN исследователей работал почти вдвое быстрее, чем модель золотого стандарта на мобильных устройствах.
Один интересный результат, по словам Хана, заключался в том, что их алгоритм NAS создавал архитектуры CNN, которые долгое время считались слишком неэффективными, но в тестах исследователей они были фактически оптимизированы для определенного оборудования. Например, инженеры, по сути, прекратили использовать фильтры 7×7, потому что они вычислительно дороже, чем несколько меньших фильтров. Тем не менее, алгоритм NAS исследователей обнаружил, что архитектуры с несколькими слоями фильтров 7×7 оптимально работают на графических процессорах. Это связано с тем, что графические процессоры имеют высокую степень распараллеливания — то есть они вычисляют много вычислений одновременно — поэтому могут обрабатывать один большой фильтр одновременно более эффективно, чем обработка нескольких небольших фильтров по одному.
«Это противоречит предыдущему человеческому мышлению», — говорит Хан. «Чем больше пространство поиска, тем больше неизвестных вещей вы можете найти. Вы не знаете, будет ли что-то лучше, чем прошлый человеческий опыт. Пусть ИИ это выяснит».