Что расскажут на PiterPy 2023: много питонов и немного ржавчины

4a2xtk92a6lbo2edpnwn2jgf2o4.jpeg

Python применяется для совсем разных задач, от ML до бэкенда. О каких темах тогда говорить на конференции по Python? Обо всех главных сразу. На приближающемся PiterPy 2023 среди докладов будут и «В Python есть готовый фронтенд для вашего компилятора», и «Django + Keycloak: доверьте аутентификацию профессионалам», и «Мастер-класс по взлому».

Более того: будут даже доклады со словом «Rust» в названии, при чём оно тут? А ещё есть тема «ChatGPT как раб разработчика», что под ней скрывается? А закрывать онлайн-часть и вовсе будет биоинформатик Михаил Гельфанд, что он расскажет? И, наконец, будет даже выступление о настоящих питонах!

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

Содержание

ML&DS

Создаем свою копию с помощью fine-tuned LLM

5n8o9ugkvamxtng6k8kvifzzw-w.pngСергей Саввов

Сергей пошагово расскажет, как можно дообучить LLM под свои задачи, раскрыв весь ее потенциал. Обсудим подготовку данных, создание инструкций, непосредственно само обучение модели и ее вывод в продакшен.

Затронем такие темы, как выбор self hosted-модели или API от OpenAI и лучшие фреймворки для деплоя.

ClearML для обучения нейронных сетей: почему он и как мы с ним подружились

rpftgb8jopcn3qkjyfyazyeefg0.pngВладимир Бурмистров

Evocargo

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

Из доклада вы узнаете:

  • как лучше организовать окружение нейронных сетей;

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

  • как организовать логирование и менеджмент ресурсов.

Разработка проектов с языковыми моделями

t-3ihmz3jlbpe4l2s6ixeke3zt0.pngДмитрий Легчиков

FeedbackAI

Дмитрий расскажет:

  • что такое языковые модели и на что они способны;

  • о каких сложностях необходимо помнить, работая с ними;

  • о библиотеках, которые могут помочь.

ChatGPT как персональный раб разработчика

9towyry0h_7pamkhylxenybokbg.pngДмитрий Сошников

МАИ / НИУ ВШЭ

За прошлый год генеративные нейросети плотно вошли в нашу жизнь. Наверняка многие разработчики уже используют в работе нейросетевых ассистентов (GitHub Copilot и другие). Однако не все знают, что можно эффективно использовать мощь больших языковых моделей (LLM) для выполнения весьма нетривиальных рутинных операций, с которыми сталкиваются разработчики.

Данный доклад — краткое изложение курса ChatGPT Prompt Engineering for Developers от DeepLearning.AI с увлекательными примерами и демонстрациями. В ходе доклада мы не только увидим примеры задач, решаемых LLM, но и реализуем диалог виртуальных ассистентов — театр роботов.

Process Mining и большие данные: о чем не говорят создатели сервисов и библиотек

rplnfse5go3cfvivi5n0y7u0ook.pngАлександр Толмачев

Ozon

Александр с командой проанализировали работу популярных библиотек и сервисов и подготовили инженерные подходы по оптимизации работы с графами. Спикер расскажет про плюсы и минусы таких библиотек, как pm4py, retentioneering, SberGraph и других. Рассмотрим пайплайн для оптимизации работы этих сервисов, а также выявим наиболее эффективные способы использования библиотек и ускорения работы с помощью готовых решений.

Model serving. Какой фреймворк выбрать?

97kcmqtucncrdmidj1tcneu_-jq.pngЕгор Шестопалов

Тинькофф

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

Автоматическая разметка баз данных с помощью ML-инструментов и ее проблемы

gephk9efqo4mgko2ef0icjepbeu.pngАлександр Клюев

Сбербанк

ysymdvmfvtiixt91gxky7agf-vu.pngДаниил Миронов

Сбербанк

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

Эволюция MLOps в Циан

gojycseunumcp-sghhajlymbq7c.jpegРоман Песков

Циан

Из доклада узнаем, как в Циан перешли от разрозненных ручных процессов работы с моделями к текущей ML-платформе. Обсудим, почему Циан использует свой ML Model Server для онлайн-инференса и как workflow работы с моделями через Jira упростил и ускорил работу с моделями.

Джун против панды: антипаттерны библиотеки pandas

f9vvay5611x1ueh3rozzgj8-y40.jpegЕлизавета Пушкарева

Точка

В докладе Елизавета расскажет про странные и не очень кейсы использования библиотеки pandas и их не всегда очевидные замены, позволяющие ускорить код (суммарно — аж в 60 раз!) и сделать его более стабильным по времени выполнения и качеству данных на выходе.

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

Композиционное тестирование на Python

yfrig-3utqqqkcdmydwolrm1mvc.pngМаксим Кукликов

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

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

  • Для каких продуктов и функциональностей лучше отказаться от классического подхода.

  • Как описывать тесты в Combidata.

  • Комбинаторные многомерные графы и с чем их едят.

  • Как выглядят шаги и рабочий процесс для библиотеки.

  • Простая генерация тестовых данных.

  • Превращаем тест в мок и обратно.

  • Векторы развития комбинаторного тестирования и библиотеки.

Monkey patching

pxx-il0u7icnno7ogj9af-qnyt0.jpegИлья Смольников

Kaspersky

Илья расскажет о том, что такое monkey patching и как они его применяют для отслеживания исключений в дочерних потоках и процессах при тестировании продуктов на базе KasperskyOS.

Переезжаем на pyproject и tox

56k1vj9wdt-n6qbhh91lgru6yv0.jpegАндрей Шарапов

Контур

Сложно ли поддерживать 5 версий Python? Нет, если все покрыто тестами. Сложно ли поддерживать тесты? Вооружившись только pyproject и tox, Андрей с командой прошли сквозь дебри bash-скриптов и расчистили путь к лаконичному CI/CD, попутно решив вопрос Dev/Prod Parity. Эта история не про полеты в космос. Она про позитивный опыт и синергию простых инструментов.

Как быстро и безболезненно закрыть регресс в API из связки PyTest + JSON Schema

jsgtqgigyxxwc1hpeucgastgyyu.pngВладимир Васяев

Максилект

Протестировать позитивные сценарии использования API можно легко и быстро, используя JSON Schema.

В докладе поговорим:

  • о полезных приемах;

  • об источниках данных для такого тестирования;

  • о хитростях, повышающих удобство работы с JSON Schema.

Да, у нас есть тесты. А толку?

_dek7vnf49qwvi1rs3sf1nmnz6o.pngНиколай Хитров

Точка

В докладе поговорим о том:

  • Как жить, когда количество тестов переваливает за пару тысяч.

  • Как замечать «дурные запахи» в тестах и почему это важно.

  • Какие плагины pytest помогут в упрощении написания тестов и их поддержке.

  • Какие метрики можно собирать с тестов и зачем это может пригодиться.

Backend

Лень, логика и работорговля в реалиях парсинга магазинов

3ojeqrlmarmrtehhmgcouqhj4xg.jpegОлег Ануфриев

2GIS

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

Django + Keycloak: доверьте аутентификацию профессионалам

maglnbrjyi6euvhshpprl06_wbq.pngМстислав Казаков

Usetech

Спикер расскажет о том, как они пришли к Keycloak, и покажет, что могут Keycloak и другие Identity and Access Management-решения и почему они должны использоваться вне зависимости от того, на каком языке вы разрабатываете ПО и какой веб-фреймворк вы используете.

6 причин подумать, прежде чем использовать WebSocket

zvo_ilgdluym5z6h6j7n0-0c3h8.jpegМихаил Житков

QIWI

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

Практическая телеметрия на примере OpenTelemetry

s3uhjml6cppxmsr2venhvnhzjp0.pngРуслан Бергутов

Авито Тех

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

Основная целевая аудитория — прикладные разработчики, SRE и DevOps-специалисты.

Как готовить Domain Driven Design

cpryr061wxxwgqced1bmcmi4ffe.pngДмитрий Анисов

GS Labs

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

Бессерверный подход к архитектуре и разработке ПО

pmwvpeduijivedfvz26jgi2t6kc.pngАртур Чеканов

ITentika

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

Обсудим, можно ли применять этот подход в российских облаках.

Производительность

Ottorgon: современные способы написания биндингов

gn_kafxds7-p7b8in9o1k8wv71o.pngАлександр Боргардт

DuckStax

Александр углубится в изучение механизма привязки (binding) для языка Python и проведет сравнительный анализ производительности трех популярных инструментов: pybind11, nanobind и raw CPython API.

Имя мне — скорость

34l8lrefol0i2l-yjrvayndrgim.pngДенис Аникин

Райффайзен Банк

Сейчас существует больше 20 способов ускорить CPU-bound код в Python, и их количество растет чуть ли не каждый день. Python принято ускорять всеми способами. Сегодня наступает момент, когда пора поговорить еще и о скорости веб-фреймворков. При этом слово «скорость» в мире веб-разработки — это многозначный термин.

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

В таких сложных условиях спикер попытается найти самые быстрые решения на Python, сравнить их между собой и ответить на вопрос: «Что, если я хочу делать быстро отвечающие веб-ручки?». Его бенчмарки, безусловно, будут субъективными. Однако все фреймворки, которые он покажет, вместе еще не сравнивали. А некоторые из них, скорее всего, вы даже не видели.

Raytracer на Python

4yl2ftl7nlnwez8h0mkrpbursuu.pngАлексей Лавренюк

Яндекс

Генерация картинки 200 на 400 пикселей рейтрейсером, написанным на Rust, занимает на ноутбуке Алексея 13,37 секунд. Сможет ли он приблизиться к этому результату на Python? Алексей расскажет об этом в докладе.

Инструменты

Hatch: пакетный менеджер для Python, который вы еще не пробовали

qnp1duh038afgrthpe_cfm3hfjs.jpegАлександр Шишенко

ПГК Диджитал

Когда вы начинаете новый проект, то наверняка используете poetry или pipenv, или pip-tools. Не так давно появилась альтернатива: Hatch. О нем спикер и расскажет во время доклада.

Hatch строго подчиняется новым PEP’ам, легко интегрируется со всей экосистемой и развивается под эгидой PyPA, как и всеми любимый pip.

Python — побег из террариума: проблемы прикладного тулинга в реальном мире и их решения

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

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

На скриптовых языках удобно разрабатывать… И на этом удобство заканчивается. Вне машины разработчика начинаются проблемы. Особенно если вы пишете какой-то прикладной тулинг: CLI-утилиты, вспомогательные приложения в вашем SDK и прочее. Вы даже не можете рассчитывать на то, что у пользователя будет pip, чтобы он смог поставить все ваши зависимости, вам все нужно огранизовать самостоятельно. Спикер расскажет об этих проблемах и о том, как бороться с ними.

Rust

Python + Rust = ?

hezgx8zuqohyw7jhxbt01b5xfkw.pngДанил Ахтаров

Тинькофф

Данил расскажет о PyO3 — сейчас это самый популярный инструмент для написания кода для Python на Rust. Но, как обычно бывает, не все так просто. Не всегда код, написанный на компилируемом языке, работает быстрее, чем на обычном Python — и Rust не исключение. Данил приведет примеры и объяснит, почему так происходит.

По горячим путям: использование библиотек на Rust в Python

qbqzethc_wnkxt_wlwbpyqs7lcg.pngСергей Яхницкий

Яндекс Такси Технологии

У Python в бэкенд-разработке есть слабые и сильные стороны. Среди слабостей часто отмечают низкий перформанс в целом или RPS на ядро. Но необязательно переписывать свой микросервис целиком на другой язык, чтобы поднять производительность. Когда уже не хватает алгоритмических оптимизаций, можно поисследовать горячие пути и точечно переписать функции на компилируемом языке. Из вариантов есть C, C++, Cython, Numba и т. д., но в этом докладе сфокусируемся на популярном сегодня Rust.

Статический анализ

Вывести типы из Python: проблемы анализа Python-кода

sohkbi0ywafazbhw41rnewxcdi8.pngЕкатерина Точилина

Huawei

ujnvdmwwrgqgpg1wuvrk4nsnvqk.pngВячеслав Тамарин

Huawei

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

В Python есть готовый фронтенд для вашего компилятора

kb6jbbpekmudb_bnnwimz-gkdtu.pngПётр Советов

РТУ МИРЭА

Компиляторы пишут и обычные люди, особенно, если речь о компиляторе небольшого предметно-ориентированного языка (DSL). Что делать, если перегрузки операций уже не хватает, а средства в духе PLY кажутся тяжеловесными? Использовать синтаксис самого Python, тогда лексический и синтаксический анализ мы получим почти бесплатно!

Доклад посвящен быстрому созданию компиляторов силами модуля ast, аннотации типов и конструкции match/case. Спикер приведет примеры — от простейших статических анализаторов в духе игрушечного mypy до DSL-компиляторов различной сложности.

Vanilla Python

За пределами тривиальных случаев аннотаций типов, или Как сделать статический анализатор типов своим лучшим другом

76z2ymfnvyrdcizqusarupnxtcw.pngРоман Соляник

Тинькофф

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

Целевая аудитория — Python-разработчики с базовым знанием type hinting и технические лидеры, заинтересованные в повышении качества кода и процессов разработки.

Кибербезопасность

Векторы атак: взгляд разработчика

vj-hrgfcrzi2qqqyqeeidrhpvfg.jpegСергей Озеранский

QIWI

Как финтех-компания, QIWI очень серьезно относится к безопасности своих приложений. Этого требуют бизнес и стандарты безопасности — такие, как PCI DSS. Цель доклада — продемонстрировать некоторые векторы атак на API, которые связаны с недостаточной проработкой архитектуры приложения или нарушениями в написании кода, что делает приложение уязвимым.

Сергей расскажет о векторах атак, а также о возможных способах защиты от них и превентивных мерах.

Мастер-класс по взлому

xev-kae5qmn6flv-q4n5fiuxb30.pngАлексей Морозов

Тинькофф

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

Другое

Как выжать максимум из Code Review. Бусидо программиста

f3wdhia7sqphnctwdux6fktubmo.pngДмитрий Бурмистров

Тинькофф

Code Review по праву можно назвать «тонким искусством» — до сих пор многие команды страдают в попытках «приручить» этот инструмент.

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

Типичные задачи биоинформатики

ydsj5savktn6aygkfbau0dfy4fs.jpegМихаил Гельфанд

Сколтех

С развитием экспериментальных методов молекулярная биология стала наукой, богатой данными. Большинство этих методов основаны на определении последовательностей нуклеотидов в фрагментах ДНК, а содержательная сторона определяется тем, как выделяются эти фрагменты. В результате можно изучать различия в геномах (в том числе геномах отдельных клеток); то, как работают гены; какие белки связываются с ДНК и где; как ДНК упакована в ядре и многое другое.

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

Питоны и их вымершая родня

uui98mdd4jwr354mosdqrdnggi4.pngДмитрий Соболев

Упоротый Палеонтолог

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

Много кто за историю планеты отказывался от своих лапок — под разными предлогами и по разным причинам. Но именно змеи в этом аспекте достигли максимального успеха (умолчим про их способность проглотить объект в несколько раз толще себя).

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

Инфраструктурный Python

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

Astera

Python часто считается одним из основных языков, знание которого могут потребовать от инженера по инфраструктуре. Но также довольно часто под этим скрывается «знание Ansible» или «уметь деплоить с помощью Fabric». Так на что годится Python в мире работы с инфраструктурой? Разберемся во время доклада.

Python и другие языки в бэкенд-разработке

qbqzethc_wnkxt_wlwbpyqs7lcg.pngСергей Яхницкий

Яндекс Такси Технологии

kwtl4fg7pqzebwtufhv-o57gjwc.pngАлександр Нозик

МФТИ

Вместе с Программным комитетом обсуждаем Python и другие языки в бэкенд-разработке.

Эволюция Python: прогресс или тупик

Эволюция Python: прогресс или тупик? Обсуждаем вместе с Программным комитетом.

Квиз «Работа над ошибками»

Будем разбирать задачи вместе с Программным комитетом PiterPy. Следите за обновлениями.

Создаем умных предметно-ориентированных вопросно-ответных ботов в Yandex DataSphere/YaGPT

9towyry0h_7pamkhylxenybokbg.pngДмитрий Сошников

МАИ / НИУ ВШЭ

В ходе мастер-класса Дмитрий покажет, как создать предметно-ориентированного чат-бота в Yandex Cloud с помощью YaGPT, DataSphere и OpenSearch, и предоставит возможность самостоятельно поэкспериментировать с этими сервисами и сделать своего бота — возможно, в качестве «домашнего задания».

Операция «запрос — ответ». Наш подход к генерации клиентов для межсервисного взаимодействия

9n_xl5pm5cq-eyzqtwnsm3fhdto.pngСергей Солдатов

Magnit Tech

Микросервисы? Дайте 2! А если 22?

Сергей расскажет о подходе команд Магнита к автогенерации клиентов для взаимодействия сервисов по http/grpc/kafka: что было в начале, почему нужны были перемены и как пришли к динамической генерации пайплайнов.

Заключение

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

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

Так что закончим ссылкой на сайт PiterPy, где есть и вся остальная информация о конференции, и билеты.

© Habrahabr.ru