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

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

Учиться у нас: https://proglib.io/w/f83f07f1

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

РКН: https://gosuslugi.ru/snet/67a5b03124c8ba6dcaa121c9
Download Telegram
💡 How to: как грамотно группировать YAML-конфигурации в ML-проектах

В ML-проектах множество параметров: данные, модели, обучение, инференс. Чтобы не потеряться в этом хаосе, важно организовать конфигурации понятно и масштабируемо.

🎯 Лучшее решение — использовать связку OmegaConf + Hydra.

OmegaConf: гибкость и структура

OmegaConf создана для сложных ML-пайплайнов и позволяет:

• Объединять несколько YAML-файлов в единую структуру
• Обращаться к полям как через config.model.optimizer, так и config["model"]["optimizer"]
• Использовать проверку типов через dataclasses или Pydantic-моделей

• Пример:
# model.yaml
model:
name: resnet50
optimizer:
type: Adam
lr: 0.001


from omegaconf import OmegaConf
cfg = OmegaConf.load("model.yaml")
print(cfg.model.optimizer.lr) # 0.001


Hydra: управление ML-воркфлоу

Hydra расширяет OmegaConf и упрощает работу с конфигурациями:

• Группировка конфигураций через defaults:
# config.yaml
defaults:
- data: imagenet.yaml
- model: resnet.yaml
- training: adam.yaml


• Структура может быть произвольной:
conf/
├── config.yaml
├── data/imagenet.yaml
├── model/resnet.yaml
├── training/adam.yaml


• Переопределения из командной строки:
python train.py model.optimizer=SGD training.lr=0.01


• Параметрические прогоны (sweeps):
python train.py -m training.lr=0.001,0.01 model.optimizer=Adam,SGD


Это удобно при автоматизированном поиске гиперпараметров.

💬 А как вы организуете свои конфигурации?

Библиотека дата-сайентиста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🧱⛏️ Чекни свой крафт: 8 признаков, что разработчик слишком залип в Minecraft

Думаешь, что твоя продуктивность падает из-за багов в коде? А может, все дело в том, что ты мысленно фармишь крипперов, пока твой PM объясняет задачу?

😎 Пройди наш тест и узнай, насколько глубоко ты провалился в пиксельную кроличью нору!

👉 Пройти тест

Библиотека питониста
📚 13 ресурсов, чтобы выучить математику с нуля — подборка, которую просили

Хочешь прокачаться в математике для Data Science, ML или просто чтобы понимать, что происходит в формулах. Лови список лучших источников, которые собрали на Proglib.

➡️ Что внутри:
• Книги: от Пойи и Перельмана до Хофштадтера
• Советы: как учить, с чего начать, как не сдаться
• Математика для Data Science: разбор тем и формул
• Ссылки на форумы и задачи
• Как не бояться, если всё кажется сложным
• Что читать, если ты гуманитарий и страдал от школьной алгебры

✍️ Простой язык, много примеров и ноль академического занудства.

🔵 Для полного понимания Архитектуры, забирайте наш курс → «Архитектуры и шаблоны проектирования»

👉 Читай статью тут
Please open Telegram to view this post
VIEW IN TELEGRAM
Дата-сайентисты!

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

➡️Поддержать канал: https://t.me/boost/dsproglib
Please open Telegram to view this post
VIEW IN TELEGRAM
⭐️ Команда дня: Smallpond

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

Архитектура Smallpond:
🔴 DuckDB — основное ядро для обработки данных в памяти, высокая производительность и низкая латентность
🔴 3FS — распределенная файловая система, поддерживающая работу с данными в формате Parquet, SSD и RDMA, что позволяет эффективно работать с большими объемами данных и хранить контрольные точки
🔴 Ray — мощный механизм распределения задач, популярный Ray Core для параллельной обработки и масштабируемости

Как использовать Smallpond:
🔴 Установите: pip install smallpond
🔴 Пример использования:
import smallpond  

sp = smallpond.init(job_name="flightdatajob", ray_address="http://127.0.0.1:8265")

df = sp.read_parquet("flight_summary.parquet")
df = df.repartition(10, hash_by="DEST_COUNTRY_NAME")
df = sp.partial_sql("SELECT DEST_COUNTRY_NAME, count(distinct ORIGIN_COUNTRY_NAME) as ORIGIN FROM {0} GROUP BY DEST_COUNTRY_NAME HAVING DEST_COUNTRY_NAME='United States'", df)

print(df.to_pandas())


Что происходит в коде:
🔴 Инициализация: подключение к кластеру Ray (или создание нового)
🔴 Чтение данных: импорт данных в формате Parquet, с разбиением по партициям (например, по хешу)
🔴 SQL-запросы: выполнение запросов с использованием DuckDB для обработки на каждой партиции
🔴 Вывод: результаты можно сохранить в форматах Parquet или pandas

🔘Модель выполнения

Smallpond использует ленивые вычисления, создавая DAG (направленный ациклический граф) и выполняя задачи только при вызове действий, таких как to_pandas(). Это позволяет эффективно управлять вычислениями и минимизировать ресурсы.

🔘Зачем нужен Smallpond

Smallpond подходит для задач, где требуется высокая производительность и оптимизация работы с большими данными. Его простота и интеграция с популярными инструментами делают его отличным выбором для проектов в области ИИ.

🔗 Узнать больше: https://clc.to/bPm0Xw

Библиотека дата-сайентиста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🧮 PyTorch выпустил mm: 3D визуализатор матричных умножений

🧮 Matrix Multiplication (matmul) — основа современных нейросетей. И теперь вы можете наглядно увидеть, как это работает.

Инструмент от PyTorch называется mm — это визуализатор, который показывает, как матрицы взаимодействуют во время перемножения. Отличный способ понять внутреннюю механику операций, лежащих в основе ИИ.

Особенности:
➡️ Работает прямо в браузере
➡️ Показывает процесс перемножения пошагово
➡️ Подходит для обучения, презентаций и просто ради любопытства

📎 Ссылка на проект: https://clc.to/LG_pgw

Библиотека дата-сайентиста #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
🤪 Код вчерашнего дня — сюрприз для дата-сайентиста

А какие перлы находили в своем коде? Делитесь в комментариях 👇

Библиотека дата-сайентиста #развлекалово
Please open Telegram to view this post
VIEW IN TELEGRAM
🐳 Чек-лист: использование Docker в задачах Data Science

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

1️⃣ Установка и проверка Docker

🟣Установите Docker Desktop или Docker Engine для Linux

🟣Проверьте установку командой:
  docker --version


🟣 Выполните тестовый запуск:
  docker run hello-world


Это подтвердит, что Docker работает корректно.

2️⃣ Создание Dockerfile для проекта

🟣 Выберите подходящий базовый образ:
python:3.11-slim — компактный образ на Python
jupyter/datascience-notebook — включает Jupyter и популярные библиотеки

🟣Создайте файл Dockerfile и опишите в нём:
  FROM python:3.11-slim
WORKDIR /app
COPY . .
RUN pip install -r requirements.txt


🟣Убедитесь, что файл requirements.txt содержит все зависимости проекта

3️⃣ Подготовка окружения для воспроизводимости

🟣 Укажите фиксированные версии библиотек в requirements.txt, например:
  pandas==2.2.1
numpy==1.26.0


🟣 Добавьте .dockerignore, чтобы исключить ненужные файлы:
  .git
*.csv
__pycache__/


🟣 Постройте образ:
  docker build -t my-ds-image .


4️⃣ Работа с данными в контейнере

🟣 Подключите локальные данные:
  docker run -v /path/to/data:/app/data my-ds-image


🟣 Запустите Jupyter Notebook внутри контейнера:
  docker run -p 8888:8888 my-ds-image jupyter notebook --ip=0.0.0.0 --allow-root


🟣 При необходимости работы с GPU:
— Убедитесь, что установлен nvidia-docker
— Используйте флаг --gpus all

5️⃣ Тестирование и отладка

🟣 Получите интерактивный доступ к контейнеру:
  docker run -it my-ds-image bash


🟣Проверьте, работают ли библиотеки:
  python -c "import pandas; print(pandas.__version__)"


🟣 Просмотрите логи выполнения контейнера:
  docker logs <container_id>


6️⃣ Деплой модели как API

🟣 Напишите API на Flask или FastAPI (файл app.py)

🟣 Укажите в Dockerfile команду запуска:
  CMD ["python", "app.py"]


🟣 Запустите модель как сервис:
  docker run -p 5000:5000 my-ds-image  


🚩 Полезные инструменты и образы

🟣 Docker Compose — для запуска нескольких контейнеров (например, модель + база данных)

🟣 Образы:
tensorflow/tensorflow:latest-gpu — с поддержкой GPU
continuumio/anaconda3 — включает Anaconda и библиотеки

🔎 Рекомендация

Храните Dockerfile и requirements.txt в репозитории. Это залог воспроизводимости и эффективной командной работы в проектах Data Science.

Библиотека дата-сайентиста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🆕 Google выпустил бесплатный гайд по созданию промптов

От базовых принципов до сложных техник, таких как chain of thought, где LLM строит цепочки решений.

😳 Цитата: «Не нужно быть дата-сайентистом или ML-инженером — каждый может освоить промпты.»

Звучит очень громко и амбициозно!

Согласны ли вы с этим утверждением? Может ли человек без опыта в Data Science создать эффективный промпт для решения задачи?

👍 — Да, с правильным подходом можно
🔥 — Нет, всё равно нужен опыт и знания

🔗 Ссылка на гайд: https://clc.to/q-7AXw

Библиотека дата-сайентиста #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
🙈 Что скрывает дисперсия: разгадка секрета точных ML-моделей

Представьте, что вы строите модель, которая прекрасно работает на тренировочных данных, но стоит подать ей новые примеры... и всё рушится. Знакомо? За этим почти всегда скрывается неправильное обращение с дисперсией.

🧐 Но что, если есть простая формула, способная:

• Мгновенно определить, насколько «разбросаны» ваши данные

• Значительно улучшить точность ваших ML-моделей

• Помочь обнаружить аномалии, которые вы раньше не замечали

В нашем вебинаре мы раскрываем все секреты дисперсии — без сложных терминов и занудных объяснений. Вы узнаете, почему дисперсия — как соль: без нее все пресно, а с переизбытком — несъедобно.

Хотите узнать, как находить идеальный баланс в своих моделях, причем тут Random Forest и много другого о Data Science?

➡️Тогда смотрите бесплатный вебинар от Proglib: https://proglib.io/w/b9e06b9e
Please open Telegram to view this post
VIEW IN TELEGRAM
🎧 7 подкастов об AI, которые реально стоят вашего времени

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

1⃣ Practical AI — прикладные задачи и инструменты ML

2⃣ Machine Learning Street Talk — глубокие техразборы и дискуссии

3⃣ The AI Podcast – NVIDIA — коротко и по сути от лидеров индустрии

4⃣ Data Skeptic — скептически и научно о данных

5⃣ Super Data Science — карьера, практики и история успеха

6⃣ Lex Fridman Podcast — большие умы, большие темы

7⃣ TWIML AI Podcast — технологии и реальный бизнес

👍 Сохраняйте пост, делитесь с командой и включайте в удобное время.

Библиотека дата-сайентиста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🖼 ТОП-5 структур данных для обработки изображений

Хотите разобраться, как обрабатывать изображения в компьютерном зрении или графике?

Всё начинается с правильных структур данных. Они помогают хранить и анализировать пиксели, их связи и расположение.

👉 В этой статье — подборка топ решений и советы, как их использовать.

Библиотека питониста
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ Proglib представляет: «Набор начинающего дата-сайентиста»

Ноутбук
Кофе (много кофе)
Python
Данные

Собрал набор — и вперёд, покорять графики!

🤔 Мы что-то забыли добавить в набор?

Библиотека дата-сайентиста #развлекалово
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Модели и релизы:
ChatGPT с долгосрочной памятью — OpenAI добавила автопамять
TPUv7s от Google — новая серия ускорителей
Модель от Авито на вершине Mera-бенчмарка
AI Scientist v2 от Sakana — сгенерированная статья ИИ
PyTorch mm — 3D-визуализатор матричных умножений
Google Firebase Studio — AI-платформа для приложений

🧠 Исследования и бенчмарки:
Stanford AI Index 2025 — глобальные тренды
Galileo Leaderboard (апрель) — сравнение топ-LLM
DebugGym от Microsoft — ИИ всё ещё плохо дебажит код
Llama-4 benchmarks — возможно фейк
HIGGS (Яндекс) — новый метод сжатия LLM

🧰 Практика и агенты:
Google Agent2Agent — единый протокол общения агентов
Model Context Protocol от Anthropic (Claude) — создание сервера, расширяющего LLM: ссылка
Стратегическое планирование с GPT — как сгенерировать рыночную стратегию
Оптимизация промптов — техники и инструменты

📚 Что почитать:
Как работает трансформер (очень просто)
Гайд по промптам от Google
Disrupt по делу — внедрение AI-продуктов
Юзкейсы GenAI в 2025 году
Подборка книг по NLP
Как Яндекс.Карты делают персональные рекомендации
Обзор генераторов изображений: DALL·E 3, Midjourney, FLUX

🎙 Интервью и видео:
GPT-4.5 — путь от 4 до 4.5 — интервью с Самом Альтманом
Build AI Agents with Microsoft — курс + код + видео

Библиотека дата-сайентиста #свежак
This media is not supported in your browser
VIEW IN TELEGRAM
Это база: трансформеры вручную — как понять, что происходит за кулисами LLM

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

⬇️ Пошаговый процесс

1️⃣ Исходные данные:
Входные признаки из предыдущего блока (5 позиций).

2️⃣ Внимание:
Все 5 признаков передаются в модуль внимания запрос-ключ (QK) для получения матрицы весов внимания (A).

3️⃣ Взвешивание внимания:
Умножаем входные данные на матрицу весов внимания, чтобы получить взвешенные признаки (Z). Этим объединяем признаки по горизонтали, например, X1 := X1 + X2, X2 := X2 + X3 и так далее.

4️⃣ FFN — первый слой:
Процессинг всех 5 признаков через первый слой. Умножаем их на веса и смещения, увеличивая размерность с 3 до 4, комбинируя признаки по вертикали.

5️⃣ ReLU:
Отрицательные значения заменяются нулями.

6️⃣ FFN — второй слой:
Подаем данные во второй слой, уменьшаем размерность с 4 до 3 и отправляем результат в следующий блок для повторения процесса.

Библиотека дата-сайентиста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
🙂 Раскрываем секрет собственных векторов: математическое оружие на собеседовании

Что объединяет успешный собес и продвинутый анализ данных? Оба требуют способности выделять главное из информационного шума!

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

Например, мы проанализировали 453 акции компаний из списка S&P 500 и выяснили, что всего одна главная компонента объясняет 38% всей динамики рынка. Как такое возможно?

😘 Расскажем на воркшопе «Математика машинного обучения на практике» 21 апреля!

Вы будете работать с реальными данными, научитесь выявлять скрытые закономерности и применять эти инсайты в своих проектах.

Стоимость: 3990 ₽

Не беспокойтесь, если теоретическая база пока хромает — вы можете заранее посмотреть запись нашего вебинара по основам по ссылке ниже.

➡️ Забронировать место на воркшопе: https://proglib.io/w/0eb27019
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻 Топ-вакансий для дата-сайентистов за неделю

Data Scientist в области языковых моделей (Middle) — от 351 000 ₽, удаленно

Data Scientist (классический ML) — от 230 000 ₽, удаленно

Senior Data Scientist (Recommender Systems) — от 5 000 до 6 500 €, удаленно

Data Engineer / Инженер данных (уровень Middle) — от 150 000 ₽, удаленно (Екатеринбург)

Data Analyst (Physics) — от 2 500 до 3 000 €, удаленно

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

Библиотека дата-сайентиста
Please open Telegram to view this post
VIEW IN TELEGRAM
💎 Шпаргалка, после которой вы реально поймёте LLM

Что внутри шпаргалки:
— Архитектура трансформеров
— Механизмы внимания
— Обучение языковых моделей
— Позиционные эмбеддинги
— Разбор современных LLM

🔝 И многое другое, объяснённое максимально наглядно всего на 4 страницах!

👉 Скачать шпаргалку: https://clc.to/T4BpUg
Please open Telegram to view this post
VIEW IN TELEGRAM