О чём расскажут на PiterPy 2022

Тем, кто использует в работе Python, может быть уже знакомо название конференции PiterPy. А мы в JUG Ru Group ранее проводили другие конференции вроде Joker. Но теперь эти два мира встретились, и организацией PiterPy занимаемся тоже мы.

Сама конференция уже на следующей неделе, а её программа теперь полностью составлена, и представляем её Хабру: вот о чём будут доклады.

PiterPy 2022 пройдёт в два этапа: 18 и 19 октября онлайн, а на 28 октября запланирована офлайновая часть в Санкт-Петербурге. Те, кто не готов добраться лично, смогут и доклады 28 октября смотреть в онлайн-формате.

Оглавление

Воркшоп и мастер-класс

Для начала — два случая, где будет не просто теоретический монолог со слайдами, а более практическое выступление.

Современный DX в Django

71d0a48b49a0b7f0b43052737814552c.jpegФёдор Борщёв

Школа Сильных Программистов

В этом воркшопе на примере живого проекта Фёдор с нуля развернет и настроит для удобной разработки приложение на Django. Сделает его 12-факторным, прикрутит линтеры, использует актуальный тулинг для тестирования и поместит всё это в CI —, а вы можете попробовать сделать это вместе с ним.

Использование Python для обучения с подкреплением

2b4d4ee1304e030cd1f2676e6a35b136.jpegДаниил Трубин

Газпромнефть-Региональные продажи

Вам хочется применять в проектах reinforcement learning (RL), но не хочется при этом утопать во всех подробностях работы алгоритмов? Вот здесь можно будет получить достаточно информации про алгоритмы обучения с подкреплением, реализованные на Python с помощью библиотек PyTorch, Gym и не только — и это будет не теоретический отвлечённый монолог, а практический мастер-класс.

ML, AI и Дата-инжиниринг

Распознаем хайлайты в матчах Dota 2

d805c2169f84daae9d2bc5070547194b.pngДмитрий Савостьянов

Nordcurrent

У Дмитрия уже есть цикл статей на Хабре о том, как Python может пригодиться в доте, а в докладе он зайдёт дальше. Здесь познакомимся со структурой реплеев и научимся реализовывать алгоритм поиска интересных моментов в матчах Dota 2 в интерактивном формате, получившийся код будет выложен в открытый доступ.

Для оценки качества используем ролики с YouTube, где авторы делают нарезки руками. Для сбора информации из роликов воспользуемся нейросетями TrOCR и BERT.

Как в 3D-мире найти своё место и многое другое с помощью TensorFlow Graphics и PyTorch3D

5157e136af94d9056c8719da1f92bb80.jpegВалерия Юшенко

CvisionLab

В последнее время компьютерная графика активно используется для решения задач компьютерного зрения. В связи с чем мастодонты сферы разработки инструментов для глубокого обучения (Google и Facebook) расширяют функциональность своих фреймворков (TensorFlow и PyTorch), дифференцируемых графическими слоями. Как следствие, разработаны две библиотеки TensorFlow Graphics и PyTorch3D, c помощью которых можно решать задачи, связанные с 3D-данными.

В этом докладе Валерия ответит на вопросы:

  • как определить свое положение в 3D-пространстве по одной фотографии;

  • какие задачи, связанные с 3D-данными, теперь можно решить с использованием Python, не прибегая к С++;

  • какие есть существенные различия в реализациях графических слоев в фреймворках и как это может сказываться на результатах оптимизации.

Как мы делали фреймворк для наших ML-проектов… и у нас получилось

6cdf9e696e8b928fe7faf8b134b3b6cf.jpgАртем Грибуль

Тинькофф

У вас было так, что каждая разрабатываемая командой модель лежит в своем уникальном репозитории, непохожем на остальные? А было, что у каждой из моделей собственная система версионирования и вывода в прод, разный способ запускать обучение и даже разный способ менеджить гиперпараметры? В команде Артёма было — и это больно.

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

Нейросетевой подход к решению задачи кредитного скоринга

8589f5c11ba4bf31303824536b3c23a4.jpegАлексей Фирстов

Альфа-Банк

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

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

Проект по переводу отчетов международной страховой компании с Oracle на современный Big Data-стек

0fe2586614c99437a00e1e76bb2acb90.jpegДенис Шелемех

Иннотех

Денис расскажет, как с командой делал Proof of Concept стримингового ELT-пайплайна для крупной международной страховой компании, используя следующие основные компоненты:

  • Сервер Oracle.

  • Debezium коннектор для загрузки CDC лога в Kafka.

  • Kafka.

  • Spark Structural Streaming.

  • Delta Lake.

  • AWS S3 в качестве облачного хранилища.

CV в архиве: оцифровка микрофильмов

476b1dad328eff1bd39f77b446219d73.jpegЮлия Филюшкина

ПЦ МАСТ ЕУ

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

Если вы хотите заниматься компьютерным зрением, но не знаете, с чего начать, то вам на доклад Юлии и Маргариты. Но и уже состоявшимся специалистам в области CV скучать не придётся.

Бенчмарки алгоритмов графовой аналитики, или Как мы обновили PM4PY и построили Process Mining в Ozon для бизнеса

7cf5c0de55095cefd18953cce341514c.jpegАлександр Толмачев

Ozon

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

В компании исследовали разные решения — от опенсорс-библиотек и приложений до платных сервисов. И везде была необходимость в правильном препроцессинге для PM.

Александр расскажет:

  • как в Ozon изучили и сравнили текущие решения библиотек Python для process mining;

  • какую библиотеку выбрали как основу для построения итогового сервиса графовой аналитики и почему;

  • какие хаки в препроцессоре данных на Python нужно делать для максимизации производительности расчётов графов;

  • как реализовали алгоритм для аппроксимации поведения генеральной совокупности;

  • как построили фреймворк препроцессинга данных на Python и реализовали алгоритм process mining именно на фокусные задачи с управлением.

Абонент временно доступен

ba5409ffcb0d24a2ceb1ccfaa3dc37de.jpegЕлизавета Пушкарева

Точка

Телефонные звонки, как ни странно это в XXI веке, до сих пор остаются одним из основных способов коммуникации. И вместе с тем они приносят еще и тучу текстовых данных. 

На конференциях можно встретить отдельно доклады про NLP (Natural Language Processing) и отдельно про ASR (Automatic Speech Recognition). А вот здесь будет применение NLP к результатам ASR — причём на конкретном примере, а не просто теоретический обзор возможностей.

Елизавета объяснит, в чем сложность анализа текстов звонков и чем он может быть полезен бизнесу. Еще она расскажет:

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

2) Как найти в тексте неименованные сущности.

3) Как искать вхождения текста в текст и делать это быстро.

4) Как выделить «удачные» и «неудачные» эпизоды в речи говорящего.

5) Как из кучи текстов получить удобный отчет.

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

Введение в GPGPU для программистов на Python

bcf114351e45c24b28075b86029c2d5d.jpegЕгор Макаренко

Судо

c31b0add4451770aa09989beea13b9d0.jpegМихаил Лукин

Судо

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

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

Что будет в докладе:

  • введение в архитектуру GPU и основные отличия от CPU;

  • обзор GPGPU-библиотек для Python;

  • основы работы с профайлером на примере NVIDIA Nsight Compute;

  • практическое применение на примере реальной задачи для научных расчётов.

ETNA: трудности разработки open source-фреймворка для временных рядов

a0100f633774886ff8887c765e4afcc0.pngАртем Махин

Тинькофф

51f884fcd9dea0b5f83a36683a1c5c4c.jpegАлександр Чиков

Тинькофф

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

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

Тестирование

Параметрическая генерация тестов с Pytest: практика и хитрости

62b4c38a42139ae714550ecd4d55f30c.jpegВладимир Васяев

Максилект

Владимир не только поговорит про параметрическую генерацию автотестов при помощи Pytest, но и прямо в процессе выступления во время сессии лайвкодинга покажет, как написать простейшие параметрические тесты. И также продемонстрирует несколько хитростей, которые позволяют сделать тесты более читаемыми и понятными стороннему человеку, а также отметить некоторые из них серыми при падении (не блокируя билд).

Пилим питона на конструктор. Как мы кастомизировали PyTest для счастья разработчиков, билд-инженеров, тестировщиков и менеджеров

356994ac0ce0faa0f0e81c09aee93d1e.jpegОлег Пригода

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

Олег — опытный разработчик систем масштабного тестирования приложений. Он расскажет, как в его команде написали обвязку для pytest и теперь прогоняют разные типы тестов для разных продуктов — от разных команд на разном железе в требованиях SDL. Акцент будет на интеграционных сценариях тестирования.

Доклад пригодится всем автотестировщикам и евангелистам DevOps.

Backend: microservices и API

Работа с Web3 с помощью Python на примере Uniswap

c64b4600f23a8f2edd069cc83449dc0c.jpegАлексей Малашкевич

AgileCode

Мы все чаще слышим про смарт-контракты, на которых строят различные распределенные системы. В них Python используется слабо. Однако в мире Web3, кроме написания логики самих смарт-контрактов, есть еще и другие задачи — например, по интеграции с сетью Ethereum. И вот здесь Python заявляет о себе.

Децентрализованная биржа Uniswap — один из самых ярких представителей Web3 и DeFi. Из доклада вы узнаете, как устроена децентрализованная биржа и как с ней можно работать с помощью Python.

Python и WebAssembly на бэкенде

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

duckstax

Задавались ли вы вопросом, как запустить множество изолированных Python-интерпретаторов в условиях ограниченных ресурсов? Если изучить этот вопрос поглубже, то задача оказывается очень нетривиальной.

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

Александр уже известен выступлениями на конференции C++ Russia, так что к хардкорному миру wasm ему не привыкать. А ещё он умеет и любит дискутировать по теме своих докладов — участвуйте в обсуждении после доклада и убедитесь сами.

Запустить MVP? Подержите мое пиво

1c8ff2807752e18ff4d6cd3032486973.jpegАлексей Половинкин

Agima

Алексей расскажет:

  • про опыт реализации различных MVP-проектов;

  • в чем сложность их запуска на микросервисах;

  • с какими проблемами столкнется разработка на старте;

  • какие решения нужно продумать сразу, а какие можно отложить на потом;

  • что нужно прорабатывать и учитывать в сроках разработки.

Подробно пройдемся по автотестам, которые всегда исключают из MVP — вы узнаете, почему это плохо. Алексей покажет, как строятся автотесты в микросервисах. Пройдемся по работе с интеграционной шиной (за основу будет взят RabbitMQ). Узнаем про работу с celery и без нее, а также про логирование — каким оно должно быть и как должно быть построено. Зацепим основные системы мониторинга, подробно остановимся на Sentry.

Также в докладе будут рабочие кейсы и опыт реализации различных проектов.

Пишем бэкенд для инди-игры. Таблица рекордов, ивенты, чат, боль

688cb45939992daec88abe505d30edd7.jpegАнтон Гладышев

Selectel

С чего всё началось? С того, что Антон начал писать игру на JavaScript. И произошло это не случайно — он всегда хотел делать игры, пытался освоить для себя новый ЯП, а делать 100500-й туду-лист до боли не хотелось. Сказано — сделано. 

За образец был взят Travian — некогда популярная браузерная игрушка. Чтобы упростить себе задачу и сделать её реализуемой, было решено делать свой клон полностью однопользовательской игрой на базе набиравшего популярность Canvas.

Несколько лет и 30K SLOC спустя, начитавшись материалов про мотивацию игроков, Антон решается запилить первый тематический ивент. Более того, решается сделать его совместным для всех игроков, чтобы у них была общая, а не индивидуальная цель. И понеслось: AJAX, Flask, MySQL… Анонс ивента, ивент, таблица рекордов, рассылка вознаграждений…

К чему в итоге пришел Антон — узнаете из его доклада.

Надо уходить от микросервисов к монолитам

f92125f5c9bd901ee1ff67bbc4bae4ef.jpegДанил Ахтаров

Тинькофф

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

DevOps & MLOps

mPyPl: функциональный способ организовать обработку данных в Python

6725c6643772404b87d9a3941497355a.jpegДмитрий Сошников

МАИ / НИУ ВШЭ / ex-Microsoft

При подготовке данных для машинного обучения часто приходится совершать над данными серию преобразований, чтобы подготовить датасет для обучения. В докладе пойдет речь про небольшую библиотеку, разработанную в группе Microsoft Commercial Software Engineering и позволяющую описывать обработку данных в виде единого конвейера именованными потоками данных. С помощью такой библиотеки удобно обрабатывать данные, которые слишком велики, чтобы поместиться в Pandas DataFrame, но слишком малы, чтобы использовать Spark/Databricks.

Дмитрия могут знать люди, знакомые с миром .NET и конференцией DotNext: там он уже не раз с успехом выступал, в том числе связанные с ML темы. 

Повышение уровня observability на примере Django + Celery с помощью Kibana, Elastic APM, Prometheus и стандартизации логов

fd447ba83a7f23c68ec80622c3d79d94.jpegМстислав Казаков

USETECH

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

Он рассмотрит практики и инструменты, которые позволят изучать поведение системы в продакшн-окружении, что упростит и ускорит диагностику и решение проблем. Примеры будут показаны в системе на базе Django и Celery, но с минимальными изменениями они могут быть использованы с другими фреймворками.

Build and automate your own StackOverflow question analyzer with NLP and DevOps

2031d53131ec7e267286497a025cba30.jpegWilliam Arias

Open Source Evangelist MLOps

Как понять, с какими проблемами чаще всего сталкиваются разработчики в работе с каким-либо инструментом? Посмотреть, какие вопросы они задают на StackOverflow. А лучше — автоматизировать этот процесс с помощью NLP.

Уильям Ариас уже занимался подобным проектом, а теперь готов поделиться опытом со всеми. Вы узнаете о том, как реализовать это с помощью Python и SpaCy, а результаты выводить в дашборд с помощью Streamlit, а также про практики DevOps при работе с ML-пайплайнами.

Как экономить железо для продового машинлёрнинга

fe9e6eddf7e222f62be1bbf5ca605071.jpegОлег Бугримов

Авито

 Если использовать ML масштабно, помимо сугубо технологических вопросов, встают ещё и такие практические, как стоимость серверов. А различные оптимизации превращаются в способ сэкономить компании ощутимую сумму.

В продакшене у Авито крутятся десятки сервисов с ML-моделями. И команда Олега уже не одну собаку съела на том, как экономить железо для них, а он с удовольствием поделится этим опытом.

Оптимизация GAN-нейросети под мобильное устройство

cd1313eeddcb4fd0cc36c211e4f7ae31.jpegАлексей Романов

Grid Dynamics

За нейросетями уже даже не будущее, а настоящее. За мобильными устройствами тоже. Но вот на пересечении этих двух миров кроется немало сложностей. У Алексея есть опыт переноса GAN-модели для запуска на мобильном устройстве, и он готов поделиться как проблемами, с которыми придется столкнуться, так и вариантами решений.

Vanilla Python

Чистый код на Python: мифы, факты и двойные стандарты

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

Profiscope

fb2f1e0ea80bf0616407d66458974be2.jpegНиколай Марков

Astera

Все мы читали книгу Роберта Мартина о чистом коде и любим PEP8. Но как на деле обстоят дела с применением «лучших практик» в популярных проектах и всегда ли они «лучшие»?

Алексей и Николай проанализировали более пяти тысяч популярных опенсорс-проектов и рады поделиться результатами с сообществом. Поговорим о них, как с точки зрения методики анализа, так и с точки зрения интересных находок.

Процедурная генерация задач по программированию

bfdf0ea0fe01cc4f68c799951ff1cb8a.jpegПетр Советов

РТУ МИРЭА

Онлайн-курс по программированию, университетский курс, собеседование… Везде нужны свежие задачи на написание кода. Идеальный вариант — снабдить каждого желающего индивидуальным набором задач. А что делать, если студентов слишком много? Есть ряд систем, обеспечивающих автоматическую проверку задач, но как насчет систем, которые могут автоматически сочинять интересные задачи по программированию в нужном количестве? О разработке подобной системы и пойдет речь.

Летом Пётр выступил на другой нашей конференции C++ Russia и собрал зрительские похвалы, а теперь пришло время послушать его питонистам.

Экзотические уязвимости в питонячем стеке

b988faae277ed0d09b11420564e547b9.jpegАлексей Морозов

Тинькофф

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

Функциональное программирование в Python: теория и ежедневные рецепты

3cc9a9d3d7370251d8ef011132e23d8f.jpegАрсений Сапелкин

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

Python называют мультипарадигменным языком программирования, то есть языком, позволяющим получать преимущества разных подходов к программированию. Что ж, посмотрим, где пересекаются мир функционального программирования и мир Python.

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

Будет немного теории и много примеров кода с использованием стандартной библиотеки (модули itertools, functools), а также наиболее интересных нестандартных библиотек. Посмотрим на некоторые задачи и на то, как эти библиотеки помогут решить их в функциональном стиле.

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

Напоследок

Остаётся напомнить главное:

Билеты, расписание и подробности — на сайте конференции. 

© Habrahabr.ru