Category: технологии

Category was added automatically. Read all entries about "технологии".

2019

lytdybr

Перевёрстываю слайды по машинному интеллекту 2019, ибо лекцию читаю уже в это воскресенье. За пару недель произошло много чего интересного: двинулся leaderboard в SuperGLUE (человек: 89.8, T5 от Гугля: 88.9), Waymo в аризонском Фениксе стало возить без страхового водителя несколько сот человек (подписавших соглашение о неразглашении), автомобили могут видеть за углом при помощи анализа едва заметно меняющихся теней (ShadowCam: when sensing and stopping for an approaching vehicle, the car-based system beats traditional LiDAR — which can only detect visible objects — by more than half a second), а ещё добавил про superhuman машинные переводы на WMT в этом году. Средства самоцензуры брендов в социальных сетях (чтобы случайно не нарушали законодательство в своих высказываниях), выявление плохих пицц и плохих работников в Domino (и чтобы откреститься от "технологии слежки" компания говорит, что это "инструмент для обучения" -- ткнули в тебя пальцем, сказали, что ты плохой работник, и пиццы твои плохие, так это обратная связь, тебя просто учат!). А ещё несколько команд выдали AI, сдавшие наш ЕГЭ и даже прошли порог поступления в вузы. Quantum supremacy в таком состоянии (после заявлений Гугля и отповеди IBM), что игнорировать её дальше уже нельзя. Опыт показал, что такую обзорную лекцию по машинному интеллекту можно прочесть за день (это ведь будет уже второе прочтение, первое было тут: https://ailev.livejournal.com/1492738.html). Но машинный интеллект используется практически везде, где используется человеческий интеллект, и поэтому однодневную лекцию тут читать примерно так же, как читать однодневную лекцию про человеческий биологический интеллект: "люди крайне умны! Сейчас я вам по-быстрому расскажу, что это такое, и где это применяется". И в этой шутке есть только небольшая доля шутки.

В старом XPS 13 2015 батарейка таки вспухла (я ужаснулся, когда её увидел вытащенной. Вовремя я спохватился! Ещё б чуток, и её бы просто разорвало) -- заменил вчера её на новую, и заметно покривившийся старый ноутбук тут же стал ровным. Без устали колочу в админский бубен над новым ноутбуком. Например, полный интернет записей о том, как убрать приветственный и блокировочный экран в Windows 10, но если пароля нет, то эти инструкции не работают. Убрать блокировочный экран без входного пароля в Windows 10 можно вот по этой тайной (нашёл только на одном форуме) инструкции: в "Выполнить" введите "gpedit.msc", а затем нажмите Enter. В появившемся редакторе локальной групповой политики в левой панели, перейти к Конфигурация пользователя> Административные шаблоны> Система> Варианты действий после нажатия CTRL+ALT+DEL. Справа, найдите параметр "Запретить блокировку компьютера" и дважды щелкните по нему. В окне свойств, которое откроется, выберите опцию Включено и нажмите кнопку ОК. Теперь вы можете выйти из редактора локальной групповой политики. Изменения вступают сразу без перезагрузки. можете проверить сразу нажав на (Windows + L) картинка с кнопкой "войти" не появится. Если в любое время вы хотите включить блокировку, выполните ту же процедуру и установите эту опцию обратно как "отключен" или "не настроен".

Пока изо всех проблем с новым ноутом я хоть как-то удовлетворительно я не справился только с multirow tabs в FireFox 70. Это оказалось отдельным приключением (при этом на старом компьютере у меня они есть!).

Сходил на семинар Ronie Saleh по музыкальности в кизомбе, написал об этом вот тут: https://vk.com/wall2449939_2449. Я уже третий год попадаю на его семинар, предыдущие тексты можно найти по ссылкам в первом абзаце тут: https://ailev.livejournal.com/1452638.html. А вообще про танцы разную методологию я продолжаю писать в https://vk.com/buffdance. Те, кто танцует со мной кизомбу уже признают, что у меня в танце не кизомба - но что? Зук, хастл, бачата, хотя я ничего этого не танцую, и говорят всё такое разное про одни и те же движения. А это я просто танцую общую основу для всех этих танцев: шаги да повороты в разных направлениях. И каждый в них видит своё родное-знакомое и называет своими такими разными именами. А вообще-то я как-то снизил в октябре время активного танцевания, с октября какой-то невиданный поток вечерних рабочих мероприятий. И до вечеринок добираешься дай бог к 22 часам, если вообще добираешься.

Дом завален звёздными картами в количестве, ибо астрономия сейчас проходится в 11 классе. Вовремя, вовремя. Грузовой Starship хочет прилуниться ещё до 2022 года, после чего почти сразу летать туда с космонавтами на борту, а спутников связи Starship будет выводить по 400 штук за один полёт (а всего их планируется 30тыс. штук на орбите, один из самых амбициозных инженерных проектов сегодняшнего дня) -- https://www.cnbc.com/2019/10/27/spacex-president-we-will-land-starship-on-moon-before-2022.html. Вот сейчас это похоже на настоящее развитие, ибо для денег и пользы людям, а не просто для военных целей или для славы.
2019

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 ВсёОстальное.
2019

Хост-языки для встроенных DSL перестают упоминаться. Но они есть.

MIT опубликовал хвалилку языка Gen, предназначенного для облегчённого программирования систем искусственного интеллекта, вот тамошний пресс-релиз: http://news.mit.edu/2019/ai-programming-gen-0626 (повод -- доклад на Programming Language Design and Implementation конференции). В этом пресс-релизе рассказывается о новом языке, и только о нём. Язык противопоставляется подходу TensorFlow -- утверждается, что программирование задач искусственного интеллекта на Gen много легче. Другие языки, например, Julia, упоминаются так, что это упоминание сразу и не найдёшь.

Вот статья ещё прошлого года, и говорят, что Gen более крут, чем кажется: This paper includes an evaluation that shows that Gen can solve inference problems including 3D body pose estimation from a single depth image; robust regression; inferring the probable destination of a person or robot traversing its environment; and structure learning for real-world time series data. In each case, Gen outperforms existing probabilistic programming languages that support customizable inference (Venture and Turing), typically by one or more orders of magnitude. These performance gains are enabled by Gen’s more flexible inference programming capabilities and high-performance probabilistic DSLs. -- https://dspace.mit.edu/bitstream/handle/1721.1/119255/MIT-CSAIL-TR-2018-020.pdf

Когда открываешь страницу самого "языка Gen" https://probcomp.github.io/Gen/, то тут же натыкаешься на "Gen is a package for the Julia programming language. Gen consists of multiple modeling languages that are implemented as DSLs in Julia and a Julia library for inference programming". И просьба установить Julia 1.0 или более старшую версию. Gen оказывается embedded DSL в Julia. Julia рассматривает себя как платформу для создания самых разных DSL, об этом пару лет назад даже был пост в блоге создателей языка "Creating domain-specific languages in Julia using macros" -- https://julialang.org/blog/2017/08/dsl

Тренд сжёвывания stand alone DSL реализациями embedded DSL в расширяемых языках (та же Julia) -- налицо. Вот, например, Modia подаётся не как отдельный язык, а сразу как domain specific extension of Julia for modeling and simulation of physical systems, https://github.com/ModiaSim/Modia.jl. Это "расширение Julia" создаётся авторами Modelica. И, похоже, это расширение готовится скушать саму Modelica как специализированный (domain-specific) stand alone язык инженерного моделирования. Смотрим внимательно: in Modia there is not (yet) a graphical definition of models (хотят добавить, но недосуг, не так уж и важно оказалось -- расчёт-то что с графикой, что без графики один и тот же) и more models converted from Modelica Standard Library (то есть библиотеки Modelica просто конвертируют в новый язык).

В итоге -- Julia становится языком-платформой, на которой доступны и Gen для задач AI, и Modia для мультифизики. И, надеюсь, когда-нибдь и SysMoLan -- язык системного моделирования (https://ailev.livejournal.com/1443879.html).

Языки внутри языков внутри языков. Языки-платформы (хост-языки) становятся настолько общим местом, что даже не упоминаются в описании embedded DSL (как в случае Gen). Языковые рыбки языковой воды не замечают. Никто же не обращает внимания, на каком языке написаны компиляторы Rust, Go, Julia, никто не поминает машинный язык тех же Intel или ARM процессоров, когда говорят о тех же Rust, Go, Julia. По факту отношение к embedded DSL и stand alone DSL стало одинаковым: неважно, какие языки участвовали в их создании. Важно, что там они делают с прикладной системной областью. А уж embedded или stand alone, это пустое. Конечно, embedded, ибо рядом ждут своей очереди на моделирование ещё десяток разных domains проекта, и хорошо бы это моделирование инфраструктурно вести в одной системе, а не в зоопарке разных систем. Проблема зоопарка осталась (зоопарк DSL в проекте неминуем, множественность же описаний системы требует множественности моделирования), но унификация сначала прошла машинного языка, а сегодня и хост-языка. DSL стал на одну ступеньку дальше от машинного кода.

При этом полно и попыток создать новые расширяемые языки-для-языков, то есть новые языки-платформы, новые хост-языки. Вот, поглядите на старт очередной попытки от justy_tylor, он неделю назад начал работать над прототипом нового компилятора: https://justy-tylor.livejournal.com/255265.html. Пожелаем ему удачи.
2019

Доклад "Будущее инженерии"

Сделал сегодня доклад "Будущее инженерии" на стратегической сессии лаборатории робототехники "Сбербанка", вот слайды доклада: https://yadi.sk/i/u4ObuTYbbPgf-g (видео не писалось).

Многое я уже рассказывал в других местах, но кое-что было и новое. Например, цикл жизни технологий (обсуждалось недавно в https://us13.campaign-archive.com/?u=67bd06787e84d73db24fb0aa5&id=320c223523):
-- Standardisation [deep learning – ONNX, и весь AI сейчас по факту ещё и этой фазы не достиг, то есть это всё ещё игрушки и эксперименты, а не промышленность]
-- Usability (удобные интерфейсы)
-- Consumerization (массовое потребление)
-- Foundationalization (изо всех утюгов, «потребление незаметно»)

Один из ведущих трендов в AI сегодня: «индустриализация» -- уменьшение затрат (в том числе денег, энергии, материалов, времени) на единицу пользы. Гипотеза Rich Sutton: прогресс определяется доступной вычислительной мощностью при простых алгоритмах. Вот максимизировать использование вычислительной мощности -- это и есть задача индустриализации. Ускорить сетку вдесятеро, или уменьшить потребную мощность вдесятеро -- вот это всё и есть индустриализация. Сегодня AI очень дорогой по времени и ресурсам, вот это и решается индустриализацией -- переход к массовости возможен после обрушения цены. И вот эти standardisation-usability-consumerization-foundationalization и есть стадии, по которым лабораторная технология становится промышленной.

Вот ещё модифицированная V-диаграмма с парой трендов на ней:
Vtwins

Штука в том, что digital twin идёт из воплощения системы в обеспечение (традиционное обсуждение того, зачем нужен digital twin -- диагностика, эксперименты what if, данные для дообучения алгоритмов управления, данные для улучшения варианта следующей конструкции и т.д.), а документация системы из обеспечения в воплощение (автономность, resilience, самодиагностика, самодонастройка и прочее для resilience).
2019

Учебная робототехника против покера на раздевание: "проект" vs "упражнение" vs "развлечение"

В очередной пост про образовательную робототехнику (пример американской школы, где под рок собирали роботов уж как кто может) меня призвали комментом -- типа как "пошёл в печать курс системного мышления" (https://www.facebook.com/alx.kornilov/posts/2328277747383781). Ну в печать/публикацию ещё не пошёл, но сегодня начали верстать -- и не курс, а книжку. В прошлый раз верстали пару недель, после этого "печать" (публикация в интернет-магазины) заняла ещё пару недель. Так что учебник в широком доступе я ожидаю примерно через месяц. Но курс (с задачами, но не факт что уже с видео) попробуем за месяц тоже выкатить.

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

В моём учебнике даётся системная схема проекта: для полноценного проекта нужно задействовать
-- практики предпринимательские (предмет коммента А.Корнилова: чтобы поделка хоть кому-то нужна была, а то дети привыкают в школе делать бесполезное -- вот моего вьюноша уже приучили, что можно делать бесполезное "для учебных целей", см. третий абзац в https://ailev.livejournal.com/1471647.html, его "производственная практика" в этом году была примерно такой же по полезности).
-- практики инженерии, в которых в том числе объясняют, что путём залезания на всё более высокие деревья на Луну попасть нельзя -- овладение "учебной робототехникой" не даёт инженерных знаний, инженерные знания даёт учёба робототехнике (а не учебная робототехника!). Оцените учёбу робототехнике в наборе курсов тут (я собираюсь этот списочек обновить, ведь уже год прошёл -- но для уровня "дискуссии в соцсетях" можно и этот старый вариант использовать): https://ailev.livejournal.com/1434868.html и сравните тамошнюю программу с программой курса "учебной робототехнике". Задумайтесь.
-- практики менеджерские (ибо дружная команда, управление задачами чтобы в срок, дисциплина следования регламентам -- это всё тут). Можно и дальше продолжать, но хотя бы это. Вот этот уровень "покажите всё меню минимальных компетенций для проекта" школьникам и педагогам не объясняют. А в учебнике прописано, что системное мышление с этого начинается -- с проекта как целого, погружаясь затем в его части. "Польза от проекта" тут только маленький кусочек в предпринимательской области интересов.

Для меня учить робототехнике -- это учить вот этому всему, и тут можно разделить роли в команде. Предприниматель там есть, но это по большому счёту не инженер-робототехник. За "нанести непоправимую пользу, только сообразить какую" не инженеры по большому счёту ответственны. И я тут про роли, ибо один человек может роли совмещать, но тогда это нужно оговаривать особо. Конечно, инженерное мышление исполнителям предпринимательских ролей отнюдь не чуждо. Нет же "предпринимательского образования", вот инженерное вполне сойдёт. Но чаще таки работает команда, а в команде у разных людей разные скиллы, включая скиллы робототехников-инженеров (включая инженеров по требованиям!), но не ограничиваясь ими. Нужны и менеджеры, и предприниматели. И, конечно, полный проект требует обучения не только предмету "искусство рукоделия в 2019: как спаять и свинтить болтами двигающегося робота".

Роли, роли в проекте нужно обсуждать, чтобы сравнивать роли в проекте и компетенции, которые даёт какой-то курс. В моём новом учебнике про проектные роли было добавлено не меньше пятидесяти страниц текста, это важно! И интересы ролевые, и скиллы ролевые, и команда собирается из проектных ролей, и внешние проектные роли должны быть. Школьные проекты не должны быть самодостаточными, когда ими занимается сферическая команда в вакууме, без представителей внешних проектных ролей с их надсистемами -- без этого проект не проект, а "упражнение". Хотя статус "упражнения" тоже нужно заработать, для этого нужно указать, какое знание было дано, чтобы упражнять беглость его применения.

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

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

Это всё не обучение, это всё развлечение. То, что "мы мотивируем, а обучат другие" -- отмазка.
2019

Инженерия хаоса от администрации США

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

Рубильником выключили Huawei. У меня дома два телефона Huawei, и это уже как-то трогает и меня. Никак не ожидал, что эта инженерия хаоса затрагивает и меня. Зависеть от Гугля (андроид!) и Майкрософта (винды на ноутбуках Huawei тоже ведь под вопросом!) оказывается вредно, их может отключить любой президент (мне плевать, что это президент США. Если президент России выкинет очередную какую-нибудь аннексию для целей защиты русских граждан за рубежом, традиционные цели всех аннексий, то итог будет тот же -- от сервисов Гугля и Майкрософта отключат опять же меня, а не президента России).

Вот теперь сидишь, и думаешь: кто там на самом деле сволочь -- администрация США, которая лечит головную боль методом отсечения головы (из-за боязни отказов каких-то будущих экземпляров техники Huawei отключает всю технику Huawei в мире! Нет чтобы просто не покупать аппаратуру от Huawei самим, и этим удовлетвориться), ненадёжность Гугля и Майкрософта, которым в бизнесе оказывается верить нельзя ("они только выполняют приказ", что там с такими как я владельцами смартфонов и ноутбуков и даже базовых станцый Huawei -- им глубоко плевать. Все эти "do not evil" уже в далёких легендах о прошлом), или Huawei, который чем-то там провинился, и поэтому его мочат уж как могут, в том числе задевая мои чисто технические пользовательские интересы как владельца аппаратуры и софта Huawei.

А смартфончики у Huawei таки хорошие, у меня на них нареканий нет. Поэтому желаю инженерам Huawei пережить эти неприятности, я целиком на их стороне. И лучи поноса всем остальным помянутым, ненадёжны и продажны оказались они, "просто выполняющие приказ", а не Huawei.

Плохо только, что Huawei будет делать свою новую операционную систему на основе Linux, оживлять опять древнюю рыбу латимерию, делать очередного зомби со всеми эволюционными недостатками. Я понимаю, что legacy и совместимость, но операционные системы должны быть современными, а не допотопными с их встроенными проблемами безопасности. Но удачи тамошним инженерам. Мне почему-то кажется, что я с удовольствием буду пользоваться результатами их трудов на этом фронте.

И там ещё проблемы с ARM! Хотя это уже касается будущей аппаратуры, а не нынешней: https://www.bbc.com/news/technology-48363772

Литература:
-- "Мойдодыр и политическая философия интернетвещизма", https://ailev.livejournal.com/1106188.html
-- Chaos Engineering: the history, principles, and practice, https://www.gremlin.com/community/tutorials/chaos-engineering-the-history-principles-and-practice/

То, что во всём мире сейчас технологический враг номер один вдруг оказался отнюдь не Китай, и степень зависимости нужно убирать не от Китая -- вот это абсолютно понятно. Чьи продукты могут "вдруг выступить против тебя в случае войны" -- вот этот кейс очень чётко продемонстрировал. И это не продукты Huawei оказались, и даже не один продукт оказался.

Так сказать, эффект Барбары Стрейзанд в этой неожиданной предметной области.


UPDATE: обсуждение в фейсбуке -- https://www.facebook.com/ailevenchuk/posts/10215452473039049 и ВКонтакте -- https://vk.com/wall2449939_2249, ФриФид -- https://freefeed.net/ailev/6778cc6c-2f0d-4d4b-a760-a357cd9f5582
2019

lytdybr

Сегодня прошли пятнадцатые Лебедевские чтения, как всегда -- огонь! Я выступил с маленьким сообщением, где рассказал, как мы ездили с Геной в Киев на ОДИ "Перспективы и программы развития сферы информатики" в 1988 году (на чтениях была Света Лебедева, которая уточнила дату -- она тоже была на этой игре в 1988 году, и хорошо помнит и игру, и дату!). И там на ОДИ был вывод, что вся это computer science в недалёком будущем -- это про искусственный интеллект. Так оно и оказалось. В 2019 году я по факту пообещал, что продолжу эту линию тридцатилетней давности: буду организовывать курс computer science/computational thinking образца 2019 года, где должно быть место и differentiable programming (включая все эти нейронные сети как частный случай), и probabilistic programming, и многое что другое. А потом А.Кушниренко и М.Райко показали текущее состояние дошкольного программирования -- в сегодняшнем софте используются в том числе и нейронные сетки (распознавание изображения выложенной кубиками программы управления роботом). Работает это всё, конечно, как первые программы распознавания речи лет пять назад: деревянный робот дёргается на фальшстарт на каждом третьем слове (слышит "правильную команду"), а на попытку спеть ему эту самую команду намеренно -- не откликается. Но таки работает, и детки учатся! В Сургуте прошли обучение более 6000 дошкольников, а 100 человек уже пошли на программу первого класса. Задача: сделать четырёхлетний курс программирования для начальной школы, чтобы этот курс гарантированно учил деток. Метод? Сержантский метод: много-много задач, и это работает. Вот видео (оно уже загрузилось), поглядите сами: https://vimeo.com/337031069

Вообще, все доклады были один другого краше. В какую бездну уходят деньги центробанка США, когда он их печатает? Непонятно, но есть намётки! Правда ли, что вот уже завтра наступит социализм, ибо он идёт прямо таки стеной и лавиной? Ответ: пришествие Трампа показывает, что неправда -- завтра сам чёрт не разберёт, что будет. Какие причины промышленной революции в Англии в 18 веке? О, это была одна из самых оживлённых дискуссий. Почему адвокатские услуги дерегулируют в Европе, но не могут дерегулировать в Великобритании и США? Почему в самых дерегулированных электроэнергетиках мира smart счётчиков меньше всего? В общем, интересный был день! Вот на фото момент уже кулуарной аргументации Р.Капелюшникова про английскую промышленную революцию:
15lebedevreadings

Буду сегодня-завтра конвертировать и выкладывать видео, так что ждите публикации материалов. Заодно удивился: у меня на vimeo оказалось выложено 194 видео, главным образом какие-то мероприятия. И не думал, что так много -- https://vimeo.com/user1649816

Вчера прошёл закрытый (только для выпускников, и видеозапись не велась) семинар Школы, где было два доклада об успешных проектах реорганизации, которые делали наши выпускники с использованием знаний, полученных в Школе. Это были бы хорошие доклады на конференции, только тут было по часу на каждый проект, а на конференции было бы по 15 минут. Очень жаль, что самыми интересными проектами, самым интересным опытом мы не можем делиться публично -- всё, конечно, и так без имён, но про проекты реорганизации в международных компаниях не очень принято рассказывать даже без имён. В любом случае, для меня это были очередные два свидетельства, что материал наших курсов вполне работает в реальных проектах реорганизации. Оба докладчика айтишники, руководители небольших (десятки человек) служб. В проектах нашлось кое-что схожее, так что докладчикам теперь есть о чём поговорить друг с другом -- тем более что говорят они на одном системном языке, который получили на курсах. Ну, а сами докладчики получили какую-то обратную связь от участников семинара. Например, я в очередной раз дал совет всех аналитиков переименовать в инженеров -- у инженеров не только аналитическая, но и синтетическая работа. Инженеры должны принимать решения и уполномочены на это, а аналитики должны обычно только понимать и передавать результаты своего понимания другим людям для принятия решений -- и так далее, есть долгий список причин, по которой иметь должности с названием "аналитик" вредно.

Учебник пишется, но пишется медленно. Но пишется. Но медленно. С книгами у меня всегда так. Но через некоторое время все эти написания книг таки заканчиваются, это утешает. Вчера переверстал диаграмму описаний системы (модифицированную из ISO 42010), это я уже в середине пятой главы. Зубодробительная, конечно, глава. Но после этого прохода она будет чуток попроще. Потом три главы про жизненный цикл (который не жизненный, и не цикл), и всё. Структуру учебника не меняю из принципиальных соображений (помним про "эффект второй системы"! изменение структуры пойдёт на какую-то следующую итерацию). Сейчас меняется только терминология и вставляются небольшие объяснялки.
2019

SpotMini -- робоплатформа, а не робот. Роботы ещё будут, чуть позже.

Boston Dynamics этим летом начинает массово выпускать SpotMini, четырёхногого якобы робота. Но основная его особенность в том, что нельзя сказать, сколько у него рук, голов, камер, навесного оборудования, какое его назначение. Это "тележка" (только на ногах), которая умеет безопасно перемещаться не только по дорогам, но и по бездорожью, лестницам и т.д.. А голову, руки, дополнительные датчики и мозги к нему должны приделать уже покупатели сами -- и затем пользоваться сами, или перепродать уже конечным покупателем или как сервис (лизинг, форм тут много может быть), или как полноценных служебных спецроботов. Из робота SpotMini хотят сделать что-то типа "телефона Android", где приложения могут быть самые разные -- разве что к телефону редко докупают оборудование, но только софт, а тут должны прикупать и оборудование, и софт -- https://venturebeat.com/2019/04/19/ai-weekly-boston-dynamics-robots-are-terrifying-by-design/

Тем самым SpotMini это не столько робот (невелика польза от "умения ходить"), сколько робоплатформа для роботостроения. Дальше можно пообсуждать, сколько процентов прибыли от продажи специализированного конечного робота осядет в эко-системе SpotMini (да, разработчики прямо говорят про эко-систему --https://www.wired.com/story/boston-dynamics-spotmini-running-man/), а сколько на Boston Dynamics как поставщике платформы -- старинная дискуссия о толстых и тощих протоколах, но на примере хардвера (см. доклад vvagr про тощие и тучные протоколы на конференции ШСМ -- https://www.youtube.com/watch?v=kp2fTeMHweE ). Робот тут -- конечное устройство, а SpotMini платформа, существенная часть робота, но не робот ещё.

С этого лета (плюс год-два на развитие "программно-аппаратных приложений", то есть модификаций) жизнь на планете опять непредсказуемым образом изменится, в продаже появляется новый класс робототехнической платформы. Каким именно непредсказуемым образом? Этого даже разработчики SpotMini не знают: они просто делают прорыв. Напомню: прорыв -- это когда сотни и сотни небольших фирм на Земле получают возможность делать что-то новое ("социальные определения "прорыва" (breakthrough) и "подрыва" (disruption) в науке и инженерии" -- https://ailev.livejournal.com/1460300.html). В данном случае они получают возможность строить спецроботов на базе платформы SpotMini. И они уж придумают, что там можно сделать. Разработчикам первого смартфона в голову не приходило, что звонить по телефону будут мало, а вот чатиться в WhatsApp и Telegram будут много, плюс "сидеть в соцсетях", плюс сам смартфон выбирать по камере, а не "качеству связи и удобству набора номера". Это как раз "экосистема смартфона". Что будет со SpotMini через несколько лет -- можно только гадать. Собака, которая чуток поумней собаки, посильней собаки. Поводырь? Инспектор? Сторож? Ездовая собака? Не счесть применений. Ждём пару-тройку новых видео в месяц, и уже не только от Boston Dynamics, но и от её клиентов-ORM (original robot makers, по образцу OEM -- original electronic makers).

SpotMini танцующая цирковая собака -- https://www.youtube.com/watch?v=kHBcVlqpvZ8
SpotMini инспектор на стройке -- https://www.youtube.com/watch?v=wND9goxDVrY
SpotMini ездовая собака -- https://www.youtube.com/watch?v=OnWolLQSZic

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

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

И да, можно отчасти считать, что это просто автомобилестроение. Самобеглость (авто и мобиль, самобеглые коляски помните?) налицо. Автомобиль на ножках (буквально бегает!), и без водителя. Маленький, с возможностью на его платформе соорудить какой-то спецавтомобиль.

Автомобилестроение -- это ж сегодня лидер в системной инженерии ("Что на свете всех сложнее? Автомобили вырываются вперёд" -- https://ailev.livejournal.com/1398456.html), вот это как раз оно. Всё то же самое, только с ножками и (возможно! если клиент захочет!) ручками.

UPDATE: дискуссия в фейсбуке -- https://www.facebook.com/ailevenchuk/posts/10215234965361493
2019

Онтика системного мышления, 2019

Системное мышление в 2019 уже не одинокая методологическая дисциплина, поэтому часть понятий, которые я включал в её онтику в момент создания учебника ("Системные мыслемы", июль 2016 -- https://ailev.livejournal.com/1278600.html), можно выкидывать. Содержание нужно тоже подправить, после выхода учебника в феврале 2018 года я написал довольно много уточнений в блоге и чате поддержки курса, и кое-что нужно было бы включить -- но кое-что можно было бы опустить, оставив для специальных курсов.

А ещё можно упростить терминологию примерно по тем же основаниям, что я упрощал русскоязычную терминологию архимейта в версии 1.1 в июле 2015 (https://ailev.livejournal.com/1205591.html) и опыту использования этой русификации. Мало кого волнует, что терминология точно соответствует инженерным стандартам и публичным документам. Концептуальная точность остаётся, а вот терминология должна быть развёрнута в сторону масштабирования: лёгкой для запоминания и говорения, а не точным переводом терминологии стандартов. Вместо двусложных терминов выбираем односложный, вместо канцеляритных -- неформальные, а лучше и вообще сленг, чтобы "как в учебнике, так и в жизни" (а не в "как в стандарте, так и в учебнике"). Опыт перевода Архимейта показывает, что пользы от такого подхода больше, а желающие опереться на стандарты всегда могут взять англоязычные оригиналы и использовать их. А уж опираться на русскоязычную терминологию переводных ГОСТов -- это вообще последнее дело, пусть этим занимаются люди, которых волнует не мышление, а военная приёмка.

Поэтому "я это породил, я это и буду исправлять". Вот мои текущие соображения:

1. В курс онтологики уходят: 4D индивид (тренируется критерий определения: протяжённость в пространстве-времени), индивиды и их описания, могут ли описания быть индивидами, работы (изменения: процессы, проекты, кейсы) как 4D индивид, события как 3D индивид, софт как 4D индивид (ошибка: исходный код как индивид), предпринятие как 4D индивид, индивиды как полные темпоральные части, методологическое время против реального (в 4D), логема экстенсионализма: совпадение двух объектов в пространстве-времени -- это один объект, отношение композиции ("часть-целое" в 4D), многоуровневая декомпозиция (холоны), классификация (классы классов), специализация, деятельность (в отличие от действий -- критерии культурной обусловленности, повторяемости, "ролевости"), театральная метафора, действующие лица и исполнители: позиция субъекта выявляется только в деятельности, а не в речи.

2. В курс вычислительного мышления (операции с моделями там!) уходят: частное описание (view), метод описания (viewpoint), модель, вид модели -- мета-модель, множественность описаний: мультимодель, мегамодель, прожекторный и синтетический подходы к описанию. Как ни удивительно, 42010 оказывается не столько системным стандартом, сколько стандартом информатики (опирающимся на онтологику в части соотношения моделей и мира). С этим нужно отдельно ещё поразбираться, в этом месте пока всё мутно. Вообще, курс вычислительного мышления требует к себе повышенного внимания, ибо в нём в том числе и вся тематика AI (алгоритмы искусственного интеллекта, в том числе работа с коннективистскими моделями).

3. Воплощение системы против описания системы [трудный момент: definition становится описанием, а description -- документацией. Это может вызвать проблемы с пониманием старых текстов. Но говорить так становится в разы проще]
-- воплощение системы против описания системы
-- системы против систематики ("система Линнея") и методологии ("система Станиславского")?
-- уровень системы как части системы-холона: целевая система как точка отсчёта, надсистема [было: использующая система] и подсистема. Элемент системы. [Можно подумать, оставлять ли понятие холона, или просто давать сразу систему вместо холона, и системную иерархию/декомпозицию по системным уровням вместо холархии]
-- системы в окружении [было: операционном. Можно было бы назвать "рабочее окружение", но проще опустить квалификатор окружения вообще. Окружение -- всегда в момент работы/функционирования/эксплуатации/использования. Слово "контекст" тут хуже, ибо "контекст" -- это операционный против обеспечения. Среда хуже, ибо окружение вокруг аттрактора внимания -- целевой системы, а среда не имеет центра]
-- системы в обеспечении [было "обеспечивающая система", но тот же тип преобразования, что в окружении ***тут нужно бы тоже назвать покороче, но непонятно, как. Обеспечение тут -- альтернативное название оргзвеньев, выполняющих ЖЦ: выполняющих практики обеспечения и работы обеспечения. См. ЖЦ)
-- именование системы по типовой основной функции (назначению) в момент эксплуатации
-- системная схема: связь целевой системы, надсистемы, системы в окружении, системы в обеспечении (ошибки: "объективная система", неверность в определении границ системы, "принцип почтальона" по слишком далёкой надсистеме, пропущенная надсистема -- "мужчина использует женщину", игнорирование команды: система в обеспечении как целевая, подсистема как целевая)
-- проектная система [***сейчас иногда говорят "проектируемая система", system under design. Но она не только проектируемая, но изготавливаемая, и эксплуатируемая и т.д.! У нас же говорят про подобные системы, что они реализуются по "частным техническим заданиям". Это по факту "мой винтик в целевой системе, я сделяль" -- стейкхолдерский фокус личного подпроекта того стейкхолдера, который пытается рассуждать системно про весь проект. В прошлой онтике этого не было. Введено по образу и подобию "жизненного цикла проекта" как части жизненного цикла, ограниченного рамками проекта. По сути, речь идёт о какой-то выделенной подсистеме целевой системы, или (под)системе из какого-то обеспечения.]
-- проверка и приёмка (описания и системы, описания и описания при моделеориентированности)

4. Роли, их интересы и оформляющие их описания
-- Роли [было стейкхолдеры], определяемые по отношению к системе. Конечно, одновременное использование словосочетаний "роль архитектора" и "архитектор -- это роль" ("роль Принца Гамлета" и "Принц Гамлет -- это роль") для онтологов звучит кривовато, но "интересант" и "роль интересанта" оказывается не лучше "стейкхолдера". Принц Гамлет -- это действующее лицо/интересант, и у него есть роль в пьесе, конечно. Но используем метонимию (действующее лицо/интересант с его ролью -- роль), ибо в речи это всё должно быть ОК. И даже в архимейте внутренние стейкхолдеры -- это roles. Внешние роли в проекте и внутренние роли проекта (опять же, роли "в проекте" или "проекта" -- нужно обсуждать, но интуиция подсказывает, что внешние почему-то "в проекте", а внутренние -- "проекта"). Ошибки: исполнители, оргзвенья [было: ответственные], звания, большие организации, пропуск антиклиентов.
-- интересы (и аспекты как группы интересов)
-- целокупность и эмерджентность для уровней системы (смена интересов и ролей для уровней)
-- успешная система
-- описание (definition) как ответы на интересы, безусловное существование описания
-- документация системы (description) [было -- описание. Это может быть предмет путаницы при переходе на новую версию терминологии] как рабочий продукт, необязательность существования документации
-- потребности (ролей [было -- стейкхолдеров])
-- требования / стратегия -- описания чёрного ящика
-- дизайн -- описание прозрачного ящика
-- ограничение -- описание прозрачного ящика

5. Функциональное [слово "компонента" убираем] против конструктивного/модульного, размещения
-- минимальное число видов описаний: функциональные, модульные, размещения
-- функциональный элемент, порт, связи [*** плохо, что два слова "функциональный элемент" и "элемент" тут вполне может быть далее декомпозируемым, а не именно элементом. Связи могут быть потоками]
-- функция [как поведение функционального элемента, имеющее назначение в надсистеме -- на языке надсистемы]
-- функциональная декомпозиция [не анализ!]
-- сервис [как поведение модуля на интерфейсе, имеющее значение в целевой системе -- на языке системы]
-- модульная диаграмма (стека интерфейсов, платформенного стека), функциональная диаграмма (принципиальная схема)
-- модуль, интерфейс. Конструкция, модульная декомпозиция.
-- размещение
-- совмещение функционального элемента и модуля
-- архитектура
-- архитектурное решение
-- архитектурное требование
-- архитектурная документация [было: архитектурное описание] описание
-- архитектурный синтез [логическая и физическая архитектура -- убираем]

6. Жизненный цикл 2.0: поведение (практики и работы) оргзвеньев обеспечения
-- жизненный цикл 1.0 как недекомпозированные (верхнеуровневые) работы оргзвеньев обеспечения
-- стадия работ обеспечения/жизненного цикла
-- жизненный цикл проекта -- участвующее в проекте поведение (практики и работы) оргзвеньев обеспечения
-- практики обеспечения
-- декомпозиция практик обеспечения (метод/методология, подпрактики)
-- дисциплина
-- технология (ошибка: игнорирование их соответствия дисциплине)
-- вид/модель жизненного цикла: способ назначения работ на практики обеспечения
-- оргзвенья обеспечения

7. Системная схема проекта (модифицированный Essence):
-- альфа, подальфа
-- рабочий продукт
-- семь основных альф: внешние роли [было "стейкхолдеры"], контракт [было: возможности], воплощение системы, документация системы [было: "определение системы", уходит в подальфы], работы, команда, практики [было: технологии -- а технологии уходят в подальфу. Всё одно альфы из Essence кривы, и можно чуть-чуть выправить этот коленвал]
-- зоны интересов: клиентская, инженерная, проекта [было предпринятия -- но тут явно проект, а не просто предпринятие-оргзвено]
-- сопоставление надсистемы, целевой системы и систем обеспечения зонам интересов
-- сопоставление менеджеров, инженеров и предпринимателей зонам интересов и тамошним альфам
-- состояния альфы как контрольные точки
-- контрольный вопрос (к контрольной точке)

Пример "перевода с русского на русский" -- как будет звучать "суть системного подхода в одном абзаце" из https://ailev.livejournal.com/1469354.html:

Сейчас: чтобы удовлетворить потребности внешних стейкхолдеров, нужно понять принципы функционирования и возможную конструкцию использующей системы и тем самым сформулировать функциональные и интерфейсные требования к целевой системе. Затем выполнить эти требования, для чего разработать архитектуру и затем воплотить в жизнь конструкцию целевой системы. А для этого нужно применить практики жизненного цикла целевой системы, организовав компетентную команду обеспечивающей системы и снабдив эту команду всеми нужными технологиями. И всё это нужно делать рекурсивно, для всех подсистем целевой системы.
Будет: чтобы удовлетворить потребности внешних ролей в проекте, нужно понять принципы функционирования и возможную конструкцию надсистемы и тем самым сформулировать функциональные и интерфейсные требования к целевой системе. Затем выполнить эти требования, для чего разработать архитектуру и затем воплотить в жизнь конструкцию целевой системы. А для этого нужно применить практики жизненного цикла целевой системы, организовав компетентную команду в обеспечении системы и снабдив эту команду всеми нужными технологиями. И всё это нужно делать рекурсивно, для всех подсистем целевой системы.
* * *
Тут всё пока очень сыро и очень спорно и по составу онтики, и по заменам терминов. Но release early, release often -- лучше опубличить и пообсуждать сейчас, чем переделывать толстые книжки потом. Я буду возвращаться к этому посту и редактировать его по мере возникновения понимания. Особо проблемные места обозначены через ***. Так, замена "определение --> описание" и "описание --> документация" явно хороша, но теряется совместимость с уже написанным. Плюс "онтология -- онтологическое описание", "архитектура -- архитектурное описание" неожиданно становится "онтологией (онтология -- это уже описание!) -- онтологической документацией" и "архитектурой (уже описание!) -- архитектурной документацией". Но создать/описать/define архитектуру -- это тогда чётко отличается от документировать архитектуру.

А когда пыль от этой работы осядет, нужно будет выпустить вторую редакцию учебника "Системное мышление".

UPDATE: дискуссия в фейсбуке -- https://www.facebook.com/ailevenchuk/posts/10215181784632008
2019

Поиск-ориентированная системная инженерия, 2019

Важное замечание от Rich Sutton, что весь прогресс в AI в конечном итоге определяется грубой вычислительной силой, а не хитрой алгоритмикой -- The Bitter Lesson, 13 марта 2019, http://www.incompleteideas.net/IncIdeas/BitterLesson.html. Как бы мы ни пытались кодировать AI, побеждают в конечном итоге методы, опирающиеся на огромные вычисления, связанные с поиском и обучением. Мир дико сложный, и его нужно как-то аппроксимировать в моделях. Но эти аппроксимации должны искать не люди, их должны находить (search) и выучивать (learn) простые алгоритмы, которые могут это делать лучше при добавлении вычислительной мощности, даже если текущие вычислительные мощности кажутся достаточными.

Я бы это замечание отнёс и к интеллектуальной деятельности всего человечества, делаемой в соответствии с "квазиэволюционностью", open-endedness: https://ailev.livejournal.com/1463013.html. Мы занимаемся изучением/исследованием/выучиванием окружающего мира, наука=learning. А в инженерии мы ищем/search решения. Я ещё в 2014 писал "поиск-ориентированная системная инженерия и другая пост-моделеориентированная жизнь", https://ailev.livejournal.com/1122876.html, и там "5. Компьютерный поиск (порождение, вывод, вычисление) требований, архитектуры, тестов -- это и есть следующее поколение системной инженерии, непосредственно следующее за переходом к моделеориентированности. Для этого нужно искусственное инженерное воображение (экономная генерация всё более и более подходящих вариантов инженерных решений) и искусственный инженерный вкус (умение оценить эти варианты)".

И это означает по факту, что по мере ухода науки в компьютеры она будет обзываться learning (в пределе -- self-supervised learning, https://github.com/jason718/awesome-self-supervised-learning). А по мере ухода инженерии в компьютеры она будет поиском решений -- search. И прежде всего архитектурным поиском, architectural search (поиском самого важного -- настолько важного, что при нахождении другого решения придётся перенаходить все остальные решения). И это будет поиск не только нейроархитектур, но и архитектур общего вида (пример поиска архитектуры тела робота я давал уже в первом абзаце https://ailev.livejournal.com/1469543.html). Все работы по алгоритмике обучения (deep learning в том числе) и алгоритмике поиска (архитектурного поиска, но в том числе и различные generative подходы, типа GAN) -- это работы по алгоритмике науки и инженерии.

Если делать сегодня курс системной инженерии, то опираться нужно именно на эти рассуждения и делать курс совместимым с именно этой методологией разработки, этой терминологией, которая берётся из AI-intensive systems. Авиастроение девяностых или даже автостроение нулевых (software-intensive systems, cyber-physics systems) уже не подходят. А вот то, что происходит сейчас с беспилотниками и роботами -- вот это самое оно. Это сегодняшний фронтир (и даже немного дальше, чем фронтир), завтрашний мейнстрим. Нужно осмыслять происходящее сейчас с data engineering, data science (это по факту одно с software engineering, computer science, недаром Хинтон, Бенжио и ЛеКун получили тьюринговую премию пару недель назад, их ACM, Association for computing machinery, признала за своих -- https://awards.acm.org/about/2018-turing. Алгоритмы глубокого обучения, алгоритмы AI, просто алгоритмы эти работают с данными -- но какие алгоритмы не работают с данными?!).

А оформлять результаты этого осмысления нужно сразу в удобной для усвоения людьми форме: делать современный курс по практикам системной инженерии. Той, которая с использованием AI-алгоритмов -- таким же повсеместным, как использование "просто компьютера" (PLM, CAD, digital twin и т.д.) в предыдущем варианте системной инженерии. Какое там будет buzzword для такой инженерии? Поиск-ориентированная/search-based? AI-aided? AI-assisted? Не знаю, но оно точно появится.