Category: it

Category was added automatically. Read all entries about "it".

2019

Вычислительное мышление: эскиз структуры в сентябре 2020

Это просто рабочий дамп текущей структуры: чтобы собрать какие-то замечания и структурировать дальнейшую работу. Предыдущие развёрнутые материалы были в книге ОдО2020 (https://ridero.ru/books/obrazovanie_dlya_obrazovannykh/) и https://ailev.livejournal.com/1477090.html. Ключевые влияния с тех пор:
-- предложение проконтролировать, что речь действительно идёт о трансдисциплине (обучение условного директора стадиона во втором бакалавриате), а не о начальном курсе программистской специализации (обучение будущего айтишника).
-- экспоненциальный рост представленности на рынке нецифровых вычислителей (оптические и квантовые машины). То есть через пару лет это будет общее место, и директор стадиона не должен будет считать их шайтан-машинами и не должен говорить "цифровизация" (это ж нецифровые компьютеры).
-- выход ОдО с интеллект-стеком и определением трансдисциплин как управления вниманием, а также понимание "курсового окружения": пререквизитами будут онтологика (онтология, эпистемология/научное мышление, логика) и системное мышление.

Цель курса: дать связанные с системным моделированием объекты, на которые обращать внимание в проектах.
На что это должно быть похоже: что-то среднее между "системным мышлением" и книжкой "главный алгоритм" Педро Домингоса как обзором вычислений для AI.

UPDATE из комментов: каждый день к директору стадиона подкатывает кто-нибудь с "цифровой трансформацией", "цифровой экономикой" как способом что-то заработать — но директору непонятно, что именно заработать, и всегда при этом почему-то просят деньги, а не дают. Ему хотелось бы понимать, в каком месте рассуждения его с этим "цифровым двойником стадиона" и "цифровым двойником спортсмена" и "цифровым двойником болельщика" дурят. А ещё директор обнаружил, что его айтишник называет себя архитектором предприятия и в какой-то мере сам является цифровым двойником директора: без него почему-то не обходится ни одно совещание, и директор хотел бы понимать, как так вышло. Дочь директора вдруг заявила, что её сознание будет уже через пару лет загружено в компьютер, и поэтому она бросает учиться и просто ждёт этого момента: директор хотел бы поддержать на эту тему разговор, но не очень понимает, что в этой области происходит. А ещё ему на семинаре объяснили, что без квантового компьютера сейчас нельзя, его айтишник глубоко поддерживает идею, но почему нельзя, и почему это так дорого стоит?!

Вот курс вычислительного мышления должен помогать директору во всём этом: не как компьютерному профи, а как человеку, который должен фильтровать весь этот околоайтишный шум, который вокруг него происходит. Вокруг него давно не происходит физического, химического, механико-инженерного и прочего подобного шума, а айтишные разговоры про какие-то модели и цифровые трансформации — с утра до вечера. Как так получилось, почему так?! В этих разговорах и нужно помочь.

Конечно, директор стадиона тут условен: речь идёт отнюдь не только о корпоративном софте.

Как проверять усвоение материала, какая тут практика? Так же, как в курсе системного мышления: эссе на тему того, как делается системное описание в рабочем проекте, как идут вычисления по используемым в нём моделям.

Предварительная (ни разу не окончательная! это первый дамп, версия 0.0.1) программа курса:

1. Вычислительное мышление в интеллект-стеке
-- для чего нужны вычисления
-- границы с онтологикой (физика, математика, вычисления -- физичность вычислений и т.д.)
-- границы с системным мышлением
-- границы с кругозорами (инженерия для вычислений -- software engineering, data engineering)
-- информатика как работа с текстами и кодами
-- скорость вычислений и исследование операций

2. Понятие вычисления
-- логика/inference как вычисления (включая causal inference)
-- объяснения в вычислениях
-- доказательства как вычисления
-- моделирование как вычисление
-- мышление как вычисление
-- проблема генерации (вычисления нового)
-- модели и данные

3. Структуры и базы данных
-- системное моделирование как формализация/кодирование/онтологизирование
-- имитационное моделирование как рендеринг/деформализация
-- моделирование данных (онтологии/графы знаний)
-- коннективистские модели (языковые модели)

4. Основные вычислительные парадигмы
-- императивное программирование
-- функциональная оценка
-- логическое программирование
-- вероятностное программирование
-- квантовое программирование
-- дифференцируемое программирование (и нейросетевое программирование как подкласс)
-- генетическое программирование и эволюционные алгоритмы
-- NLP и что там из искусственного интеллекта (inference в парадигме QA)

5. Многоуровневость вычислений (стеки и конвейеры/ленивость)
-- размытость границы софт-хард
-- ленивость и t-shirt конвейер Алан Кея сотоварищи
-- компьютерная архитектура
-- Осы, виртуализация

6. Основные типы аппаратуры вычислителей
-- аналоговые компьютеры
-- цифровые компьютеры
-- статистические компьютеры (вычислительная оптика)
-- квантовые компьютеры
-- разные вычисления (на DNA и прочей экзотике)

7. Распределённые вычисления
-- компьютерные сети и закон Амдаля
-- компьютерный туман
-- совместные вычисления людей и экзокортекс
-- совместные вычисления людей и компьютеров (exploratory programming)

8. Представления и нотации
-- мощность, безопасность, человеколюбие языков программирования
-- графика против текста

9. Искусственный интеллект как вычислитель
-- сжатие, внимание и сознание, воображение и т.д.

10. Особенности обеспечения/жизненного цикла вычислителей
-- жизненный цикл вычислителя (от компьютерной инженерии до DDD в корпоративном IT -- есть ли особенности?)
-- использование вычислителей для создания вычислителей (от кремниевых компиляторов до AI-автокомплита в IDE)
-- вычисления "в малом" и "в большом"
-- закон Мура и аналогичные ему представления

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

Об терминологию

Слова абсолютно не важны: назови хоть горшком, только в печь не сажай -- и роза пахнет розой, хоть розой назови её, хоть нет. Слова важны, ибо от использования слов существенно зависит понимание: словарные значения помогают определить смысл, и какие-то элементы значений привязаны не только к словам, но и к буквам (помним работу Karpathy 2015 года про character-level language models, http://karpathy.github.io/2015/05/21/rnn-effectiveness/). От биологической нейросетевой (а не строго логической) природы мозга, реагирующего на терминологию, не уйдёшь, не спрячешься! В учебнике "Системное мышление 2020" отношению к терминологии посвящён целый раздел, там обсуждается и терминологический фашизм, и терминологический пофигизм.

Вот примеры терминологических ошибок:
-- Чемпион -- слово "уровень", которое должно бы означать системный уровень (уровень деления системы на части). Но слово "уровень" ошибочно используется в одном и том же тексте в самых разных других значениях: указание на слои/layer (а хоть и слои в торте), степени трудности (как уровни в игре, зрелости как уровни в освоении какой-то практики), какие-то уровни в классификаторе, и вообще всё что угодно. Если у вас машинка типов в голове, то использование слова "уровень" в пяти разных значениях в одном тексте сильно сбивает при чтении! Поэтому когда вы пишете или говорите о чём-нибудь, аккуратней с "уровнями" -- это не просто указательное местоимение для чего угодно, не путайте людей!
-- Фреймворк/framework -- поскольку на русский язык это слово перевести трудно, то оно тоже используется как что угодно для описания domain. Фреймворком после этого будет и рабочее место, и онтика, и практика. Скажем, zettelkasten как метод "мышления письмом" будет обозван фреймворком (https://www.facebook.com/airatburganov/posts/1023766508139268), равно как TOGAF -- это архитектурный фреймворк. Обычное значение в методологии -- это перечисление объектов внимания в какой-то задаче, чтобы дать подходы к описанию какой-то ситуации, фреймворк задаёт онтику (например NIST PWG Cyber-Physical Systems Framework https://www.google.com/search?client=firefox-b-d&q=NIST+PWG+Cyber-Physical+Systems+(CPS)+Framework+Release+1.0). Иногда этот framework расширяют в значении до полного viewpoint/метода описания: кроме онтики предлагают терминологию/нотацию, дают рекомендации с чего начинать и чем заканчивать описания. Слово framework по-русски иногда проще давать как "подход": как подходить к мышлению о каком-то domain (хотя approach тоже переводится как "подход" и означает немного другое: наработали какое-то мышление в одной предметной области и затем подходим с этим мышлением в разные другие предметные области, намёк на трансдисциплину. Например, подход системной инженерии, системный подход -- это указание на трансдисциплинарность). В программировании фреймворк -- это то, что будет вызывать твои прикладные модули (в отличии от библиотеки, которая вызывается твоим прикладнм модулем). Но фреймворки обычно не говорят, что делать. Что делать говорят практики: там и дисциплина (которую с натяжкой можно назвать фреймворком), и технологии/инструменты (типа картотеки в практике zettelkasten или кухонного таймера в практике pomodoro).

Как поступать с такими ошибками? Тут есть две роли, которые должны озаботиться этими ошибками:
-- терминолог-провокатор: это автор терминологии, который может буквально провоцировать на ошибки. Если речь идёт о переводных терминах, то прежде всего пробовать поменять саму терминологию, провоцирующую на ошибки. Так, в учебнике системного мышления слово definition/определение поменялось на "описание" -- и жизнь с описанием системы немедленно наладилась. Stakeholder/стейкхолдер" поменялось на "проектную роль" -- и сразу понимание темы ролей стало в разы выше. Остаются проблемы со словом concern/interest -- ему тоже начинаем искать замену (кандидаты сейчас -- "область интересов", "тематика", https://ailev.livejournal.com/1538265.html). Но это решение не подойдёт во всех случаях: так, слово "уровень" в "уровень системного разбиения/системный уровень" не так просто заменить, чтобы не быть обвинённым в совсем уж вольном переводе. В любом случае, предложение термина либо провоцирует на ошибки (бытовое понимание, через которое будет протащен "здравый смысл" народной онтологии, см. про concept inventory https://ailev.livejournal.com/1197467.html), либо не провоцирует на ошибки. Не нужно быть провокатором!
-- пользователь терминологии, который использует заданный терминологом-провокатором термин в речи или на письме. Тут совет только один: иметь в голове машинку типов (https://ailev.livejournal.com/1532144.html), и каждый термин считать заданием типа. И иметь некоторый кругозор, чтобы в голове был некоторый "словарный запас", понимаемый как запас типов. Тогда у пользователя терминологии будет загораться в голове красная лампочка, когда захочется один термин использовать для обозначения разных типов объектов/разных понятий.

UPDATE: обсуждение в фейсбуке -- https://www.facebook.com/ailevenchuk/posts/10219447433990576
2019

Курс вычислительного мышления: надо делать!

Студиозус в первом семестре института мехатроники и робототехники СТАНКИНа имеет только два предмета из инженерного кругозора: машиностроительные технологии и инженерную компьютерную графику. Всё, инженерия на этом закончилась. Остальное -- продолжение средней школы: химия, физика, математика, информатика, иностранный язык. И продолжение индоктринации (враг не пройдёт!): физкультура, история, русский язык. Это чётко показывает, что в вузах нет продуктивных идей по поводу современного бакалавриата. Понимание, что в школе чему-то недоучили -- это есть. Но нет понимания, чему именно. "Мы учили 11 лет ребёнка русскому языку, и ещё он каждый день разговаривал и писал по-русски, жил-то в России. И что-то плохо получилось -- умней он от этого не стал. Давай поучим ещё в бакалавриате, вдруг всё-таки поумнеет?!" -- логика примерно такая.

Продолжаю определяться с тем, куда думать в четвёртом квартале (https://ailev.livejournal.com/1535897.html). По очкам начинает выигрывать тема сдвижки с места вычислительного мышления. Аргумент Вячеслава Мизгулина, что без этого курса и системная инженерия и системное моделирование в системном мышлении, и кусок с моделированием в онтологике не очень понятны -- он остаётся, в этом месте у нас пока образовательная дыра. Я сообразил, что и в части мышления о личном и корпоративном экзокортексе без вычислительного мышления плохо, да и моделирование предприятий тоже как бы в воздухе: как системное мышление лежит в основе системного менеджмента, так и вычислительное мышление! И в части понимания как думать об AI, что сегодня уже совсем актуально (если фон-неймановский компьютер для выпускника 2000 года не шайтан-машина, то нейросетевые алгоритмы уж точно загадочны, а квантовый компьютинг уж совсем непонятен -- а ведь уже полно коммерческих сервисов, типа https://forge.qcware.com/, https://aws.amazon.com/braket/).

Кому предназначен этот курс? Хорошее предложение было -- поглядеть на директора стадиона как студента. Ибо если какой-нибудь программист будет делать курс вычислительного мышления, то он неявно будет стараться породить себе подобного -- тоже программиста, соблазн велик! А нам нужна постановка вычислительного мышления, а не выпуск очередного программиста. Понятно, что директор стадиона нуждается в вычислительном мышлении, ибо активно работает со всевозможными моделями. Но не факт, что он хочет быть программистом, и что его нужно готовить к программированию. Речь идёт о трансдициплине, а не о прикладной дисциплине. Это даже не кругозорная дисциплина типа программной инженерии/системной инженерии. Нет, это трансдисциплина: как думать о моделях и вычислениях над ними, на что обращать внимание (какие объекты в этой предметной области). И помним, что речь идёт о computer science, которая всё чаще и чаще рассматривается сегодня как "экспериментальная наука".

Текущая постановка задачи курса вычислительного мышления была сформулирована в середине 2019 года в https://ailev.livejournal.com/1477090.html, в каком-то чуть упрощённом виде она вошла в книжку "Образование для образованных 2020" (https://ridero.ru/books/obrazovanie_dlya_obrazovannykh/). Это, конечно, сильно отличается от текущей трактовки в MIT, где computational thinking это главным образом про численные методы (вычисления же!) и как их реализовать на классических компьютерах (https://mitmath.github.io/18S191/Fall20/). На данном такте (конец 2020 года) эту постановку задачи нужно докручивать в стыковке с курсами онтологики и коммуникации а также системного мышления. Вот текущее понимание предмета, в сверхкомпактной форме:
Вычислительное мышление (computer science) -- это управление вниманием в ситуациях вычисления (как системное мышление -- это управление вниманием в ситуациях с системами). Вычисления -- это работы вычислителей с описаниями (тезис extended computer, аналогичный тезису extended mind нужно рассмотреть отдельно). Вычислители (алгоритмы, реализованные компьютерами самых разных архитектур или живыми мозгами) не должны восприниматься как шайтан-машины: это основная задача курса. Описания=тексты (концепция "всё есть текст") и коды. Работы с описаниями -- работы информатики (https://ailev.livejournal.com/1008054.html, перетекстовка, кодирование, отекстовка, перекодирование). Стык с системным мышлением: описания -- это информационные модели системы, или же информационные модели других описаний (описания описаний). В ситуациях вычислений (в том числе вычислений интеллекта -- мышления) должны быть объекты внимания, при отслеживании которых можно создавать успешные вычисления (успешные описания aka моделирование данных и успешные вычислители aka алгоритмы для вычислений как работы с описаниями). Моделирование, программирование, онтологизирование -- это одно: подготовка описаний к вычислениям. Программная инженерия и компьютерная инженерия -- это про разработку и воплощение успешных вычислителей над данными описаний (вычислители -- это алгоритмы, они воплощаются софтом и аппаратурой, граница между которыми весьма условна).
Это всё онтологически чистить, раскрывать, потихоньку формировать последовательность изложения.

UPDATE: обсуждение в фейсбуке -- https://www.facebook.com/ailevenchuk/posts/10219409311557539
2019

Искушение сложностью

Частая ошибка у начинающих системных мыслителей – это выбор для первых проб системной мысли предельно сложных случаев, которые будут трудными и для опытных системных мыслителей. Прежде всего это ситуации, связанные с длинными цепочками информационных технологий (когда речь идёт не о физическом мире, а о длинных цепочках описаний, базах данных, компьютерных моделях, неочевидно связанных с физическим миром). В курсе чётко говорится о том, что целевая система должна быть физична. Софт и базы данных этого софта – это описания, и не всегда это описания физического мира, часто это ещё и описания других описаний. Терпения и квалификации распутывать эти длинные цепочки описаний у начинающих мыслителей не хватает, предупреждение об осторожности при работе с айтишными проектами на них не действует.

Это как первоклассник музыкальной школы берёт сыграть на рояле в качестве первой пробы услышанный по радио свежайший оркестровый хит – да, прямо все инструменты в этом оркестре, вот давайте попробуем, ответьте мне, как мне это сыграть сегодня к вечеру! Преподаватель может лишь печально сказать, что сейчас – никак не сыграть. Разбирательство со сложными корпоративными айтишными проектами – худший вариант для начала работы с системным мышлением. Увы, это замечание мало кого останавливает. Но оно есть, вернитесь и перечитайте.
По определению сложны также все оргпроекты, ибо в них задействованы люди. Людей очень, очень трудно моделировать. Нужно иметь определённый опыт для мышления о людях. Тем не менее, большинство первых систем, о которых хотят думать новички в системном мышлении оказываются системами с людьми. Не нужно так! Это слишком сложно! Вы запутаетесь! Первокласснику не нужно брать решать дифференциальные уравнения, ему сначала нужно тренироваться на арифметике!

Если людей очень много (город, страна, общество), то ситуация ещё более сложна в системном моделировании, чем ситуация с предприятием. В предприятии вы ещё сможете на что-то влиять. Если людей много, то возможности целенаправленного действия малы, мышление будет непродуктивно – мышление начинающих системных мыслителей будет изобиловать ошибками ввиду чрезвычайной сложности таких ситуаций. Ведь у множества людей у всех разные предпочтения, они все сами пытаются что-то сделать (а не ждут ваших действий, не ждут, пока вы о них системно подумаете – они не мечтают, чтобы вы планировали их жизнь. Вот и не планируйте!).
Вернитесь и перечитайте эти предупреждения: там, где много информационных технологий и людей (а часто в проекте есть и софт, и люди – причём что-то из этого даже не замечают!), будьте осторожны с первыми примерами системного мышления. Не берите такие примеры. Не начинайте со своего самого запутанного рабочего проекта, вы только разочаруетесь. Если вы вчера начали изучать суахили, не ввязывайтесь в ситуацию синхронного перевода на бизнес-встрече военных с коммерсантами, кроме неприятностей из этого ничего не получится. Подождите, пока вы не достигнете какой-то беглости. Тренируйтесь на более простых проектах, где поменьше информационных технологий и поменьше людей.

Конечно, при этом появляются огромные трудности в организации обучения: у человека максимальные сложности в его текущих проектах, и учит он средство уменьшения этой сложности, но как раз в этот эпицентр сложности с его текущим умением ему попадать нельзя, нужно до этого хотя бы немного потренироваться на более простых примерах!
* * *
Это я потихоньку переписываю "Системное мышление", вписал в текст эту небольшую новую главку. Этот пост от реальной боли: учебник обычно прочтён до конца второй главы и кусочек третьей, и тут берётся какой-нибудь тяжёлый проект корпоративного софта, и прямо с развороту начинается системное моделирование. Да, с прочитанной парой глав учебника, ибо "всё ж понятно". Вот я тут против такого. Текст вставил в первую главу.

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

Видео моего вчерашнего стрима - 3

Видео третьего стрима ШСМ "Как усилить интеллект", я опять отвечал на вопросы для всех присутствующих (AMA, формат Ask Me Anything) -- https://www.youtube.com/watch?v=5UICZVX3VuA

В этот раз я успел ответить на все вопросы, серия окончена! Вот вопросы третьего стрима:
-- 00:00 Рендеринг, разворачивание схемы... Как "разворачивать" так чтобы к вот этим существенным вещам добавлять несущественные детали? Я к тому что откуда я возьму эти детали и вспомню что они вообще были в том количестве и качестве? Артемий
-- 3:03 В каком-то из ваших материалов было написано " умение одновременно удерживать во внимании несколько вещей" (недословно). Вот как развивать это "одновременное удержание во внимании" взгляда на какой-то вопрос? Артемий
-- 6:51 Какая карта развития в области робототехники существует? И на каком языке программирования можно писать код для автономных костюмов солдат и для боевых мехов? Естественно чтобы у этих систем была хорошая скорость реакции. Дмитрий
-- 15:45 Спасибо за ответы на вопросы. И да, я ошиблась с вопросом про "ожидаемые представления", простите. Там были "ожидаемые наблюдения", но это еще сложнее))) Раздел Терминология "В таких «спорах о терминах» важно уметь их распознать, а затем формулировать в речи свои представления о мире как ожидаемые наблюдения, а не через терминологию из вашего любимого диалекта, даже если она берётся из вашего любимого стандарта или словаря". Светлана
-- 16:20 В одной из ваших публикаций, если не ошибаюсь, было упомянуто о возможном применении системного подхода в коррекции зрения. Планируется ли в будущем попытка решить такую задачу или, может быть, вы передумали? Какие наработки будете использовать? Александр
-- 17:47 Анатолий Игоревич, какое у вас отношение к алкоголю? Любите пробовать какие нибудь дорогие вина в сочетании с правильной едой? Александр
-- 22:30 о ЖСТЛ -- Телятников Андрей Анатольевич (также ответ письменно в комментах тут: https://vk.com/wall2449939_2865)
-- 26:55 1. Работы А. Зиновьева по логике и методологии - оценка и вклад в развитие онтологии/логики с вашей точки зрения. 2. Ваше отношение к личности Мао Цзедуна и Сталина? 3. Нужна ли лингвистика образованному человеку, особенно кодеру/программисту? Вообще же как для повышения квалификации норм? Афанасий Никитин
-- 32:48 "1. Когда идет речь про системный подход, то по-английски пишут systems, вместо system. Почему в адресе сайта ШСМ используется system? А не systemS-school.ru? 2. Школа занимается не только обучению менеджменту, в этой связи нет ли планов по её переименованию? Менеджмент - это не узко для такой широкой программы? Наверное, люди, которые сталкиваются со школой в первый раз и не интересуются менеджментом, могут пройти мимо" Василий
-- 39:00 Добрый день, Анатолий! Расскажите чем отличаются между собой теории, трансдисциплины, прикладные практики? А ещё методы от методологий? Сергей
-- 47:27 Анатолий, извините пжл, за вопрос(. Какие ваши основные достижение, которые вы достигли с помощью системного мышления? И можно ли гарантированно достичь успеха с помощью системного мышления. При учете, что я буду добросовестно учиться и практиковаться. Спасибо Светлана
-- 55:18 -- о повторении больших проектов, например АРИЗ/ТРИЗ. Андрей Анатольевич Телятников Также письменно в комментах ответ тут: https://vk.com/wall2449939_2890
-- 59:37 Анатолий, а когда будет готов Aisystant и будет ли возможность там разместить свой курс? Будет ли школа помогать с содержательной разработкой курса? Ирина

Ответы (видео) первого стрима: https://ailev.livejournal.com/1526845.html, второго стрима: https://ailev.livejournal.com/1528094.html
2019

lytdybr

Бета-читатели начали присылать первые замечания (и лучше бы они поторопились), а я начал прописывать кейсы и упражнения "Образования для образованных". Упражнения -- это превращение книжки в "рабочую тетрадку", разные таблички для заполнения. Скажем, в учебнике системного мышления это могло бы быть заполнением таблицы ролей для совещания или проекта. А тут я могу предложить оценить для нескольких последних проектов, в которых ты принимал участие отдельно этичность целей и отдельно этичность средств -- по пятибалльной системе. Фишка упражнений в том, чтобы материал курса пытаться прикладывать к себе, не считать его абстрактным. Без кейсов и упражнений книжку можно было бы уже отдавать на вёрстку, но я таки жду комментариев от бета-тестеров. Писал я в том числе и ночами, фанетичиских аписок там палным пално, их бы лучше удавить до публикации.

AI приходит в науку тихо и неслышно, но в ближайшее время перевернёт там всё к чёртовой матери. Вот тут https://arxiv.org/abs/2006.11287 предложили, как графовую нейронную сетку дистиллировать в алгебру, а затем подбирать в этой алгебре математическую форму (символьная регрессия, https://en.wikipedia.org/wiki/Symbolic_regression ) для выражения закономерностей в физических наборах данных. Чтобы проверить подход, переоткрыли уравнения ньютоновской механики, переоткрыли гамильтониан, и предложили закон (математическую формулу) для описания гало тёмной энергии в космологии -- чтобы продемонстрировать не "переоткрытие", а "открытие". Собственно, основная физическая интуиция как раз и берётся символьной регрессией, причём там тот самый эволюционный подход, на который я последнюю пару лет указываю, как на основной, за которым нужно следить после собственно нейросетей как частного случая дифференцируемого программирования. Лидер в этой области вполне уже коммерциализован: https://www.nutonian.com/, эволюционный/генетический алгоритм символьной регрессии Eureqa. Физика оказывается при этом только хобби и рекламой, я даже не уверен, что разработчики Eureqa имеют какое-то отношение ко всей этой космологии и гамильтонианам. Compared to other machine learning outputs, M.I. models are simpler and more transparent. The models are presented as mathematical equations, interactive visualizations, and plain English explanations, so end users can seamlessly understand results and recommendations. Это из https://www.nutonian.com/products/, и в этой фразе M.I. это Machine Intelligence™ -- уже сделали (tm), как мило с их стороны. В любом случае, наука уже не будет прежней. Копают уже не руками, и не палкой-копалкой, и не лопатой, а экскаватором. Для вытаскивания законов природы из данных палка-копалка уже готова, статья опубликована. А лет через пять ждём, что новые законы будут грести уже лопатой. Просто удивительно, как мало людей, понимающих суть происходящих перемен. В науке тоже всё новое приходит сбоку. Новое в физике приходит отнюдь не из самой физики, неудивительно, что физики не будут понимать, что происходит -- как уже сейчас не очень понимают лингвисты. Вот думаю, что нужно это тоже в книжку вписать. А то у меня там пока сплошная промышленность с подобными примерами.

UPDATE: обсуждение в фейсбуке -- https://www.facebook.com/ailevenchuk/posts/10218828433275945
2019

Учим работать с понятиями: из homo делаем homo sapiens

Большинство наших студентов приходит на курсе онтологики примерно в том же состоянии, что самая большая в мире нейронная сеть GPT-3 (175млрд.параметров, https://arxiv.org/abs/2005.14165). Эта сетка умеет сгенерировать несколько абзацев новостного текста, неотличимых людьми от написанных людьми же. Эта сетка очень хорошо моделирует быстрое интуитивное мышление S1 по Канеману, и именно это мышление хорошо развито у наших курсантов. Мышление говорящего попугая, но на стероидах. У сетки (даже такой большой как GPT-2, даже такой крутой, как нейросетка попугая) слабый интеллект: она не переключается в режим медленного рассудочного мышления S2, и поэтому решает меньше задач, чем нейронная сетка человека. У homo такая аппаратная возможность есть, и поэтому homo -- sapiens/разумный.

Работа с GPT-3 показала, что журналистам и другим литераторам иметь рассудочное мышление необязательно, просто много читать (думать не обязательно), и их нейросетка будет генерировать отличные новости, наполненные яркими образами! У них в голове оказывается модель языка, в которой отражена модель мира (тексты, на которых обучают такие компьютерные и/или человеческие сетки, описывают мир -- и модель одновременно получается моделью мира и моделью языка). Но модели мышления, модели понятийного рассуждения в голове нет, равно как и в компьютерной нейросетке. Инженерам, менеджерам, предпринимателям это не подойдёт, им нужно уметь рассуждать. Для этого нужна работа с понятиями, онтологическая работа.

На курсах онтологики мы заставляем студентов писать на онтологическом псевдокоде (за 36 часов мы из них точно не делаем онтологов, которые могут писать на онтологическом языке, чудес не бывает). Через некоторое время у них в голове что-то щёлкает, и они начинают выдавать приемлемый онтопсевдокод. Из просто homo, генерирующих простые тексты, они становятся homo sapiens -- научаются схематизировать и обсуждать полученную понятийную схему в связке с реальностью. Вот как об этом пишет Максим Цепков, обсуждая лекцию Петра Щедровицкого и наши результаты (https://mtsepkov.org/Блог:Максима_Цепкова/2020-05-28:_Щедровицкий._Что_такое_мышление-2 ):
Петр рассказывал про исследования, которые сейчас проводятся на старших школьниках, это было упомянуто, а в ответах на вопросы в третьей лекции было подробно. Результат – 90% отечественных школьников к 9-му классу ничего не понимают ни в физике, ни в математике, ни в литературе. Стоит их чуть-чуть потрясти, и выясняется, что за словами никаких значений не стоит. Они умеют плести какие-то плетенки из слов, но за этими словами не стоит ни референтов, ни денотатов, не видят схем и даже значений слов, не понимают, о чем идет речь. А как они при этом воспроизводят информацию - надо исследовать. Дети не могут перейти от формулировки условий задачи к мысленному образу практической ситуации, которую надо разрешить. Не могут, как ни бейся, хоть меняешь птичек на стахановцев и на бассейны, из которых вода вытекает, все равно не могут. Это была почти цитата из лекции.

Кстати, в IT тоже встречается. Аналитик берет диаграмму бизнес-процессов, и играет ее квадратиками, совершенно не представляя сути вещей, которая за ними стоит. В которых, помимо собственно работы софта есть какая-то деятельность в реальном мире, которая лишь регистрируется в системе, и ее нельзя так произвольно тасовать и изменять.

С моей точки зрения, это очень интересный и проблематизирующий результат. Потому что в другой форме он проявился, например, в курсе системноинженерного мышления Левенчука: Анатолий обнаружил, что слушатели, а у него – не только аспиранты и студенты, но в действующие менеджеры и инженеры не умеют проводить онтологическую работу, выделять понятия в своем проекте и связи между ними. И результатам у него был запрос к философам-рационалистам на обучение этому. Курс создали, Прапион Медведева ведет его. То есть имеем ситуацию: человек относительно успешно действует в некоторой области, но при этом не умеет выделять понятия и строить онтологии, для действия это оказывается не обязательно. Да, отсутствие этого не позволяет научиться определенным способом действия, которые дает системная инженерия, делать какие-то сложные вещи.

А теперь Петр говорит, что аналогичная ситуация, просто на другом уровне – у школьников. Они успешно сдают ЕГЭ и поступают в ВУЗы, учатся там – без мышления, если говорить результатами его исследований.

И тут возникает вопрос: а может быть, речь идет о каких-то других формах мышления? Которые позволяют действовать, в том числе вести совместную деятельность, строить и осуществлять планы, вести проекты, но не укладываются в привычные представления? Которые пренебрежительно называют «клиповым мышлением», не думая, что именно за счет этого дети эффективно осваивают картину мира и действуют в ней, и сохранение такого подхода во взрослом состоянии, в синтезе с другими методами будет эффективно?

Почему мне это важно? Потому что в формулировке Петра проблем с мышлением школьников я узнал известную в IT проблему проектирования, которая приводит к не работающим решениям. Аналитики получают запрос на новый функционал, например, о том, что поступивший платеж надо отнести к договору, и проектируют решение: на форме ввода платежей добавим поле с договором. Не задумываясь о том, что бухгалтер, импортирующий платежи из выписки не знает о том, к какому договору платеж относится и не сможет заполнить поле.

Или проектируя рабочее место сотрудника магазина, отбирающего товар по интернет-заказам делают простое решение: поступил заказ со списком товаров, сотрудник их отбирает по одному и нажимает кнопку «отобрал». Опять-таки не задумываясь о деятельности – сотруднику надо пойти, как-то опознать товар по названию, не читая подряд все этикетки, товары могут быть в разных местах магазина, если надо три штуки – он находит их по одной. И если в случае с бухгалтером еще можно как-то предположить, что аналитик просто не знает специфики работы и не может представить, то во втором случае ситуация более явная, в магазинах все были и знают, как они устроены.

Раньше я полагал, что проблема просто в том, что люди думают в рамках IT-системы, не выходя за ее границы в надсистему деятельности. Системный подход на этом фокусирует внимание. А после этих лекций Петра задумался о том, что, возможно, просто выйти в натуральное описание – недостаточно, нужно, чтобы у людей была соответствующая онтология, описывающая этот кусочек мира. Которая устроена как-то по-другому, чем онтология IT-систем, в которой они ведут проектирование.
Вот именно это место мы и исправляем. Курс онтологики прежде всего говорит, что есть ты, есть мир, есть модель мира -- и есть другие люди с их моделями мира. И нужно понимать связь модели, мира и людей в их ролевом многобразии. А системное мышление -- это уже поверх этого. Системное мышление -- это понимание, какие модели удобно использовать в сложных ситуациях.

Ужас в том, что курс онтологики демонстрирует на первых занятиях непонимание того, что написано в учебнике системного мышления. Люди читают текст, как художественное произведение -- не соотнося с миром, не понимая учебник как модель. Вот это и исправляем. Буквально раскрываем глаза: кроме самого текста заставляем видеть автора текста (текст -- это модель мира, сделанная автором), себя (и составляемую для себя модель мира) и сам мир, общий для вас с автором. Сложно? На первых порах -- сложно, к концу курса это уже беглый навык. И ещё 20% студентов этот навык откуда-то получают ещё до прихода на курс, на курсе они только научаются этот свой способ работы обсуждать, распознавать его у других людей, получают для этого слова. А остальным 80% этот навык приходится ставить по факту с нуля.

А дальше? А дальше системное мышление, системный менеджмент и системная инженерия. И вот тогда уже можно получить реальную пользу для своих проектов.

Самый для меня интересный момент -- это понятийная работа, нужная для функционального именования системы по её типу. Когда это удаётся сделать (а мы тратим на курсе пару дней обсуждения целевых систем участников курса), лифтовый тест (можно ли про систему понятно рассказать за 2 минуты поездки в лифте) проходится. И это ведёт к резкому облегчению в коммуникации по поводу системы. Жизнь в проекте драматически улучшается. Мы начали такую работу вести на текущем 18 потоке не только на занятиях, но и на форуме группы. Сегодня как раз был один из очередных прорывов -- система получила своё функциональное имя, основанное на типе. Нет работы с понятиями, рассудочного мышления S2 -- нет системного мышления, есть только журналистское мышление, как в нейронной сетке GPT-3. Помним, что люди не отличают тексты GPT-3 от текстов других людей. Но в других задачах эта нейронная сетка плоха, думать она не умеет. Она умеет плести тексты, очень правдоподобные тексты. Для литературного творчества сойдёт, для проектной работы -- нет.

Мой пойнт в том, что без понятийной работы в проектах жить нельзя. Нужно уходить от работы со своим мозгом как с обучающейся каким-то языковым паттернам нейросеткой. Нужно учиться понятийным паттернам и рассуждениям с ними, а это другое. Нужно осваивать онтологику, системное мышление, деятельностные кругозоры -- системный менеджмент, системную инженерию, предпринимательство. И тогда будет совершенно другая жизнь. Один из наших выпускников так и сказал, что не может сейчас представить, как он жил без хорошего мышления раньше -- а ведь он был не самым глупым в своём окружении. Он стал человеком, который осознанно умеет включить рассудочное мышление S2 и провести сложное рассуждение. Это даёт ему другое качество восприятия мира. Я его хорошо понимаю. Я сам не понимаю, как я работал ещё десяток лет назад. Онтологическая машинка у меня, по счастью, в мозгу была включена сразу после вуза -- я занимался пару лет AI в исследовательском вычислительном центре РГУ. Но вот чем отличаются функциональные схемы от конструктивных я внятно не мог объяснить, а ведь я в какой-то момент называл себя системным архитектором! У меня на "Системном мышлении и стратегировании" обязательно присутствуют сейчас на курсе один-два архитектора. Один из них сказал, что только после курса понял, в чём состоит его работа. Эх, я понял, в чём состояла моя работа как системного архитектора сильно позже того, как перестал им работать!

Мы берём людей ровно в том состоянии, в каком их описывает Максим Цепков, повторю: "Стоит их чуть-чуть потрясти, и выясняется, что за словами никаких значений не стоит. Они умеют плести какие-то плетенки из слов, но за этими словами не стоит ни референтов, ни денотатов, не видят схем и даже значений слов, не понимают, о чем идет речь. А как они при этом воспроизводят информацию - надо исследовать. Дети не могут перейти от формулировки условий задачи к мысленному образу практической ситуации, которую надо разрешить. Не могут, как ни бейся, хоть меняешь птичек на стахановцев и на бассейны, из которых вода вытекает, все равно не могут". И учим. Это совсем не глупые люди. Просто их никто никогда в явном виде связи моделей мира, мира и отношениям их самих к миру и моделям не учил. Мы учим. Мы делаем из них не просто хороших homo, а homo sapiens. Меняем их интеллект-прошивку мозга из древней вузовской версии на свежую версию 2020 года. Прежними эти люди уже не будут.

UPDATE: обсуждение в фейсбуке -- https://www.facebook.com/ailevenchuk/posts/10218563664736897, https://www.facebook.com/alexey.tigarev/posts/10157531467681173
2019

AI at Scale: к гонке экзафлопсов для AI присоединилась Майкрософт

Я дважды на прошлой неделе писал про начавшуюся гонку экзафлопсов. Кто богат, тот будет и машинно умён:
-- "В мире AI всё по-прежнему экспоненциально", где упоминал строительство NVIDIA собственного суперкомпьютера и переходе в NVIDIA на мышление "датацентрами" и их фрагментами: https://ailev.livejournal.com/1518306.html
-- "SoTA искусственного интеллекта принадлежит богатым, и это не случайно", где давал ссылки на исследования формулы прямой связи числа параметров и количества шагов вычислений в нейросетках с их качеством работы: https://ailev.livejournal.com/1518532.html

Вчера Майкрософт сделал инициативу AI at Scale, присоединившись к клубу строителей суперкомпьютеров для AI -- https://innovation.microsoft.com/en-us/ai-at-scale (технические подробности у них тут: https://ms-innovation-dev.azurewebsites.net/en-us/exploring-ai-at-scale). Речь идёт о публично доступной облачной инфраструктуре Azure с хорошо провязанными между собой кластерами с GPU V100 от NVIDIA. В качестве примера эффективности гигантомании в машинном интеллекте даётся нейросеть MS Turing NLG на 17 млрд. параметров. Всё это вычислительное богатство предлагается использовать в бизнесе, прямо сейчас, кому угодно -- только плати!

Microsoft вложила некоторое время назад $1млрд. в OpenAI. И значительная часть этих денег пошла на обеспечение масштаба в вычислениях, реализуется тот же тренд. OpenAI с Microsoft построили пятый по величине в мире суперкомпьютер, исключительно для своих исследований, о чём вчера и объявили -- https://venturebeat.com/2020/05/19/openai-microsoft-azure-supercomputer-ai-model-training/. Текст по ссылке обсуждает в том числе сложное сочетание тренда на пока экспоненциальное уменьшение объема вычислений для выполнения стандартных задач из https://venturebeat.com/2020/05/05/openai-begins-publicly-tracking-ai-model-efficiency/ и не менее экспоненциального роста требуемой компьютерной мощности в связи с ростом самих задач. Мало того, что весь "разгон" за счёт эффективных алгоритмов съедается растущей сложностью задач, но требуется этот рост сложности ещё и кормить добавочной вычислительной мощностью.
UPDATE: оценки экспоненциального роста вычислительных возможностей, нужных для решения текущих задач в AI https://venturebeat.com/2020/07/15/mit-researchers-warn-that-deep-learning-is-approaching-computational-limits/. А Graphcore готов выдать петафлоп в объёме коробки из-под пиццы -- https://venturebeat.com/2020/07/15/graphcores-m2000-ai-computer-can-achieve-a-petaflop-of-processing-power/
UPDATE: OpenAI построил модель GPT-3, которая может генерировать текст в несколько абзацев, неотличимый людьми от текстов, написанных людьми -- и на генерацию 100 страниц текста там уходит 0.4Квт*час, это буквально несколько центов, https://arxiv.org/abs/2005.14165

Ещё один знак: вся эта мощность начинает уходить не в обработку изображений и аудио, как было до сих пор. Нет, эта мощность начинает уходить на языковые модели, работу с текстами. AI как-то научается читать, и вынимать из огромного количества текстов кривую "народную" (ни разу не научную!) модель мира. Качеством данных, которыми кормят эти суперкомпьютеры, уже озаботились. Но вычислительной мощности весь этот текстовый интеллект требует вполне сравнимо с визуальным интеллектом. А идеи совместного обучения с аудио, видео и текстами требуют и вообще запредельных пока компьютерных мощностей. Но и в этом направлении есть прогресс, за счёт того же AI at Scale, пример тут майские рекорды по шести видам задач на описание изображений текстами -- https://www.microsoft.com/en-us/research/blog/objects-are-the-secret-key-to-revealing-the-world-between-vision-and-language/

NVIDIA тоже построила суперкомпьютер для своих исследований AI. И Гугль построил. Все участники гонки строят корпоративные и облачные "AI-синхрофазотроны" для исследований в AI, ибо машинный интеллект монетизируется примерно так же, как человечий интеллект, так что его выгодно разрабатывать. Монетизацию исследований элементарных частиц трудно придумать, а синхрофазотроны пока стоят ещё дороже, чем суперкомьютеры для AI. Но скоро суперкомпьютеры будут стоить уже дороже, чем синхрофазотроны, и они будут частные. Несмотря на тренд удешевления вычислений (он никуда не делся! с 2017 по 2019 вычисления подешевели в 100 раз, по 10 раз в год -- https://venturebeat.com/2020/06/04/ark-invest-ai-training-costs-dropped-100-fold-between-2017-and-2019/), потребность в объёмах этих вычислений растёт быстрее. Гонка экзафлопсов идёт давно (https://en.wikipedia.org/wiki/Exascale_computing), но теперь она ориентируется не на моделирование погоды или ядерных взрывов, а на задачи AI, и ведётся частным сектором.

Вот это, я понимаю, "межотраслевые переливы капитала". Вот это, я понимаю, "структурная перестройка промышленности". Увы, ждём активного вмешательства политиков: слишком большой масштаб происходящего, чтобы они прошли мимо.

UPDATE: обсуждение в фейсбуке -- https://www.facebook.com/ailevenchuk/posts/10218480891667622
2019

SoTA искусственного интеллекта принадлежит богатым, и это не случайно

Опять вспомним тезис Sutton (http://incompleteideas.net/IncIdeas/BitterLesson.html), что в AI главное -- это вычислительная мощь, а не хитрость алгоритмов. Этот тезис получил интересные теоретические и экспериментальные свидетельства в работах https://arxiv.org/abs/1909.12673 и https://arxiv.org/abs/2001.08361. Ошибка генерализации оказалась вполне гладкой степенной функцией от размеров набора данных, размера сетки (число гиперпараметров, но форма -- ширина и высота -- оказались неважными) и вычислительной мощности. Тот, у кого больше вычислительной мощности, может для данного набора данных использовать модель побольше -- и его сетка будет умнее.

Весь вопрос в том, в каких границах соблюдается эта функция. Её проверяли на разлёте вычислительной мощности в миллиард раз. Графики в работе по второй ссылке заканчиваются десятком петафлоп-дней (PF-day = 10^^15 × 24 × 3600 = 8.64 × 10^^19 floating point operations), и хорошо видно, что будет больше мощности -- можно использовать модели побольше, и для тех же самых данных (которых всегда мало) получить результаты лучше. Можно ожидать, что для самых разных видов нейронных сетей закономерности будут похожими: существенно больше вычислений -- можно брать модель побольше и получать существенно больше интеллект для тех же самых по объёму данных.

Кто побогаче (грубо: кто может себе позволить датацентры, желательно во множественном числе, цена одного расчёта сегодня идёт на миллионы долларов), тот выучит для себя AI поумнее с superhuman возможностями. Кто победнее и не имеет много денег -- выучит сеть-полудурка. Всё остальное -- бантики.

Так что организации с датацентрами (Google и DeepMind, OpenAI и Microsoft, Facebook, Baidu и очень немного других) могут похвастаться дьявольски интересными результатами. А организации победнее могут похвастаться "многообещающими идеями" и "научными прорывами".

В 2012 году входная цена в AI была пара тысяч долларов на пару видеокарт NVIDIA. Сегодня NVIDIA говорит, что делает не видеокарты, а датацентры (https://ailev.livejournal.com/1518306.html) -- и не случайно. Сегодня входная цена на тот же "мировой уровень" в AI -- пара датацентров той же NVIDIA.

Полученная формула по факту говорит, что SoTA в AI сегодня зависит от вложенных денег прежде всего. Если вы придумываете алгоритм, получающий какой-то результат не за 50 PF-days, а за 1, то более богатый коллега потратит те же 50 PF-days на ваш алгоритм -- и получит результат/интеллект лучше. Так что ваш будет приоритет по алгоритму и SoTA по эффективности (и вы сможете продать этот алгоритм коллеге), а SoTA по результату/интеллекту будет у вашего более богатого коллеги. Да, стоимость вычислений быстро падает, но SoTA по силе интеллекта будет оставаться у богатых разработчиков. А у разработчиков победней всегда будут алгоритмы получше, но выучиваться таки будут относительные AI-полудурки, далёкие от SoTA.

Множество не очень богатых компаний будет пытаться выгодно пристраивать к работе задёшево выученных AI-полудурков. Эти полудурки могут быть вполне superhuman, хотя и с узкими способностям. И их хватит для очень и очень многих интересных дел! Но это всё-таки будут AI-полудурки. Впрочем, некоторые разбогатеют, и выучат себе интеллектов поумнее. И перейдут в другую лигу.

Небольшое число богатых компаний выгодно пристроят к работе AI с широкими способностями. И за умных им заплатят больше. Кто богат, станет ещё богаче.

Увиливание этих богатых компаний от неминуемого госрегулирования будет отдельной историей, но мы тут не про это. Мы тут про формулу, увязывающую выучиваемый уровень интеллекта и объем вычислений, то есть уровень интеллекта и деньги, за которые его можно купить.

Но ведь вы об этом всём и так догадывались, даже без формулы?

UPDATE: обсуждение в фейсбуке -- https://www.facebook.com/ailevenchuk/posts/10218458850316602
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