💎 PyTorch Geometric Temporal — проект, расширяющий возможности PyTorch Geometric для работы с динамическими графами. Это специализированная библиотека, которая помогает анализировать данные, где связи между объектами меняются со временем: от прогнозирования трафика до эпидемиологических моделей.
🧑💻 Проект имеет:
— Готовые реализации 15+ архитектур из научных статей
— Поддержка временных срезов данных и распределённого обучения через Dask
— Интеграция с PyTorch Lightning для удобной работы с GPU
Для старта достаточно
🤖 GitHub
@machinelearning_interview
🧑💻 Проект имеет:
— Готовые реализации 15+ архитектур из научных статей
— Поддержка временных срезов данных и распределённого обучения через Dask
— Интеграция с PyTorch Lightning для удобной работы с GPU
Для старта достаточно
pip install torch-geometric-temporal
— в комплекте идут датасеты по эпидемиологии, энергетике и веб-трафику.🤖 GitHub
@machinelearning_interview
Forwarded from Machinelearning
Media is too big
VIEW IN TELEGRAM
ОАЭ сделали искусственный интеллект обязательным предметом для всех учащихся — от детского сада до 12 класса. Это часть стратегии, которая должна превратить страну в ведущий центр ИИ-разработок на Ближнем Востоке. Уже с 2025-26 учебного года в государственных школах начнут преподавать основы ИИ, включая этические аспекты и реальное применение технологий.
Параллельно страна активно внедряет ИИ в госуправление: разрабатывает систему для автоматического анализа и обновления законов. Эксперты прогнозируют, что к 2030 году ИИ добавит $96 млрд к ВВП ОАЭ. Сейчас страна лидирует в своем регионе по технологическому развитию, и такие проекты только укрепят ее позиции в будущем.
bloomberg.com
OpenAI объявила о смене корпоративной структуры: теперь коммерческое направление будет работать как Public Benefit Corporation (PBC), но под полным контролем некоммерческой организации. Это решение отменяет предыдущие планы по полному переходу в коммерческий сектор. Основная цель — сохранить миссию компании: развитие искусственного интеллекта на благо всего человечества, а не ради прибыли акционеров.
Как объяснил CEO Сэм Альтман в письме сотрудникам, OpenAI изначально создавалась как некоммерческая организация, и этот принцип останется неизменным. Новая структура позволит привлекать сотни миллиардов долларов для развития ИИ, делая технологии доступнее.
Решение о реструктуризации было принято после консультаций с юристами и общественными деятелями. OpenAI также планирует усилить работу в области безопасности ИИ и открыть доступ к мощным моделям.
openai.com
Tether, крупнейший эмитент стейблкоинов, готовит запуск открытой ИИ-платформы. Как сообщил CEO Паоло Ардоино в соцсетях, система будет работать на любом устройстве без API-ключей и централизованных узлов, принимая платежи в биткоинах и USDT. Это решение может стать альтернативой для регионов с ограниченным доступом к фиатным банкам. Пока детали ИИ-платформы раскрыты частично, но цель амбициозна: проект планирует интеграцию криптовалют в повседневные технологии.
Параллельно Tether планирует выпустить новый стейблкоин, привязанный к доллару, для рынка США — при условии одобрения закона GENIUS Act.
pymnts.com
Anthropic анонсировала новую инициативу "AI for Science", которая поможет ускорить научные исследования через предоставление бесплатных API-кредитов. Программа ориентирована на биологию и науки о жизни.
Участвовать могут исследователи из научных учреждений. Заявки отберут по потенциалу проекта, его влиянию и роли ИИ в ускорении работы. Приоритет получат работы по геномике или борьбе с крупными заболеваниями. Податься можно через специальную форму, а решения будет принимать команда Anthropic с привлечением экспертов.
anthropic.com
Концепция Societal AI — это подход к разработке ИИ, который учитывает влияние технологий на общество. Основная цель: создание систем, отвечающих потребностям здравоохранения, образования и госуслуг, а также минимизация рисков вроде поляризации мнений.
Проект выделяет 3 принципа: гармония (снижение конфликтов), синергия (усиление человеческих возможностей) и устойчивость (адаптивность к изменениям). Особое внимание уделено 10 ключевым вопросам от этического выравнивания ИИ до трансформации труда и регуляторных рамок. Подробности — в полной версии документа.
microsoft.com
@ai_machinelearning_big_data
#news #ai #ml
Please open Telegram to view this post
VIEW IN TELEGRAM
🧩 Задача для дата-сайентистов: "Средняя зарплата" (с подвохом)
📖 Описание задачи
У вас есть DataFrame
Результат:
В задаче требуется заполнить пропущенные значения зарплат в каждом отделе медианой зарплаты этого отдела.
Если медиана не может быть рассчитана (например, все значения NaN) — оставить NaN.
Вы пишете следующий код:
✅ Код выполняется без ошибок, но когда вы проверяете результат:
Получаете:
✅ Всё вроде бы верно…
Но через неделю приходит заказчик и говорит:
> «Ты заполнил пропуски, но потом выяснилось, что в реальных данных в одном отделе все зарплаты NaN, а значит медиана не существует.
> А в твоём коде при такой ситуации почему-то появляется 0 вместо NaN!»
📝 Вопросы:
1. Почему появилось 0 (хотя ожидалось NaN)?
2. Как переписать код так, чтобы:
- Если медиана существует → заполнить ею NaN
- Если медиана не существует (все значения NaN) → оставить NaN
---
🎯 Что проверяет задача:
✅ Понимание, как
✅ Понимание, что
✅ Умение работать с группами, где нет данных
---
💡 Подсказка:
Если `x.median()` вернёт `nan`, то `x.fillna(nan)` оставит NaN внутри группы, **но transform может "автоматически" заменить NaN на 0 при сборке результата** (особенность Pandas).
Нужно явно управлять значением медианы, чтобы избежать непредвиденного замещения.
---
✅ Ожидаемое правильное решение:
```python
def fill_with_median_or_nan(x):
med = x.median()
return x.fillna(med if pd.notna(med) else np.nan)
df['salary_filled'] = df.groupby('department')['salary'].transform(fill_with_median_or_nan)
```
Теперь в отделах, где медиана не существует, **NaN останется NaN**, а не превратится в 0.
🔥 Дополнительный подвох (для усложнения):
Что будет, если отдел состоит только из одного сотрудника с NaN?
→ Нужно ли обработать случай, где в отделе всего 1 запись и она NaN?
📝 Вывод:
Эта задача проверяет:
✅ Понимание нюансов заполнения пропусков в Pandas
✅ Внимательность к corner-case ситуациям
✅ Умение работать с группами с частично или полностью отсутствующими данными
🔥 Отличная тренировка внимательности и глубины понимания Pandas!
📖 Описание задачи
У вас есть DataFrame
df
с данными о зарплатах сотрудников компании:
import pandas as pd
data = {
'employee_id': [1, 2, 3, 4, 5, 6],
'department': ['IT', 'IT', 'HR', 'HR', 'Finance', 'Finance'],
'salary': [100000, None, 50000, None, 70000, None]
}
df = pd.DataFrame(data)
print(df)
Результат:
employee_id department salary
0 1 IT 100000.0
1 2 IT NaN
2 3 HR 50000.0
3 4 HR NaN
4 5 Finance 70000.0
5 6 Finance NaN
В задаче требуется заполнить пропущенные значения зарплат в каждом отделе медианой зарплаты этого отдела.
Если медиана не может быть рассчитана (например, все значения NaN) — оставить NaN.
Вы пишете следующий код:
df['salary_filled'] = df.groupby('department')['salary'].transform(lambda x: x.fillna(x.median()))
✅ Код выполняется без ошибок, но когда вы проверяете результат:
print(df)
Получаете:
employee_id department salary salary_filled
0 1 IT 100000.0 100000.0
1 2 IT NaN 100000.0
2 3 HR 50000.0 50000.0
3 4 HR NaN 50000.0
4 5 Finance 70000.0 70000.0
5 6 Finance NaN 70000.0
✅ Всё вроде бы верно…
Но через неделю приходит заказчик и говорит:
> «Ты заполнил пропуски, но потом выяснилось, что в реальных данных в одном отделе все зарплаты NaN, а значит медиана не существует.
> А в твоём коде при такой ситуации почему-то появляется 0 вместо NaN!»
📝 Вопросы:
1. Почему появилось 0 (хотя ожидалось NaN)?
2. Как переписать код так, чтобы:
- Если медиана существует → заполнить ею NaN
- Если медиана не существует (все значения NaN) → оставить NaN
---
🎯 Что проверяет задача:
✅ Понимание, как
median()
работает на пустой серии ✅ Понимание, что
fillna(np.nan)
может привести к замещению на 0 при приведении типов ✅ Умение работать с группами, где нет данных
---
💡 Подсказка:
Если `x.median()` вернёт `nan`, то `x.fillna(nan)` оставит NaN внутри группы, **но transform может "автоматически" заменить NaN на 0 при сборке результата** (особенность Pandas).
Нужно явно управлять значением медианы, чтобы избежать непредвиденного замещения.
✅ Ожидаемое правильное решение:
```python
def fill_with_median_or_nan(x):
med = x.median()
return x.fillna(med if pd.notna(med) else np.nan)
df['salary_filled'] = df.groupby('department')['salary'].transform(fill_with_median_or_nan)
```
Теперь в отделах, где медиана не существует, **NaN останется NaN**, а не превратится в 0.
🔥 Дополнительный подвох (для усложнения):
Что будет, если отдел состоит только из одного сотрудника с NaN?
→ Нужно ли обработать случай, где в отделе всего 1 запись и она NaN?
📝 Вывод:
Эта задача проверяет:
✅ Понимание нюансов заполнения пропусков в Pandas
✅ Внимательность к corner-case ситуациям
✅ Умение работать с группами с частично или полностью отсутствующими данными
🔥 Отличная тренировка внимательности и глубины понимания Pandas!
Учитесь в универе и хотите вырваться из рутины? Подайте заявку на бесплатный студкемп Яндекс Образования и НГУ! Здесь вы не просто переключитесь с повседневных задач, а нырнёте в одно из самых перспективных IT-направлений — NLP.
За две недели — с 14 по 26 июля — вы разберётесь, как работают языковые модели вроде YandexGPT и Qwen, поймёте, что такое мультимодальность и RAG, поработаете с реальными данными и создадите собственный проект. На интенсиве ждут студентов со всей России и каждому, кто пройдёт отбор, оплатят проезд и проживание. Успейте подать заявку до 18 мая!
За две недели — с 14 по 26 июля — вы разберётесь, как работают языковые модели вроде YandexGPT и Qwen, поймёте, что такое мультимодальность и RAG, поработаете с реальными данными и создадите собственный проект. На интенсиве ждут студентов со всей России и каждому, кто пройдёт отбор, оплатят проезд и проживание. Успейте подать заявку до 18 мая!
🧩 Задача для продвинутых дата-сайентистов: "Парадоксальная корреляция"
📖 Описание задачи
У вас есть DataFrame
Результат:
Вам нужно посчитать корреляцию между spend и revenue.
Вы пишете:
И получаете:
❗️Но вы уверены, что данные связаны (чем больше spend, тем больше revenue), а Pandas возвращает NaN.
📝 Ваша задача:
1. Почему Pandas возвращает
2. Как правильно посчитать корреляцию?
3. Как бы вы обработали такие данные в продакшн-пайплайне?
---
🎯 Подвох (ключевой момент):
Метод
В этом DataFrame остаются только строки с индексами 0, 1, 2, 5.
→ На этих данных корреляция может быть рассчитана.
Но главная проблема — тип данных.
Если данные были считаны, например, из CSV, где пустые значения остались строками, то Pandas определит колонку как
Вывод:
И тогда
---
💡 Решение:
1. Проверить типы данных:
```python
print(df.dtypes)
```
2. Привести к числовому типу:
```python
df['spend'] = pd.to_numeric(df['spend'], errors='coerce')
df['revenue'] = pd.to_numeric(df['revenue'], errors='coerce')
```
3. Посчитать корреляцию без NaN:
```python
correlation = df[['spend', 'revenue']].dropna().corr().iloc[0, 1]
print(correlation)
```
✅ Теперь корреляция рассчитана корректно.
---
🔥 Дополнительный подвох:
А что если CSV-файл считан с, а данные внутри разделены запятыми?
→ Тогда весь DataFrame будет одной колонкой с типом object, а Pandas не сможет даже начать обработку.
---
📝 Что проверяет задача:
✅ Понимание, как Pandas обрабатывает NaN и object
✅ Внимательность к типам данных
✅ Умение находить ошибки при чтении и парсинге данных
✅ Опыт очистки и предобработки грязных данных
🔥 Отличная проверка на внимательность и глубину работы с Pandas!
📖 Описание задачи
У вас есть DataFrame
df
с данными о рекламных кампаниях:
import pandas as pd
data = {
'campaign_id': [1, 2, 3, 4, 5, 6],
'spend': [1000, 1500, 1200, None, 2000, 1700],
'revenue': [2000, 2300, 2500, 1800, None, 2700]
}
df = pd.DataFrame(data)
print(df)
Результат:
campaign_id spend revenue
0 1 1000.0 2000.0
1 2 1500.0 2300.0
2 3 1200.0 2500.0
3 4 NaN 1800.0
4 5 2000.0 NaN
5 6 1700.0 2700.0
Вам нужно посчитать корреляцию между spend и revenue.
Вы пишете:
correlation = df['spend'].corr(df['revenue'])
print(correlation)
И получаете:
nan
❗️Но вы уверены, что данные связаны (чем больше spend, тем больше revenue), а Pandas возвращает NaN.
📝 Ваша задача:
1. Почему Pandas возвращает
NaN
?2. Как правильно посчитать корреляцию?
3. Как бы вы обработали такие данные в продакшн-пайплайне?
---
🎯 Подвох (ключевой момент):
Метод
corr()
автоматически игнорирует строки, где хотя бы одно значение NaN.В этом DataFrame остаются только строки с индексами 0, 1, 2, 5.
→ На этих данных корреляция может быть рассчитана.
Но главная проблема — тип данных.
Если данные были считаны, например, из CSV, где пустые значения остались строками, то Pandas определит колонку как
object
, а не float64
:
print(df.dtypes)
Вывод:
spend object
revenue object
И тогда
corr()
вернёт NaN, потому что не смог интерпретировать данные как числовые.---
💡 Решение:
1. Проверить типы данных:
```python
print(df.dtypes)
```
2. Привести к числовому типу:
```python
df['spend'] = pd.to_numeric(df['spend'], errors='coerce')
df['revenue'] = pd.to_numeric(df['revenue'], errors='coerce')
```
3. Посчитать корреляцию без NaN:
```python
correlation = df[['spend', 'revenue']].dropna().corr().iloc[0, 1]
print(correlation)
```
✅ Теперь корреляция рассчитана корректно.
---
🔥 Дополнительный подвох:
А что если CSV-файл считан с
delimiter=';'
→ Тогда весь DataFrame будет одной колонкой с типом object, а Pandas не сможет даже начать обработку.
---
📝 Что проверяет задача:
✅ Понимание, как Pandas обрабатывает NaN и object
✅ Внимательность к типам данных
✅ Умение находить ошибки при чтении и парсинге данных
✅ Опыт очистки и предобработки грязных данных
🔥 Отличная проверка на внимательность и глубину работы с Pandas!
🎲 Задача с подвохом: Монетки и ошибка интуиции
Условие:
У вас есть две монеты:
• Монета A: честная, вероятность выпадения орла = 50%
• Монета B: нечестная, у неё две стороны с орлами (орёл всегда выпадает)
Вы случайным образом выбираете одну монету (с вероятностью 50% каждая) и подбрасываете её один раз. Выпадает орёл.
❓ Вопрос:
Какова вероятность того, что вы выбрали нечестную монету (Монета B)?
🔍 Разбор:
Нам нужна вероятность:
**P(B | O)** — вероятность того, что выбрана Монета B при условии, что выпал орёл.
📈 **Быстрая формула (Байес):**
P(B | O) = (P(O | 😎 * P(B)) / (P(O | A) * P(A) + P(O | 😎 * P(B))
Подставляем:
= (1 * 0.5) / (0.5 * 0.5 + 1 * 0.5)
= 0.5 / 0.75 ≈ 0.6667
✅ Вероятность ≈ 66,7%
💻 **Проверим симуляцией (Python):**
```python
import random
def simulate(n_trials=100_000):
count_B_given_O = 0
count_O = 0
for _ in range(n_trials):
coin = random.choice(['A', 'B']) # выбираем монету
if coin == 'A':
result = random.choice(['H', 'T']) # честная монета
else:
result = 'H' # нечестная монета (всегда орёл)
if result == 'H':
count_O += 1
if coin == 'B':
count_B_given_O += 1
prob = count_B_given_O / count_O
print(f"Симуляция: вероятность P(B | O) ≈ {prob:.4f}")
simulate()
```
Примерный вывод:
```
Симуляция: вероятность P(B | O) ≈ 0.6665
```
💥 **Подвох:**
Многие интуитивно думают, что вероятность остаётся 50%, но факт выпадения орла изменяет наше знание о ситуации — это типичная ошибка игнорирования условной вероятности.
🧠 **Что важно для Data Science:**
• Принцип обновления вероятностей лежит в основе Байесовских моделей
• Ошибки интуиции часто приводят к неправильным выводам при работе с вероятностями
• Симуляция помогает проверять теорию и укреплять понимание статистики
@machinelearning_interview
Условие:
У вас есть две монеты:
• Монета A: честная, вероятность выпадения орла = 50%
• Монета B: нечестная, у неё две стороны с орлами (орёл всегда выпадает)
Вы случайным образом выбираете одну монету (с вероятностью 50% каждая) и подбрасываете её один раз. Выпадает орёл.
❓ Вопрос:
Какова вероятность того, что вы выбрали нечестную монету (Монета B)?
🔍 Разбор:
Нам нужна вероятность:
**P(B | O)** — вероятность того, что выбрана Монета B при условии, что выпал орёл.
📈 **Быстрая формула (Байес):**
P(B | O) = (P(O | 😎 * P(B)) / (P(O | A) * P(A) + P(O | 😎 * P(B))
Подставляем:
= (1 * 0.5) / (0.5 * 0.5 + 1 * 0.5)
= 0.5 / 0.75 ≈ 0.6667
✅ Вероятность ≈ 66,7%
💻 **Проверим симуляцией (Python):**
```python
import random
def simulate(n_trials=100_000):
count_B_given_O = 0
count_O = 0
for _ in range(n_trials):
coin = random.choice(['A', 'B']) # выбираем монету
if coin == 'A':
result = random.choice(['H', 'T']) # честная монета
else:
result = 'H' # нечестная монета (всегда орёл)
if result == 'H':
count_O += 1
if coin == 'B':
count_B_given_O += 1
prob = count_B_given_O / count_O
print(f"Симуляция: вероятность P(B | O) ≈ {prob:.4f}")
simulate()
```
Примерный вывод:
```
Симуляция: вероятность P(B | O) ≈ 0.6665
```
💥 **Подвох:**
Многие интуитивно думают, что вероятность остаётся 50%, но факт выпадения орла изменяет наше знание о ситуации — это типичная ошибка игнорирования условной вероятности.
🧠 **Что важно для Data Science:**
• Принцип обновления вероятностей лежит в основе Байесовских моделей
• Ошибки интуиции часто приводят к неправильным выводам при работе с вероятностями
• Симуляция помогает проверять теорию и укреплять понимание статистики
@machinelearning_interview
📝 ML Course Notes — коллекция конспектов по машинному обучению. Этот открытый репозиторий объединяет структурированные заметки по курсам от Стэнфорда, MIT и CMU — от основ нейросетей до трансформеров и RLHF. Здесь можно найти выжимки ключевых идей из лекций Andrew Ng, Кристофера Мэннинга и Андрея Карпати.
Репозиторий будет полезен для тех, кто хочет быстро освежить материал: каждая заметка привязана к конкретному видео и лектору. На страницу проекта можно добавить свои конспекты или улучшить существующие.
🤖 GitHub
@machinelearning_interview
Репозиторий будет полезен для тех, кто хочет быстро освежить материал: каждая заметка привязана к конкретному видео и лектору. На страницу проекта можно добавить свои конспекты или улучшить существующие.
🤖 GitHub
@machinelearning_interview
🦙 Мультимодальная поддержка в llama.cpp (обновление)
llama.cpp теперь поддерживает мультимодальные модели с визуальным вводом!
📦 Что нового
Проект
🔧 Ключевые возможности
• Поддержка моделей с вводом изображения (image + text)
• Новый CLI:
• Расширена совместимость: поддержка GGUF-моделей мультимодального типа
• Локальная работа на CPU и GPU без зависимости от облачных API
🚀 Как использовать
1. Скачай модель в формате
https://huggingface.co/liuhaotian/llava-v1.5-13b-GGUF
2. Подготовь изображение (например, `photo.jpg`)
3. Запусти CLI:
▪ GitHub
llama.cpp теперь поддерживает мультимодальные модели с визуальным вводом!
📦 Что нового
Проект
llama.cpp
теперь поддерживает *мультимодальные модели* — такие как LLaVA 1.5 / 1.6, BakLLaVA, Obsidian, MobileVLM и другие, позволяя выполнять вывод, совмещающий текст и изображения локально, без облака.🔧 Ключевые возможности
• Поддержка моделей с вводом изображения (image + text)
• Новый CLI:
llama-mtmd-cli
(заменяет `llava-cli`) • Расширена совместимость: поддержка GGUF-моделей мультимодального типа
• Локальная работа на CPU и GPU без зависимости от облачных API
🚀 Как использовать
1. Скачай модель в формате
.gguf
, например LLaVA:https://huggingface.co/liuhaotian/llava-v1.5-13b-GGUF
2. Подготовь изображение (например, `photo.jpg`)
3. Запусти CLI:
./build/bin/llama-mtmd-cli \
-m models/llava-v1.5-13b.gguf \
--image ./photo.jpg \
-p "Что изображено на фото?"
▪ GitHub
from skorch import NeuralNetClassifier
model = NeuralNetClassifier(
module=MyClassifier, # Класс модели на PyTorch
lr=0.001, # Скорость обучения
batch_size=64, # Размер батча
criterion=nn.CrossEntropyLoss, # Функция потерь
optimizer=optim.Adam # Оптимизатор
)
Здесь создаётся обёртка NeuralNetClassifier, которая делает модель PyTorch совместимой с .fit(), .predict() и другими методами Sklearn.
📌Обучение:
model.fit(X_train, y_train)
Ты обучаешь модель так же, как и в Sklearn. Это удобно и не требует написания собственного цикла обучения.
С помощью Skorch ты получаешь:
- удобный Sklearn-подобный API для PyTorch-моделей;
- автоматический вывод метрик обучения;
- лёгкую интеграцию с GridSearchCV, Pipeline и другими инструментами Scikit-learn.
https://github.com/skorch-dev/skorch
@machinelearning_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Machinelearning
PyTorch представил MetaShuffling — решение для ускорения вывода в Llama 4 MoE, которое решает проблемы динамизма и разреженности моделей, связанных с маршрутизацией токенов. Вместо традиционных методов
padding
или slicing
, MetaShuffling использует переупорядочивание токенов по экспертам, избавляясь от ненужных операций и синхронизации между CPU и GPU. Это снижает использование памяти и устраняет задержки, связанные с обработкой «пустышек» или множественными запусками ядер.В основе решения - идея группировки токенов, назначенных одному эксперту, в непрерывные блоки. Такой подход позволяет использовать dense tensors вместо разреженных структур, сохраняя статичные формы данных.
Благодаря этому MetaShuffling совместим с механизмами графов (
CUDAGraph
, torch.compile
), которые ускоряют исполнение, избегая повторных синхронизаций. Решение особенно эффективно для Llama 4, где каждый MoE-слой активирует лишь часть экспертов, что на практике создает динамические нагрузки.GroupedGEMM
, написанный на Triton, обрабатывает несколько матриц в одном вызове, используя статические и динамические разбиения размеров, позволяя пропускать неактивных экспертов и «лишние» токены без дополнительных затрат.IndexShuffling
, в свою очередь, выполняет сортировку токенов и подсчет их количества на каждом эксперте за один проход, что по тестам оказалось в 5–13 раз быстрее, чем стандартные реализации PyTorch.Результаты экспериментов на H100 80GB выглядят многообещающими.
Prefill Llama 4 Maverick с FP8 GroupedGEMM достигает 1,197 TFlops при 286 мкс, что близко к теоретическому пределу GPU.
В задачах декодирования метрики также демонстрируют высокую эффективность: 44,88 TFlops за 59 мкс. Даже при малом количестве токенов (128) MetaShuffling показывает 80% использования пропускной способности памяти.
Для multi-host сценариев MetaShuffling предлагает гибкость между «динамическими» и «статичными» формами данных. В режиме
eager
(без графов) используется минимальное заполнение без синхронизации CPU-GPU.В
graph mode
— статичные формы с минимальным паддингом, что сокращает сетевой трафик и память. Также реализована дедупликация коммуникаций, которая распределяет нагрузку между узлами, снижая задержки в распределенных вычислениях.MetaShuffling поддерживает интеграцию с FBGEMM Generative AI Kernel Library, позволяя применять оптимизации для vLLM и SGLang.
@ai_machinelearning_big_data
#AI #ML #MetaShuffling #Pytorch
Please open Telegram to view this post
VIEW IN TELEGRAM
🐙 ML-Notebooks — готовые рецепты для изучения машинного обучения
Для тех, кто предпочитает осваивать ML на практических примерах, проект предлагает коллекцию минималистичных Jupyter-ноутбуков, от базовой линейной регрессии до тонкой настройки Mistral 7B через QLoRA. Каждый пример самодостаточен: есть реализации классических алгоритмов с нуля, работа с трансформерами и даже генеративные модели.
Авторы сделали акцент на образовательной составляющей: ноутбуки сопровождаются пояснениями и ссылками на Kaggle-соревнования. Проект полностью готов к работе в Codespaces — окружение с зависимостями разворачивается в пару кликов.
🤖 GitHub
@machinelearning_interview
Для тех, кто предпочитает осваивать ML на практических примерах, проект предлагает коллекцию минималистичных Jupyter-ноутбуков, от базовой линейной регрессии до тонкой настройки Mistral 7B через QLoRA. Каждый пример самодостаточен: есть реализации классических алгоритмов с нуля, работа с трансформерами и даже генеративные модели.
Авторы сделали акцент на образовательной составляющей: ноутбуки сопровождаются пояснениями и ссылками на Kaggle-соревнования. Проект полностью готов к работе в Codespaces — окружение с зависимостями разворачивается в пару кликов.
🤖 GitHub
@machinelearning_interview
🧠 Бесплатный курс от Hugging Face: Model Context Protocol (MCP)
Hugging Face запустили обучающий курс по Model Context Protocol (MCP) — это современный стандарт для взаимодействия между ИИ-моделями, внешними API, пользовательским вводом и контекстом. Курс идеально подойдёт разработчикам, ML-инженерам и всем, кто хочет строить мощные, интерактивные LLM-приложения.
🔍 Что ты узнаешь:
• 🧩 Как работает архитектура MCP
• 🧰 Как использовать официальные MCP SDK на Python и TypeScript
• 🛠 Как собрать своё MCP-приложение с Gradio и Hugging Face Spaces
• 🎯 Как пройти сертификацию и получить подтверждение своих навыков
📚 Содержание курса:
1. Введение в MCP и структуру курса
2. Архитектура и ключевые компоненты MCP
3. Создание первого MCP-приложения
4. Продвинутые фичи и интеграции
5. Бонусы: дополнительные примеры, кейсы, best practices
💡 Что нужно для старта:
• Опыт с Python или TypeScript
• Понимание API, LLM и разработки
• Аккаунт на Hugging Face
• Желание строить умные и гибкие AI-интерфейсы
👥 Комьюнити:
Присоединяйся к Discord-серверу Hugging Face, чтобы общаться с разработчиками и проходить курс в компании других участников.
➡️ Перейти к курсу
@machinelearning_interview - вопросы с собеседований
Hugging Face запустили обучающий курс по Model Context Protocol (MCP) — это современный стандарт для взаимодействия между ИИ-моделями, внешними API, пользовательским вводом и контекстом. Курс идеально подойдёт разработчикам, ML-инженерам и всем, кто хочет строить мощные, интерактивные LLM-приложения.
🔍 Что ты узнаешь:
• 🧩 Как работает архитектура MCP
• 🧰 Как использовать официальные MCP SDK на Python и TypeScript
• 🛠 Как собрать своё MCP-приложение с Gradio и Hugging Face Spaces
• 🎯 Как пройти сертификацию и получить подтверждение своих навыков
📚 Содержание курса:
1. Введение в MCP и структуру курса
2. Архитектура и ключевые компоненты MCP
3. Создание первого MCP-приложения
4. Продвинутые фичи и интеграции
5. Бонусы: дополнительные примеры, кейсы, best practices
💡 Что нужно для старта:
• Опыт с Python или TypeScript
• Понимание API, LLM и разработки
• Аккаунт на Hugging Face
• Желание строить умные и гибкие AI-интерфейсы
👥 Комьюнити:
Присоединяйся к Discord-серверу Hugging Face, чтобы общаться с разработчиками и проходить курс в компании других участников.
➡️ Перейти к курсу
@machinelearning_interview - вопросы с собеседований
🚀 Compressive Transformer на PyTorch — открытая реализация одной из самых загадочных архитектур ИИ!
Если ты работаешь с длинными последовательностями (NLP, музыка, временные ряды), то стандартного Transformer'а уже может быть недостаточно. Здесь на сцену выходит Compressive Transformer — и теперь его можно изучать и запускать на PyTorch благодаря открытому проекту:
🔗 http://k-a.in/pyt-comptr.html
🧠 В чём суть?
Compressive Transformer — это эволюция стандартного Transformer. Он не просто "запоминает" предыдущие токены, он сжимает память, позволяя сохранять ещё более дальний контекст без потери производительности. Это делает модель особенно ценной в задачах, где важно помнить, что происходило «много шагов назад».
📦 Что ты найдешь в проекте?
🔹 Полную реализацию на PyTorch, без зависимости от TensorFlow или сторонних обвязок
🔹 Механизм памяти с компрессией, который реально работает
🔹 Поддержка обучения и инференса на длинных последовательностях
🔹 Отличная база для экспериментов и исследований
🛠 Зачем это нужно?
• Чат-боты, которые не забывают, что ты писал 20 сообщений назад
• Генерация музыки, где важна глобальная структура
• Анализ логов и временных рядов, где значение имеет не только локальный, но и глобальный контекст
📚 Исходная архитектура была представлена DeepMind, но готовых репозиториев до сих пор крайне мало. Эта реализация — редкая возможность попробовать Compressive Transformer вживую.
👉 http://k-a.in/pyt-comptr.html
Если ты работаешь с длинными последовательностями (NLP, музыка, временные ряды), то стандартного Transformer'а уже может быть недостаточно. Здесь на сцену выходит Compressive Transformer — и теперь его можно изучать и запускать на PyTorch благодаря открытому проекту:
🔗 http://k-a.in/pyt-comptr.html
🧠 В чём суть?
Compressive Transformer — это эволюция стандартного Transformer. Он не просто "запоминает" предыдущие токены, он сжимает память, позволяя сохранять ещё более дальний контекст без потери производительности. Это делает модель особенно ценной в задачах, где важно помнить, что происходило «много шагов назад».
📦 Что ты найдешь в проекте?
🔹 Полную реализацию на PyTorch, без зависимости от TensorFlow или сторонних обвязок
🔹 Механизм памяти с компрессией, который реально работает
🔹 Поддержка обучения и инференса на длинных последовательностях
🔹 Отличная база для экспериментов и исследований
🛠 Зачем это нужно?
• Чат-боты, которые не забывают, что ты писал 20 сообщений назад
• Генерация музыки, где важна глобальная структура
• Анализ логов и временных рядов, где значение имеет не только локальный, но и глобальный контекст
📚 Исходная архитектура была представлена DeepMind, но готовых репозиториев до сих пор крайне мало. Эта реализация — редкая возможность попробовать Compressive Transformer вживую.
👉 http://k-a.in/pyt-comptr.html
Data Fest 2025 в гостях у VK — офлайн 24 мая 🤩
Открываем конференцию Data Fest 2025 — в офисе VK. Приходите познакомиться с опытом дата-инженеров и исследователей в направлениях LLM, NLP, MLOps и других. Эксперты VK подготовили секцию докладов о RecSys, Reliable ML и карьере тимлида. Афтепати с розыгрышем призов и нетворкингом прилагается.
📍 Встречаемся 24 мая по адресу: Ленинградский проспект, 39, стр. 79, БЦ Skylight, башня А.
🤗 Регистрация уже открыта.
Количество мест ограничено, поэтому заполняйте анкету внимательно.
Открываем конференцию Data Fest 2025 — в офисе VK. Приходите познакомиться с опытом дата-инженеров и исследователей в направлениях LLM, NLP, MLOps и других. Эксперты VK подготовили секцию докладов о RecSys, Reliable ML и карьере тимлида. Афтепати с розыгрышем призов и нетворкингом прилагается.
📍 Встречаемся 24 мая по адресу: Ленинградский проспект, 39, стр. 79, БЦ Skylight, башня А.
🤗 Регистрация уже открыта.
Количество мест ограничено, поэтому заполняйте анкету внимательно.
Forwarded from Machinelearning
Что если ИИ-агент в браузере не просто «делает всё сам», а работает вместе с тобой — предлагает план, спрашивает разрешения, показывает действия и обучается на опыте?
Именно так работает Magentic‑UI — новый эксперимент от Microsoft Research.
Magentic‑UI — это платформа, в которой ИИ-агенты помогают людям выполнять сложные задачи в браузере (заполнить форму, найти нужные данные, скачать файлы и т.д.), но при этом не берут всё на себя, а работают в паре с пользователем.
Это не автономный бот, а интерфейс взаимодействия: человек остаётся в центре принятия решений, а агент — в роли помощника.
1) Планирует вместе с тобой
Агент предлагает пошаговый план действий. Ты можешь изменить, утвердить или уточнить его.
2) Показывает, что делает
Все действия видны — клики, ввод текста, навигация. Никакой «магии за кадром».
3) Спрашивает разрешение перед важными действиями
Агент не будет нажимать на кнопки "удалить" или "оплатить" без твоего согласия.
4) Обучается на успешных сценариях
Завершил задачу? Теперь этот план можно переиспользовать в будущем.
Где это может пригодиться?
• Заполнение длинных форм и анкет
• Автоматизация рутинных действий в браузере
• Создание умных пользовательских сценариев (например: «найди и скачай последние отчёты с нужного сайта»)
• Обучение и настройка собственных браузерных агентов
А как насчёт безопасности?
• Агент работает только на разрешённых сайтах (white-list)
• Весь код и браузер изолированы в Docker — ничего не утечёт
• Все действия — прозрачны и отменяемы
@ai_machinelearning_big_data
#microsoft #ai #aiuagent #ml
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Machinelearning
На мероприятии Code /w Claude CEO Anthropic презентовал Claude 4 Opus и Claude Sonnet 4.
Обе модели поддерживают расширенное мышление: чередуют анализ и использование инструментов веб-поиска, а также выполняют задачи параллельно.
Для разработчиков появилась интеграция с VS Code, JetBrains и GitHub Actions — правки от Claude теперь отображаются прямо в редакторе. В бета-режиме можно подключать SDK для создания собственных агентов.
По словам партнеров: GitHub и Replit, Opus 4 понимает сложные кодбазы, а Sonnet 4 идеален для повседневных задач. Например, в GitHub Copilot его уже тестируют как основу для нового агента.
В тарифные планы Pro, Max, Team и Enterprise Claude включены обе модели и расширенное мышление, а Sonnet 4 также доступен для бесплатных пользователей.
Обе модели доступны в Anthropic API, Amazon Bedrock и Google Cloud's Vertex AI. Ценообразование остается неизменным по сравнению с предыдущими моделями Opus и Sonnet: Opus 4 - $15/$75 за миллион токенов (ввод/вывод), Sonnet 4 - $3/$15.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
⚠️ Claude теперь может "настучать" — и это не шутка
В системной документации моделей от Anthropic обнаружили тревожную деталь: функцию автоматического оповещения властей, СМИ или регулирующих органов, если пользователь запрашивает что-то потенциально незаконное.
Например, если вы попросите Claude подделать результаты клинических испытаний, модель теоретически может отправить уведомление в FDA (Управление по контролю за продуктами и лекарствами США) — автоматически и без вашего ведома.
🧩 Разработчики утверждают, что эта функция не была включена в релиз, а лишь рассматривалась как концепт.
Но сам факт её проработки вызывает серьёзные вопросы:
• Где граница между безопасностью и слежкой?
• Кто решает, что считается "нарушением"?
• Что будет, если подобный механизм попадёт в руки корпораций или авторитарных режимов?
🤖 Мы стремительно движемся к эпохе, где ИИ может быть не просто помощником, а наблюдателем, прокурором — и информатором.
@machinelearning_interview
#AI #Claude #Anthropic #этика #наблюдение #ИИ
В системной документации моделей от Anthropic обнаружили тревожную деталь: функцию автоматического оповещения властей, СМИ или регулирующих органов, если пользователь запрашивает что-то потенциально незаконное.
Например, если вы попросите Claude подделать результаты клинических испытаний, модель теоретически может отправить уведомление в FDA (Управление по контролю за продуктами и лекарствами США) — автоматически и без вашего ведома.
🧩 Разработчики утверждают, что эта функция не была включена в релиз, а лишь рассматривалась как концепт.
Но сам факт её проработки вызывает серьёзные вопросы:
• Где граница между безопасностью и слежкой?
• Кто решает, что считается "нарушением"?
• Что будет, если подобный механизм попадёт в руки корпораций или авторитарных режимов?
🤖 Мы стремительно движемся к эпохе, где ИИ может быть не просто помощником, а наблюдателем, прокурором — и информатором.
@machinelearning_interview
#AI #Claude #Anthropic #этика #наблюдение #ИИ