Компания ARM сообщила, что следующая версия её архитектуры ARMv8-A получит поддержку работы с числами с плавающей запятой формата bfloat16, который всё чаще используется в задачах машинного обучения и Искусственного интеллекта.
Формат bfloat16 был создан компанией Google и впервые был реализован в её тензорных вычислительных блоках Tensor Processing Unit (TPU) третьего поколения. Следом компания Intel оценила данный формат, и реализовала его поддержку в новых FPGA Agilex и ускорителях Nervana NNP, а также сделала частью технологии Deep Learning Boost (DL Boost) для перспективных архитектур, в том числе Ice Lake и Cooper Lake.
В случае ARM поддержка bfloat16 будет добавлена ко всем наборам команд, работающих числами с плавающей запятой, а именно SVE (Scalable Vector Extension), AArch64 Neon (64-битные инструкции SIMD) и AArch32 Neon (32-бит SIMD). Поддержка нового формата предназначена как для запуска обученных нейросетей, так и для их обучения на клиентских компьютерах и серверах ARM.
Также отмечается, что в ARMv8-A будут добавлены четыре новые инструкции для работы blfoat16, используемых для обучения и работы нейронных сетей: BFDOT, BFMMLA, BFMLAL и BFCVT.
Понравилась статья? Ставь лайк и подписывайся на наш канал :)