Лаборатория Математики и Программирования Сергея Бобровского – Telegram
Лаборатория Математики и Программирования Сергея Бобровского
1.3K subscribers
1.19K photos
24 videos
933 links
ЛаМПовое с Бобровским
Download Telegram
По оценкам Forrester, к 2024-му году 75% компаний будут инвестировать в переобучение сотрудников на новые скиллы, подразумевающие эксплуатацию AI-технологий. По данным IDC, к 2025-му году 90% корпоративных приложений будут включать встроенную AI-функциональность.
А на следующий год Forrester предсказывает пиковые инвестиции в AI-стартапы, хотя, судя по всему, этот пик будет последним, потому что стартаперская AI-экосистема уже перенасыщена, и теперь все ждут отдачи от инвестиций.
Интересная статья про алгоритм MuZero -- достижение сверхчеловеческого уровня в 57 играх Атари, в шахматах и Го, в условиях, когда правила игр алгоритму не сообщаются.
https://arxiv.org/pdf/1911.08265.pdf
Самые популярные языки программирования по версии TIOBE ноябрь 2019.
Java первая, но к ней вплотную подобрался Си, и возможно в конце года выйдет на первое место!
3-й Python, 4-5 места тасуются между C# и C++, в десятке JavaScript, PHP, SQL.
https://www.tiobe.com/tiobe-index/
TIOBE много ругают что дескать это трэш, но как минимум это достаточно интересный срез ИТ с хорошей историей.

Стабильность Java поддерживается прежде всего мощной экосистемой, активно эксплуатирующей другие отличные языки :) Фреймворки Spring, Vertx, Kafka, Spark в существенной степени завязаны на Scala, + GraalVM + быстро растущий Kotlin.

Почему вечный Си снова растёт, не знаю; возможно, потому что плюсы уж слишком усложнились, а качественного аналога для системного программирования пока нету. Хотя, вот Rust просто отличный для этих целей язык, и он буквально за месяц прыгнул из пятого десятка в третий, вполне возможно, эти два тренда связаны.

Кто кодит на Си/С++, очень рекомендую присмотреться к Rust.
👍2
Немного странного :)
I. Про gradient hacking -- ситуацию, когда мы создаём нейронные модели, "рассуждающие" на уровне выше человеческого, и у нас есть сильное подозрение, что они нас могут "сознательно" обманывать. Мы их вроде обучаем-обучаем, они показывают высокую достоверность, а на самом деле получается фейк.
У нас есть инструменты проверки обманчивости, но они дорогие, и мы можем применить их только один раз, когда модель уже обучена. Но если она достаточно сообразительна, то сможет сформировать внутри себя фейковую модель, которую и подсунет для финального тестирования.
https://www.lesswrong.com/posts/uXH4r6MmKPedk8rMA
Решения такие:
1) тактическое: стараться создавать такие нейронные модели, которые обучаются как можно меньшим количеством эпох, и как можно большими объёмами данных (в идеале, всей обучающей выборкой), или как минимум, хранить всю историю обучения;
2) стратегическое: переходить к прозрачным символьным технологиям формальных доказательств.

II. "Where Do You Think You’re Going?: Inferring Beliefs about Dynamics from Behavior"
https://papers.nips.cc/paper/7419-where-do-you-think-youre-going-inferring-beliefs-about-dynamics-from-behavior.pdf
Про framework of inverse reinforcement learning, где много цитат из "Гарри Поттера и методов рационального мышления"
Рекомендую ГПиМРМ: https://hpmor.ru
Куда сложнее всего было поступить в 2019-м?
1) ИТМО, математика. 99,8 -- средний балл ЕГЭ поступивших
2) ВШЭ, математика. 98,9
3) МИФИ, математика. 98,8
4) МГИМО экология, и дальше уже пошли гуманитарии :) 98,6
============

Посты за неделю.

Про саморазвитие программиста
https://vk.com/wall-152484379_2303

Последний набор на мои курсы в 2019-м
https://vk.com/wall-152484379_2300

Самый первый принцип ООП
https://vk.com/wall-152484379_2297
+ рассуждения про обучение OOD
https://vk.com/wall-152484379_2294
https://vk.com/wall-152484379_2285
Кобол 1959 вечно жив! :)
via The 18th edition of the BElgian-NEtherlands software eVOLution symposium
http://soft.vub.ac.be/benevol2019/
Самые востребованные профессии в 2025-м году:
1) Программист
2) Инженер
3) 3D-дизайнер
4) Маркетолог
5) Спец по ИТ-безопасности
6) Урбанист
7) Биотехнолог
8) Спец по альтернативной энергетике
9) Технолог автоматизированных систем
10) Спец по пищевой промышленности
по данным Центра "Гуманитарные технологии" при МГУ
За первую половину 2019-го года количество вакансий для айтишников в США выросло на 32%, и сейчас составляет 918,000 незакрытых рабочих мест.
https://www.wsj.com/articles/americas-got-talent-just-not-enough-in-it-11571168626
Сотрудников взять негде: за год на рынок пришли 60 тысяч выпускников университетов по computer science, 20 тысяч разработчиков после онлайн-курсов и 80 тысяч иностранцев по визе H-1B.
"Сегодня каждая компания стала технической, -- заявил Mehul Patel, CEO рекрутингового портала Hired. Будь вы Capital One, или Disney, или American Express, вам надо думать прежде всего о найме грамотных ИТ-инженеров".
Если в 2016-м время поиска программиста под вакансию составляло 55 дней, то сегодня оно возросло до 66 дней. При том, что каждая незакрытая вакансия приносит компании убыток в размере 680 долларов в сутки.
Главная тут беда, отмечают практически все рекрутеры, это низкая вера людей в самих себя :) "Мы можем обучить почти каждого техническим скиллам, но не можем научить людей поверить в свои возможности, в то, что это им вполне по силам, не можем научить проявлять интерес и энергичность и не бояться активно искать хорошую работу".
Новый тренд -- интервью с искусственным интеллектом!
Сеть GPT-2 (unsupervised language model), созданная в OpenAI и обученная на 40 гигабайтах текста,
дала интервью очень солидному изданию Economist.
https://worldin.economist.com/article/17521/edition2020artificial-intelligence-predicts-future

-- Чего нам ждать в 2020-м?
Мир полон разрушительных технологий, которые могут дать совершенно реальные и потенциально глобальные последствия. Самое важное -- искусственный интеллект, который усиливается в геометрической прогрессии. Следует обратить внимание и на развитие беспилотных автомобилей.

-- Что посоветуете нашим читателям?
Крупные проекты, которые вы считаете невозможными сегодня, на самом деле станут реальностью в самом ближайшем будущем.

Что такое GPT-2
https://habr.com/ru/post/440564/
Практически все 100%, кого я консультирую по трудоустройству, имеют неверное представление о процессе найма. Все ошибочно думают, что важны прежде всего хард-скиллы, но на самом деле, совсем нет. Успешность устройства на работу слабо связана с вашими техническими навыками. Конечно, минимальным требованиям надо соответствовать, но ценят в вас ИТ-менеджеры прежде всего не технические скиллы.
Свежее исследование американской ИТ-ассоциации CompTIA.org говорит, что самый важный скилл -- умение самостоятельно решать задачи и проблемы (55% менеджеров оценили важность). Второй 45% -- умение работать в коллективе, третий 34% -- опыт, четвёртый 34% -- глубокие технические знания конкретного фреймворка, и пятый 31% -- умение адекватно общаться с другими.
Демонстрируйте максимальную самостоятельность, умеренную дружелюбность и спокойную адекватность, ведите себя на собеседованиях по взрослому :)
Francois Chollet, создатель фреймворка машинного обучения Keras, опубликовал мощную работу, которая уже разошлась на ссылки в научных кругах -- это методика, как оценивать AI-системы не по качеству решения ими специфичных задач, а сравнивать с универсальным человеческим интеллектом в целом.
https://arxiv.org/abs/1911.01547
Chollet в частности предложил набор из нескольких сотен задачек для такой оценки как человека, так и программы, можно скачать и потестить свой интеллект.
https://github.com/fchollet/ARC
Задачки абстрактные какие-то в духе тетриса, и я честно говоря с ходу ничего не понял 😄
Слава роботам!
Какие хард-навыки станут ключом к работам грядущего десятилетия? Это прежде всего скиллы в сфере машинного обучения и data science, говорит исследование SlashData, в котором было опрошено 20,500 человек из 167 стран.
https://insights.dice.com/2019/11/29/data-scientists-machine-learning-skills-key-future-jobs/
В сфере ML/DS собираются развиваться (или уже активно качают свои навыки) 45% айтишников. 33% отмечают важность проектирования клиентской части, 25% топят за нативную облачную разработку и контейнеры, 24% за эффективное управление проектами, и 23% за DevOps. В опросе явно смешали всех -- и бэк, и фронт, и менеджмент, и администрирование, но в таком случае явное превосходство машинного обучения над всеми другими темами ещё более выразительно.

Из самых важных навыков в цепочке джун -- инженер -- сеньор -- ИТ-директор везде тотально проходит знание SQL и Python, к которому подтягивается R.

Зарплаты в США в этой сфере $7500+ для джунов с опытом 1-2 года, $9000+ для миддлов 3-6 лет, $11700+ для сеньоров 5-8 лет и $14000+ для менеджеров с аналогичным опытом.
То, о чём так долго твердили математики, добирается до мэйнстрима! Про сочетание формальных "прозрачных" подходов с нейросетевыми чёрными ящиками я например тут рассказывал: https://vk.com/wall-152484379_2271
И вот сама Microsoft сообщила об именно такой технологии Neurosymbolic AI (не нейронное, а понятное человеку символьное кодирование смысла), которая уже показывает очень приличные результаты на датасете MathQA / AQuA-RAT из 100,000 профильных задачек.
Статья очень хорошая и понятная, и внутри ещё ссылочки полезные:
https://pureai.com/articles/2019/12/05/neurosymbolic-ai.aspx
Ещё в тему, от Dr. Gulwani ("a programmer’s programmer"):
https://www.microsoft.com/en-us/research/blog/program-synthesis-and-the-art-of-programming-by-intent-with-dr-sumit-gulwani/
===
И ну очень красивая и необычная развлекалка, своеобразная текстовая рогулька, где мир генерится автоматически AI (всё в исходниках):
https://www.aidungeon.io/
Как это устроено внутри:
https://pcc.cs.byu.edu/2019/11/21/ai-dungeon-2-creating-infinitely-generated-text-adventures-with-deep-learning-language-models/

"игрок: я призываю жирафа.
мастер: ты произносишь заклинание так громко, как только можешь, высоко поднимая руки. жирафы появляются из ниоткуда и бегут прямо на тебя. они бегут так быстро, что едва не сбивают тебя с ног. ты тут же ловишь их и связываешь."
В 2017-м Китай тратил 17 млрд. долл. на искусcтвенный интеллект, а в 2020-м потратит уже $70 млрд. Причём китайцы опережают США уже не только по общему объёму AI-исследований, но и по специализированным военным AI-проектам. Однако в ближайшие годы Китай основные средства направит на разработку фундаментальных алгоритмов, робототехнику и интеллектуальные инфраструктуры, а вот США усилит военные акценты.
В США 5 из 10 топовых университетов, где ведутся наиболее мощные разработки по AI, в Китае их три. Ещё по одному в Индии и Канаде.

Amazon выпустила полноценную IDE для ML-проектов с поддержкой полного цикла и ноутбуков
https://aws.amazon.com/sagemaker/

=== материалы Школы за 28 ноября -- 9 декабря 2019 г. ===

Какая сегодня ситуация в суровом энтерпрайзе?
https://vk.com/wall-152484379_2318

Стоит ли сегодня ставить на Rust?
https://vk.com/wall-152484379_2327

Заключительный 6-й уровень аутентичной математики
и про альтернативный путь
https://vk.com/wall-152484379_2338

Алгоритм саморазвития
https://vk.com/wall-152484379_2329
+ и ещё про это же
https://vk.com/wall-152484379_2303
Пятёрка самых быстрорастущих ИТ-профессий 2020-го года по отчёту Мирового экономического форума https://www.weforum.org/reports/the-future-of-jobs
Из-за быстрого развития ИТ работу потеряют 7 миллионов человек, в основном из административного и офисного секторов, и прочие белые воротнички.
А в самом айти быстрее всего увеличивается спрос на такие специальности:
1) Инженер по кибербезопасности. Нюанс в том, что почти на все такие вакансии будет нужен официальный университетский диплом;
2) Инженер по искусственному интеллекту и машинному обучению. Тут рулит прежде всего знание алгоритмов ML и программирования;
3) Data scientist. Ну это понятно :)
4) Фуллстек-разработчик веб-приложений. Это топ в плане доступности для самоучек, причём и оклады тоже очень приличные, и в целом перспективы тут остаются весьма стабильными. Минус, что и проекты обычно довольно рутинные, и придётся зубрить скучные веб-фреймворки;
5) Инженер DevOps.

В целом, эксперты WEF эти специальности даже называют долгосрочно доминирующими трендами, и грани между ними достаточно условные.
Сейчас классические стеки наподобие LAMP быстро становятся легаси, я сам не очень сперва доверял этому тренду (это же Facebook, Wordpress, phpBB и тысячи их), но энтерпрайзных подтверждений всё больше, вот например:
https://habr.com/ru/post/479694/
Куда же это всё идёт? Что грядёт на замену хотя бы классическому веб-мэйнстриму?

во-первых, заканчивается эпоха REST API, да, причём довольно странно: заменой на GraphQL (на хабре как раз об этом);

во-вторых, забываем про классические серверы, включая и виртуалки -- новая волна это serverless (ну это нормально);

в-третьих, забываем про CSS, вместо них будут так называемые design systems, что это:
https://css-tricks.com/who-are-design-systems-for/

в-четвёртых, вместо одностраничников SPA приходят прогрессивные веб-приложения PWA (с качественной поддержкой оффлайна);

в-пятых, классический фуллстек умирает -- вместо него достаточно знания чистого JavaScript, конструируем фронт в визуальной design system, на бэке добавляем небольшой набор js-функций, а всю серверную возню делегируем провайдеру.

В чём главная фишка такого стека? В том, что это реальная суперсила :) в одиночку за несколько часов на React/Gatsby например можно сделать то, что ещё 2-3 года назад коллектив пилил неделями. Работающий прототип стартапа можно сегодня собрать за один день!
Andrew Ng прорекламировал новый цикл курсов по ML / TensorFlow, на курсере:
"Courses 1 & 2 of deeplearningai_‘s newest Specialization is now available on Coursera. Training a model is only one step in building a working AI system. These courses teach you how to navigate some key deployment scenarios."
https://www.coursera.org/specializations/tensorflow-data-and-deployment
Этот цикл про то, how to get your machine learning models into the hands of real people on all kinds of devices.
Читал на днях кого-то из гуру по экстремальному программированию XP, и интересную фичу запомнил. Она хорошо известна в программной инженерии, но в форме мягкой рекомендации, а аджайлы по своему хороши тем, что такие рекомендации превращают в жёсткие обязательные требования, от которых уже не отмажешься, и добиваются правильного результата.

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

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

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

Просто этот момент неочевиден, объяснения и ссылки на исследования не помогают, поэтому и приходится превращать его в незыблемый принцип.
На конференции по Neural Information Processing Systems https://nips.cc/ на прошедшей неделе затусило 13,000 специалистов по AI.
Yoshua Bengio, один из единичных топовых учёных в этой сфере, которые пока не перешли в гуглы-фейсбуки и остаются верными академизму, отметил, что пока многие подходы к машинному обучению чрезмерно специфичны, из-за чего обмен полезными знаниями между AI-системами сильно затруднён.
Blaise Aguera y Arcas, архитектор AI-проектов в Microsoft и Google, посоветовал не забывать о "биологической" природе интеллектуальных систем и призвал активнее внедрять соответствующие механизмы в глубокое обучение. В целом был отмечен большой прогресс, однако особо подчёркивались призывы к прагматичной оценке этого прогресса. Пока все успехи весьма относительны.

-- Microsoft продолжает исследования по формализации ML-систем и повышения их прозрачности. Новая архитектура neurosymbolic AI models подразумевает синтез символических и нейронных алгоритмов. Введено понятие tensor product representation (TPR) -- нейросимволы, паттерны активации сетей со специфической внутренней структурой, которые предложено трактовать с прозрачных символических позиций, то есть ими можно формально манипулировать, как принято в классических AI-системах. В частности, удалось с помощью TPR решать математические и программистские задачи, сформулированные на естественном языке (генерировался Лисп-код решения).
https://www.microsoft.com/en-us/research/blog/next-generation-architectures-bridge-gap-between-neural-and-symbolic-representations-with-neural-symbols/

-- Как Uber с помощью ML анализирует огромные датасеты, полезная статья в плане построения соответствующей технической архитектуры:
https://eng.uber.com/productionizing-distributed-xgboost/

-- MIT и IBM создали датасет ObjectNet, заточенный на понимание сложных и неоднозначных моментов распознавания изображений. Людям понятно, а машинам очень тяжело. Вдобавок в нём нету обучающей выборки! :)
http://objectnet.dev/

-- NASA совместо с Intel, IBM и Google внедряет AI-технологии поиска инопланетян. Когда каждые 10 секунд приходит очередной гигабайт сырых данных, вручную изучать это всё давно уже немыслимо.
https://www.space.com/artificial-intelligence-tech-aid-exoplanet-asteroid-detection.html
Основные тренды искусственного интеллекта 2019 по ежегодному стэнфордскому исследованию AI Index https://hai.stanford.edu/ai-index/2019
-- в период 1998-2018 количество научных работ по AI выросло на 300%;
-- очень высок интерес к теме обучения AI. Например, AI/ML сегодня самая популярная специализация среди выпускников факультетов computer science в Северной Америке. Также, 21% PhD в cs специализируется сегодня на AI, на втором месте с большим провалом (10%) темка кибербезопасности;
-- США пока лидеры по научной деятельности в сфере AI (40%), но вплотную за ними Китай и Япония;
-- скорость AI-алгоритмов, учитывая прогресс и железа и софта, стабильно растёт. Время для обучения типичной модели на ImageNet сократилось с трёх часов в октябре 2017-го до 88 секунд в июле 2019-го. Стоимость такого обучения упала с тысяч долларов до менее чем ста долларов;
-- в прикладных сферах максимальные инвестиции в AI приходятся на беспилотные автомобили ($7,7 млрд.), медицина и распознавание лиц по $4,7 млрд., и робототехника $1 млрд.

И вот мнение отечественных экспертов про это всё (+ PyTorch рулит!)
https://habr.com/ru/post/480348/

Короче говоря, больше игнорировать этот тренд невозможно, поэтому с января 2020-го оживляю и далее развиваю мой курс по машинному обучению :)
-- Как lego.com переходит на serverless и functionless
https://www.serverlesschats.com/20
functionless -- очередной сильный less-тренд, идея которого, что мы теперь даже не пишем конкретные функции-обработчики событий, а работаем с облаком как с единой многофункциональной панелью, связывая входы и выходы с помощью конфигурационных настроек и единичных строчек кода, крохотных скриптов. А первый шаг к безфункциональности -- писать поменьше функций и по максимуму использовать стандартные возможности облачной системы.
+ развитие темы про functionless и Lambda Nirvana (не зря я когда-то назвал паблик lambda_brain :)
https://medium.com/lego-engineering/dont-wait-for-functionless-write-less-functions-instead-8f2c331cd651

-- Какой невероятно сложной в инженерном плане оказалась задача организации киберсоревнований по League of Legends, куча увлекательных технических подробностей
https://technology.riotgames.com/news/engineering-esports-tech-powers-worlds
Искусственный интеллект быстро становится топовой специальностью, это происходит буквально за один год! Конечно, под тему AI сегодня подгоняется много всякого разного, и тем не менее, хотя бы скилл такой в своём резюме указывать сегодня очень важно, иначе ваши cv даже по ключевым словам не пройдут фильтры хороших вакансий. Для начала желательно пройти что-то вроде моего курса по машинному обучению, чтобы научиться распознавать котиков и познакомиться с азами data science и фреймворка pytorch.

Потому что в США специалист по AI -- самая быстрорастущая специальность по критерию размера зарплат (среди всех профессии вообще!), как на неделе сообщил LinkedIn. А вот краткосрочный спрос на спецов по блокчейну вполне ожидаемо сильно спал. Вторыми по росту зарплат стали инженеры по робототехнике, и третьими -- data scientists.
Bye bye blockchain developer, hello artificial intelligence specialist.
https://fortune.com/2019/12/10/artificial-intelligence-hottest-job/

С AI такого спада точно не случится, но конечно будет ещё много шума, когда каждый начинает вписывать в свои навыки "data scientist" и "data engineer" и т. п., а на каждом собеседовании будут задавать вопрос про навыки в сфере AI. Поэтому сегодня особо важно быть в этой теме, уметь выделяться своими реальными умениями. "Навыки AI/ML" становятся таким же мастхэвом, как и SQL или ООП.