Как компьютеры и искусственный интеллект развиваются вместе

Прочитано: 381 раз(а)


Совместное проектирование, то есть одновременное проектирование программного и аппаратного обеспечения, является одним из способов удовлетворения потребностей в вычислительной мощности современных приложений искусственного интеллекта. Компиляторы, переводящие инструкции из одного представления в другое, являются ключевой частью головоломки. Группа исследователей из Китайской академии наук обобщила существующие технологии компиляторов в области совместного проектирования глубокого обучения и предложила собственную структуру Buddy Compiler.

Обзорная статья группы была опубликована в журнале Intelligent Computing.

Хотя другие обобщали оптимизации, аппаратные архитектуры, подходы к совместному проектированию и методы компиляции, никто не обсуждал системы глубокого обучения с точки зрения технологий компиляции для совместного проектирования. Исследователи изучали глубокое обучение с этой точки зрения, поскольку считают, что «технологии компиляции могут предоставить больше возможностей для совместного проектирования и, таким образом, могут лучше соответствовать требованиям производительности и мощности систем глубокого обучения».

Обзор охватывает пять тем:

  • История глубокого обучения и совместного проектирования
  • Глубокое обучение и совместное проектирование прямо сейчас
  • Технологии компиляции для совместного проектирования глубокого обучения
  • Текущие проблемы и будущие тенденции
  • Компилятор друзей

История глубокого обучения и совместного проектирования

С 1950-х годов нейронные сети претерпели множество взлетов и падений, что привело к сегодняшнему взрывному росту приложений и исследований глубокого обучения. Совместное проектирование началось в 1990-х годах и с тех пор было принято в различных областях, переходя от ручной работы к автоматизированному проектированию и в конечном итоге становясь сложным процессом, включающим моделирование, симуляцию, оптимизацию, синтез и тестирование.

С 2020 года сетевая модель, называемая преобразователем, пользуется большим успехом: ChatGPT — это чат-бот, созданный с использованием «генеративного предварительно обученного преобразователя». Текущие приложения ИИ, такие как ChatGPT, сталкиваются с новым узким местом в производительности, которое снова потребует совместного проектирования аппаратного и программного обеспечения.

Глубокое обучение и совместное проектирование прямо сейчас

Прорыв в области глубокого обучения связан с использованием многочисленных слоев и огромного количества параметров, что значительно увеличивает вычислительные требования для обучения и логического вывода. В результате, полагаясь исключительно на оптимизацию на уровне программного обеспечения, становится сложно достичь разумного времени выполнения. Чтобы решить эту проблему, как промышленность, так и научные круги обратились к специализированным аппаратным решениям, стремясь достичь требуемой производительности за счет совместных усилий аппаратного и программного обеспечения, известных как совместное проектирование аппаратного и программного обеспечения.

Недавно появилась комплексная система, включающая в себя фреймворки глубокого обучения, высокопроизводительные библиотеки, предметно-ориентированные компиляторы, модели программирования, аппаратные инструменты и методы совместного проектирования. Эти компоненты в совокупности способствуют повышению эффективности и действенности систем глубокого обучения.

Технологии компиляции для совместного проектирования глубокого обучения

Есть две популярные экосистемы, которые используются для создания компиляторов для глубокого обучения: тензорная виртуальная машина, известная как TVM, и многоуровневое промежуточное представление, известное как MLIR. Эти экосистемы используют разные стратегии: TVM выступает в качестве сквозного компилятора глубокого обучения, а MLIR выступает в качестве инфраструктуры компилятора. Между тем, в области аппаратных архитектур, адаптированных для рабочих нагрузок глубокого обучения, существует два основных типа: потоковая архитектура и архитектура вычислительного движка.

Инструментальные потоки проектирования аппаратного обеспечения, связанные с этими архитектурами, также включают новые методы компиляции для продвижения достижений и инноваций. Сочетание компиляторов глубокого обучения и аппаратных методов компиляции открывает новые возможности для совместного проектирования глубокого обучения.

Текущие проблемы и будущие тенденции

Поскольку требования к производительности растут слишком быстро, чтобы разработка процессоров могла угнаться за ними, эффективная совместная разработка имеет решающее значение. Проблема с совместным проектированием заключается в том, что нет единого способа сделать это, нет единой структуры совместного проектирования или абстракции. Если требуется несколько уровней абстракции, эффективность снижается. Настройка компиляторов для конкретных доменов требует больших усилий. Формируются объединяющие экосистемы, но основные причины фрагментации остаются. Решением этих проблем могла бы стать модульная расширяемая унифицирующая структура.

Компилятор друзей

Участники проекта Buddy Compiler «привержены созданию масштабируемой и гибкой экосистемы совместного проектирования аппаратного и программного обеспечения». Модули экосистемы будут включать структуру компилятора, платформу компилятора как услуги, платформу эталонного тестирования, структуру предметно-ориентированной архитектуры и модуль совместного проектирования. Последние два модуля все еще находятся в разработке.

Авторы прогнозируют дальнейшее развитие экосистем компиляции, которые помогут объединить работу, выполняемую в быстро развивающейся и несколько фрагментированной области глубокого обучения.

 

Как компьютеры и искусственный интеллект развиваются вместе



Новости партнеров