EasyData
950 subscribers
152 photos
10 videos
22 files
80 links
Добро пожаловать!
Меня зовут Мария Жарова, и это мой блог про науку о данных

Лайфхаки из будней MLщика, полезности по Data Science и ответы на вопросы, которые волнуют новичков и не только🌝

Автор @NaNCat
加入频道
Всем доброго вечера!👋
На вопрос: "Какая самая популярная библиотека для анализа данных?" - большинство ответит: "Pandas". Однако, когда дело доходит до больших объёмов информации (порядка млн строк) или важна скорость работы - Pandas может оказаться не лучшим выбором

Ранее мы разбирали, как распараллелить операции на Pandas, но есть кое-что получше - библиотека Polars В WB часто ей пользуются, т.к. она действительно намного превосходит Pandas по скорости и эффективности. По синтаксису она где-то на ~70% похожа Pandas и ~30% на Pyspark, сравнение десяти самых важных операций ловите в карточках ❤️

Главные преимущества Polars:

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

Polars поддерживает ленивые операции (Lazy Execution, эта же фича есть в pyspark), что позволяет "откладывать" их выполнение до тех пор, пока не будет вызвана команда .collect(). Благодаря этому можно оптимизировать выполнение сразу нескольких шагов, минимизируя нагрузку на память и процессор.

Основной недостаток Pandas - то что он обрабатывает данные последовательно. Polars же без дополнительных "танцев с бубнами" может использовать несколько ядер процессора параллельно.

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

🐈 Ссылка на официальную документацию
🐈 Репозиторий на GitHub

#аналитика@data_easy
#classic_ml@data_easy
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥73👍21
В последнее время к каналу присоединилось довольно много новых подписчиков😊
Чтобы нам всем было проще общаться в одном месте, а не только в комментариях к постам - приглашаю присоединиться к чату канала https://yangx.top/+v1fdmoHV3JwyYTJi

Может, найдёте товарищей для хакатонов / друзей / будущих коллег😉
Please open Telegram to view this post
VIEW IN TELEGRAM
12🔥3
EasyData pinned «В последнее время к каналу присоединилось довольно много новых подписчиков😊 Чтобы нам всем было проще общаться в одном месте, а не только в комментариях к постам - приглашаю присоединиться к чату канала https://yangx.top/+v1fdmoHV3JwyYTJi Может, найдёте товарищей…»
Всем доброго дня!
По вашим просьбам собрала небольшой чек-лист самых популярных методов регуляризации😎
Главное, запомнить, что понятие регуляризации включает в себя не только L1 и L2, а целый класс методов для борьбы с переобучением😁

#classic_ml@data_easy
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍53😍1🤝1
И для тех, кого нет в чатике - держите ссылку на хакатон ЕВРАЗа 3.0, который организуют мои знакомые🧑‍💻

🦾 Задача хакатона — создать ИИ-чатбота, который будет помощником для нас, разработчиков:) Кстати, можно участвовать не только дата-саентистам — решать задачу можно на Python, TypeScript или C#.

📆 Даты: 29 ноября – 1 декабря 2024.

🕺 Формат: гибридный (онлайн и офлайн).

💷 Призовой фонд: 500.000 рублей.

Если нет команды — организаторы помогут ее собрать!

🔸 Регистрация уже открыта! Подавайте заявку до 25 ноября 23:59 МСК по ссылке.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍643🆒1
Всем привет, друзья!
Как вы обычно ускоряете вычисления, если Python показывает ожидаемое время работы кода несколько часов или дней?😄
Есть простой способ сократить время и заставить процессор работать на полную мощность при помощи библиотеки joblib😎
Она умеет не только (де-)сериализовать объекты, но ещё и упрощает использование нескольких процессов или потоков на Python без необходимости углубляться в тонкости теории.

Ключевой инструмент для параллельного выполнения задач — Parallel. Попробуйте сравнить два варианта кода:


import time
from tqdm import tqdm

def slow_function(x):
time.sleep(1)
return x**2
results = [slow_function(x) for x in tqdm(range(100))]

и

from joblib import Parallel, delayed

# Обертка для распараллеливания
results = Parallel(n_jobs=4)(delayed(slow_function)(x) for x in tqdm(range(100)))


Как это работает:

🌟 Parallel(n_jobs) указывает, сколько процессов или потоков использовать. Например, при n_jobs=4 будут использоваться 4 ядра процессора, а при n_jobs=-1 — все доступные. Так что, если точно не знаете, какое число указать, попробуйте -1, т.к. если переборщить, код может не сработать🙈
🌟 delayed превращает функцию в "ленивую", откладывая её выполнение до тех пор, пока Parallel не передаст её в пул процессов.

Полезные ссылки:
🔗 Документация joblib
🔗 Репозиторий GitHub

Хорошей недели!❄️

#python@data_easy
🔥11👍97
Всем привет, друзья!
Пару дней назад выпустили новую статью на Habr про BERT и его товарищей ❤️
Материал в первую очередь рассчитан для новичков, так что если давно хотели узнать…
🐈 как устроен механизм внимания без математики, а на примерах;
🐈 в чём особенности BERT, чем он так хорош и для каких задач подходит;
🐈 какие у него разновидности;
- время настало😊

И держите практический шаблон в colab с использованием предобученного DistilBert для решения задачи классификации двумя способами😎

С первым днём зимы!☃️

#nlp@data_easy
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1210🐳2🤔1
Чек-лист_собеседование_DS.pdf
72.2 KB
Привет, дорогие подписчики!
Поздравляю с Новым годом! 🎉 Пусть он принесет вдохновение, множество новых возможностей и ярких свершений Пусть каждый день будет наполнен теплом, радостью, а маленькие шаги ведут к большим победам!😊

Чтобы этот пост был не только праздничным, но и полезным, держите небольшой подарок: чек-лист вопросов с собеседований по Data Science 📋

Подобное может встречаться как на первичном звонке с HR, так и на полноценном техническом собеседовании, где могут попросить развернутые объяснения ключевых тем🤪


Всем успехов в карьере и уверенности в своих силах в 2025 году! 🎉

#карьера@data_easy
Please open Telegram to view this post
VIEW IN TELEGRAM
🎄18🔥149🎉5
Всем привет! 👋
Сегодня расскажу о магическом способе дообучить большие языковые модели (LLM), даже если у вас нет сервера с мощными видеокартами. Этот метод называется адаптеры.

Большие языковые модели вроде GPT или BERT уже натренированы на огромных объёмах текстов, но, разумеется, часто их необходимо "подстроить" под конкретные задачи. Например, представьте универсального переводчика, который знает 100 языков, но иногда путается в редких диалектах. Чтобы он стал идеален, ему потребуется донастройка.

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

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

Если хотите попробовать, вот несколько инструментов:

😶 Hugging Face PEFT (Parameter-Efficient Fine-Tuning) — библиотека для адаптеров, LoRA и других методов.
🔗ссылка на документацию
🔗папка с примерами из официального репозитория

😶 AdapterHub — репозиторий готовых адаптеров для разных задач.
🔗 ссылка на страничку официального сайта
🔗 документация с примерами

Лёгкой рабочей недели! 😘

#nlp@data_easy
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥229👍9
Привет, друзья!
🎯 Как понять, кто вы — джун, мидл или сеньор? А может быть, "мидл+" или "мидл-"😁

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

📊 Большие компании стараются разрабатывать понятные критерии для грейдов сотрудников. У нас, пожалуй, наиболее распространён playbook от Avito, в котором подробно расписаны навыки и ожидания от IT-специалистов на разных этапах их карьеры. Там вы найдёте градацию по:
- технической экспертизе,
- взаимодействию с командой,
- уровню влияния на развитие продукта.

🔗 Ссылка на репозиторий со всеми материалами: github.com/avito-tech/playbook

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

Успехов в самоисследовании!😎

#карьера@data_easy
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21👍75👀1
Привет, друзья!
Поздравляю всех причастных с Днём студента!🤩
Держите небольшую подборку бесплатных курсов, которые помогут в изучении DS - как для начинающих, так и для продолжающих🤓

📚Для совсем новичков открытый курс по Python на Stepic.
С него можно начинать изучение программирования в принципе, подойдёт не только для будущих дата-саентистов, но и для разработчиков.
➡️ Ссылка на Stepik и на дублирующий плейлист на youtube.

📚Для погружения в классический ML можно начать с курса лекций и семинаров от МФТИ.
➡️ Ссылка на плейлист youtube.

📚 Для тех, кто уже знаком с основами ML, есть продолжение предыдущего курса от МФТИ, который знакомит с DL.
➡️ Ссылка на плейлист youtube.

📚Также в качестве дополнения можно ознакомиться с материалами годового курса от DeepLearning School.
➡️ Здесь найдёте материалы базового потока, а здесь - продвинутого.

📚Для погружения в NLP можете посмотреть материалы курса с ODS.
➡️ Ссылка на курс (нужна регистрация).

📚Для любителей рекомендательных систем есть два мини курса, также с ODS.
➡️ Ссылка на первую часть и на вторую.

📚По CV хороший курс на Hugging Face. Единственный возможный минус - он на английском.
➡️ Ссылка на материалы.

Успехов в учёбе и хороших выходных!🍀

#python@data_easy
#classic_ml@data_easy
#cv@data_easy
#nlp@data_easy
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2714👍5
Всем привет!
В свете последних потрясающих новостей про LLM хочу поделиться ещё одним любопытным исследованием🙂

Недавний релиз DeepSeek R1 показал, что обучение мощных LLM может стоить значительно дешевле, чем у лидеров рынка. Теперь исследователи из Стэнфорда решили проверить, насколько быстро и дёшево можно дообучить существующую открытую модель, чтобы она конкурировала с проприетарными решениями.

💎 Они взяли Qwen2.5-32B-Instruct и применили knowledge distillation — способ передачи знаний от более мощной модели (учителя) к компактной модели (ученику). Ученик обучается воспроизводить ответы учителя, что позволяет достичь высокой производительности при меньших вычислительных затратах. В данном случае, модель-ученик обучалась на небольшом, но тщательно отобранном датасете из 1000 примеров, сгенерированных Gemini Thinking Experimental (кстати, можно скачать его с HuggingFace).

🫣 Итоги...
Получившаяся модель обошла o1-preview на 27% в тестах MATH и AIME24, сохранив компактность и эффективность.
Но главный результат — скорость и доступность: весь процесс обучения занял 26 минут на 16-ти GPU NVIDIA H100, что сравнимо со стоимостью запуска DeepSeek R1.

📖 Код работы опубликован на GitHub, а обученная модель доступна на Hugging Face.

Этот эксперимент подтверждает тренд на снижение стоимости и времени обучения LLM. Возможно, вскоре появятся всё более доступные «open-weight» решения, которые смогут конкурировать с закрытыми моделями крупнейших компаний😎

#nlp@data_easy
Please open Telegram to view this post
VIEW IN TELEGRAM
22🔥5👍4
Всем привет!
Сегодня снова про LLM 🌿
Для тех, кто ещё не посмотрел лекцию Андрея Карпаты Deep Dive into LLMs like ChatGPT, держите небольшой обзор 💜

В 3.5-часовом видео он подробно объясняет, из чего состоят большие языковые модели и как их обучают, рассказывает про их частые проблемы и, конечно, про DeepSeek😊

Ещё из интересного...
📋 Глупые ошибки, которые, на самом деле, закономерны:
🔵 LLM не могут правильно посчитать количество букв в слове из-за особенностей токенизации;
🔵у LLM бывают беды с определением следования дат из-за религиозных текстов, в которых их порядок тоже перепутан.

📋 Откуда берутся галлюцинации и как с ними бороться:
🔵раньше модели не обучались говорить «я не знаю», теперь же с этим борются через специальный этап дообучения с учителем (SFT);
🔵ещё вариант — интегрировать их с поиском, чтобы LLM могла гуглить перед ответом.

📋 Чем интересен DeepSeek R1 и какие источники Карпаты использует, чтобы следить за LLM-прогрессом (lmarena, AINews, Twitter).

➡️Ссылка на оригинал лекции: тык

PS: Андрей Карпаты - ex-директор по ИИ в Tesla и сооснователь OpenAI.

С праздником, любимые подписчики! 💜

#nlp@data_easy
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥76👍2