IT-новости про Python, которые стоит знать

Собрали в одном месте самые важные ссылки
читайте авторский блог

     18.04.2022       Выпуск 435 (18.04.2022 - 24.04.2022)       Статьи

Автоматическая суммаризация текстов с помощью трансформеров Hugging Face. Часть 1

В июле 2020 года компания OpenAI выпустила свою модель машинного обучения третьего поколения, GPT-3, ориентированную на генерирование текстов. Тогда я понял, что мир уже не будет прежним. Эта модель задела меня за живое. Те системы такого рода, что выходили раньше, у меня подобных ощущений не вызывали. И вот ещё неожиданность — о новой системе начали говорить мои друзья и коллеги, в принципе интересующиеся технологиями, но не особенно обращающие внимание на последние достижения машинного обучения (Machine Learning, ML) и искусственного интеллекта (Artificial Intelligence, AI). Об этом написала даже газета Guardian. А если точнее — статью написала сама модель, а в Guardian её лишь отредактировали и опубликовали. Совершенно очевидно то, что выход модели GPT-3 стал поворотным моментом в развитии искусственного интеллекта.

     18.04.2022       Выпуск 435 (18.04.2022 - 24.04.2022)       Видео

Moscow Python Podcast. Из проектирования в разработчики (level: all)

В гостях у Moscow Python Podcast Python QA-инженер компании Genesys Юрий Польников. Обсудили с Юрием его путь из инженера в сфере строительства и преподавателя в разработчики.

     15.04.2022       Выпуск 434 (11.04.2022 - 17.04.2022)       Статьи

Анализ данных виртуальных велотренировок

В предыдущей статье я рассказал о том, как получить данные о персональных тренировках из набора FIT-файлов, которые создаются при использовании носимых устройств (фитнес-браслеты, часы, смартфоны, велокомпьютеры).

     15.04.2022       Выпуск 434 (11.04.2022 - 17.04.2022)       Видео

Денис Толкачев, Сбер,Лаборатория Нейронаук. Производственный брак. Ищем некрасивую рыбу на конвейере

Как разработать систему распознавания рыб на конвейерной ленте, имея на руках только видеозаписи рыб с ленты, raspberry pi и python. При этом хотим близкое к real-time быстродействие системы на rpi и не сойти с ума. Требования к модели: уметь отличать рыбу от остальных предметов, определять вид рыбы, положение рыбы на ленте (головой в сторону движения или хвостом, хребтом вправо или влево), брак. В данном докладе хотелось бы рассказать слушателям про путь в данной задаче: Поиск похожих решений: их достоинства и недостатки, Как формировали собственное решение: Детекция - Сегментация - Выбор моделей, Разметка, Обучение, Первые попытки и интеграции, Попытки обучить «легкие» модели и переразметка имеющихся данных.

     15.04.2022       Выпуск 434 (11.04.2022 - 17.04.2022)       Видео

Павел Мальцев, Speechki. Redis, сова и глобус

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

     15.04.2022       Выпуск 434 (11.04.2022 - 17.04.2022)       Видео

Станислав Фатеев, CVisionLab. Pydantic: валидируй это. Как работать с данными быстро и без боли

Вы уверены, что приходящие к вам данные соответствуют вашим ожиданиям? Добавим немного определённости в нашу жизнь с помощью Pydantic. В своём докладе я расскажу о том, как сериализовать и валидировать данные и почему это важно. Поделюсь тем, как мы значительно упростили процесс поддержки и парсинг параметров production приложения. И как использование Pydantic помогло нам: улучшить структурированность параметров, настроить версионирование и проверку в CI текущей схемы на наличие изменений, получить автоматическое построение документации параметров минимальными усилиями. И в целом расскажу о преимуществах, недостатках и полезных особенностях Pydantic. Как уйти от работы со словарями к классам. А также затрону нетривиальные возможности и случаи использования.

     15.04.2022       Выпуск 434 (11.04.2022 - 17.04.2022)       Видео

Матвей Коняев, Точка. Как писать тесты дешевле

Доклад поможет раскрыть несколько важных моментов, которые помогут написать тесты дешево, быстро и правильно: Общая архитектура приложения, при которой удобно использовать интеграционные тесты Общая архитектура тестов Использование pytest и mocker На реальном примере покроем приложение сначала юнит-тестами и убедимся, что такой подход к тестированию не совсем корректный и в итоге пропускает ошибки в функционале. Параллельно посмотрим, что наличие исключительно интеграционных тестов тоже несет не всегда позитивные последствия. На примере доклада рассмотрим подход к разработке, который находится между TDD и "разработал и после покрыл тестами". Помимо всего прочего, сможем посмотреть, как можно тестировать код на максимальную глубину, даже захватывая базовые классы Слушатели смогут убедиться, что высокий процент покрытия тестами — это не всегда хорошо. А так же смогут понять, что разработка и параллельное тестирование собственного кода — это сбалансированный подход в плане качества кода, стоимости разработки. Мы сможем посмотреть на реальном примере, что писать тесты с хорошей архитектурой не так сложно и долго.

     15.04.2022       Выпуск 434 (11.04.2022 - 17.04.2022)       Видео

Данил Ахтаров, Тинькофф. Почему питон не будет функциональным и почему нафиг никому это не нужно

На питоне можно писать так и эдак, но когда ты в команде, кто-то "старший" решает, как лучше это делать. Вы могли слышать, что "этот код не питонячий", "так на питоне не пишут". Стоит разобраться почему. Я совсем недавно открыл для себя функциональное программирование, и мне понравился этот стиль. В основном композиция функций на языке Хаскель. Так как мой основной стек это Python, я предполагал, что такое можно сделать и на нем. Но почему все используют императивный подход в разработке и внедрить в свой рабочий проект новые идеи очень сложно. Если все таки захотим использовать функциональный стиль, с какими проблемами можем столкнуться? Если честно, в питоне мало фичей для ФП, но можно использовать диалекты, с помощью которых ваш код будет декларативным и более читаемым для людей. Но есть свои недостатки, которые нельзя игнорировать. В своем докладе я предлагаю познакомиться с этой темой и, возможно, вы отметите для себя что-то интересное.

     15.04.2022       Выпуск 434 (11.04.2022 - 17.04.2022)       Видео

Тимур Кадыров,Лаборатория Нейронаук. Ускоряем расчет признаков на коротком датасете для HFT на бирже

Для работы HFT необходимы очень маленькие задержки. Поэтому при внедрении ML модели нужно учитывать ограничения на время расчёта признаков. Есть много докладов и статей на тему ускорения расчётов на pandas. Сюда можно отнести и pandarallel, и dask, и polars. Ребята из Intel даже рассказывали на прошлом PyCon-е про modin. Все эти инструменты работают при больших объемах данных. Но что делать, если количество строк меньше 1000 или даже 100? В данном докладе хочу осветить несколько тем: Почему так важна низкая задержка при hft Какие возможны оптимизации для снижения количества расчетов Numpy Structured arrays как замена Pandas DataFrame Вспоминаем математику и ещё немного сокращаем количество операций.

     15.04.2022       Выпуск 434 (11.04.2022 - 17.04.2022)       Видео

Василий Копытов, Авито. Как и почему мы перешли от Python к Go в нашем основном сервисе рекомендаций

Рекомендации Авито — это первое, что видит пользователь, когда попадает на главную страницу. Нагрузка на наш основной сервис — порядка 200 тысяч запросов в минуту. За последние два года мы сильно улучшили качество рекомендаций, но сильно проиграли в latency. Главным врагом производительности и latency стало добавление ML модели второго уровня на основе CatBoost для ранжирования объявлений от базовых ML моделей первого уровня в реалтайм. В докладе я расскажу: Как мы приняли решение переписать все на Go, перед этим мы выжали из Python все, что смогли; Как подружили CatBoost с Go и стали использовать ML модель на основе CatBoost в Go; Что получили по latency и потреблению memory/cpu.

     14.04.2022       Выпуск 434 (11.04.2022 - 17.04.2022)       Статьи

Байесовская Сеть Доверия: Практика

Мы продолжаем нашу серию статей, связанных с байесовскими методами, один из которых — Байесовские Сети Доверия (БСД). Теоретическую основу БСД вы можете найти в этойстатье.

В этой статье мы сначала вкратце вспомним теорию. Дальше будет, что называется, только хардкор: на примере данных “Титаника” мы будем строить БСД.

     14.04.2022       Выпуск 434 (11.04.2022 - 17.04.2022)       Статьи

История одного CRUD'а

В 2015 году, когда я пришёл на своё текущее место работы, мне было непривычно от необыкновенной свободы действий. Буквально, на новом месте можно было проявить весь творческий потенциал как DevOps-евангелиста. Мне нравилось выстраивать процессы, автоматизировать рутину, делать разработку удобной. Больше всего я люблю оптимизации, а больше всего ненавижу - рутину.

Эта история одной боли и попытке не просто "принять обезболивающее", а реально излечить её. Поэтому готовьтесь переварить лонгрид.

     14.04.2022       Выпуск 434 (11.04.2022 - 17.04.2022)       Статьи

Асинхронный django — status update. Проект vinyl

Некоторое время назад я писал про альтернативные возможности, как можно добавить в django асинхронность (есть официальный подход, изложенный в DEP-09). С тех пор у меня получилось оформить свои идеи в нечто относительно цельное, что вылилось в vinyl project. Описание проекта читайте на гитхабе, здесь же я хочу рассказать о его интересных особенностях.

     13.04.2022       Выпуск 434 (11.04.2022 - 17.04.2022)       Статьи

Ирина, голосовой помощник. Продолжение

Это продолжение статьи Ирина — опенсорс русский голосовой помощник. Offline-ready. Расскажу, что поменялось за два месяца с момента прошлой статьи.

     13.04.2022       Выпуск 434 (11.04.2022 - 17.04.2022)       Статьи

Мечтают ли алгоритмы о финансовой отчётности: новый способ работы с ФО в ВТБ

Финансовая отчетность (ФО) — штука предельно ответственная. Получаемая от бизнеса ФО постоянно нужна банку для организации повседневной деятельности. Но процесс получения важной для нас отчётности омрачается тем, что работа с ФО — это монотонный неэффективный конвейер, на поддержание которого банковские служащие тратят тысячи человекочасов. ВТБ использует электронные инструменты получения ФО, такие как: ФНС, 1С, Коробочное решение распознавания. Это основные направления развития, но сегодня они не покрывают всю потребность в клиентской ФО. 

     12.04.2022       Выпуск 434 (11.04.2022 - 17.04.2022)       Статьи

Как мы кикшеринг взломали

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

     12.04.2022       Выпуск 434 (11.04.2022 - 17.04.2022)       Статьи

Машинное обучение на службе урбанистики

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

 

     12.04.2022       Выпуск 434 (11.04.2022 - 17.04.2022)       Статьи

Обзор некоторых возможностей Python 3.11

Согласно заявлению Python Software Foundation (PSF), Python 3.11 сейчас находится в альфа-ревизии и планируется к релизу в Октябре 2022. Какие изменения ожидают нас в следующей версии?

     12.04.2022       Выпуск 434 (11.04.2022 - 17.04.2022)       Статьи

Как врать с помощью статистики

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

  • Лошади бегают по часовой стрелке быстрее чем против.

  • Лошади бегают против часовой стрелки быстрее чем по часовой.

  • Лошади бегают на более дальние дистанции быстрее (с большей скоростью), чем на короткие.

  • Лошади бегают на более дальние дистанции медленнее (с меньшей скоростью), чем на короткие.

     11.04.2022       Выпуск 434 (11.04.2022 - 17.04.2022)       Статьи

Understanding a Real-Time Object Detection Network: You Only Look Once (YOLOv1)

Table of Contents Understanding a Real-Time Object Detection Network: You Only Look Once (YOLOv1)