Андрей Чепцов

Андрей Чепцов

Неделя
Oct 26, 2020 → Nov 2, 2020
Темы
Jupyter
Kotlin
Опросы
ML-инструменты
Big Data

Архив недели @andrey_cheptsov

Понедельник


Всем привет! Эту неделю с вами буду я – Андрей Чепцов. Я живу в Мюнхене и работаю в @JetBrains продактом в команде @PyCharm, где отвечаю за направление Data Science. Расскажу, чем занимается наша команда, а также про коллег по цеху. Погнали!

План на неделю 1/2: [Пн] Как меня угораздило попасть в Data Science [Вт] Чем занимается наша команда (PyCharm Data Science) [Среда] Про другие продукты, связанные с Data Science

План на неделю 2/2: [Четверг] Про использование ML в инструментах разработки [Пятница] Буду делать опрос, и делиться интересными наблюдениями из чужих опросов [Суббота] Пока не придумал, решу ближе к делу [Воскресение] В Баварии в этот день все закрыто, даже Твиттер

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

Прежде, чем я  расскажу про себя, давайте знакомиться. Сколько лет вы в Data Science?

Если вы задаете вопрос в комментарии, буду ставить лайк. Это значит, отвечу на вопрос в одном из тредов. В обратном случае, буду отвечать также в комментарии.

Тред про то, как я занимался вещами несвязанными с Data Science, и при этом попал туда, где я сейчас 😂👇

До JetBrains я работал программистом и руководителем проекта в @devexperts, где занимался софтом для торговли опционами (и не только). Моим руководителем в том числе был @relizarov. Рома сейчас также работает в @JetBrains и занимается развитием языка @Kotlin.

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

За многие годы работы в JetBrains, удалось поработать в разных продуктовых командах, а также помочь запустить абсолютно новые продукты: @DataGrip и @GoLandIDE.

Продуктовый маркетинг в JetBrains не сколько про рекламу, сколько про коммуникацию с пользователями, анализ рынка, а также ежедневное взаимодействие с командой продукта.

Чтобы делать продукт, и принимать продуктовые решения, нужно понимать как он используется. Для этого необходимо собирать данные об использовании продукта. И анализировать их.

Чтобы качественно анализировать данные, нужна инфраструктура. Чтобы работать с данными мог не только аналитик (или инженер данных), но и любой разработчик или маркетолог в команде, нужна self-service платформа продуктовой аналитики.

Созданием такой self-service платформы процессинга данных и продуктовой аналитики я и занялся несколько лет назад в JetBrains. Посколько ничего подобного практически не существовало на тот момент, пришлось создавать ее с нуля.

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

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

Кроме того, что теперь каждый в JetBrains может ответить на многие продуктовые вопросы, cоздание инфраструктуры позволило аналитикам делать работу точнее и быстрее.

Непосредственно я занимался всем подряд; от DevOps, и Spark, заканчивая наймом и backend разработкой. Писать и деплоить Spark после 6 лет занятий маркетингом - это откровение! За помощь в борьбе со Spark, особая благодарность @khudobakhshov.

Учитывая что, я большей степени работал со Spark, Scala, и SQL, первым инструментом для работы с данными, с которым я познакомился, был @ApacheZeppelin. Несмотря на тормоза и отсутствие многих важных фич, этот инструмент мне очень понравился и кажется определил мое будущее.

Больше всего мне нравилось, что Zeppelin, удобен для интерактивной работы, умеет из коробки делать простейшие визуализации, а также умеет не только Scala/Python, но и SQL. Знакомство с Zeppelin во многом повлияло на мою будущую карьеру и привело к тому, чем я занимаюсь сейчас.

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

Про то, как я перебрался в Мюнхен, и немного про JetBrains.

JetBrains – международная компания не только в плане продуктов или продаж, но и разработки. У нас есть офисы разработки в Праге, Мюнхене, Санкт-Петербурге, Москве, Новосибирске, Бостоне, и теперь Амстердаме. Тут можно глянуть карту с офисами: jetbrains.com/company/contac…

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

Большая часть всех продуктовых команд сильно распределена между разными локациями. Например, в PyCharm в Мюнхене я практически один. Остальные в разных локациях. Учитывая сегодняшние реалии, все митинге проходят не в офисах, а через Google Meet, кому откуда удобно!

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

В Мюнхен я переехал из Санкт-Петербурга больше 4 лет назад. Компания помогла с визой, переездом и адаптацией. В JetBrains классный отдел HR, который помогает абсолютно с любой проблемой. В Германии это особенно ценно, т.к. тут много бюрократии.

Несмотря на то, что Мюнхен – большая деревня, тут много всего проходит (когда “не карантин” LOL), включая митапы и конференции. Другой бонус приятный – расположение в центре Европы. Отсюда можно поехать в любую другую страну рядом, где проходит обычно много всего интересного.

Совсем недавно JetBrains открыл офис в Амстердаме, и кажется это теперь намного “моднее” Мюнхена. Если хотите работать жить комфортно в центре Европы, и не учить немецкий, эта возможность для Вас!

Наблюдая за коллегами четко вижу две разных категории людей: те, кому нравится работать из офиса (и кто сегодня страдает из-за карантина и ограничительных мер), а также те, кто наконец-то может работать удаленно без каких либо ограничений.

Лично мне, очень сложно работать из дома. Мне важно разделять рабочую и нерабочую обстановку. Однако, предлагать удобную среду для тех, кто работает удаленно, очень важно – даже если большая часть работает из офисов.

Из недавних статей на тему удаленной работы, очень понравилась статья GitLab: about.gitlab.com/company/cultur…

Вторник


Тред про то, чем занимается наша команда в JetBrains (PyCharm Data Science). Буду говорить о Jupyter ноутбуках и не только. Внимание, спойлеры/тизеры новых продуктов JetBrains 👇

Тред про то, как я занимался вещами несвязанными с Data Science, и при этом попал туда, где я сейчас 😂👇
Для тех, кто не пропустил, вот в этом треде я рассказал, чем я занимался до инструментов для работы с данными, и чем они меня заинтересовали. twitter.com/dsunderhood/st…

После знакомства с Zeppelin, я обнаружил, что ноутбуки в целом (несмотря на многие их ограничения) невероятно удобны для интерактивной работы с данными

Мне стало жутко интересно откуда появились ноутбуки, как они эволюционировали, и что будет с ними дальше.

Естественно, как только я начал искать, кто какие ноутбуки использует, я сразу же обратил внимание на Jupyter. Именно это и стало точкой моего погружения в мир Data Science 😂

Если Zeppelin ноутбуки больше используются инженерами данных (вместе с Scala и SQL), Jupyter ноутбуки больше используются Python разработчиками вместе с библиотеками визуализации и тренировки моделей.

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

В целом, на радар JetBrains ноутбуки попали очень давно – и их “базовая” поддержка вначале появилась в PyCharm Community, затем переехал в PyCharm Pro, и переписывалась несколько раз.

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

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

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

Этот секретный проект был назван PyCharm Data Science. И этим проектом наша команда активно занимается прямо сейчас.

PyCharm в этом году исполняется 10 лет. Сегодня PyCharm знакомом большинству профессиональных разработчиков Python.

За эти 10 лет, Python стал также основным языком для Data Science. По этой причине, естественно предполагалось встроить инструменты для работы с ноутбуками (и данными в целом) в PyCharm.

Что мы узнали за последние несколько лет в JetBrains – это то, что паттерны работы (и ожидания от инструментов разработки) разработчиков и дата-сайнтистов (или тех, кто работает с данными а не кодом) в корне отличаются.

Programming: 10% writing code. 90% figuring out why it doesn’t work Analyzing data and ML: 1% writing code. 9% figuring out why code doesn’t work. 90% figuring out what’s wrong with the data
Лучше всего это можно продемонстрировать вот этим твитом. twitter.com/benhamner/stat…

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

Новый продукт получил кодовое имя JetBrains DataSpell. Это продукт, над которым активно работает команда, и который мы, если все пойдет хорошо, планируем сделать публичным через несколько месяцев.

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

Если PyCharm делает основной акцент на работе с кодом и ориентируется на паттерны разработчиков, новый продукт будет делать акцент на интерактивной работе с данными, и ориентироваться на паттерны людей, которые работают с данными и ML моделями.

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

Если вы хотите попробовать ранюю версию JetBrains DataSpell, заполните эту форму. Мы свяжемся вами и вышлем подробную информацию как получить ранний билд! pages.jetbrains.com/pycharm-data-s…

Среда


Тред про продукты JetBrains, связанные с Data Science👇

Тред про то, чем занимается наша команда в JetBrains (PyCharm Data Science). Буду говорить о Jupyter ноутбуках и не только. Внимание, спойлеры/тизеры новых продуктов JetBrains 👇
Вчера я чуть-чуть рассказал, чем занимается наша команда (PyCharm Data Science) и сделал спойлер нового продукта (JetBrains DataSpell) twitter.com/dsunderhood/st…

Сегодня, расскажу немного про другие продукты JetBrains, также связанные с Data Science

Эти продукты – @JBDatalore и @kotlin. Если с Datalore кто-то мог быть уже частично знаком, многим может быть интересно узнать, причем тут Kotlin ⁉️

Итак погнали!

Что такое Datalore?  Это онлайн-ноутбуки с умным редактором кода. Редактор кода в ноутбуках предлагает авто-дополнения, и другие функции “code-insight” (знакомые многим по PyCharm).

Datalore позволяет работать с данными, делать визуализацию больших данных (все рендерится на сервере), оформить ноутбук Markdown и LaTeX и опубликовать его статическую версию.

Datalore позволяет работать одному или команде.

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

Платный план Datalore будет анонсирован через 1-3 недели. Платный план предложит GPU, и более мощные машины и больше памяти. Этот план подойдет для быстрого прототипирования ML/DL моделей.

Как работает публикация ноутбуков? Публикуется статическая копия, которую можно расшарить по ссылке. Коллеги cмогут оставлять комменты, использовать ноутбук как темплейт, копировать код и сохранять картинки визуализаций. Ноутбуки можно публиковать прямо из PyCharm.

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

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

Watch this tutorial on Pyplot visualizations in Datalore! To get the code, check out the published notebook tutorial in the video description. Thanks a lot to @gamesbrainiac for the video. youtu.be/qSY3DMMM850

Пост на реддите про desktop art generator reddit.com/r/dataisbeauti…

Launch Datalore from Anaconda Navigator! Datalore is now partnering with @anacondainc! Update your Anaconda Navigator to the latest version and launch Datalore directly from it. https://t.co/hui7bMLvo0
Если у вас стоит последняя Anaconda, Datalore можно открыть прямо из Anaconda Navigator twitter.com/JBDatalore/sta…

Как Kotlin связан с Data Science? В конце прошлого года я написал статью где суммировал события за прошлый год blog.jetbrains.com/kotlin/2019/12…

Более актуаьная информация в более структурированном виле теперь доступна на сайте Kotlin kotlinlang.org/docs/reference…

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

С августа этого года, Kotlin можно использовать для написания Spark приложений blog.jetbrains.com/kotlin/2020/08…

Начиная с версии 0.9.0, @kotlin можно использовать вместе с @ApacheZeppelin zeppelin.apache.org/docs/0.9.0-pre…

Kotlin работает вместе с Jupyter ноутбуками github.com/Kotlin/kotlin-…

Kotlin работает с Plotly research.jetbrains.org/news/plotlykt-…

Подкаст, записанный в январе этого года с @volebamor, о том, что происходит в Kotlin на тему Data Science talkingkotlin.com/catching-up-wi…

Еще одно видео с Ромой уже на русском youtube.com/watch?v=YFtiDq…

К слову о JVM и Data Science, @zaleslaw принимает участие в развитии  Java API для @TensorFlow github.com/tensorflow/jav…

Статья о тренировки нейросети на Kotlin используя Tensorflow medium.com/@zaleslaw/lene…

Еще одна статья о Kotlin, уже в контексте тренировки модели линейной регрессии https://medium.com/@zaleslaw/how-to-train-the-linear-regression-model-with-tensorflow-java-api-on-kotlin-89e2bf2f2b34 также авторства @zaleslaw

Скоро ожидается альфа-релиз Keras-подобного фреймворка для Kotlin поверх TF. Хотя он еще официально не доступен, его уже можно посмотреть на GitHub github.com/JetBrains/Kotl… Думаю @zaleslaw уже сам скоро придет в @dsunderhood рассказать об этом в ближайшее время!

В четверг в 18:30 по Москве @zaleslaw будет выстуать на imcsummit.org/2020/virtual/s…

Будет много полезного про параллельные алгоритма тюнинга гиперпараметров и стэкинг на распределенных системах!

Библиотеки Kotlin для работы с данными 👇


Lets-plot (Kotlin's ggplot2) github.com/JetBrains/lets…

Типизированные датафреймы на Kotlin github.com/nikitinas/kran…

API для библиотек, которое позволяет из Kotlin библиотек обращаться к сущностям Jupyter ноутбука - ячейкам кода, аутпутам и т.д. github.com/Kotlin/kotlin-…

Кроме Data Science, в JetBrains есть целое направление инструментов для Big Data, которым занимается @khudobakhshov

Эти инструменты доступны как плагин для @intellijidea, @pycharm, и @datagrip. Вот официальная страница плагина: plugins.jetbrains.com/plugin/12494-b…

Твиты об инструментах для Big Data можно почитать в @BigDataToolsJB

Продуктовым маркетингом этих инструментов некоторое время назад занимался я. Сейчас эту задачу подхватил @olegchir

Используя плагин можно указать адрес инстанса Zeppelin, и работатать с ноутбуками прямо внутри IDE. Код ячеек можно бдует редактировать используя всю мощь Scala, Java, и SQL @IntelliJIDEA

Плагин предлагает возможности для мониторинга Spark приложений внутри IDE. Алтернатива интерфейсу Spark History Server

Плагин предлагает файловый менеджер для AWS S3, Hadoop's HDFS, Azure File Storage и Google Cloud Storage

Поддержка Parquet, ORC,  и Avro

Недавно вышел новый апдейт Big Data Tools о котором @olegchir написал на Хабр habr.com/ru/company/Jet…

Один из интересный проектов вокруг Big Data Tools, разрабатываемый ребятами – ztools расширение к @ApacheZeppelin, которое позволяет получать информацию о рантайме из ноутбука и использовать ее в IDE blog.jetbrains.com/idea/2020/10/z…

Четверг


Доброе видео про Jupyter ноутбуки и почему все (а точнее @joelgrus ) не правы youtube.com/watch?v=9Q6sLb…

NumFOCUS found I violated their Code of Conduct (CoC) at JupyterCon because my talk was not “kind”, because I said @joelgrus was “wrong”. This sets a bad precedent. Joel was not involved in NumFOCUS’s action, was not told about it, and did not support it fast.ai/2020/10/28/cod…
Самое смешное, что за это видео Джереми забанили на @JupyterCon 🤣🤣 twitter.com/jeremyphoward/…

Тред про использование ML в инструментах разработки👇

Задачи “ML on code” сейчас очень популярны

Одна из наиболее популярных задач – генерация кода на основе больших моделей.

Check out the latest in #ML on code: Kite’s Intelligent Snippets for #Python: Play with them in a web sandbox at . kite.com

Пример TabNine tabnine.com/blog/deep

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


Два примера решения задачи по генерации SQL кода paperswithcode.com/sota/text-to-s… и paperswithcode.com/sota/text-to-s…

О @OpenAI's GPT-3 сегодня не говорит только ленивый youtube.com/watch?v=fZSFNU…

Здесь много интересных примеров применения GPT-3 github.com/elyase/awesome…

Другая популярная задача – поиск кода. Полтора года назад Microsoft проводила соревнования в этой области github.com/github/CodeSea…

Здесь можно посмотреть результаты wandb.ai/github/codesea…

Тренды с последней крупной конференции по NLP ACL 2020 topbots.com/highlights-of-…

В этом году на NIPS проходит соревнование по генерации bash команд nlc2cmd.us-east.mybluemix.net/#/

Пятница


Сегодня обещал поделиться наблюдениями из чужих опросов и исследований. Тред👇

Прежде, чем я  расскажу про себя, давайте знакомиться. Сколько лет вы в Data Science?
В понедельник, мы узнали кто лет вы в Data Science twitter.com/dsunderhood/st…

Теперь, давайте посмотрим на более широкую аудиторию

В этом году JetBrains опубликовала результаты собственного опроса jetbrains.com/lp/devecosyste…

В опросе участвовали 34,000 человек. Про методологию можно узнать здесь jetbrains.com/lp/devecosyste…

Согласно опросу, Python используется в качестве главного языка программирования 31% всех опрошенных. Это делает Python третим самым популярным языком после JavaScript и Java (согласно конкретно этому опросу).

Среди всех (не только Python) опрошенных, 19% сказали, что их главной целью использования языка программирования является работа с данными (Business Intelligence / Data Science / Machine Learning).

На вопрос о хобби, 58% сказали, что программирование является для них главным хобби. 49% также указали видеоигры.

Среди тех, кто указал Python, как главный язык программирования, половина ответила, что использует его для веб разработки. 43% сказали, что используют его для анализа данных. 41% сказал, что использует его для Machine Learning.

Среди тех, кто указал Jupyter ноутбуки как основную IDE, 41% работает как разработчики, и 27% как Data Analysts, Data Engineers или Data Scientists

Другой интересный опрос проводила Python Software Foundation (вместе с JetBrains) в прошлом году jetbrains.com/lp/python-deve…

Кстати, такой же новый опрос проводится и в этом году. Его результаты будут доступны через несколько месяцев. surveys.jetbrains.com/s3/c8-python-d…

Согласно отчету Python Software Foundation, 59% всех кто использует Python, в том числе используют его для анализа данных. В то время, как только 51% используют Python для веб разработки.

При этом 40% всех, кто использует Python, сказали, что занимаются также Machine Learning.

При этом только 33% их тех, кто занимается анализом данных, называют себя Data Scientists.

Flask и Django остаются самыми популярными веб фреймворками. NumPy и Pandas остаются самыми популярными библиотеками для работы с данными.

Говоря о Data Science, месяц назад вышел большой отчет о состоянии дел в AI, подготовленный @nathanbenaich и @soundboy (неудивительно, что они работают венчурными инвесторами) stateof.ai

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

Большие модели (и соответственно, крупные компании и огромные затраты на вычисления) доминируют в области для обработки естественного языка

Биология быстро становится популярной областью применения AI

Только 15% всех научных работ, открывают исходный код

Большая часть публикаций - от американский институтов и крупных компаний

Новые институты формируются исключительно вокруг AI

Крупные компании выигрывают войну за таланты. Это негативно сказывается на появлении новый предприятий.

Экосистема США интенсивно наполняется за счет мигрантов, и в частности студентов из Китая

Испытания первого лекарства, созданного с помощью AI, пройдут в Японии

Километраж само-пилотируемых автомобилей все еще микроскопичен. При этом он подпитывается данными, которые открывают компании.

Google, Graphcore и NVIDIA продолжают лидировать в области оборудования для AI

Приложения обработки естественного языка активно продолжают повсеместное применение. В том числе в поисковиках Google и Bing

После нескольких ошибочных арестов с применением распознавания лица, вопрос этики стал подниматься более активно

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

Военные США продолжают применять технологии AI из академии и лабораторий

Власти задумываются о предотвращении контроля над AI компаниями со стороны других государств

notion image

Понедельник


Спасибо всем, кто меня читал на прошлой неделе, а также @tiulpin за приглашение! Надеюсь кому-то было интересно! С вами был Андрей Чепцов. Подписывайтесь на @andrey_cheptsov, где я делюсь новостями JetBrains в области Data Science и не только! 🤗

Треды за прошлую неделю 👇

Тред про то, как я занимался вещами несвязанными с Data Science, и при этом попал туда, где я сейчас 😂👇

Про то, как я перебрался в Мюнхен, и немного про JetBrains.

Тред про то, чем занимается наша команда в JetBrains (PyCharm Data Science). Буду говорить о Jupyter ноутбуках и не только. Внимание, спойлеры/тизеры новых продуктов JetBrains 👇

Тред про продукты JetBrains, связанные с Data Science👇

Тред про использование ML в инструментах разработки👇

Сегодня обещал поделиться наблюдениями из чужих опросов и исследований. Тред👇

Ссылки