Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
Все самое полезное для дата сайентиста в одном канале. Учиться у нас: clc.to/6qVHgg По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5b03124c8ba6dcaa121c9
Больше📈 Аналитический обзор Telegram-канала Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
Канал Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение (@dsproglib) языкового сегмента Русский является активным участником. Сейчас сообщество объединяет 18 448 подписчиков, занимая 7 158 место в категории Технологии и приложения и 36 242 место в регионе Россия.
📊 Показатели аудитории и динамика
С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 18 448 подписчиков.
Согласно последним данным от 06 июля, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило -60, а за последние 24 часа — -5, при этом общий охват остаётся высоким.
- Статус верификации: Не верифицирован
- Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 7.17%. В первые 24 часа после публикации контент обычно набирает 4.11% реакций от общего числа подписчиков.
- Охват публикаций: В среднем каждый пост получает 1 322 просмотров. В течение первых суток публикация набирает 758 просмотров.
- Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 6.
- Тематические интересы: Контент сосредоточен на ключевых темах, таких как сайентиста, llm, буст, навигация, openai.
📝 Описание и контентная политика
Автор описывает ресурс как площадку для выражения субъективного мнения:
“Все самое полезное для дата сайентиста в одном канале.
Учиться у нас: clc.to/6qVHgg
По рекламе: @proglib_adv
Для обратной связи: @proglibrary_feeedback_bot
РКН: https://gosuslugi.ru/snet/67a5b03124c8ba6dcaa121c9”
Благодаря высокой частоте обновлений (последние данные получены 07 июля, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.
Загрузка данных...
| Дата | Привлечение подписчиков | Упоминания | Каналы | |
| 06 июля | +1 | |||
| 05 июля | +1 | |||
| 04 июля | +2 | |||
| 03 июля | +3 | |||
| 02 июля | +1 | |||
| 01 июля | +1 |
| 2 | 🔥 Открытое занятие по AgentOps — курс стартовал!
Сегодня в 19:00 по МСК пройдет первое занятие нового потока, на которое может прийти каждый. Оцените пользу нашего подхода на ретрансляции урока в VK!
👨💻 Спикер: Андрей Носов
Тема: Архитектура управления: state machine для AI-агентов
Будем разбираться, как использовать State machine в качестве главного оружия против стохастики (непредсказуемости) LLM.
Что в программе:
● State machine: инварианты и терминальные состояния;
● Паттерны маршрутизации: Supervisor, ReAct, Plan-and-Solve;
● Детекция циклов и настройка аварийных выходов;
● Абстракция от модели: как сделать каркас, который переживет смену LLM/провайдера;
● Адаптация графов под ограничения локальных моделей;
● Версионирование графов и миграции стейта.
Результат занятия: Вы поймете, как спроектировать надежный каркас агента с жестким контролем исполнения и переходов.
👉 Подписывайтесь на нашу группу ВКонтакте, чтобы не пропустить старт трансляции! | 672 |
| 3 | ⚡️ mixle: библиотека для composable вероятностных моделей
Идея простая: любая модель — это дистрибуция. Gaussian, Transformer LM, смесь, HMM — всё одинаковый интерфейс. Собираете из них что нужно, вызываете fit() — инференс выбирается автоматически.
Автовыбор модели одной командой:
m = mixle.propose(data, fit=True)
m.evaluate(...)
m.sample(5)
m.explain()
m.deploy("artifacts/m")
Библиотека сама перебирает кандидатов, ранжирует на held-out данных и возвращает победителя. Дальше — чейн методов на одном объекте.
Distillation учителя в маленькую локальную модель:
student = distill(teacher, train, n=4, dim=512, hidden=[64], epochs=250)
gated = CalibratedTaskModel(student, alpha=0.1).calibrate(cal, teacher(cal))
cascade = Cascade(gated, teacher, cost=CostModel(c_local=0.0, c_frontier=0.01))
cascade.serve(stream) # ~92% запросов обрабатывается локально
cascade.report() # -> ~8% эскалировано; ~$2.76 сэкономлено / 300 запросов
Дорогой teacher (LLM, API, правило) отвечает только на сложные случаи.
Масштабирование одним аргументом:
optimize(..., backend="spark") # или dask, ray, mpi
optimize(..., engine=TorchEngine(device="cuda"))
Та же логика инференса — локально на NumPy или распределённо на кластере.
📦 Что внутри
— ~90 дистрибуций: скалярные, многомерные, structured (HMM, LDA, PCFG, смеси)
— PPL-диалект: Normal(free, free).fit(data) — estimate mean + std в одну строку
— Enumeration: ранжирование поддержки дискретных моделей в порядке убывания вероятности
— MLOps: артефакты, drift detection, versioned registry
pip install mixle
pip install "mixle[all]" # + GPU, Spark, Dask, коннекторы к данным
Ссылка на библиотеку
📍 Навигация: Вакансии • Задачи • Собесы
Библиотека дата-сайентиста
#свежак | 788 |
| 4 | 👍 Miles: open-source фреймворк для large-scale LLM RL post-training
RL post-training больших моделей — это уже не просто цикл обучения. Это распределённая система где rollout workers генерируют сэмплы, trainer их потребляет, политики должны оставаться синхронизированными, а MoE-модели добавляют свою специфику роутинга.
Miles решает именно эту задачу.
Четыре компонента склеены в одну систему:
— SGLang — high-throughput rollout generation
— Megatron-LM — scalable distributed training
— Ray — оркестрация, жизненный цикл акторов, fault tolerance
— PyTorch — модели, autograd, mixed precision, профилировка
Rollout memory-bandwidth-bound, training compute-bound — эти две фазы принципиально разные, и Miles обрабатывает границу между ними явно.
✨ Поддержка из коробки: DeepSeek-V4, Kimi K2.5/K2.6, GLM-5/5.1, Qwen3.5/3.6. NVIDIA Hopper и Blackwell.
Ссылка на библиотеку
📍 Навигация: Вакансии • Задачи • Собесы
Библиотека дата-сайентиста
#свежак | 849 |
| 5 | 🎬 Как ИИ ускоряет разработку и где ломаются архитектуры
Мы провели открытый вебинар, где разобрали реальные боли проектирования автономных систем. Ольга Лукьянова на практическом кейсе показала, как использовать ИИ-ассистентов для реальных задач. Вы просили запись встречи — она уже в открытом доступе!
Что внутри:
— Как с помощью ИИ быстрее разбираться в незнакомом коде и готовить пулл-реквесты;
— Критерии выбора между одним агентом и мультиагентной системой;
— Разбор популярных архитектурных ошибок и ограничений современных ИИ;
— Практические рекомендации по проектированию и внедрению облачных агентов.
👉 Посмотреть полную запись можно тут:
● VK
● YouTube
🚀 Хотите пойти дальше открытого вебинара? Если вы готовы перейти от простых промптов к проектированию надежных, отказоустойчивых ИИ-систем, которые не сливают бюджет компании на API, приходите на курс AgentOps. Поток уже стартовал, но двери еще приоткрыты!
👉 Успеть на курс AgentOps | 842 |
| 6 | 📹 Что должен делать агент-оркестратор?
Посмотрите короткий отрывок из вебинара с Дмитрием Юдиным, внутри концентрат инсайтов о ии-агентах. А если хотите погрузиться в тему с головой, у нас доступна и полная запись этого эфира.
Готовы перейти от теории к практике и собрать свой первый продакшн-кейс?
Прямо сейчас действует мощная акция «3 курса по цене 1»:
🔥 При покупке VIP-тарифа нового потока «Разработка ИИ-агентов» вы получаете в подарок хардкорный курс «AgentOps» + ещё один любой курс Академии на ваш выбор!
Выгода в цифрах: два топовых курса по созданию и контролю агентов обойдутся вам всего в 134.000 ₽ вместо 263.000 ₽. Плюс третий курс бонусом (например, можно подтянуть математику для AI). Ваша чистая экономия — 129 000 ₽!
Сомневаетесь, подойдет ли вам формат? Оставьте заявку и пройдите бесплатный демо-урок, чтобы протестировать платформу перед покупкой.
👉 Пройти демо-урок и забрать 3 курса по цене 1 | 870 |
| 7 | 🙌 Google выпустил TabFM: foundation model для табличных данных с zero-shot предсказаниями
30 июня Google Research анонсировали TabFM — модель которая делает классификацию и регрессию на табличных данных без дообучения под конкретный датасет.
TabFM использует механизм attention в двух направлениях — по строкам и по столбцам — чтобы уловить структуру таблицы без ручного создания признаков.
Обучение проводилось на синтетическом датасете из сотен миллионов записей — реальные корпоративные данные слишком конфиденциальны для публичного обучения.
📊 Результаты
Оценка через TabArena (Elo-рейтинг методов):
— TabFM-Ensemble (32 ансамбля + cross-sectional + SVD) → 1 место
— TabFM стандартный → 2 место
Обе версии обошли традиционные методы на классификации и регрессии.
🔧 Где попробовать
Модель на Hugging Face (non-commercial лицензия)
Код и примеры на GitHub (Apache 2.0)
📍 Навигация: Вакансии • Задачи • Собесы
Библиотека дата-сайентиста
#свежак | 1 193 |
| 8 | Бесплатный курс: RL для больших языковых моделей
Открытый университет Калифорнии выложил полный курс по обучению с подкреплением применительно к LLM. Читает доцент математики UCLA, все материалы открыты.
🎯 Формат
— Слайды лекций
— Полные видео на YouTube
— Практические упражнения
— Теория + код в одном месте
Хороший выбор если хотите по-настоящему понять что стоит за RLHF и как обучают современные LLM — не на уровне интуиции, а системно.
🔗 Ссылка на курс
📍 Навигация: Вакансии • Задачи • Собесы
Библиотека дата-сайентиста
#буст | 1 046 |
| 9 | ОПРОС: Ответьте на пару вопросов и получите промокод на все наши курсы! 🎁
Команда Prоglib.аcаdemy готовит к запуску новые продукты, и нам нужна ваша помощь. Мы хотим создавать обучение, которое будет решать ваши реальные карьерные задачи и бить точно в цель.
Поделитесь своим опытом и ожиданиями, чтобы мы сделали наши курсы еще полезнее именно для вас! Заполнение анкеты займет буквально 2–3 минуты, а с нас — скидка на любой наш курс!
👉 Пройти опрос в Яндекс Формах и забрать промокод | 1 030 |
| 10 | 👍 Обзор: LLM в научных исследованиях
Большие языковые модели (LLM) стремительно меняют подход к научной работе. Мы нашли обзор, который будет полезен исследователям, разработчикам и всем, кто интересуется развитием ИИ в науке.
Если вы работаете с ИИ или следите за развитием AI for Science, этот материал станет отличной отправной точкой.
📍 Навигация: Вакансии • Задачи • Собесы
Библиотека дата-сайентиста
#буст | 1 190 |
| 11 | ⚠️ Уже завтра стартует курс AgentOps!
Мы собрали на потоке сборную из мастеров IT-рынка. Практики из BigTech научат вас контролировать и отлаживать ИИ-агентов, чтобы они работали предсказуемо и не сливали бюджет на API.
🔥 Заберите 3 курса по цене 1:
● При покупке VIP-тарифа (осталось 4 места) нового потока «Разработка ИИ-агентов» получаете в подарок курс «AgentOps» + ещё один любой курс Академии (например, «Математика для разработки AI», чтобы глубже освоить направление).
● Три курса обойдутся вам всего в 134.000 ₽ вместо 263.000 ₽.
● Доступна удобная беспроцентная рассрочка, платеж можно разбить на несколько комфортных частей.
Хотите прокачать свое портфолио продакшн-кейсом, но пока сомневаетесь? Пройдите наш бесплатный демо-урок, чтобы протестировать формат перед покупкой.
👉 Забрать 3 курса по цене 1 и получить демо-урок | 1 142 |
| 12 | 👀 TimeSformer: как трансформеры научились понимать видео
ViT делит картинку на патчи и прогоняет через attention. Но что делать с видео? Добавить измерение времени — и всё ломается по вычислениям.
TimeSformer (ICML 2021) отвечает на вопрос: можно ли построить сильную видеомодель на чистом attention, без 3D-свёрток?
🎬 Как видео превращается в токены
Каждый кадр делится на патчи размером 16×16. При 8 кадрах и разрешении 224×224 получается:
196 патчей × 8 кадров + 1 class token = 1569 токенов
Каждый патч получает два позиционных эмбеддинга — пространственный (где в кадре) и временной (какой кадр).
🧠 Пять вариантов attention
Space-only — attention только внутри одного кадра. Дёшево, но не видит движение.
Joint space-time — каждый патч смотрит на все патчи во всех кадрах. Максимально выразительно, но квадратичная сложность убивает на длинных видео.
Divided space-time — главная идея TimeSformer. Два отдельных attention в каждом блоке: сначала временной (один патч через все кадры), потом пространственный (все патчи в одном кадре).
Sparse local-global и Axial — промежуточные варианты, оба проигрывают divided в экспериментах.
⚡ Почему divided выигрывает
Joint attention: N×F+1 сравнений на патч → при F=96 это 18 817 сравнений.
Divided attention: N+F+2 сравнений → при F=96 это 294 сравнения.
При этом точность выше: 78% на Kinetics-400 против 77.9% у joint. На Something-Something-V2 (где важна именно последовательность действий) разрыв ещё больше — 59.5% против 36.6% у space-only.
🔧 Ключевой трюк реализации
# x: [B, F, N, D]
# Temporal attention — последовательность это кадры
x_t = rearrange(x, "b f n d -> (b n) f d")
x_t = temporal_attention(x_t, x_t, x_t)
x = rearrange(x_t, "(b n) f d -> b f n d", n=N)
# Spatial attention — последовательность это патчи
x_s = rearrange(x, "b f n d -> (b f) n d")
x_s = spatial_attention(x_s, x_s, x_s)
x = rearrange(x_s, "(b f) n d -> b f n d", f=F)
Просто перекладываем тензор — и стандартный attention блок работает нужным образом.
🔗 Ссылка на пост
📍 Навигация: Вакансии • Задачи • Собесы
Библиотека дата-сайентиста
#буст | 1 012 |
| 13 | 🥲 One-hot encoding: не всегда лучший выбор
Первое что учат при работе с категориальными признаками — pd.get_dummies(). Но у one-hot encoding есть серьёзные ограничения о которых часто забывают.
🔴 Когда one-hot ломается
Высокая кардинальность — признак «город» с 500 уникальными значениями даст 500 новых колонок. Sparse матрица, проклятие размерности, медленное обучение.
Цикличные признаки — час дня: 23 и 0 это соседние значения, но one-hot считает их максимально далёкими.
Новые категории в проде — если в тесте появилась категория которой не было в трейне, модель падает или молча ошибается.
✅ Что использовать вместо
🎯 Target encoding — заменяем категорию средним значением таргета. Компактно, мощно, но только внутри pipeline с cross-validation чтобы избежать утечки:
from category_encoders import TargetEncoder
enc = TargetEncoder()
X_train['city'] = enc.fit_transform(X_train['city'], y_train)
📊 Frequency encoding — заменяем категорию её частотой в данных. Просто, без утечки, хорошо работает с деревьями:
freq = df['city'].value_counts(normalize=True)
df['city_freq'] = df['city'].map(freq)
🌀 Cyclic encoding — для часа, дня недели, месяца. Синус и косинус сохраняют цикличность:
df['hour_sin'] = np.sin(2 * np.pi * df['hour'] / 24)
df['hour_cos'] = np.cos(2 * np.pi * df['hour'] / 24)
📋 Шпаргалка выбора
- Мало уникальных значений (< 15) → one-hot
- Есть порядок → ordinal encoding
- Высокая кардинальность → target или frequency encoding
- Временные признаки → cyclic encoding
- XGBoost / LightGBM → нативная поддержка категорий, можно не кодировать вообще
📍 Навигация: Вакансии • Задачи • Собесы
Библиотека дата-сайентиста
#буст | 1 076 |
| 14 | 🚀 Не уверены, стоит ли переходить на зрелую ИИ-инженерию? Начните с демо-урока!
Вот-вот стартует наш курс AgentOps. Если вы сомневаетесь в формате, просто оставьте заявку и получите бесплатный демо-урок «AI-инструменты в разработке: как писать код быстрее с помощью ассистентов».
Для тех, кто готов мощно прокачать портфолио, прямо сейчас действует предложение «3 любых курса по цене 1»:
— При покупке VIP-тарифа (осталось 4 места) нового потока «ИИ-агенты» вы получаете в подарок доступ к курсу «AgentOps» + ещё один любой курс Академии на выбор
— В деньгах это два топовых курса по автоматизации и контролю ИИ всего за 134.000 ₽ вместо 263.000 ₽ 🔥 А за счет третьего курса (например, можно выбрать «Математику») вы соберете мощный стек и освоите целое востребованное направление.
— Платеж можно разбить на несколько частей с помощью беспроцентной рассрочки.
👉 Получить демо-урок и зафиксировать спецпредложение 3 в 1 | 1 124 |
| 15 | 🆕 Polars 1.42: три полезных улучшения
1️⃣ Адаптивный контроллер параллелизма для облачного I/O
При чтении Parquet и IPC файлов из S3, GCS, Azure теперь автоматически подбирается оптимальное количество параллельных запросов под текущую скорость соединения. На бенчмарке TPC-H SF=1000 на 64-ядерном инстансе — 2x ускорение в среднем и до 4x на I/O-bound запросах.
Никаких изменений в API — scan_parquet и scan_ipc из облака получают это автоматически.
2️⃣ Устранение противоречивых фильтров
Оптимизатор запросов теперь определяет когда фильтр не может вернуть ни одной строки — и вообще не выполняет запрос. Шесть категорий противоречий:
— A AND NOT(A)
— x > 5 AND x <= 5
— is_in([]) — пустое множество
— a > 5 AND a < 3 — несовместимые диапазоны
— два непересекающихся is_between
— a == 5 AND a > 10
Полезно при программно генерируемых фильтрах где параметры могут дать low > high или взаимоисключающие условия. Никаких изменений в коде не нужно.
3️⃣ is_sorted() для DataFrame и Expr
Series.is_sorted() давно есть, теперь добавили для DataFrame и выражений:
df.is_sorted("a") # True/False
df.is_sorted("b", descending=True)
df.select(pl.col("a").is_sorted()) # внутри select/filter
Поддерживает descending и nulls_last. Пока помечено как unstable.
🔛 Релиз-блог
📍 Навигация: Вакансии • Задачи • Собесы
Библиотека дата-сайентиста
#буст | 1 247 |
| 16 | pandas — 10 приёмов которые используют каждый день
Не основы, а то что реально ускоряет работу.
Фильтрация
df.query() — читается как SQL, работает быстро:
df.query("age > 30 and city == 'Moscow'")
df.query("category in @my_list") # переменные через @
Новые колонки
np.select() для нескольких условий вместо вложенных np.where():
conditions = [df.score > 90, df.score > 70, df.score > 50]
choices = ["A", "B", "C"]
df["grade"] = np.select(conditions, choices, default="F")
Пропуски
Процент null по каждой колонке — одной строкой:
df.isnull().mean().sort_values(ascending=False)
Удалить колонки где больше 50% null:
df.dropna(thresh=len(df) * 0.5, axis=1)
Агрегация
Именованные агрегации — результат сразу с нужными именами:
df.groupby("region").agg(
total_sales=("sales", "sum"),
avg_rating=("rating", "mean"),
n_orders=("order_id", "count"),
)
transform() — добавить агрегат как колонку не теряя строки:
df["pct_of_region"] = df["sales"] / df.groupby("region")["sales"].transform("sum")
Feature engineering
Процентильный ранг:
df["rank"] = df["sales"].rank(pct=True)
Биннинг:
df["bucket"] = pd.cut(df["age"], bins=[0,18,35,60,100],
labels=["teen","young","mid","senior"])
Z-score для поиска выбросов:
from scipy import stats
df["zscore"] = stats.zscore(df["value"])
outliers = df[df["zscore"].abs() > 3]
Даты
Компоненты даты сразу все:
df["year"] = df["date"].dt.year
df["month"] = df["date"].dt.month
df["weekday"] = df["date"].dt.day_name()
df["is_weekend"] = df["date"].dt.dayofweek >= 5
✔️ Больше хитростей в прикрепленной шпаргалке
📍 Навигация: Вакансии • Задачи • Собесы
Библиотека дата-сайентиста
#буст | 1 327 |
| 17 | 🎯 Нормализация vs Стандартизация: в чем разница
При подготовке данных для машинного обучения (Feature Scaling) часто возникает дилемма: что выбрать — нормализацию или стандартизацию?
Эта инфографика наглядно разбирает оба метода, их формулы и сценарии применения.
📍 Навигация: Вакансии • Задачи • Собесы
Библиотека дата-сайентиста
#буст | 1 307 |
| 18 | 🎬 Где ломаются архитектуры ИИ-агентов и как этого избежать: запись урока от Proglib.Academy и cloud․ru
Proglib.аcademy вместе с cloud․ru провели вебинар, где разобрали реальные боли проектирования автономных систем. Вы просили запись встречи — она уже в открытом доступе!
Что внутри:
— критерии выбора между одним агентом и мультиагентной системой;
— разбор популярных архитектурных ошибок;
— реальные ограничения современных ИИ-агентов;
— практические рекомендации по проектированию агентных систем.
👉 Посмотреть запись можно тут:
● VK
● YouTube | 1 375 |
| 19 | ✅ Gefen: замена AdamW которая экономит 6.5 ГБ памяти на каждый миллиард параметров
Одна из главных проблем при обучении больших моделей — память под состояние оптимизатора. AdamW хранит два момента для каждого параметра, и это бьёт по VRAM сильнее чем сами веса.
Gefen — drop-in замена AdamW с 8-кратным сокращением памяти оптимизатора. Та же точность, те же гиперпараметры, два изменённых строки в коде:
# было:
# optimizer = torch.optim.AdamW(model.parameters(), lr=1e-3)
# стало:
from gefen import Gefen
optimizer = Gefen(model.parameters(), lr=1e-3)
➡️ Gefen квантизирует состояния оптимизатора до 8 бит используя подход основанный на блочно-диагональном приближении матрицы Гессиана. Это не просто округление — точность квантизации подбирается так чтобы не ронять качество обучения.
➡️ Работает с PyTorch DDP, FSDP, DeepSpeed ZeRO. Интегрируется в Hugging Face Trainer через optimizer_cls_and_kwargs. Есть версия GefenMuon — Muon с 4-кратным сокращением памяти оптимизатора.
pip install gefen
🔗 Ссылка на Gefen
📍 Навигация: Вакансии • Задачи • Собесы
Библиотека дата-сайентиста
#буст | 1 428 |
| 20 | 🤖 Запускаем новый курс: «Spec-Driven Development»!
Всем надоело, что ИИ-агенты (Cursor, Claude) генерируют сотни строк хаотичного кода, который приходится переписывать. Дело не в нейросети, а в том, что вы заставляете её угадывать условия задачи.
На курсе вы освоите методологию SDD (Spec-Driven Development) — управление ИИ через спецификации (спеки) и тесты вместо «вайб-кодинга».
Как это работает?
До генерации кода вы фиксируете в спеке контракты, инварианты и граничные случаи. Документ четко определяет ЧТО делать, сводя лотерею в PR к нулю.
За 8 недель с экспертами из BigTech вы:
🔹 Встроите ИИ в личный или командный workflow.
🔹 Превратите генерацию кода в предсказуемый инженерный процесс.
🔹 Перестанете перепроверять за моделями каждую строчку.
📖 Полный разбор методологии с примерами и готовый промпт для генерации спеки — в нашей статье
👉 Освоить SDD и ускорить разработку | 1 313 |
Уже доступно! Исследование Telegram 2025 — ключевые инсайты года 
