👨‍💻DEV [Ontico] Moscow Python Conf ++ 2021

[Ontico] Moscow Python Conf ++ 2021_0.jpg


[Ontico] Moscow Python Conf ++ 2021





Что вы получите

* Карта применения Python для высоконагруженных задач

* Система развития навыков питониста от евангелиста MoscowPython Ильи Лебедева

* Карьерный roadmap питониста

* Интерактивная карта применения Python к различным частям инфраструктуры

* Топ-10 уязвимостей в Python от компании Positive Technologies

Секции конференции

- DevOps, контейнеры и развертывание

- Базы данных и ORM

- AI/ML и визуализация данных

- Тестирование и автоматизация

- Язык Python, его эволюция и использование

- Сеть, бэкенд и web-разработка

Все презентации спикеров

Видеозаписи всех докладов

Трансляция всех докладов. Митапы и воркшопы не транслируются!

Предворительная программв:

1. AI/ML и визуализация данных (всего - 10)

Towards Knowledge as Code AI/ML и визуализация данных

Анатолий Щербаков

Recall Masters

Пишет на Python около десяти лет, занимается корпоративными системами и любит красоту в коде. Мечтает о Semantic Web.

https://yeti.sh

http://github.com/anatoly-scherbakov/

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

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

Почему вам нужен JupyterHub: для команды, студентов и домохозяйки

Петр Ермаков

DataGym / Lamoda

Jupyter и JupyterHub — популярный инструмент для работы с данными.

Я расскажу, почему я его люблю и почему ненавижу, секреты и опыт.

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

Но что, если вы не один? Как ужиться на одной машине 20 студентам, изучающим ML, или R&D-команде из 15? Готовые рецепты, рекомендации и собранные грабли.

Автоматизируем саморефлексию ботами и дашбордами

Игорь Мосягин

Klarna

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

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

От 0 до 1, Рython для Data Scientist

Виктория Тюфякова

Магнит, SkillFactory

ЯП Python является одним из ключевых навыков в сфере Data Science, но как облегчить себе путь в начале развития в новой сфере/профессии и не учить все и сразу?

Data Science включает несколько специализаций, каждая из которых использует Python в своей работе, а так же внутри одной специальности, например Data scientist, для решения разных задач используются различные библиотеки ЯП Python. C чего же все-таки начать, чтобы как можно быстрее войти в профессию Data Scientist? Об это я и буду говорить в своем докладе.


Работа с МЛ-сервисами под нагрузкой


Олег Бугримов

Авито

У нас в Авито созданы десятки сервисов, в которых используется модели машинного обучения. Модели встречаются большие и маленькие. Суммарная нагрузка на сервисы около 1млн RPM.

В этом докладе я расскажу, как мы используем инфраструктуру для удобной эксплуатации МЛ-моделей и продемонстрирую разработанную нами библиотеку, для запуска МЛ-моделей в продакшне и под нагрузкой.

Jupyter-расширения. Как сделать жизнь проще и ярче AI/ML и визуализация данных

Александр Артеменко

Яндекс Go

Работать с Jupyter приятно само по себе, но расширения могут сделать жизнь ещё проще. Например, они могут добавлять полезные магические команды или Python-функции, рендерить объекты в понятном и читаемом виде, запрашивать и сохранять данные.

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

Из этого доклада ты узнаешь:

* как устроено простейшее расширение;

* как добавлять новые %magic-команды;

* делать отображение объектов в Jupyter более красивым и информативным;

* показывать интерактивные формы и реагировать на действия пользователя;

* делать своё "ядро" с предустановленным набором расширений.

Реализация С++-интеграции в Python на примере NeoML AI/ML и визуализация данных

Станислав Ангелюк

ABBYY

Мы разрабатываем open source-библиотеку для машинного обучения NeoML. Ядро нашей библиотеки написано на С++. Но для расширения области применения и упрощения использования мы сделали для нее Python-интерфейс. О том, как можно сделать интеграцию С++ в Python, при этом получить удобный и функциональный интерфейс, а также не потерять в производительности, я расскажу в своем докладе. Вас ждет обзор доступных средств интеграции С++-кода в Python: ctypes, CFFI, Cython, CPython API. На примере нашего проекта обсудим их плюсы и минусы и выберем подходящее. Обсудим проблемы, возникающие при реализации интеграции: многопоточность и GIL, аллокация памяти, владение объектами, реализация сложной иерархии классов, сериализация, производительность и т. д. Познакомимся поближе с возможностями библиотеки pybind11. Рассмотрим средства, предлагаемые в ней для решения обозначенных проблем. И в итоге оценим получившейся с помощью нее результат!

Разработка своего хранилища моделей машинного обучения и почему нам не подошли стандартные решения AI/ML и визуализация данных

Юрий Букаткин

Программный регион

Во многих компаниях Python не является основным языком программирования. С появлением машинного обучения на проекте возникает проблема, как внедрить модели, написанные на Python, с использованием Tensorflow, Keras и прочих библиотек с backend, написанным, например, на Golang?

В докладе расскажу:

- как мы дружили Python-модели ML c backend, написанном на Golang;

- почему нам не подошли стандартные средства tensorflow и ml-flow;

- как мы пришли к написанию своего решения;

- покажу подробный путь модели от jupyter playbook до procduction;

- какие дополнительные возможности в сервисе мы реализовали;

- что выиграли, а где набили шишки.

Ускорение инференса Tensorflow и PyTorch-моделей на процессорах Intel с помощью NNCF и OpenVINO AI/ML и визуализация данных

Василий Шампоров

Intel Corporation

Intel заинтересован в том, чтобы «железо», купленное его клиентами, полностью раскрывало свой потенциал; разумеется, это касается и DL-приложений. Подавляющее число DL-моделей производится с помощью фреймворков, основанных на Python (PyTorch, TensorFlow) — такие модели могут быть напрямую исполнены с помощью инструмента Intel OpenVINO на процессорах Intel с полным использованием аппаратных оптимизаций и ускорений.

Однако, ещё большего ускорения на железе Intel возможно добиться за счет перехода от вычислений в числах с плавающей точкой к целочисленным, или за счет отбрасывания «незначимых» параметров модели. Подобный переход обычно сопряжен с некоторой потерей качества предсказания модели. Для того чтобы уменьшить потери, используется метод симуляции целочисленных вычислений с дотренировкой, применяемый поверх методов «обрезки» моделей. Мы рассмотрим Python-пакет NNCF (Neural Network Compression Framework), который позволяет проводить подобного рода оптимизации, не выходя из исходного фреймворка, с дальнейшим экспортом оптимизированной модели и инференсом ее c помощью инструмента OpenVINO.


О хороших практиках построения инфраструктуры ML-моделей AI/ML и визуализация данных


Дмитрий Аникин

Лаборатория Касперского

Я расскажу о пути нашей модели от простого артефакта до самостоятельного сервиса. Расскажу, какие практики мы внедрили и как они нам помогли. CI/CD, мониторинг, алертинг на конкретном примере. Опишу весь путь деплоя модели от гипотезы до продакшна.

Основная мысль: слушатели смогут увидеть на конкретном примере практики MLOps и их полезность.

2. Тестирование и автоматизация (всего - 2)

Тесты, которые мы заслужили...

Артем Малышев

Self-Employed

Уже десятилетиями наличие автоматизированного тестирования в проекте считается признаком профессионализма команды. Практики continuous integration спасли несметное количество человеко-часов по всему миру. Однако мы редко задумываемся, какую цену приходится платить разработчику за возможность бесстрашно рефакторить проект. У каждой медали есть две стороны.

В докладе я разберу самые частые проблемы, которые разработчик встречает при написании и поддержке тестов в большом проекте. Рассмотрим практики, принятые в сообществе. Проанализируем фундаментальные причины появления всех этих сложностей. Я поделюсь своими личными результатами борьбы с данными фундаментальными проблемами.

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

3. Язык Python, его эволюция и использование (всего -10)

Объединяем экипаж танка вокруг линтера


Левон Авакян

Wargaming

В докладе я расскажу, откуда и как появились линтеры и статический анализ кода в танковой команде, расскажу почему у нас несколько подходов. Так же расскажу про то как линтеры помогают новичкам быстрее вливаться в проект.

Почему вам не нужен асинхронный ORM Язык Python, его эволюция и использование

Денис Катаев

Tinkoff.ru

Каждый день мы пишем много асинхронного кода и выбираем для каждой задачи подходящую aio-библиотеку в зависимости от того, с чем нам приходится работать: с HTTP или с файлами. А ещё нам приходится работать с базами данных, но, увы, aio-database нет.

Раньше отсутствие асинхронной ORM вызывало много вопросов у разработчиков, зато теперь у нас есть сразу несколько асинхронных библиотек. Впрочем, их использование даёт прирост к производительности не всех типов задач, а только некоторых.

В своем докладе я расскажу, в каких типах задач всё будет ок, а когда не стоит ждать чудес от асинхронности. Также разберёмся, почему так сложно написать асинхронное ORM и как в новой SQLAlchemy добавили асинхронность без переписывания кода при помощи greenlet.


Тени прошлого: разбираемся, как бороться с legacy Язык Python, его эволюция и использование


Владимир Филонов

Takeoff

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

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

Лицензирование питон приложений: тренды и проблематика

Алексей Смирнов

profiscope.io

Рассмотрим общую картину применения Open Source лицензий в PyPI: общие практики, нисходящие и восходящие тренды выбора новой лицензии, а также случаи её смены. Ответим на частные вопросы о том, какие лицензии наиболее часто применяются для проектов в разных областях и почему: от веб-приложений и фреймворков до библиотек и утилит в областях машинного обучения (ML) и обработки естественного языка (NLP). C применением CodeScoring изучим, какие сюрпризы несовместимости лицензий можно поймать если относится к задаче лицензирования собственного кода халатно. И в конце концов, поймем как всего этого избежать и корректно настроить CI/CD в части отслеживания лицензионной чистоты.

"Простой Python": ложь, большая ложь и метаклассы

Григорий Петров

Evrone

Мы привыкли к тому, что "Python — это простой язык, исполняемый псевдокод". Так написано в книгах, так говорят преподаватели на курсах, так написано в интернетах. А потом начинающие разработчики приходят на работу, где их встречают протоколы, декораторы, менеджеры контекстов, метаклассы и другие веселые зверушки взрослого пайтона.

Мой рассказ будет о причинах появления сложности: с какой целью в языке появились сложные штуки, что авторы Python ожидали от разработчиков и каким образом все раз за разом скатывается в неподдерживаемый ужас, где уже через год не может разобраться ни сам автор, ни его коллеги.

Зачем нам subinterpreters? Язык Python, его эволюция и использование

Павел Филонов

В рамках PEP 554 уже несколько лет идет работа над добавлением в Python возможности запускать несколько экземпляров интерпретаторов в рамках одного процесса. В докладе рассмотрим, кому и зачем это может быть нужно (привет от GIL и shared memory). Как этот инструмент будет соотноситься с многопоточными и мультипроцессными подходами, и чем это может помочь в задачах, которые работают с большими объемами данных в памяти.

Основная часть доклада будет посвящена именно вопросам практического применения subinterpreters. Без сильного погружения в особенности внутренней реализации. Погружаться будем только там, где это потребуется для понимания практических результатов.

Как вызвать C++ из Python и не стать медленнее Язык Python, его эволюция и использование

Александр Боргардт

ВКонтакте

У питонистов есть простое правило: хочешь сделать быстро — пиши нативный код. Это действительно так, когда нативный код пишут опытные разработчики. А вот те, кто только начал погружаться в волшебный мир C/C++ кода могут столкнуться с тем, что их код стал не быстрее, а медленнее. Почему? Потому что неявные накладные расходы при вызове нативного кода из Python. Подробнее — в моем докладе.


RPA как основа IT-автоматизации Язык Python, его эволюция и использование


Иван Маслов

pyOpenRPA

Разочарованы в IT? RPA как основа IT-архитектуры, которая победит микросервисы.

- IT-задача реализуется долго/до

... (текст обрезан из-за лимита форума)
🔐 Хотите получить доступ?

Чтобы увидеть скрытые ссылки и ставить лайки, активируйте VIP-статус.

💎 ПОЛУЧИТЬ ДОСТУП Наш Telegram канал
 

Похожие курсы

Назад
Верх