Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
18.9K subscribers
2.2K photos
110 videos
64 files
4.61K links
Все самое полезное для дата сайентиста в одном канале.

По рекламе: @proglib_adv

Курс по ML: https://clc.to/4hNluQ

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5b03124c8ba6dcaa121c9
Download Telegram
📹 Новый курс: пост-тренировка больших языковых моделей LLM

Узнайте, как улучшить работу языковых моделей после предобучения с помощью методов Supervised Fine-Tuning (SFT), Direct Preference Optimization (DPO) и Online Reinforcement Learning (RL).

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

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

🔗 Ссылка на курс: https://clc.to/SuDcgQ

Библиотека дата-сайентиста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32🔥1
💬 Вопрос от подписчика: как получить повышение

«Я уже 3.5 года работаю Data Scientist I в крупной компании из Fortune 50. За два последних цикла сам поднимал тему повышения. В первый раз мне обозначили зоны роста — я поработал над ними, показал прогресс, сделал всё как надо.

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

И теперь думаю: а что вообще делать до следующего цикла? Повышения реально надо “добираться на ощупь”, или в нормальных компаниях дают конкретные ориентиры?»


Кратко: да, во многих местах повышение — это квест без карты.

Но есть способы повысить шансы и вернуть контроль:
🔎 Попросить у менеджера leveling guide и примеры задач следующего уровня (если их нет — это тоже сигнал).
🔎 Сделать свои достижения видимыми — внутри и за пределами команды.
🔎 Найти спонсора — не просто ментора, а человека с влиянием, который готов продвигать тебя.
🔎 Запросить карьерный план: «что я должен показать, чтобы через Х месяцев обсуждать переход на следующий уровень?»
🔎 Регулярно сверяться с ожиданиями — не только в циклах оценок.

🚩 Частая ошибка: думать, что «хорошо делать свою работу» = автоматически получить повышение. На деле — часто продвигаются те, чьё влияние заметно и кому доверяют больше ответственности.

🤔 А как с этим у вас? В вашей компании есть прозрачная система повышения? Или тоже всё на интуиции?

Библиотека дата-сайентиста #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
💯41😢1
📆 Команда дня: как навести порядок в ML-проекте с помощью Python Poetry

Poetry — это удобный инструмент для управления зависимостями и структурой Python-проектов. Он помогает вам поддерживать чистый и воспроизводимый код, особенно в ML и data science.

🔤 Шаг 1: создаём проект

Запустите:
poetry new earth-quake-predictor


Poetry создаст базовую структуру проекта:
earth-quake-predictor
├── README.md
├── earth_quake_predictor
│ └── __init__.py
├── pyproject.toml
└── tests
└── __init__.py


Зайдите в папку и установите зависимости:
cd earth-quake-predictor
poetry install


Разделите код по логическим модулям:
earth_quake_predictor
├── data_processing.py
├── train.py
├── predict.py
├── plotting.py


🔤 Шаг 2: Jupyter-ноутбуки без хаоса

Создайте отдельную папку notebooks/ и подключайте функции из модулей проекта:

В .py-файле:
# файл: earth_quake_predictor/plotting.py
def my_plotting_function():
...


В ноутбуке:
%load_ext autoreload
%autoreload 2

from earth_quake_predictor.plotting import my_plotting_function
my_plotting_function()


Теперь изменения в коде автоматически подтягиваются в ноутбук — без лишнего копипаста.

🔤 Шаг 3: готовим код к продакшену — Docker

Добавьте Dockerfile, чтобы окружение было одинаковым везде:
earth-quake-predictor
├── Dockerfile
├── pyproject.toml
└── ...


Создайте и запустите образ:
docker build -t earth-quake-model-training .
docker run earth-quake-model-training


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

🐚 Используете Poetry? Делитесь своими лайфхаками в комментариях!

Библиотека дата-сайентиста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74🔥1
😤 Устал листать туториалы, которые не складываются в картину

У тебя в голове уже есть логрегрессии, деревья, метрики и какая-то PCA, но системного понимания всё нет?

Пора с этим разобраться!

Наш курс по классическому ML:

— научит выбирать адекватные модели под задачу
— разложит метрики, переобучение и bias по полочкам
— покажет, что скрывается за fit/predict, и что с этим делать

🔔 До 27 июля по промокоду Earlybird минус 10.000₽

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

👉 Поменяй свою жизнь: старт карьеры в AI — успей до закрытия набора!
▶️ Эмбеддинги в Gemini API — новое слово в понимании текста и кода

Модель gemini-embedding-001 — это новейший текстовый эмбеддинг, доступный в Gemini API и Vertex AI. Эмбеддинги преобразуют слова, фразы, предложения и код в векторные представления, которые позволяют эффективно решать задачи семантического поиска, классификации и кластеризации.

Как сгенерировать эмбеддинги

Пример на Python:
from google import genai

client = genai.Client()

result = client.models.embed_content(
model="gemini-embedding-001",
contents="В чем смысл жизни?"
)

print(result.embeddings)


Можно передать список текстов для пакетной обработки:
texts = [
"В чем смысл жизни?",
"Какова цель существования?",
"Как испечь торт?"
]

result = client.models.embed_content(
model="gemini-embedding-001",
contents=texts
)

for embedding in result.embeddings:
print(embedding)


🔳 Улучшение качества — выбор типа задачи

Чтобы оптимизировать эмбеддинги под конкретные задачи, указывайте task_type. Например, для проверки семантического сходства:
from google.genai import types
import numpy as np
from sklearn.metrics.pairwise import cosine_similarity

texts = ["В чем смысл жизни?", "Какова цель существования?", "Как испечь торт?"]

result = [
np.array(e.values) for e in client.models.embed_content(
model="gemini-embedding-001",
contents=texts,
config=types.EmbedContentConfig(task_type="SEMANTIC_SIMILARITY")
).embeddings
]

similarity_matrix = cosine_similarity(np.array(result))

for i, text1 in enumerate(texts):
for j in range(i + 1, len(texts)):
print(f"Сходство между '{text1}' и '{texts[j]}': {similarity_matrix[i,j]:.4f}")


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


🔳 Контроль размера эмбеддинга

Модель gemini-embedding-001 умеет выдавать векторы разной размерности (768, 1536, 3072), сохраняя при этом качество.

Это помогает экономить место и ускорять вычисления. Для небольших векторов рекомендуется нормализация:
import numpy as np

embedding_values_np = np.array(embedding_obj.values)
normed_embedding = embedding_values_np / np.linalg.norm(embedding_values_np)


🔳 Подробнее в блоге: https://clc.to/Z-chUA

Библиотека дата-сайентиста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍3🔥1
🙃 ChatGPT на собесе — читерство или must-have навык?

Кандидат пришёл на интервью. Вопрос по ML — быстро накидал пайплайн, обсудил подход, выдал код.

Тех собеседующих терзают сомнения:
«Он точно сам это придумал? Или GPT помогал?»


А кандидат спокойно отвечает:
«Так я с ним и в проде работаю. Это инструмент, как Jupyter или Pandas».


📝 Одна сторона говорит:
«На собесе ты должен сам сформулировать гипотезу, выбрать метрику, предложить решение. Без ИИ.»

📝 Другая — возражает:
«Умение эффективно использовать GPT — такой же навык, как знание sklearn или prompt engineering. В реальности — без этого никуда.»

Как считаете, ChatGPT на собесе у DS — это:
❤️ Современный инструмент, и пусть используют
👍 Только на проде, а на собесе — пусть головой думает
🔥 Зависит от уровня: для джуна — нет, для сеньора — норм
😆 Уберите ваши собесы, мы уже в будущем

💬 Кидайте мысли в комментарии.

Библиотека дата-сайентиста #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
23👍16🔥9👏2😁2
🤔 «Начни сразу с нейросетей — зачем тебе логрегрессия?»

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

Классика ML — это не допотопная теория, а база (bias/variance, деревья, метрики), без которой не понять Deep Learning.

⚡️ Хотите освоить этот фундамент на реальных задачах? Приходите на наш курс по классическому ML. Только хардкор, только продовые задачи!

📆 Старт — 12 августа.

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

🎁 Последний день промокода Earlybird на скидку 10.000₽.

👉 Не упустите шанс!
🆕 Свежие новости для дата‑сайентистов

🧠 Модели и архитектуры
Большое сравнение LLM-архитектур — от DeepSeek-V3 до Kimi K2.
Qwen3-Coder: 480B параметров — открытая модель от Alibaba показывает SoTA-результаты.
Qwen3-235B-A22B-Thinking-2507 — новая масштабируемая reasoning-модель от Alibaba.
Gemini 2.5 Flash-Lite теперь доступна всем — быстрая и бюджетная модель от Google.
GPT‑5 уже скоро — по слухам, OpenAI готовит релиз в августе.

🔬 Новые исследования
Почему модели становятся «глупее» — исследование от Anthropic показывает, что длинные размышления не всегда полезны.
Сублиминальное обучение — Anthropic обнаружили, что модели могут бессознательно перенимать «убеждения» от других.
Новый уровень промт-инжиниринга — управление контекстом LLM становится отдельной дисциплиной.

🧑‍💻 Индустрия и платформы
Kaggle запускает Benchmarks — платформа для объективной оценки AI-моделей.
ChatGPT — 2.5 млрд запросов в день
Microsoft переманивает инженеров DeepMind — более 20 сотрудников, включая главу Gemini, ушли к Microsoft.

👍 Опыт других
15 кейсов применения NLP
Пайплайн для прогнозирования временных рядов в Яндексе
KAN против MLP: архитектурное сравнение
Автоматизация ML-разработки и ускорение вывода моделей в прод

Библиотека дата-сайентиста #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍4🔥3
🎉 OpenCV исполнилось 25 лет — серьёзная веха для мира компьютерного зрения

Библиотека была выпущена Intel в 2000 году как open source — и с тех пор стала стандартом де-факто.

OpenCV democratized компьютерное зрение: сделала доступной обработку изображений и видео не только крупным лабораториям и корпорациям, но и каждому студенту, разработчику и энтузиасту.

Благодаря OpenCV миллионы людей научились:
— распознавать лица и объекты;
— строить системы трекинга и распознавания движений;
— анализировать кадры в реальном времени;
— автоматизировать обработку изображений и видео в исследованиях и бизнесе.

👉 25 лет спустя — это по-прежнему первая библиотека, которую изучают в CV, и первый инструмент, к которому тянется рука при решении практической задачи.
Поздравляем библиотеку — 🎉

🔗 Блог-пост в честь юбилея: https://clc.to/zEyBLQ
А вы помните, с чего началось ваше знакомство с OpenCV?

Библиотека дата-сайентиста #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉133👍2👏1
👨‍💻 Топ-вакансий для дата-сайентистов за неделю

Data Engineer — от 200 000₽, удалёнка

DevOps Engineer — от 800 до 1 500$, удалёнка

Middle Data Scientist/Аналитик по исследованию данных — от 300 000 ₽, удалёнка

Senior Data Scientist (RecSys) — от 350 000 ₽, гибрид (Москва, Санкт-Петербург)

ML/DS-специалист — от 400 000 до 600 000 ₽, гибрид (Москва)

ML-инженер (Рекомендации) — от 180 000 ₽, удалёнка

➡️ Еще больше топовых вакансий — в нашем канале Data jobs

Библиотека дата-сайентиста
Please open Telegram to view this post
VIEW IN TELEGRAM
👏2😁1
☁️ molab — облачная среда для marimo-ноутбуков

Теперь вы можете запускать marimo-ноутбуки в облаке — без настройки окружения, установки зависимостей и прочих танцев с бубном. Просто заходите на molab.marimo.io и сразу начинайте экспериментировать с Python и SQL.

marimo — это реактивный Python-ноутбук, который уже используют в Cloudflare, Hugging Face, Shopify, OpenAI, BlackRock, и ведущих университетах.


Что умеет molab:
Marimo — это современная альтернатива Jupyter, написанная с нуля
Поддержка любых Python-библиотек (numpy, torch, polars — уже предустановлены)
Генерация кода с помощью AI
Загрузка и хранение своих данных
Публичные (но недоступные по поиску) ссылки на ноутбуки
Скачивание ноутбуков и запуск локально как Python-скрипты

🔎 Все изменения зависимостей трекаются через pyproject.toml, а сами зависимости подтягиваются через lightning-fast менеджер uv.

Библиотека дата-сайентиста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍4🔥2
Последний шанс залутать курсы Proglib Academy с выгодой 40% и пожизненным доступом.

До 1 августа действует скидка на курсы по математике для Data Science, алгоритмам и структурам данных, обновлённому Python, frontend-разработке с нуля, основам IT для непрограммистов, базовым моделям ML, а также архитектурам и шаблонам проектирования.

Выбираем и забираем 👈

P.S. Акция не распространяется на курсы «AI-агенты для DS-специалистов» и «ML для старта в Data Science».
😁1
📅 Как быстро создать календарную таблицу в SQL

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

📍 Хотите узнать как? Читайте статью: https://proglib.io/sh/5NaAZyTcsx

Библиотека дата-сайентиста #буст
3👍3😁1
📄 Промпт дня: обработка больших CSV-файлов в Python

Когда размер CSV-файла превышает 1 ГБ, загружать его целиком в память — плохая идея. В таких случаях важно обрабатывать данные построчно, минимизируя потребление памяти.

Промпт:
Напиши эффективный и минимально ресурсоёмкий код на Python для обработки большого CSV-файла размером более 1 ГБ без полной загрузки в память.

Цель (опишите дополнительные цели):
— Посчитать общее количество строк
— Вычислить сумму по числовому столбцу price

Уточнения (дополните важной информацией):
— Используй стандартную библиотеку csv или pandas.read_csv(..., chunksize=...)
— Избегай создания лишних списков или структур — обработка должна быть потоковой
— Добавь краткое логирование прогресса (например, каждые 100k строк)


Советы:
— Используйте csv.reader или pandas.read_csv(..., chunksize=...).
— Обрабатывайте данные по одному чанку или строке.
— Используйте генераторы и избегайте создания лишних копий данных.

📌 Подходит для ETL, логов, данных из продакшна, где важна скорость и устойчивость к объёму.

Библиотека дата-сайентиста #буст
👍5😁31
📊 Как понять центральную предельную теорему (CLT)

Центральная предельная теорема (CLT) — один из краеугольных камней статистики. Она утверждает, что распределение средних значений выборок стремится к нормальному (гауссовскому) распределению, даже если изначальная совокупность распределена иначе — при условии, что выборка достаточно большая.

🔳 CLT лежит в основе таких инструментов, как доверительные интервалы и проверка гипотез, и позволяет делать выводы о всей популяции на основе выборки.

🔛 Благодаря CLT мы можем:
— Оценивать параметры генеральной совокупности по выборке.
— Строить доверительные интервалы.
— Применять z-тесты и t-тесты даже к шумным данным.
— Упрощать анализ сложных, нестандартных распределений.

🔛 Но у теоремы есть ограничения:
— Объем выборки: должен быть достаточно большим.
— Независимость: данные в выборке должны быть независимы.
— Одинаковое распределение: классическая CLT предполагает, что выборки взяты из одинаково распределенной совокупности (хотя обобщенные версии снимают это ограничение).

🔛 Тем не менее, CLT остаётся крайне полезной:
— Универсальность: применима к широкому спектру распределений.
— Прогнозируемость: повышает точность оценок при большом объеме данных.
— Простота: позволяет использовать свойства нормального распределения даже для сложных задач.

🔳 CLT применяется повсеместно — в A/B тестировании, в аналитике, при оценке рисков, построении моделей машинного обучения и многом другом.

Библиотека дата-сайентиста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍4🔥2❤‍🔥1