Библиотека дата-сайентиста | 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 — головні інсайти року 
