> > > > Google Tensor Processing Unit (TPU) – подробности вычислительных модулей

Google Tensor Processing Unit (TPU) – подробности вычислительных модулей

Опубликовано:

Сегодня все чаще звучат такие темы, как машинное обучение, глубокое обучение и искусственный интеллект, хотя они являются, по сути, синонимами. В любом случае, данная сфера становится все более важной. Компании, подобные Intel, Google и NVIDIA, не сидят, сложа руки: они подготовили соответствующую инфраструктуру. Google разработала модули Tensor Processing Unit (TPU), о которых теперь появилась дополнительная информация.

TPU является специализированным чипом ASIC (Application Specific Integrated Circuit), специально ориентированным на машинное обучение TensorFlow. Над этим ранее секретным проектом Google работала несколько лет, но аппаратное обеспечение TPU работает в дата-центрах компании лишь чуть больше года.

Ранее Google не делилась техническими подробностями и производительностью TPU. Но компания решила приоткрыть завесу тайны.

91,75 TOPS/s и 700 МГц

Самый важный компонент каждого чипа – вычислительный блок. В случае Google TPU используется матрица из 256×256 блоков умножения/сложения MAC (multiplier/accumulator). Они работают с 8-битными целыми числами. Данная матрица из 256×256 блоков обеспечивает вычислительную производительность 91,75 TOPS (тера операций в секунду), каждый блок способен выполнять операцию сложения и умножения (в сумме 65.536 операций) с частотой 700 МГц. Для сравнения, у Intel Xeon E5-2699 v3 производительность составляет 2,6 TOPS. Если требуется, вычислительные блоки могут работать с числами с плавающей запятой, как с 8- так и с 16-битными, но вычислительная производительность при этом снижается на четверть.

Google привела сравнение характеристик чипа с Intel Xeon E5-2699 v3 и NVIDIA Tesla K80 на двух GPU.

Сравнение вычислительных ускорителей
Ускоритель Intel Xeon E5-2699 v3 NVIDIA Tesla K80 TPU
Площадь кристалла: 662 мм² 561 мм² -
Техпроцесс: 22 нм 28 нм 28 нм
Частота: 2.300 МГц 560 МГц 700 МГц
TDP: 145 Вт 150 Вт 75 Вт
Энергопотребление в режиме бездействия: 41 Вт 25 Вт 28 Вт
Энергопотребление под нагрузкой: 145 Вт 98 Вт 40 Вт
Вычислительная производительность (8 бит): 2,6 TOPS - 91,8 TOPS
Вычислительная производительность (FP): 1,3 TFLOPS 2.8 TFLOPS -
Объем памяти на чипе (кэши): 51 MB 8 MB 28 MB
Пропускная способность памяти: 51 Гбайт/с 160 Гбайт/с 34 Гбайт/с

Google не указывает площадь чипа, но она вряд ли существенно меньше двух конкурентов. Чип производится по 28-нм техпроцессу. Более интересно сравнить энергопотребление с предлагаемой производительностью. Теоретически чипы Google в два раза более экономичны, и в тестах наблюдаются схожие результаты. Но вычислительная производительность с 8-битными целыми числами намного выше возможностей Intel и NVIDIA. Впрочем, следует помнить, что и у NVIDIA, и у Intel сейчас есть намного более производительные решения.

Интерконнект тоже важен

Впрочем, важны не только вычислительные блоки, но и способ их подключения к шине данных. Неслучайно за последние годы AMD, Intel, NVIDIA и IBM работают над созданием еще более быстрых интерконнектов и памяти.

В случае TPU Google используются 24 Мбайт кэша Unified Buffer. На чипе кэш занимает столько же места, сколько и вычислительные блоки – около 30%. Как правило, современные GPU подключаются к памяти по 256-, 384- или 512-битной шине. Хотя в случае High Bandwidth Memory мы получаем уже 4.096-битную шину. Но у TPU шина 256-битная. В результате пропускная способность памяти не такая высокая.

Впечатляющая производительность и высокая эффективность

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

Настало время обратиться к тестам. Google использует TPU с 2015 года, поэтому приводит сравнение с конкурирующими решениями, актуальными на 2015 год, а именно Intel Xeon E5-2699 v3 и NVIDIA Tesla K80. В крупных дата-центрах смена аппаратного обеспечения происходит все же не так часто.

Результаты говорят сами за себя, TPU быстрее в 15-30 раз. Если учесть соотношение производительности на ватт, то мы получим преимущество в 30-80 раз. Кроме того, Google указывает, что простое обновление платформы может значительно улучить результат. В первой версии платформы TPU работает с памятью DDR3. Но можно перейти на GDDR5, что утроит вычислительную производительность. А эффективность возрастет в 70-200 раз по сравнению с упомянутыми выше решениями.

Поэтому Google и решила разработать собственные чипы TPU, ориентированные на узкую область применения. Все же производители, подобные Intel, IBM или NVIDIA выпускают универсальные чипы с широкой сферой использования, а не оптимизированные под 8-битные вычисления. Конечно, все производители с каждым поколением увеличивают производительность. Но в ближайшем будущем индустрия вряд ли будет обходиться без специализированных решений.