В проектировании серверной инфраструктуры для обработки поисковых запросов у каждой компании есть свои ноу-хау. Например, Microsoft в последние годы активно экспериментирует с использованием FPGA (Field-Programmable Gate Array, программируемые пользователем вентильные матрицы).
Для поисковой системы Bing инфраструктура ранжирования разделена на три части: выделение признаков (feature extraction), обработка выражений в свободной форме (free-form expressions) и вычисление результата системой машинного обучения (machine learning scoring).
С 2011 года в рамках проекта Catapult начался процесс миграции этих систем на FPGA. Процесс шёл непросто, за эти годы Microsoft экспериментировала с тремя моделями FPGA, для каждой из которых приходилось конструировать специальные материнские платы.
В июне 2014 года Microsoft рассказывала, что удалось перевести на платформу Catapult (то есть на FPGA) 1632 сервера в одном из дата-центров. Это позволило сохранить производительность поисковой подсистемы на том же уровне, снизив количество серверов вдвое.
Работа продолжилась в том же направлении, и сейчас Microsoft рассказала о последних модификациях, сделанных в подсистеме машинного обучения Bing.
Во-первых, Microsoft перешла на новые высокопроизводительные FPGA Altera Arria 10. В них увеличена производительность в операциях с плавающей запятой (трёхкратная выгода по энергоэффективности, по сравнению с GPU).
Во-вторых, разработан новый оригинальный дизайн свёрточной нейросети на матрицах Stratix-V FPGA от Altera. Эту нейросеть сейчас используют в задачах компьютерного зрения, распознавании образов и классификации изображений, в том числе для поисковой системы Bing.
Если верить результатам, опубликованным в научной работе, то в стандартных тестах по классификации изображений ImageNet 1K и ImageNet 22K нейросеть от Microsoft превосходит предыдущие варианты дизайна на FPGA примерно в три раза. В этих двух тестах Catapult Server + Stratix V D5 осуществляет классификацию со скоростью 134 и 91 изображение в секунду, соответственно.
В то же время, существенно улучшены показатели в затратах джоулей на картинку, по сравнению с разными GPU, оптимизированными для этой задачи. Таким образом, серверы Microsoft смогут работать эффективнее и дешевле, чем серверы на стандартных GPU.
Автор: alizar