Четыре года тому назад в Google подсчитали, что, если все пользователи начнут по три минуты в день нагружать сервисы компании для распознавания речи, ей понадобится вдвое больше центров обработки данных.
Но вместо того чтобы покупать новые здания и новые серверы, в Google решили спроектировать специализированное оборудование для задач машинного обучения. Так появился «тензорный процессор» (Tensor Processing Unit, TPU), чип, ускоряющий работу нейронных сетей, на котором происходит вывод умозаключений. Недавно компания опубликовала доклад о преимуществах TPU по сравнению с центральными и графическими процессорами.
В среднем TPU в 15–30 раз быстрее выполняет задачи вывода умозаключений, чем серверный центральный процессор Intel Haswell и видеопроцессор Nvidia K80. А производительность в расчете на ватт у TPU была в 25–80 раз выше, чем у центрального и графического чипов.
Достигнутые результаты имеют большое значение для Google, поскольку компания в последнее время активно развивает средства машинного обучения. На разработку собственного оборудования соответствующего назначения пришлось пойти из-за отсутствия перспектив существенно повысить мощность традиционных процессоров.
Это был далеко не исследовательский эксперимент: в Google задействуют тензорные процессоры с 2015 года, с их помощью ускоряют работу сервисов машинного перевода и распознавания изображений. Особенно хорошие результаты TPU демонстрируют с точки зрения энергоэффективности, а этот показатель намного увеличивает затраты, когда приходится использовать огромные массивы оборудования.
Еще одна ключевая характеристика — время отклика, оно у TPU гораздо меньше, чем у процессоров других типов. Норм Джуппи, инженер по оборудованию Google, подчеркивает, что системы машинного обучения должны выдавать ответы быстро, чтобы обеспечивать высокое качество обслуживания пользователей: «При работе с онлайн-сервисами нужно учитывать время передачи информации от устройства в облако и обратно. В самом центре обработки данных тоже происходят пересылка данных по сети и другие процессы, влияющие на скорость. Поэтому, если вы хотите, чтобы пользователь получал отклик почти мгновенно, непосредственно на обработку вам остается совсем немного времени».
Google тестировала тензорные процессоры в сравнении с обычными, выпущенными приблизительно в то же время. Не исключено, что более новые чипы традиционной архитектуры могут как минимум сократить отставание от TPU по производительности.
Но и характеристики самого TPU можно улучшить. В частности, если использовать с ним память GDDR5, которая встроена в видеопроцессор Nvidia K80, можно было бы повысить быстродействие по сравнению с конфигурацией, на которой осуществлялось тестирование. Как следует из доклада Google, недостаточная пропускная способность памяти негативно сказалась на скорости ряда приложений.
Тензорный процессор имеет вид специализированной интегральной схемы — чипа, созданного для конкретной задачи и со своим набором инструкций. Но Джуппи не видит в этом проблемы и добавляет, что тензорные процессоры обладают достаточной гибкостью, поэтому используемые модели машинного обучения можно менять: «TPU был разработан не для какой-то одной модели. Если будет предложена другая, процессор не придется проектировать заново».