Аналитики по ИИ оценивают скорость работы компьютерных чипов.

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

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

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

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

Авторы представили новый конвейер машинного обучения в трёх докладах на конференции.

1. Нейросетевая модель тренируется на основных участках помеченных данных (блоках инструкций). После этого модель предсказывает время выполнения этим процессором неинициализированных базовых блоков.

2. Для проверки Ithemal исследователи сформировали базовый набор элементов из различных областей: криптографии, компиляторов, машинного обучения и графики. В набор вошло более 300 000 блоков, размещенных в BHive — наборе данных с открытым доступом.

Тестирования выявили, что Ithemal может с большей точностью предсказывать скорость выполнения кода процессорами Intel по сравнению с моделью производительности, созданной компанией Intel.

3. Учёные разработали новую методику автоматизированного составления алгоритмов под названием Vemal, способный переводить конкретный код в векторы для применения в параллельных расчетах.

Модель Vemal демонстрирует превосходство по сравнению с алгоритмами векторной записи, разработанными вручную и применяемыми в промышленном ПО, например, в компиляторе LLVM.

Замена документации чипа данными.

Корпорация Intel предоставляет подробную документацию об архитектуре своих чипов, но только некоторые эксперты-разработчики создают модели производительности для имитации выполнения кода на этих архитектурах. В силу проприетарного характера чипов, в документации Intel отсутствует определенная информация.

Ученые определили среднее количество тактов, необходимых микросхеме для выполнения ключевых инструкций блока (например, инициации команды, отключения и перезапуска), с помощью нейронной сети.

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

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

Вторая статья показала, что Ithemal эффективнее традиционных моделей, созданных вручную. Ошибка прогноза модели Intel достигла 20%, в то время как у Ithemal этот показатель составил 10% на разных базовых блоках и в различных областях.

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

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