May 14th, 2020

2019

В мире AI всё по-прежнему экспоненциально

Сегодня стали известны характеристики очередного чипа от NVIDIA -- GPU А100 (монстр на 400 ватт, https://www.nvidia.com/en-us/data-center/a100/), ускорение вычислений за четыре года в 9 раз (среднее геометрическое по группе приложений машинного обучения):

Этот чип упаковывается по восемь штук в компьютер DGX за $200тыс. (версия этого компьютера на V100, которые вдевятеро медленней, стоила $130 в 2016, https://ailev.livejournal.com/1257675.html -- не точно закон Мура, но очень похоже), и этот компьютер выдаёт 2.5 PFLOP нового формата плавающих 32TF в одном толстом рэке. Новости этой архитектуры: она одинакова для обучения и вывода (раньше были специализации чипов для этих целей), и она хорошо масштабируется в рамках датацентра. NVIDIA объявила, что она теперь занимается вычислениями на уровне датацентра (и для этого купила Mellanox, специализирующийся на чипах DPU, чипы обработки данных). Сообщение было недвусмысленным: наследуем прежний интерфейс к ускорителям, обещаем сохранить этот интерфейс, и выдать масштабируемую линейку вычислителей. От роботов через суперкомпьютер к датацентру, где единицей является DGX SuperPOD (большой такой шкафчик с рэками). Свой внутрифирменный суперкомпьютер SATURNV они доращивают до 4.6 ExaFLOPS. Подробности читайте в https://blogs.nvidia.com/blog/2020/05/14/gtc-2020-keynote/.

Так что видим развитие на многих системных уровнях (я даже не все тут привожу, их много больше), пример системного, то есть многоуровневого, развития:
-- новая архитектура кремния, 7нм проектные нормы, причём подхаканная под потребности NVIDIA
-- чип А100 с новой архитектурой тензорных вычислений и новым типом плавающих
-- плата GPU ускорителя с этим чипом и интерфейс суперкомпьютерной шины
-- суперкомпьютер DGX (термопакет! отвести всё тамошнее тепло -- отдельная задачка) в 8 платами ускорителей и внешними интерфейсами к SuperPOD
-- SuperPOD, набитый суперкомпьютерами DGX и высокоскоростными сетевыми соединениями
-- Data Center, составленный из этих SuperPOD. То, что NVIDIA теперь поставщик универсальных датацентров для AI (а не чипов, а не плат), это и есть суть громкого объявления.

И мелкое объявление, что этим всем они могут торговать и в розницу, отдельно элементами каждого системного уровня. Даже DGX они готовы продать не целиком, а частями!

Наконец, объявлен вычислитель для роботакси (помним, что они его обещали выдать в 2021 году -- пока всё идёт по расписанию), там производительность 2PetaТOPS и потребляет это чудо 800Вт (одна метрическая лошадиная сила -- это 735 ватт. NVIDIA сделала для роботакси мозг в одну лошадиную силу, очень символично. И это немного, мощность какого-нибудь внедорожника сегодня от 200 до 400 лошадиных сил).

Всё-таки я снимаю шляпу перед системными инженерами из NVIDIA. Они абсолютно последовательно реализуют идеи системного мышления. Практически на каждой GTC конференции они объявляют о том, что сверху к имеющемуся стеку платформ добавляют ещё один системный уровень. А обнаруженные ими практики жизненного цикла поддерживают своими платформами. Основное в их презентациях -- это платформенные стеки и жизненные циклы. То, чему я учу на курсах, у них просто факты жизни, они так думают, они так делают. Поглядите их презентации, они для меня выглядят как иллюстрации к курсу системного мышления:

Хотя NVIDIA, конечно, лукавит про "самый большой чип в мире" (там 53млрд.транзисторов в A100). Cerebras тоже вполне работает, хотя там наверняка проблемы с софтом (нет "наследуемой архитектуры" и полчищ разработчиков), нет системных уровней выше одного рэка, но в чипе там аж 1.2трлн. транзисторов. Компьютер CS-1 на чипе Cerebras работает с ноября прошлого года в Argonn National Laboratory, и поэтому мы ничего не узнаем об этой работе (она обычно делает точное моделирование ядерного оружия). Хотя вчера там таки появилась информация, они занялись проблематикой COVID-19, и стало возможно об этом написать: https://www.cerebras.net/argonne-national-laboratory-and-cerebras-systems-leverage-the-worlds-fastest-ai-supercomputer-to-advance-covid-19-research/. Что пишут? Всё то же: ускорение вычислений в сотни раз. By using the CS-1, ANL can train models hundreds of times faster than before.

Прошлогодний тезис Sutton (что в AI значима только вычислительная мощность, а алгоритмы там оказываются простыми, http://incompleteideas.net/IncIdeas/BitterLesson.html) в очередной раз получил мощную многоуровневую системную поддержку.

Но что это я про суперкомпьютеры? Техники ускорения алгоритмов нужно смотреть и на смартфонах: там ведь скорость работы алгоритмов AI вообще критична. Вот из последних новинок: compression-compilation co-design, CoCoPIE позволяет работать нейросетевым алгоритмам на смартфоне в реальном времени, https://www.cocopie.ai/. Тут тоже прирост в разы: генетатор CoCo-Gen outperforms all other frameworks for all cases. On CPU, CoCo-Gen achieves 12× to 44:5× speedup over TFLite, 2:3× to 8:1× over TVM, and 1:9× to 15:5× over MNN, respectively. On GPU, CoCo-Gen achieves 2:5× to 20×, 4:1× to 11:4×, and 2:5× to 6:2× speedup over TFLite, TVM, and MNN, respectively. А pruning этот CoCoPIE делает до x180 в сравнении с TFLite. Авторы там напирают, что это позволяет иметь приличные нейросетки на телефонах, но и на крупных компьютерах это было бы неплохо реализовать!

И ведь это не единственная работа в таком направлении. Разгоном нейросеток занимаются сегодня все, это мейнстрим.

Но добавьте сюда последние улучшения и в самих "простых алгоритмах", которые и кушают всю эту вычислительную мощность. Так, самое свежее пришло из Uber (при этом тамошний начальник Stanley уже объявил, что с июня уходит работать над своими эволюционными алгоритмами в OpenAI) пару недель назад: https://arxiv.org/abs/2004.12919. Там продолжили тренироваться на видеоиграх Atari и превзошли предыдущие результаты где в разы, а где и в 150 раз, и впервые получили алгоритм, который один и тот же во всех играх, и играет лучше хороших игроков, хотя без некоторых добавок пока хуже чемпиона мира. Они просто предложили алгоритму запоминать те состояния игры, которые достаточно разнятся между собой, а потом регулярно возвращаться в них, чтобы исследовать игру дальше из этих состояний (до этого просто бродили-исследовали, не возвращаясь). И тут же получили резкий рост эффективности исследования.

А теперь представьте, что таким исследователям выдают машинку, которая способна ускорить их эксперименты вдесятеро! Держу пари, что эти ребята не будут ускорять свои текущие эксперименты. Нет, они будут двигаться в исследованиях примерно с той же длительностью отдельных вычислений, что и сегодня, но вот каждый эксперимент они будут делать вдесятеро более ёмким по вычислениям. И поэтому будут решать всё более и более трудные проблемы. В том числе и проблемы ускорения вычислений, AI ведь потихоньку уже изобретает сам себя, хотя и не так активно, как мог бы. Но это пока. Помним, что расчёт языковой модели сегодня может стоить до $1млн.. Нынешними темпами через пять лет (10 раз софтом,, 10 раз железом) это будет $10тыс.. И при таких ценах мы увидим ещё много новых приложений. Интеллект из машины будет стоить дешевле грибов, этот производимый на заводах интеллект и есть сегодня главная сила, меняющая мир. Да, и вас эта сила тоже поменяет, кто б сомневался! Экспоненты, они такие. На то, что там S-curve, пока и не надейтесь. Закону Мура ведь уже десятки лет предрекают смерть, но этот праздник пока продолжается.

UPDATE: обсуждение в чате блога с https://t.me/ailev_blog_discussion/3011, в фейсбуке -- https://www.facebook.com/ailevenchuk/posts/10218427462171918