Аппаратура интеллект-стека

Sep 07, 2016 15:20

Самое интересное, что происходит с аппаратурой интеллект-стека, так это огромное внимание к проблеме потребляемой в вычислениях мощности и требуемой памяти, а не к проблеме скорости. Такое впечатление, что прирост скорости обеспечивается сейчас алгоритмически, а аппаратуре оставляют экономию электроэнергии -- сейчас цель x10 (с разными вариантами TPU), а потом и x1000 (с экзотикой типа спайковых процессоров).

Я бы делил аппаратуру интеллекта на следующие виды:

0. Обычные процессоры, которые проигрывают практически по всем параметрам, хотя они и могут быть много-много-многоядерными. Из свежих новостей тут -- Xeon Phi Knights Mill is being aimed at the deep learning market and is scheduled for release in 2017 -- http://www.anandtech.com/show/10575/intel-announces-knights-mill-a-xeon-phi-for-deep-learning. В мире глубокого обучения эти машины по совокупности причин принято игнорировать.

1. Традиционные GPU, которые "и нашим, и вашим" -- они заточены на компьютерную графику, но заодно в них воткнули F16, укороченные плавающие. Это "народный", общеупотребимый и общедоступный вариант. Вот инструкция, как делать машины на базе этого подхода: http://www.slideshare.net/PetteriTeikariPhD/deep-learning-workstation (июль 2016). Лидер тут, конечно, NVIDIA -- http://wccftech.com/nvidia-pascal-gpu-gtc-2016/ (ибо TitanX can train AlexNet at 1000+ fps, whereas the OpenCL/AMD impl gets around 250 fps -- https://www.reddit.com/r/MachineLearning/comments/4di4os/deep_learning_is_so_dependent_on_nvidia_are_there/).

2. TPU, разные варианты tensor processing unit. Графика тут побоку, зато хорошо крутим матрицы на коротких плавающих. Главное -- это x10 выигрыш по мощности при той же скорости по сравнению с GPU, идеально для датацентров. Google TPU -- https://cloudplatform.googleblog.com/2016/05/Google-supercharges-machine-learning-tasks-with-custom-chip.html, Nervana Engine (вот-вот выйдет, при этом куплена на корню Intel -- https://www.nervanasys.com/nervana-engine-delivers-deep-learning-at-ludicrous-speed/, при этом там серьёзно относятся и к security https://www.nervanasys.com/securing-deep-learning-stack/), Movidius Miriad Platform (это для мобильной техники, и тоже куплен на корню Intel) -- http://www.movidius.com/technology. Похоже, что это ближайшее будущее (которое для крупных фирм типа того же Гугля -- текущее настоящее).

3. Зона экспериментов в тернарных (трёхбитных, т.е. где веса бывают -1, 0, 1) архитектурах. Похоже, что бинарные (binary-wise) архитектуры нейронных сетей работают, но недостаточно хорошо, а тернарные работают уже вполне прилично -- и учатся эти архитектуры почти на state-of-the-art, и памяти занимают чуть, и компилировать можно модели для вывода на тернарных архитектурах, и большинство уже известных методов укрощения нейронных сетей остаются работоспособны. Со специализированной аппаратурой поддержки тернарности пока только слухи. Ternary Neural Networks for Resource-Efficient AI Applications http://arxiv.org/abs/1609.00222, там много ссылок на предыдущие работы и эксперименты ведутся на FPGA, демонстрируется возможность to process ternary NNs at 255K images per second with an energy cost of 1.24μJ. Опять же, тут учатся две сетки, одна с real значениями и другая с тернарными.

4. Экзотика типа спайковых процессоров. Эти процессоры берут не скоростью, а энергоэффективностью, в которой им нет равных, и один такой чип уже давно существует -- это TrueNorth. Раньше вырисовывался подход, в котором исходная сетка учится обычно, а затем компилируется в спайковую архитектуру для вывода -- http://arxiv.org/abs/1601.04187. Но вот вышла работа, которая многое может изменить в этой области -- https://arxiv.org/abs/1603.08270. В этой работе говорится ключевая фраза: спайковая нейроморфная архитектура can be specified and trained using backpropagation with the same ease-of-use as contemporary deep learning, причём с сохранением низкого энергопотребления. Эти работы продолжаются, но уже говорится более аккуратно про достижение state-of-the-art trade-off between energy efficiency and classification accuracy: https://arxiv.org/abs/1606.02407. Это всё IBM, но со спайковыми архитектурами также любят работать университетские команды, и опять же, нередки эксперименты с FPGA -- типа NeuroFlow из http://journal.frontiersin.org/article/10.3389/fnins.2015.00516/full. Using one FPGA, NeuroFlow delivers a speedup of up to 33.6 times the speed of an 8-core processor, or 2.83 times the speed of GPU-based platforms.

5. Дальше начинается то, что я бы назвал "вычислительная физика" -- квантовые эффекты на службе машинного обучения. Сами квантовые компьютеры слишком ещё более экзотичны, чем спайковые архитектуры, и как с ними работать, понимает ещё меньше людей. Но не все надежды связаны именно с квантовыми компьютерами. Оптики предлагают не менее интересные решения: Spike processing with a graphene excitable laser, http://www.nature.com/articles/srep19126 Novel materials and devices in photonics have the potential to revolutionize optical information processing, beyond conventional binary-logic approaches. Laser systems offer a rich repertoire of useful dynamical behaviors, including the excitable dynamics also found in the time-resolved “spiking” of neurons. Spiking reconciles the expressiveness and efficiency of analog processing with the robustness and scalability of digital processing. И есть ещё более интересные работы полностью квантовых оптических архитектур, типа "фотонного интеллекта": Single photon in hierarchical architecture for physical reinforcement learning: Photon intelligence, http://arxiv.org/abs/1609.00686. Тут уже предлагаются иерархические фотонные архитектуры, которые существенно используют квантовые свойства фотонов и могут быть реализованы современными средствами нанооптики.

Аппаратура ускорения вычислений была ключевой для успеха глубокого обучения -- без использования GPU для обучения нейросетей никакого лета искусственного интеллекта бы не было, никаких соревнований 2012 года по распознаванию изображений не было бы выиграно. Я считаю, что и дальше новации в аппаратуре глубокого обучения будут питать прогресс в этой области, прогресс в аппаратуре является ключевым. Так что за новинками аппаратного обеспечения машинного обучения нужно следить, что я и пытаюсь делать.
Previous post Next post
Up