Anatoly Levenchuk (ailev) wrote,
Anatoly Levenchuk
ailev

Categories:

Big Neuro: триллионы транзисторов на чипе, квинтильоны и квадрильоны операций в секунду

Буквально за несколько лет мы пришли в мир Big Neuro -- в коннективистских архитектурах, то есть "нейросетях" счёт переходит с миллиардов/гига на триллионы/тера и даже квадриллионы/пета, а пока изредка и квинтиллионы/экза (короткая шкала -- https://ru.wikipedia.org/wiki/Системы_наименования_чисел).

Самый большой чип ускорителя для нейросетей -- это 1.2триллиона транзисторов на 42тыс.мм2, Cerebras Wafer Scale Engine компании Cerebras Systems, изготавливаемый на фабриках TSMC -- https://venturebeat.com/2019/08/19/cerebras-systems-unveils-a-record-1-2-trillion-transistor-chip-for-ai/, https://www.forbes.com/sites/tiriasresearch/2019/08/20/ai-start-up-cerebras-develops-the-most-powerful-processor-in-the-world/#26b4e5a86592. Это в 57 раз больше, чем чип V100 фирмы NVIDIA с 21млрд.транзисторов на 0.8тыс.мм2. Скорость обмена данных с памятью -- 9петабайт/сек, ещё одно Big. The energy cost of communication in this architecture is well under 1 picojoule per bit, which is nearly two orders of magnitude lower than in graphics processing units. В компании Cerebras Systems работает всего 194 человека (хотя мы и не знаем, сколько у них разработчиков было в подрядчиках, тем не менее -- это ли не восхитительно?!).

Конечно, это не сравнится с суперкомпьютером. Так, Summit (запущен в эксплуатацию год назад -- https://blogs.nvidia.com/blog/2018/06/08/worlds-fastest-exascale-ai-supercomputer-summit/) имеет 27648 NVIDIA V100 и 200петафлопс (умножений плавающей) и 3exaops, экза/квинтиллионов операций умножения-сложения целых в секунду -- это помньжьте "пета" ещё на тысячу, миллиард миллиардов. At 200 petaflops — If everyone on Earth did 1 calculation/second, it would take 1 year to do what Summit does in 1 second. At 3 exaops of AI — If everyone on Earth did 1 calculation/second, it would take 15 years to do what Summit can do in 1 second. А сколько занимает места этот Summit? Два теннисных поля! Следующий за V100 чип для текущего нейро-поколения AI -- это Huawei Ascend 910, который имеет удвоенную производительность (закон Мура продолжается для GPU!), но это всего вдвое, 0.25PFLOPS, 0.5PTOPS, по факту того же класса чип -- https://medium.com/syncedreview/huaweis-first-commercial-ai-chip-doubles-the-training-performance-of-nvidia-s-flagship-gpu-86e4d0078f6f

Cerebras Wafer Scale Engine это всего один чип, хотя и потребляет он 15Квт на свои 400тыс. AI вычислительных ядер -- примерно столько же, сколько потребляло бы эквивалентное количество одиночных чипов. Чудес-то не бывает, вычисления требуют энергии.

Самая скандальная языковая модель (модель языка в нейросети) была скандальна ровно потому, что она оказалось достаточно большой, чтобы произвести нетривиальные результаты -- это GPT-2 от OpenAI, которую даже отказались публиковать из-за боязни злоупотреблений в использовании. В ней было 1.5B параметров, 0.0015P. Только что опубликовали сокращённую вдвое модель -- https://venturebeat.com/2019/08/20/openai-releases-curtailed-version-of-gpt-2-language-model/. Но десятые триллиона уже никого не останавливают, только что опубликовали независимо реализованную языковую модель такого же масштаба с практически такими же результатами: https://medium.com/@vanya_cohen/opengpt-2-we-replicated-gpt-2-because-you-can-too-45e34e6d36dc. Потолок цены тренировки такой модели -- $50К, и есть много возможностей снизить цену -- основная цена это те самые чипы и электроэнергия на их работу, сколько на их охлаждение.

И этих чипов нужно много. Чтобы обучить языковую модель BERT всего за 53 минуты потребовалось 1472 GPU V100, это 92 компьютера DGX-2H ценой $399тыс., то есть там только аппаратуры для этого почти часового счёта на почти $40млн, https://devblogs.nvidia.com/training-bert-with-gpus/). И это не самая большая модель! В работе по этой же ссылке https://devblogs.nvidia.com/training-bert-with-gpus/ указывается, что была натренирована модель GPT-2 на 0.0083 триллиона параметров, при этом достигли 15.1 PetaFLOPS sustained performance!

Конечно, речь не идёт о том, чтобы заниматься сетями на 1 триллион параметров. Но если речь идёт о какой-то модульной конструкции из сотни (возможно, совсем неодинаковых) сетей (и, возможно, совсем не сетей) на 0.01 триллион параметров каждая -- то вот такая когнитивная архитектура явно сможет много больше, чем текущие даже самые большие сетки.

При этом сами сетки тоже становятся лучше. Полно работ, которые снижают время обучения и число параметров вдвое-втрое-вдесятеро без ухудшения качества работы сети. Но пока -- чем больше сетка, тем чудесатей результаты. Даже сильно ужатая сетка огромна и требует огромного времени обучения. И это невозможно достичь без выхода на Big Neuro.

А дальше Big Neuro сочтут маркетинговым термином, под которым будут понимать что угодно. Очень скоро будут обсуждать, как и с Big Data, что дело не в размере, а volume, veloсity, veracity, variety, value, variability (https://www.researchgate.net/figure/Six-Vs-of-big-data-value-volume-velocity-variety-veracity-and-variability-which_fig15_280124446) и ещё больше каких-нибудь V. И все формулировки можно будет брать из BigData, и все маркетинговые слоганы.

Но технологически это новый чудесатый мир, где если недостаточно мозгов, то просто добавь транзисторов. А если достаточно мозгов, то тоже добавь транзисторов.

Следующая история, конечно, про симуляторы мира. Чтобы обучить нейросетку, нужно построить виртуальный мир -- и обучать дальше сетку в этом мире, ибо в виртуальном мире эволюция идёт быстрей, чем в реальном мире. Нужно много-много симуляторов. Следующая большая история -- это логические вычислители, которым тоже хочется аппаратной поддержки (вот примеры работ, которые пытаются ускориться на текущих архитектурах вычислений -- https://arxiv.org/abs/1810.06617 и https://www.cyc.com/wp-content/uploads/2015/04/AAAI-SharmaA.1646.pdf, и такого много. Вполне возможно, что тут как с нейронными сетями поможет задействование аппаратного ускорения для получения нетривиальных результатов). Понятно, что будут попытки "повторить мозг" -- перенести логические вычисления в нейронные сетки (neural logic machines -- https://arxiv.org/abs/1904.11694, embedding of knowledge graphs -- https://arxiv.org/abs/1908.07141 и т.п.), равно как моделировать физику не уравнениями, а прямо нейронной сеткой -- https://ai.facebook.com/blog/phyre-a-new-ai-benchmark-for-physical-reasoning/. Смогут ли текущие ускорители AI на нейросетках сработать для этих же задач так же качественно, как могли бы сработать специализированные компьютерные архитектуры?

Ответ прост: нет, не смогут. Алгоритмы там везде разные, поэтому работает теорема бесплатного обеда: тот вычислитель, который хорош для одних задач, будет ужасен для других задач. Так что нейровычислитель будет хорош только "в среднем по больнице". И мы увидим в ближайший десяток лет ещё много разного и чудесатого -- и аналоговые спецвычислители, и универсальные цифровые архитектуры (для препроцессинга и постпроцессинга видео, физических вычислений, логических вычислений, вероятностных вычислений, а также и для вычислений в deep learning). Жизнь уже интересна, счёт транзисторов пошёл на триллионы -- и спецвычислитель BigNeuro на триллион транзисторов может сделать команда из меньше чем 200 человек.

А пока болеем не за динамо и спартак, а за участников этого чемпионата искусственных мозгов -- aNLI, https://leaderboard.allenai.org/anli/submissions/about. Это продолжатели дела CYC, они хотят закодировать common sence, здравый смысл. И сделали на эту тему соревнование. Рассказ про abductive commonsence reasoning -- https://arxiv.org/abs/1908.05739. У людей в этом соревновании 92.9% правильных ответов. У нейросетки BERT Large Finetuning -- 66.75%. У CYC (там ведь как раз цель соревнований была дизайн-целью) -- неизвестно, у IBM Watson (это ж победитель "Jeopardy!", по сути это ж то же самое) -- неизвестно. Но там много-много лет ручного кодирования знаний, а BERT тренируется, как мы знаем, за 53 минуты (грубо говоря, читает за это время в себя если не всю Библиотеку Конгресса, то сравнимый объём текста). А ещё было бы забавно увидеть соревнующимися там не только нейросетки и логические вычислители, но и людей. Скажем, команда победителей что-где-когда сколько бы решила в этом соревновании? Не смогла ли выдать больше ли 92%? С другой стороны, и это соревнование тоже ни о чём: нобелевские лауреаты и крутые политики обычно не эрудиты, а эрудиты и другие победители викторин не так уж и заметны в других сферах жизни. Но мы всё равно болеем.

Но причём тут Big Neuro и решение задач, объявленных в этом соревновании по использованию здравого смысла в рассуждениях? Напомню тезис Rich Sutton (http://www.incompleteideas.net/IncIdeas/BitterLesson.html): прогресс в AI определяется доступной вычислительной мощностью при простых алгоритмах. Размер решает. Текущая самая большая нейросетка GPT-2 8B пока всего в 24 раза больше BERT, текущего победителя соревнования по объяснениям на основе здравого смысла. И хотя понятно, что с этой архитектурой существенно улучшить результат не удастся, то альтернативные более успешные архитектуры вряд ли будут с меньшим количеством вычислений. IBM Watson, победивший в Jeopardy! -- это прежде всего суперкомпьютер! Big Neuro таки решает, а если там пойдёт ещё и Big Simulation и Big Logic, которые сольются в какой-то момент в Big Evolution Multi-engine, то аж дух захватывает, что может получиться!

UPDATE: обсуждение в фейсбуке -- https://www.facebook.com/groups/nevronet/permalink/1406594802840170/

Краткое содержание поста:
-- есть no free lunch тезис, что разные алгоритмы для разных задач имеют разные оценки времени
-- Sutton говорит, что побеждают простые алгоритмы при масштабировании. Типа нейросеток, когда их посадили на нормальный "их" кремний.
-- есть ряд классов алгоритмов, которые могут помогать решать разные задачи с интеллектом. Логика, эволюция.
-- по идее, должна быть когнитивная архитектура, которая позволяет использовать такие алгоритмы, маршрутизируя им соотвествующие классы задач
-- не факт, что их все нужно выполнять на нейро-инфраструктуре.
-- это означает, что перспективно попробовать ускорители и для логики, и для физики, и для эволюции в конечном итоге (где потребуется интеграция всех ускорителей: эволюционировать-то должна будет когнитивная архитектура!).

А эволюция съест всю вычислительную мощь, которая доступна, и ещё потребует. Так что радуемся и имеем дело с Big Neuro и Big ВсёОстальное.
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 9 comments