На странице Википедии мы можем прочитать, что Google создал специальный чип ASIC для машинного обучения и специально для TensorFlow, который помогает ускорить ИИ.
Поскольку микросхемы ASIC специально настроены для одного конкретного использования без возможности изменения его схемы, должен быть какой-то фиксированный алгоритм, который вызывается.
Так как же работает ускорение ИИ с использованием микросхем ASIC, если его алгоритм нельзя изменить? Какая часть этого ускоряется?
Ответы:
Тензорные операции
Основная работа в большинстве приложений ML - это просто набор (очень больших) тензорных операций, например, умножение матриц. Вы можете сделать это легко в ASIC, и все остальные алгоритмы могут просто работать поверх этого.
источник
Я думаю, что алгоритм изменился минимально, но необходимое оборудование было урезано до костей.
Количество переходов строба уменьшается (возможно, операции с плавающей запятой и точность), равно как и количество операций перемещения данных, что позволяет экономить как энергию, так и время выполнения. Google предлагает, чтобы их TPU достигли 10-кратной экономии, чтобы выполнить ту же работу.
https://cloudplatform.googleblog.com/2016/05/Google-supercharges-machine-learning-tasks-with-custom-chip.html
источник
ASIC - расшифровывается как IC для конкретного приложения. В основном вы пишете программы для проектирования чипа в HDL . Я расскажу о том, как работают современные компьютеры, чтобы объяснить мою точку зрения:
n
количество ядер? Нет проблем. Вы хотите определить поток данных из разных блоков обработки в разные места? Ты можешь это сделать. Также при тщательном планировании вы можете найти компромисс между областью ASIC и мощностью в зависимости от скорости. Единственная проблема заключается в том, что для всего этого вам нужно создать свои собственные стандарты. Обычно при проектировании процессоров соблюдаются некоторые четко определенные стандарты, такие как количество выводов и их функциональность, стандарт IEEE 754 для представления с плавающей запятой и т. Д., Которые были разработаны после множества проб и ошибок. Поэтому, если вы можете преодолеть все это, вы можете легко создать свою собственную ASIC.Я не знаю, что Google делает со своими TPU, но, видимо, они разработали своего рода стандарт Integer и FP для своих 8-битных ядер в зависимости от существующих требований. Вероятно, они внедряют его на ASIC с точки зрения мощности, площади и скорости.
источник
Низкая точность обеспечивает высокий уровень параллелизма в слоях Convo и FC. Фиксированная архитектура CPU и GPU, но ASIC / FPGA может быть разработана на основе архитектуры нейронной сети
источник