Daniel Science
107 subscribers
20 photos
1 video
26 links
ML Lead
рассказываю человеческим языком о карьере в Machine Learning, развитии и жизненном балансе.
Автор: @danielchsh
Download Telegram
Forwarded from Oktavius
A/B-тесты рта

Mr Beast рассказал, что эпоха обложек видео на ютюбе с открытым ртом окончена.

Его команда провела A/B-тесты, чтобы сравнить кликабельность версии, где у Mr Beast открыт рот, с вариантом, где он просто улыбается. Второй вариант выиграл во всех тестах.

Нативные A/B-тесты на ютюбе появились у ограниченного числа авторов этим летом. Можно загружать до трёх обложек и сравнивать их между собой.
ChatGPT теперь может искать в Интернете актуальную информацию, чат-бот больше не ограничивается 2021 годом.
В интересное время живем
Источник
Открылся приём заявок на Yandex ML Prize

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

Лауреатов выбирает совет премии, в который входят исследователи и разработчики Яндекса, а также учёные с мировым именем.

Лауреаты Yandex ML Prize получат по денежные призы от 500 тысяч до 1 млн рублей, гранты от Yandex Cloud для использования сервиса в своих исследованиях и другие призы от Яндекса.
Тык
🚀 XGBoost 2.0: Главные Нововведения!

1️⃣ Многозадачные деревья: Теперь одно дерево для всех целей! Это помогает предотвратить переобучение и учитывать корреляцию между целями.

2️⃣ Параметр устройства: Проще выбирать устройство с новым параметром "device", заменяющим старые параметры GPU.

3️⃣ Стандартный метод дерева "hist": Сделает обучение моделей более эффективным и последовательным.

4️⃣ Лучшая поддержка внешней памяти: Теперь работать с большими наборами данных можно еще эффективнее!

5️⃣ Обучение ранжированию: Доступны новые функции для обучения ранжированию.

Больше тут
🏆 Telegram объявляет конкурс для ML-разработчиков

Призовой фонд: 40 000 $, из которых победитель конкурса (решение, занявшее первое место) получит 15 000 $
Срок сдачи работ: 15 октября, 23:59 по дубайскому времени (UTC+4)
Объявление итогов: 29 октября 2023

Задание: https://contest.com/docs/ML-Competition-2023

Подробности: https://t.me/contest/330

P.S. Обратите внимание, что в данном конкурсе ответы и разъяснения участникам будут предоставляться на английском языке в @contests.
Please open Telegram to view this post
VIEW IN TELEGRAM
Всегда замечал, что у людей соседствует низкий уровень образования и бедность, но всегда удивлялся и искренне не понимал механизмов работы такой связки. Никто ведь не запрещает ходить в бесплатные библиотеки и использовать интернет (сейчас он доступен вообще везде, мне кажется). Но решил чуть больше погрузиться в эту тему и почитал исследования.

Теперь понятно, почему и как. Узнал сам - поделился с вами)
Пост не мой, но без VPN не прочитать, поэтому он тут.
Думаю, будет все полезен. Истоник в конце.


За 7 лет, что я в ML, рынок изменился до неузнаваемости. Раньше брали всех, начиная с миддла, и куда угодно. Сейчас рынок сильно фрагментировался.

Во-первых, RnD vs MLE.

Во-вторых, специализация на конкретном ML-нарпавлении. Перекатываясь, например, из NLP в таблички, теряешь грейд.

В-третьх, компании, из определённых отраслей всё чаще ищут спициалистов из данных отраслей. Я знаю многие, как и я, просаживаются из-за неимения некоторого DE-стэка, к. тяжело получить за пределами корпората. И даже в рамках одного ML-направления задачи могут быть разными. Где-то нужен интерпретируемый ML, где-то feature-инжениринг, где-то оптимизация под RPS, где-то хорошее знание А/Б. Разные лоссы, разные данные, разная нагрузка.

Сейчас "читать воздух" стало важнее - опыт стал менее переносим, а конкуренция сильно возросла. Ниже будет картинка с моим видением индустрии сейчас. Опыт только в РФ - другого у меня нет.

Многие отрасли я не стал описывать: финтех, аутсорс, госструктуры, RnD отделы отдельных компаний, adtech, etc. Но в целом, они будут представимы, через то, что есть на карте.

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

Источник
Data NewYear 🎄

27 декабря в сообществе ODS Moscow прошел первый оффлайн митап Data NewYear, который мы организовали совместно с Yandex.

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

Изначально мы предполагали, что будет порядка 50 человек, но выбрали площадку на 100, т.к. закладывали возможное увеличение числа участников за счет привлечения не только из сообщества. По итогу, после анонса митапа в сообществе мы получили неожиданно больше количество регистраций, которое явно превосходило размеры площадки даже с учётом конверсии из регистрации в участие. Поэтому мы отказались делать анонсы в других источниках, иначе нам пришлось бы отказать в посещении большинству зарегистрировавшихся, что в нашем случае было бы не самым лучшим решением. И вот, в день X мы собрали солд-аут. Было очень приятно видеть такое количество ребят, когда за окном уже новый год и все ходят по ТЦ, а мы собрались неформально пообщаться и проводить 2023 год.

Говоря про сам митап, мы провели:
🔴 Годовой обзор: посмотрели, что произошло в индустрии и в нашем сообществе за 2023 год
🔴 Узнали про успехи и провалы коллег по цеху, выслушав доклады
🔴 Ответили на вопросы о ML, карьере и развитии в рамках Q&A сессии
🔴 Провели очень веселый Data квиз, на котором каждый смог проверить свои знания в ML и не только, а также получить подарки
🔴 И конечно же нетворкинг

Мы старались сделать наше мероприятие максимально неформальным и комфортным и, кажется, нам это удалось. По итогам фидбэка мы достигли NPS 80%! Весь фидбэк раскрывать не буду, чтобы не спойлерить наши планы, но пару примеров все же приведу:

- Один из лучших митапов, на которых я был, спасибо)
- Это немного другой формат в отличии от большинства мероприятий. Мне понравилось: спикеры и участники, доклады, квиз и нетворкинг. И вкус Нового года с баночкой Колы 🙂
- Митап с которого я ушёл с лучшими впечатлениями среди всех прошлых!

Для меня было особенно приятно организовывать такое мероприятие, ведь сообществу ODS Moscow всего 1 год, но мы уже выросли до 600 участников.

В завершение поста я хочу сказать спасибо всем, кто приложил усилия, чтобы такое крутое мероприятие состоялось и всем, кто пришел, чтобы ощутить нашу уникальную и незабываемую атмосферу! 🎉

Мы будем увеличивать количество подобных мероприятий и их качество 🚀
🚀Повышение эффективности кода. История про оптимизацию.

Оптимизация – это процесс улучшения уже существующего кода, чтобы он работал быстрее и потреблял меньше ресурсов. Улучшение эффективности часто связано с компромиссами. Оптимизация может увеличить скорость работы кода, но сделать его менее читаемым.

🛠️ Оптимизация часто требует баланса между производительностью и ясностью кода. Разработчики должны понимать требования проекта и знать, какие аспекты системы замедляют её работу.

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

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

И так, примеры:
1. Есть проект, который делает некоторый ежедневный прогноз, 1 раз в день в 00:00. Прогнозами пользуются только аналитики и некоторые стейкхолдеры. Разработчик видит, что можно оптимизировать расчет фичей в python и тратит 4 часа времени на оптимизацию, ускоряя выполнение кода на 5%.

2. Возьмем тот же скрипт, но теперь добавим вводных. Компания использует BigQuery для хранения данных, для прогноза используются 10 различных таблиц, данных очень много и каждый запрос стоит 10$. Сейчас в коде каждая таблица загружается отдельно по некоторым бизнес-правилам, агрегации происходят в python на основе пересечений и получается итоговая таблица. Для этого нужно сделать 10 запросов к базе по 10$, т.е. данные для прогноза стоят 100$ каждый день. Разработчик видит, что запросы в базу не очень оптимальны и их можно оптимизировать, объединить и тд, чтобы в итоге делать 3 запроса к базе, а не 10. Он тратит на это те же 4 часа, но теперь данные для прогноза стоят не 100$, а 30$.

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

В первом случае ускорение циклов стоило нам 8к + 8к рублей, итого 16к. При этом мы не получили никакого профита для бизнеса, т.к. прогнозы делаются 1 раз ночью и используются людьми в рабочее время. Поэтому, даже ускорение кода в 10 раз не принесёт никакого профита для компании, а разработчик потратит своё и не только время.

Во втором случае мы на оптимизацию запросов к базе потратили те же 16к рублей, но при этом получили сокращение ежедневных затрат на 70$, т.е. порядка 2к$ в месяц приносит такая оптимизация, на которую мы потратили условно 200$. Тут профитность очевидная.

🧠 Личный опыт

Оба примера выше из моей практики. В одной системе, разработанной для обработки больших данных, основная задержка происходила из-за множественных запросов к базе данных. И при профилировании мы увидели оба момента из примеров, но сначала оптимизировали запросы, оптимизация заключалась в объединении этих запросов в один, что значительно сократило время и стоимость запросов к базе. Но мы всё еще видели, что код выполнятся недостаточно быстро и на сдачу проверили, что же с ним не так. После 10 минут просмотра критических мест в коде нам удалось добавить оптимизации, причём прирост был колоссальный. Знаете что мы сделали? Убрали блоки sleep в нескольких местах, которые оставили разработчики во время отладки кода👍😂

Правила:

1️⃣: не начинайте улучшение эффективности, пока ваш код не отвечает всем требованиям проекта. Известная фраза гласит: "Преждевременная оптимизация – корень всех проблем". Сначала следует завершить основную разработку, а затем упрощать и ускорять код.

2️⃣: оптимизируйте только конкретный код. Профилирование кода помогает определить, где узкие места. Если профилирование показывает, что большинство времени выполнения занимает запрос к базе данных, оптимизация может включать переформулировку запроса или индексацию данных.
К посту выше как пример оптимизации путём замены list comprehension на map() в python даёт ощутимый прирост скорости даже на довольно простых данных.
Но оно вам точно нужно?)