Лаборатория Математики и Программирования Сергея Бобровского – Telegram
Лаборатория Математики и Программирования Сергея Бобровского
1.29K subscribers
1.19K photos
24 videos
931 links
ЛаМПовое с Бобровским
Download Telegram
Вышел PyTorch 1.5
https://github.com/pytorch/pytorch/releases
В доках программисты понаписали про several major new API additions, стыковку с C++ и т. д. Но в целом это уже "взрослый" апдейт, который нацелен прежде всего на стабильный продакшен корпоративного уровня, над ним ударно поработали инженеры из Amazon и Facebook: добавлена поддержка TorchServe (удобная работа с модельками, экспортированными из питорча) и TorchElastic Kubernetes (понятно из названия, о чём это, распределённое обучение).

А конкуренты из Гугла тем временем выпустили профайлер для TensorFlow, а главное, обновлён рантайм TensorFlow RunTime (точнее, текущий полностью заменён на TFRT), и теперь модельки TF могут эффективно работать на ещё большем числе устройств, в самых разных процессорных архитектурах.
https://blog.tensorflow.org/2020/04/tfrt-new-tensorflow-runtime.html

Для этого был даже разработан компилятор MLIR, который, утверждается, "Syntactically similar to LLVM", ну и судя по тому, где он хостится, это действительно так :-)
https://mlir.llvm.org/
Агентство национальной безопасности США под давлением общественности открыло в public domain свой курс по Python, который, по неофициальной информации, делал сам автор питона Guido van Rossum.
https://nsa.sfo2.digitaloceanspaces.com/comp3321.pdf

Тут ценен не столько сам контент, он везде одинаков, сколько структура курса, последовательность и форма подачи, формат обучения, рекомендации инструктору, какие примерчики задачки, какие базовые технологии/пакеты (Pandas, Tkinter, JSON/XML ...), вот это всё.

Внимательно изучаю и полезные фишки добавляю в мои курсы, не только по питону.

Интересно например, что обучение ООП в АНБ сразу начинается с практического анализа понятия класса как типа, ещё даже до описания простейшего класса с минимальной структурой.
Легенды машинного обучения Yann LeCun и Yoshua Bengio объявили на конференции ICLR новый тренд, который станет, как обещается, ключом к интеллекту человеческого уровня:
https://venturebeat.com/2020/05/02/yann-lecun-and-yoshua-bengio-self-supervised-learning-is-the-key-to-human-level-intelligence/

Им названо self-supervised learning (частичное/полуавтоматическое обучение, обучение с частичным привлечением человечков).

Фишка в том, что последние исследования доказали подозрительно высокий потенциал нейронок, которые уже даже из сырых изображений научились извлекать потенциально гораздо больше информации, чем предполагалось ранее, просто пока вытащить из них это всё, как-то странно закодированное в промежуточных слоях, не очень получается, но вопрос лишь времени.
https://iclr.cc/virtual_2020/poster_B1esx6EYvr.html

Поэтому ML-технологии плавно сдвигаются в область использования неразмеченных данных, что конечно существенно удешевит разработку прикладных систем: пока именно стоимость "ручной" разметки (+ кодить/тюнинговать скриптики входной обработки данных) часто становится главной помехой.

Вообще это два больших направления: supervised learning и unsupervised learning (с учителем или без), а между ними вроде как reinforcement learning (обучение с подкреплением из внешней среды), показавшее удивительную эффективность в Dota2. Сермяга в том, что supervised learning требует большие датасеты, хорошо подготовленные заранее; unsupervised learning пока в основном тупит; RL демонстрирует прикладные результаты лишь в играх. И вот гуры попытались вытащить все сильные подходы в self-supervised learning. Идея, что такие системы смогут конвертировать unsupervised понятия в качество supervised и работать с неразмеченными данными. Примерно как малыши формируют прикладную модель мира, не слишком много взаимодействуя с реальностью (достаточно упаcть не тысячи раз, а буквально считанные разы, чтобы мозг быстро обучился хоть как-то удерживать равновесие, избегая болевого наказания), а в основном просто наблюдая за правильными образцами поведения.
Тридцать одна it-компания (Google, Samsung, Cisco, Vodafone, AT&T, IBM, Microsoft, Verizon, ...) объединилась в конвенцию Open RAN Policy Coalition, задача которой -- уход от аппаратных сетей 5G (хардвер в которых преимущественно китайский) к виртуальным, облачным, программно управляемым 5G-системам.
https://www.openranpolicy.org/
Очередной мэйнстрим про популярность языков программирования
https://www.hackerearth.com/recruit/developer-survey/
Голосовало 16,655 разработчиков из 70 стран. Языком программирования, который достаточно опытные программисты хотели бы дополнительно изучить, стал Go (32%), затем Python (24%), далее Kotlin (21%).
По другому недавнему исследованию GitHub и Stack Overflow
https://www.zdnet.com/article/python-now-as-popular-as-java-as-typenoscript-climbs/
топчик это JavaScript, далее Python и Java, Go на 14-м месте.

Ничего из этого всего не следует :) Ну разве что если хотите поизучать concurrency через Go (который "модно, стильно, молодёжно"), порекомендую всё же начать с Erlang/Elixir, если не боитесь функционального стиля.

Из смешного, что больше всего хочут программисты на рабочем месте? Топ тема это несколько мониторов (и побольше размером!), возможность слушать музычку в наушниках чтобы манагеры не дёргали, бесплатные кофе и печеньки круглосуточно, и чтобы вокруг тебя поменьше было суеты.
Как вернётесь в офис с удалёнки, требуйте себе вот это вот всё, это сегодня общемировая норма для программистов! :-)
По данным Торговой ассоциации IT-индустрии CША CompTIA, в апреле сократили 112 тысяч айтишников, и пока это крупнейший спад в истории IT, хотя в сравнении с другими отраслями он куда меньше. К тому же в последние недели он замещается увольнением низкоквалифицированного персонала и менеджеров :)
https://www.comptia.org/newsroom/press-releases/2020/05/08/us-tech-sector-employment-down-in-april-even-as-employers-look-to-fill-technical-jobs-comptia-analysis-finds

CompTIA полагает, что компании откажутся скорее от маркетинга и много чего другого, чтобы сохранить инженерные мозги организации, так как единственное, что точно можно сказать о смутном будущем ближайших десятилетий "COVID-19 economy" -- что онлайн будет захватывать вообще всё. А эксперты Forrester предупреждают, что хоть и медленно, но теперь уже точно неотвратимо, всё больше и больше привычных видов деятельности, хоть немного связанных с физической деятельностью, будут заменяться роботами и иной автономной автоматизацией.
https://www.informationweek.com/strategic-cio/team-building-and-staffing/how-to-prep-your-career-for-the-ai-job-apocalypse/a/d-id/1335231
Классный "Интерактивный курс Python для новичков в программировании" (нереклама:)
https://letpy.com

Подробнее о нём:
https://proglib.io/p/interaktivnyy-kurs-python-dlya-novichkov-v-programmirovanii-2020-05-19

Можно графические задачки делать, есть учебный отладчик и даже бот, который пытается как-то неформально подсказывать по ошибкам, молодцы ребята.
290 миллионов студентов сегодня остались без оффлайнового обучения, и оказалось, что 70% преподавателей к ведению онлайн-обучения совсем не готовы. Однако поколение Z (первое цифровое поколение) не парится: только 26% считает, что отсутствие высшего образования может стать препятствием в карьере, и 90% нанимателей готовы брать на технические должности ребят без диплома -- реальные навыки и желание учиться сегодня имеют явно большее значение, нежели наличие четырёхгодичных корочек.
https://workplacetrends.com/closing-the-skills-gap-study/
Однако растёт ценность всевозможных сертификатов онлайн-курсов (причём любых, даже совсем небольших) и цифровых cv (для программистов это прежде всего гитхаб).
62% Z-ребят готовы оставить университет ради хорошей работы, начинают трудиться они заметно раньше, нежели их родители, однако предпочитают, чтобы на работе было организовано обучение. 84% уверены, что их карьера будет сильно отличаться от старомодной модели родителей, и долгосрочная работа в одной компании быстро становится атавизмом.
Работа и жизнь сегодня смешиваются, сливаются, поэтому Z справедливо ценят удобные рабочие места и комфорт, но не в классическом смысле, а с акцентом на том, что на работе по сути происходит их жизнь, поэтому частые перерывы и отвлечения на соцсети совершенно нормальны.
Нейросетка GameGAN сгенерировала полноценный пакман, просто наблюдая за оригинальной игрой, не зная ни правил, ничего другого про саму игру. Основные идеи сохранены, и мелкие фишечки добавились, в плане бонусов и охоты.
https://blogs.nvidia.com/blog/2020/05/22/gamegan-research-pacman-anniversary/
NVIDIA обещает с помощью геймгана автоматически генерировать качественные уровни для самых разных игр, а также выпускать модификации игр, улучшенные нейросеткой, уже в этом году на своей платформе AI Playground.
53% поколения Z интересует частичная занятость, нежели фуллтайм, и 46% Z уже в различной форме участвуют в так называемой gig-экономике. Этот подход даже ближе к фрилансу, который отличается от фуллтайма прежде всего наличием нескольких источников дохода, когда человек участвует сразу в нескольких проектах разных компаний. И в целом, gig-схемы становятся всё более доступными и прибыльными, поэтому нестандартные пока карьерные пути станут скоро обычным делом.

При этом поколение Z находится в состоянии сильного беспокойства и стресса, и оно также -- самое одинокое на сегодня. Более половины представителей Z заявляют, что чувствуют 10 из 11 эмоций, связанных с одиночеством.
https://www.multivu.com/players/English/8294451-cigna-us-loneliness-survey/docs/IndexReport_1524069371598-173525450.pdf

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

Самое классное, наверное, что Z росли в виртуальном режиме реального времени, играя с самыми разными незнакомыми людьми со всего мира, и сейчас они точно также, вместе со всем своим поколением, переживают глобальный кризис. Количество Z, которые идентифицируют себя прежде всего как граждан мира, нежели граждан конкретной страны, составляет уже 42 процента,
https://www.spotifyforbrands.com/en-US/culturenext/
И этот процент будет расти и дальше, так как общие трудности теснее связывают вместе ребят по всему миру.
На фоне этого всего акции Microsoft подскочили на 15%, а их облачный сервис Azure подрос на 59%, хоть они и стыдливо оправдываются, что дескать пандемия не при чём. Доход AWS за первый квартал составил 10 миллиардов долларов, рост 33%, и Амазон сейчас уже стал крупнее, чем Oracle.
Очень рекомендую изучить эти облачные конструкторы, проще всего начать с AWS (у гугла облака менее удобны и более аскетичны), такой стек сегодня обязательно знать, и за этими парадигмами всё будущее.
Понятный тренд про конкуренцию за искусственноинтеллектный захват мира: создавать в машинном обучении очень качественные и крупные модели, которые требуют огромных вычислительных ресурсов для их обучения, да и для сопровождения, и людских -- для подготовки датасетов и очень специфического, по сути уникального обучения моделек, каждое из которых превращается в большой научный проект. В результате ИТ-мэнстрим чётко отрезается от этого всего, и даже эксплуатация таких large-scale-AI-проектов становится им не под силу. Кушайте облачный сервис задорого, и всё.
Google, Facebook, Amazon, IBM, может ещё 2-3 компании, и всё. Ну и Microsoft конечно, вместе с OpenAI спроектировала суперкомп под extremely large artificial intelligence models:
https://blogs.microsoft.com/ai/openai-azure-supercomputer/
ZeRO-2 -- оптимизация памяти под такие проекты:
https://www.microsoft.com/en-us/research/blog/zero-2-deepspeed-shattering-barriers-of-deep-learning-speed-scale/

Nvidia жутко таким трендам довольна: продажи её графплат под AI-проекты за первый квартал подскочили аж на 39% (!) и преодолели "психологически важный порог" в три миллиарда долларов :)
Анонсировала в мае новый AI-чип A100 AI (пять петафлопс), формально завершила покупку Mellanox за $7 миллиардов, и обещает, что с её помощью обновлённая технология RTX для реалтаймового ray tracing уже скоро будет в ноутбуках (ищите бюджетную GeForce RTX 2050).
Смешное обсуждение тренда микросервисов.
https://news.ycombinator.com/item?id=22726328
В 2016-м Uber на хайпе двинул вот в это всё, засветился на конференциях, "Lessons learned at Uber on scaling to thousands of microservices" бла бла бла, однако в этом оказалось столько боли и страданий, что уже в этом году все микросервисы, похоже, снова заменятся на классику полувековой давности. Потому что каждый микросервис в итоге получился как маленький монолит, за которым, внезапно, тоже оказался нужен свой тщательный инженерный уход :)
В последние несколько лет технологии нейронных сетей переживают плавную революцию -- сперва не очень заметно, сегодня уже яснее, на смену CNN/RNN приходят так называемые трансформеры, уже сильно другие архитектуры, в которых всё же наверное главная фишка -- это идея "внимания", "интуиции", которое уделяется потенциально важным сущностям. И сегодня это топчик: OpenAI’s GPT, Microsoft’s Turing-NLG, Google’s BERT.

Тут тоже, как я раньше писал, продолжается гонка больших моделей, которые по качеству заметно обгоняют небольшие -- не линейно, а гораздо сильнее, причём особенно сильно эта разница растёт при применении трансформеров. Turing-NLG -- 17 миллиардов параметров, а GPT-3 вышедшая на днях -- 175 миллиардов параметров.

Microsoft уже уволила 27 журналистов, писавших заметки для её сайта,
заменив их AI
https://www.theguardian.com/technology/2020/may/30/microsoft-sacks-journalists-to-replace-them-with-robots

Полезные рекомендации от 150 экспертов, как правильно датасаентистам работать с ноутбуками:
https://www.microsoft.com/en-us/research/blog/old-tools-new-tricks-improving-the-computational-notebook-experience-for-data-scientists/
Zoom смасштабировался в апреле с 20 миллионов до 300 миллионов активных пользователей за одну ночь. Конечно, внутри был ряд крэшей, однако ребята достойно с этим справились, при том, что архитектуру под такой уровень они не планировали, стартап ведь развивался эволюционно, из прототипа. Как так делать:
https://blog.zoom.us/wordpress/2019/06/26/zoom-can-provide-increase-industry-leading-video-capacity/
Ключевые моменты их проекта: Distributed architecture; Multimedia routing; Multi-bitrate encoding; Application layer quality of service.
Forwarded from Alpha Centauri | Космос (Paul Potseluev)
На Reddit прошла Ask me anything-сессия разработчиков ПО из SpaceX. Один из наших читателей, SP, собрал интересные тезисы из их ответов пользователям. Возможно, чуть позже мы подготовим текст с более подробным разбором, а пока держите вот такие краткие итоги:

- Кодеры SpaceX подтвердили, что на мониторах в драконе крутится GUI на Chromium и Javacript. сначала они этот вариант сделали для презентации НАСА, а потом им самим понравилось
- Пока игр на Crew Dragon нет, но в будущем их скорее всего добавят
- Симулятор стыковки не имеет ничего общего с реальным софтом, его начали только как шуточный проект
- В "Драконах" не используются детали Tesla (дисплеи совершннно другие)
- "Старлинки" сейчас генерируют в районе 5 терабайт телеметрии сутки, миссия Dragon -- сотни гигабайт
- Софт Starlink сейчас обновляют примерно раз в неделю. Получается, что ПО на выведенных спутниках новее, чем на тех, что находятся в процессе запуска
- Спутники Starlink это скорее датацентр с серверами, чем космический аппарат
- Каждый запуск 60-ти Starlink'ов -- это вывод более 4000 компьютеров с линуксом. На данный момент в группировке на орбите более 30К компьютеров и 6К контроллеров
- Про алгоритмы посадки рассказывать не могут - секрет :)
- Много программистов пришли в SpaceX из геймдева, из-за похожей математики и умения решать проблемы с производительностью

- Используемые языки программирования:
-- основной С/С++, сторонние библиотеки используют по минимуму, предпочитая писать собственные для контроля качества кода, применяют в основном ООП, хотя любят также упрощать код;
вебстек для дисплеев - HTML / CSS / JS + веб-компоненты + собственный фреймворк;
-- python для тестирования и автоматизации
- на бортовых компьютерах RTLinux (linux ядро с патчем PREEMPT_RT, превращающим ее в ОС реального времени), на контроллерах голый код;
- GUI в ЦУПе основаны на LabVIEW
- Качество кода обеспечивается модульными тестами и интеграционными тестами в том числе и на летных образцах
- Управление Драконом создано исходя из принципа минимального взаимодействия с пилотом
- Спутники Старлинк настроены переходить в режим высокого аэродинамического сопротивления при долгом отсутствии связи с землей для быстрого схода с орбиты.
- В SpaceX есть мощный инструмент для сопоставления программы полета с симулятором. Можно полностью смоделировать миссию или любые сценарии сбоя даже на оборудовании, разложенном на столе.
- Наземное ПО для Старшипа основано на вебстеке и GUI Дракона, оно же будет использовано и в интерфейсах самого Старшипа.
- Возможно скоро поделятся скриншотами с дисплеев Дракона
- Система безопасности полета работает не на бортовом компьютере, а исключительно на контроллерах и сама взаимодействует с датчиками. Эта система отвечает за прекращение полета, к примеру когда ракета сходит с курса

Ну и ответ на самый важный вопрос: "Of course we play KSP :)"
Gwern Branwen (чтобы перечислить способности этого человека, нужен отдельный пост; особо стал известен, когда запилил GAN-сетки для генерации аниме-лиц и фигурок) в отношении недавно запущенной OpenAI GPT-3 (языковая модель со 175 миллиардом параметров, генерирующая тексты на уровне неплохих журналистов) заявил:

"GPT-3 реально пугает, потому что это ведь крошечная модель по сравнению с тем, что потенциально возможно, причём обученная самым глупым способом на единственной хилой модальности на крошечном датасете, но уже в первой версии проявляется сумасшедшее мета-обучение в рантайме, а кривые масштабирования всё еще не прогибаются!"

В США в июне начались слушания в Конгрессе по поводу Algorithmic Accountability Act ("Об алгоритмической подотчётности"), чиновники хотят по максимуму зарегулировать деятельность AI-организаций с позиций "непредвзятости результатов" (чтобы люди не подвергались дискриминации AI, которые принимают решения совершенно непонятно как). Какая-то погрешность в модели всё равно будет присутствовать, но конкретному человеку выяснить, что он попал в процент ошибки, невозможно. "Вам отказано в кредите" и всё. А если речь о здоровье, о медицинских диагнозах?

Поэтому параллельно конечно будут продолжать активно развиваться и формальные AI-технологии, где процесс решения прозрачен и понятен, и всегда можно вытащить подозрительное рассуждение. Microsoft например на днях выпустила новый язык программирования Bosque для AI-проектов, очень полезная и, надеюсь, перспективная вещь:
https://github.com/Microsoft/BosqueLanguage
Segment (одна из крупнейших customer data platform - сервисов с топовыми клиентами), рассказала, как решила понемногу отходить от монолитной архитектуры в 2013-м на микросервисы, но когда в 2017-м количество клиентов и нагрузка ощутимо возросли, микросервисы не смогли нормально смасштабироваться, всё поломалось, и решено было вернуться обратно к монолиту.
https://www.infoq.com/news/2020/04/microservices-back-again/
Как США борются с Китаем в научных исследованиях по искусственному интеллекту. Вкратце: китайцы стремительно захватывают всё :-)
https://www.nytimes.com/2020/06/09/technology/china-ai-research-education.html

Пока лидер США, но Европа уже сдаёт второе место Китаю, у них на троих где-то 70% всех научных исследований на ведущих конференциях.
Далее идут Канада, Англия, Израиль, Индия, Иран (по 3-5%), и в "Другие" -- оставшиеся 10% процентов, попал соответственно весь остальной мир, включая и Россию.

Похоже, что Монголия по AI скоро нас обгонит (если не уже): совместное исследование итальянских и монгольских учёных по созданию фреймворка визуального распознавания для дронов, слабенькое бортовое железо тянет одновременное отслеживание нескольких объектов на частоте видеопотока 20 кадров/с.
https://arxiv.org/abs/2004.06154
Парадокс с искусственным интеллектом в том, что это сегодня один из самых востребованных навыков в ИТ, однако AI-проекты очень сильно сдерживаются нехваткой специалистов, и получается замкнутый круг. Нету спецов -- AI-проекты развиваются медленно -- мало вакансий. А ведь точка входа в AI-профессию сама по себе весьма высокая, и вдобавок надо постоянно прикладывать много усилий, чтобы держаться на современном уровне. В AI/ML это особенно явно заметно. У кого есть время регулярно читать объёмные научные работы по AI или изучать новые фреймворки и платформы, выходящие каждый месяц?

Происходят всё время ведь очень крутые вещи, вот например как научили нейросеть играть в NetHack -- это такая олдскульная очень сложная roguelike, люди месяцами мучаются :)
https://ai.facebook.com/blog/nethack-learning-environment-to-advance-deep-reinforcement-learning/

Да и с чего вообще тут начать? Какие первые шаги делать? Классические когнитивные теории утверждают, что даже если хотя бы по 5-10 минут каждый день делать/изучать/развиваться в какой-то конкретной темке, в одном направлении, то через определённый период времени (месяцы, годы) вы станете в ней весьма и весьма опытным. Главное -- регулярность.

А начать движение в AI можно например с моего нового курса по SMT-солверам с нуля (автоматические решатели задачек и головоломок)
https://vk.com/wall-152484379_2878