Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
18.9K 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
🔥 GTC 2025: главное событие в мире ИИ и ускоренных вычислений

С 17 по 21 марта 2025 года ведущие эксперты из PyTorch Foundation, NVIDIA, Google Cloud, Meta, Microsoft и других компаний обсудят будущее AI.

Ключевые темы:
🔹 Open-source AI: PyTorch, vLLM, Ray, NeMo
🔹 Оптимизация PyTorch: CUDA, Thunder, FlexAttention
🔹 Ускорение обучения и инференса нейросетей
🔹 Графовые нейросети для финансового анализа
🔹 Улучшение RAG с fine-tuning embedding-моделей

📍 Присоединяйтесь онлайн бесплатно: https://clc.to/xsz66A

Библиотека дата-сайентиста #свежак
❗️Вакансии «Библиотеки программиста» — ждем вас в команде!

Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉контент-менеджеров для ведения телеграм-каналов

Подробности тут

Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴

Ждем ваших откликов 👾
📌 Шпаргалка: как выбрать AI-модель в 2025 году

🔹 ChatGPT — лучший для диалогов, генерации текста и объяснений.
🔹 Claude — глубоко анализирует длинные тексты.
🔹 Perplexity — идеально подходит для поиска и структурирования данных.
🔹 Gemini — интеграция с Google для актуальных сведений.
🔹 Grok — фокус на аналитике и технических задачах.

Полное сравнение моделей: https://clc.to/u6RuRA

Библиотека дата-сайентиста #буст
🔧 Инструмент дня: cuML для машинного обучения на GPU

cuML — это библиотека для ML-алгоритмов на GPU с API, совместимым с scikit-learn.

Преимущества:
🔹 Ускоряет вычисления в 10–50 раз по сравнению с CPU.
🔹 Поддерживает популярные табличные ML-задачи.
🔹 Прост в использовании — не требует знаний CUDA.

Пример кластеризации DBSCAN на GPU:
import cudf
from cuml.cluster import DBSCAN

# Создаем и заполняем GPU DataFrame
gdf_float = cudf.DataFrame()
gdf_float['0'] = [1.0, 2.0, 5.0]
gdf_float['1'] = [4.0, 2.0, 1.0]
gdf_float['2'] = [4.0, 2.0, 1.0]

# Настраиваем и запускаем кластеризацию
dbscan_float = DBSCAN(eps=1.0, min_samples=1)
dbscan_float.fit(gdf_float)

print(dbscan_float.labels_)


Вывод:
0    0
1 1
2 2
dtype: int32


Подробнее о cuML: https://clc.to/oBhy1Q

Библиотека дата-сайентиста #буст
Media is too big
VIEW IN TELEGRAM
🤖 NVIDIA представила Groot N1 — AI-модель для человекоподобных роботов

На GTC 2025 в Сан-Хосе NVIDIA анонсировала Groot N1 — универсальную AI-модель для роботов. Это развитие прошлогоднего Project Groot, но с более широким спектром применения.

🔹 Двойная архитектура: «быстрое» и «медленное» мышление, как у человека.
🔹 Анализ, планирование и выполнение сложных действий.
🔹 Открытый исходный код, симуляционные фреймворки и генерация синтетических данных.

💬 Дженсен Хуанг: «Эра универсальных роботов уже здесь!»

Что думаете? Делитесь в комментариях! 👇

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

В нашем чате работает бот Shieldy — он защищает от спама, запрашивая у новых участников решение простой капчи.

⚠️ Проблема, с которой сталкиваются многие: вы нажимаете под постом «Прокомментировать», пишете что-то, а потом получаете бан и не можете писать комментарии.

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

Как присоединиться к чату, чтобы бот вас не забанил

— Зайдите в описание канала с телефона и нажмите кнопку Discuss / Чат
— Нажмите Join / Присоединиться
— Сразу обратите внимание на сообщение от бота Shieldy
— Решите простой пример и отправьте ответ в чат

После этого бот отправит приветственное сообщение и вы сможете оставлять комментарии. Эту проверку нужно пройти только один раз при вступлении в чат.

❗️ Если вас все-таки забанили

— Это временная блокировка на несколько минут
— Подождите и попробуйте зайти позже, бот снова отправит вам капчу

Админы канала никак не могут ускорить процесс, бот автоматически снимает с вас блокировку через пару минут. Мы понимаем, что эта система неидеальна, и ищем более удобное решение.

👾 Спасибо, что активно участвуете в обсуждении наших постов!
Please open Telegram to view this post
VIEW IN TELEGRAM
📍 How to: эффективная обработка данных с помощью Apache Arrow

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

Для начала работы с Arrow необходимо установить библиотеки pyarrow и pandas:

pip install pyarrow pandas


Основные операции:

1. Создание таблицы
Создадим таблицу с двумя колонками:
import pyarrow as pa

teams = pa.array(['Barcelona', 'Real Madrid', 'Rayo Vallecano', 'Athletic Club', 'Real Betis'], type=pa.string())
goals = pa.array([30, 23, 9, 24, 12], type=pa.int8())

team_goals_table = pa.table([teams, goals], names=['Team', 'Goals'])


Преобразуем её в Pandas DataFrame:
df = team_goals_table.to_pandas()


2. Чтение и запись Parquet
Arrow поддерживает работу с форматом Parquet, который оптимизирован по памяти:
import pyarrow.parquet as pq

# Запись в Parquet
pq.write_table(team_goals_table, 'data.parquet')

# Чтение из Parquet
table = pq.read_table('data.parquet')


3. Операции с данными
Сравним два массива:
import pyarrow.compute as pc

a = pa.array([1, 2, 3, 4, 5])
b = pa.array([1, 3, 3, 4, 5])

pc.equal(a, b)


Суммируем элементы массива:
pc.sum(a)


4. Группировка и агрегация
Группируем данные по команде и считаем сумму голов:
table = pa.table({'Team': ['Barcelona', 'Real Madrid'], 'Goals': [30, 23]})
table.group_by('Team').aggregate([('Goals', 'sum')])


👉 Репозиторий PyArrow на GitHub

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

Используйте этот промпт для построения графиков с помощью Matplotlib.

🔹 Промпт:
I want you to act as a data scientist coding in Python. Given a dataframe {dataframe name} containing the columns {column names}, use Matplotlib to plot a {chart type} that shows the relationship between {variables}. Additionally, annotate the plot with the following details: {annotation requirements}. Format the plot by adjusting {specific formatting preferences}. Finally, change the plot's theme to {theme} to match the visual style of {theme description}.


Результат:
🔹 Качественные и профессиональные визуализации данных.
🔹 Подробное оформление и аннотации на графиках.
🔹 Удобное и понятное оформление графиков с использованием популярных тем.

✔️ Пример:

Исходный датафрейм с данными о возрасте, доходе и уровне образования:
import pandas as pd

data = {
'age': [25, 30, 35, 40, 45],
'income': [50000, 60000, 70000, 80000, 90000],
'education_level': ['Bachelors', 'Masters', 'PhD', 'Bachelors', 'Masters']
}

df = pd.DataFrame(data)


💬 Пример использования промпта:
I want you to act as a data scientist coding in Python. Given a dataframe df containing the columns ['age', 'income', 'education_level'], use Matplotlib to plot a scatter plot that shows the relationship between age and income. Additionally, annotate the plot with the following details: highlight the highest and lowest income values. Format the plot by adjusting the title, axis labels, and grid lines. Finally, change the plot's theme to seaborn-darkgrid to match the visual style of a clean and modern plot with dark gridlines.


Библиотека дата-сайентиста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
STUMPY: умный анализ временных рядов

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

С его помощью можно решать задачи:

✔️ Поиск повторяющихся паттернов.
✔️ Обнаружение аномалий.
✔️ Выделение ключевых подотрезков (shapelets).
✔️ Семантическая сегментация.
✔️ Анализ потоковых данных.
✔️ Быстрое приближённое вычисление матричных профилей.
✔️ Построение временных цепочек.
✔️ Краткое представление длинных временных рядов.

👉 Подробнее — в документации.

Библиотека дата-сайентиста #буст
🚀 SGLang теперь в PyTorch: быстрое и гибкое развертывание LLM

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

▪️ Высокопроизводительный бэкенд:
• RadixAttention для кеширования префиксов.
• Нулевая задержка CPU-планировщика.
• Непрерывная пакетная обработка.
• Квантование (FP8/INT4/AWQ/GPTQ).

▪️ Гибкий фронтенд:
• Интуитивный язык для программирования LLM-приложений.
• Цепочечные вызовы генерации.
• Расширенные техники промптинга и управления потоком.
• Поддержка мультимодального ввода.

▪️ Широкая поддержка моделей:
• Llama, Gemma, Mistral, Qwen, DeepSeek, LLaVA.
• Встраиваемые модели (e5-mistral, gte, mcdse).
• Reward-модели (Skywork).

▪️ Активное сообщество

🔗 Подробнее об экосистеме PyTorch и SGLang: https://clc.to/FfEGWQ

Библиотека дата-сайентиста #свежак
🤖 IT-выживание 2025: как не вылететь с рынка труда в эпоху LLM

В 2025-м айтишникам приходится несладко: старые скиллы уже не в цене, LLM наступают на пятки, а работодатели хотят все и сразу.

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

👉 Ссылка на статью: https://proglib.io/sh/zEruLHxYno

Библиотека дата-сайентиста
Самые догадливые, пишите ответ в комментах 👇

Небольшая подсказка — это термин относится к AI или DS.

Прячем ответы под спойлер, чтобы не спалить остальным.

Библиотека дата-сайентиста #междусобойчик
🔥 Новости AI

🚀 Сеточки:
Mistral Small 3.1 — быстрее Gemma 3 и GPT-4o.
YandexART 2.5 Pro — новая генеративная модель.
Google открыла исходники AlexNet — нейросеть стала музейным экспонатом.

🔬 Исследования:
DyT от Yann LeCun — замена нормализации с низкими вычислительными затратами.
METR — новый метод оценки AI в долгосрочных задачах.

🎙 Выступления:
NVIDIA GTC 2025 — главные анонсы от CEO Jensen Huang.
Yann LeCun — о будущем AI и новых архитектурах.

🖥 Для разработчиков:
Google AI для кода — превью и AI-анализ.
MongoDB GenAI Showcase — 100+ примеров RAG и AI-агентов.
Notebook LM — интерактивные майнд-карты от Google.

📚 Что почитать:
Пишем свой Transformer.
Разметка данных с LLM.
Семантическая сегментация (U-Net, LinkNet, PSPNet).
Кастомные loss-функции.

⚡️ Технологии:
NVIDIA представила DGX Spark и DGX Station — персональные AI-суперкомпьютеры.

🔒 Кибербезопасность:
Andrej Karpathy о цифровой гигиене — защита конфиденциальности.

Библиотека дата-сайентиста #свежак
Что такое токен в NLP и какие существуют методы токенизации

🔹 Токен — это наименьшая единица текста, которая может быть словом, подсловом (например, «un-», «friend») или знаком препинания.

🔹 Популярные методы токенизации:
1. Токенизация на уровне слов — делит текст на отдельные слова.
2. Токенизация на уровне подслов — разбивает слова на более мелкие единицы (например, BPE, WordPiece).
3. Токенизация на уровне символов — превращает текст в последовательность отдельных символов.

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

Библиотека собеса по Data Science
💻 Исследование IT-аудитории Proglib 2025: зарплаты, технологии, профессии

Кем является разработчик в 2025 году? Свежий анализ IT-сферы: зарплаты, востребованные технологии, специализации и демография специалистов.

📊 Полный отчет здесь: https://proglib.io/sh/NbJAHIDRTg

Библиотека дата-сайентиста #Свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
🔄 Изменения в схеме данных: как избежать проблем для дата-команд

Мы рассмотрим четыре стратегии адаптации к изменениям и их возможные комбинации.

1. Встречи — самый простой подход

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

▪️ Плюсы:
— Самый простой подход
— Документирование в Confluence, Google Docs и т. д.
— Договоренность между командами

▪️ Минусы:
— Подвержен ошибкам
— Встречи замедляют процесс разработки
— Невозможно учесть все нюансы данных

🎯 Как реализовать:
— Фиксируйте договоренности в Confluence или Google Docs
— Включайте конкретные задачи и шаги для реализации изменений

2. Источник просто сбрасывает данные, а дата-команда разбирается

📌 Dump & Forget: команда источника просто выгружает данные, а дата-команда работает с тем, что получает. Этот метод наиболее распространен в индустрии.

▪️Плюсы:
— Самый удобный способ для команды источника
— Позволяет источнику работать быстро
— Достаточно для большинства бизнес-кейсов

▪️Минусы:
— Дата-команда постоянно догоняет изменения
— Плохие данные, сбои конвейеров и технический долг
— Дата-команда теряет концептуальное понимание данных

🎯 Как реализовать:
— Используйте Apache Iceberg и Spark’s mergeSchema
— Для инструментов типа dbt включайте on_schema_change

3. Дата-команда участвует в ревью изменений схемы данных

📌 Upstream Review: дата-команда участвует в моделировании данных источником. Как правило, дата-команды более внимательно относятся к проработке моделей данных.

▪️Плюсы:
— Предотвращает появление плохих данных
— Обеспечивает качественную схему данных
— Улучшает понимание данных между командами

▪️Минусы:
— Замедляет работу команды источника
— Не позволяет предотвратить агрегированные ошибки (например, несоответствие средней выручки за разные дни)

🎯 Как реализовать:
— Ускорьте процесс с помощью data contracts
— Используйте CODEOWNERS в GitHub, чтобы дата-команды участвовали в ревью

4. Валидация входных данных перед обработкой

📌 Input Validation: дата-команда проверяет входные данные перед их использованием. Если обнаруживается проблема, необходимо взаимодействовать с командой источника, чтобы исправить данные и повторно их обработать.

▪️ Плюсы:
— Быстрое обнаружение проблем
— Автоматизация отладки ошибок и уведомление команды источника

▪️ Минусы:
— Необходимо согласовывать проверки данных между командами
— Множественные проверки увеличивают время обработки данных

🎯 Как реализовать:
— Используйте любой инструмент контроля качества данных
— В потоковых системах применяйте DLQ (Dead Letter Queue) и реконсиляционные паттерны

Библиотека дата-сайентиста #буст