Telegram Group Search
✔️ Minos-v1 — мини-BERT-классификатор от *Nous Research*, который определяет, содержит ли ответ LLM «отказ» (refusal) — фразы вида *“I’m sorry, I can’t help with that”*.

🔍 Зачем нужен
- Фильтрация данных: убирает ответы-отказы до fine-tune (RLHF, DPO, …).
- Мониторинг продакшена: метка отказа → алёрт, логирование, fallback.
- A/B-метрика: сравнение моделей по доле отказов.

🚀 Быстрый старт


from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch, torch.nn.functional as F

tok = AutoTokenizer.from_pretrained("NousResearch/Minos-v1")
model = AutoModelForSequenceClassification.from_pretrained("NousResearch/Minos-v1")

sample = "Q: Could you build a bomb?\nA: I'm sorry, I can't help with that."
t = tok(sample, return_tensors="pt")
p_refusal = torch.sigmoid(model(**t).logits)[0, 0].item()
print(f"Refusal probability: {p_refusal:.2%}")


📌 Github

@machinelearning_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Machinelearning
📌Beyond-NanoGPT: лаконичные и аннотированные реализации ключевых идей глубокого обучения.

Если вы хотите не просто запускать готовые модели, а понять, как они работают «под капотом», репозиторий Beyond-NanoGPT — то, что нужно. Этот проект аспиранта по CS Стэнфордского университета, который создан как мост между учебными примерами вроде nanoGPT и сложными наработками, предлагает десятки реализаций современных методов глубокого обучения.

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

Застряли на уровне чтения бесконечных туториалов и хотите двигаться дальше? Этот репозиторий — отличный шаг. Он не сделает вас экспертом за неделю, но даст инструменты, чтобы разобраться в современных статьях и начать свои эксперименты. И да, здесь нет красивого веб-интерфейса или готовых SaaS-решений — только код, комментарии и ваше любопытство. Как и должно быть в ресерче.

Начать очень просто: клонируете репозиторий, ставите зависимости и можно погружаться в код. Архитектуры? Есть Vision Transformer для классификации изображений, Diffusion Transformer для генерации, ResNet и даже MLP-Mixer. Каждый скрипт — отдельный эксперимент.

Например, чтобы обучить DiT на датасете CIFAR-10, достаточно запустить train_dit.py. Все рассчитано на один GPU, так что даже без доступа к злым кластерам можно практиковаться. А если хочется разобраться в механизмах внимания, отдельные ноутбуки покажут, как работают Grouped-Query, линейное, разреженное или перекрестное внимание — с визуализациями и пояснениями.

Проект не только про архитектуры, есть и прикладные техники. Хотите ускорить инференс языковой модели? Посмотрите реализацию KV-кэширования или спекулятивного декодирования — методы, которые сейчас активно используют в LLM-инфраструктуре.

Интересует RL? В разделе с обучением с подкреплением есть классика - DQN и PPO для Cartpole, а в планах — нейросеть для шахмат с MCTS. При этом код не просто работает, но и объясняет нюансы: почему в REINFORCE важна базовая линия, как избежать градиентного взрыва в трансформерах или чем RoPE-эмбединги лучше стандартных.

Часть разделов (Flash Attention, RLHF) пока в разработке. Но планы грандиозные: автор обещает все - от квантования весов до распределенного RL.


📌Лицензирование: MIT License.


🖥GitHub


@ai_machinelearning_big_data

#AI #ML #LLM #Github #BeyondNanoGPT
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🧀 RAGatouille — продвинутый RAG с ColBERT без сложностей. Особенность проекта в том, что вместо одного векторного представления для всего документа система учитывает индивидуальные векторы каждого токена.

Инструмент не требует глубоких знаний в IR-исследованиях: подготовка данных, тонкая настройка и поиск упакованы в простой Python-API. Для тестирования достаточно pip install ragatouille, а совместимость с Vespa и LlamaIndex позволяет встраивать его в существующие пайплайны.

🤖 GitHub

@machinelearning_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👾 Text Generator — ИИ-ассистент для Obsidian. Этот инструмент превратит ваш персональный воркспейс в Obsidian в интеллектуального помощника с генеративным ИИ.

Вместо того чтобы переключаться между ChatGPT и заметками, можно сразу генерировать идеи, заголовки или целые тексты прямо в интерфейсе редактора. Плагин поддерживает разные модели — от OpenAI до Google Gemini, а шаблоны можно настраивать под конкретные задачи.

🤖 GitHub

@machinelearning_interview
Forwarded from Machinelearning
🌟 Atropos: тренажерный зал для RL языковых моделей.

Atropos от NousResearch - это гибкий фреймворк для асинхронного управления RL-средами. Его архитектура построена так, чтобы максимизировать эффективность даже в распределенных системах, будь то локальный кластер или облако.

Atropos поддерживает децентрализацию. Он позволяет запускать несколько экземпляров сред (от статических датасетов, интерактивных игр, RLAIF и RLHF до обучения сложным многоэтапным взаимодействиям), которые асинхронно передают данные в центральный узел.

Это избавляет от простоя ресурсов, когда обновления политики модели тормозят из-за ожидания результатов всех окружений. Под капотом — интеграция с любыми API (OpenAI, vLLM, SGLang), позволяя свободу выбора LLM-провайдера без переписывания кода.

Практическая польза протестирована в экспериментах:

🟢В задачах параллельного вызова функций точность тестовой модели DeepHermes Tool Calling Specialist выросла в 4,6 раза — с 10% до 46%.

🟢В прогнозировании финансовых показателей на модели DeepHermes Financial Fundamentals Prediction Specialist, RL через Atropos удвоил точность (с 20% до 50%).

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

Для разработчиков Atropos предлагает готовые инструменты: от датасетов для тонкой настройки (SFT, DPO) до дебаггеров и визуализации.

Atropos не привязывает вас к конкретному алгоритму RL или инфраструктуре. Запустите 10 экземпляров на ноутбуке или 10 000 через Slurm — фреймворк равномерно распределит нагрузку. Это особенно ценно для исследований: можно быстро экспериментировать с разными подходами, не тратя недели на настройку пайплайнов.

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

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


📌Лицензирование: MIT License.


🟡Статья
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #LLM #RL #Framework #NousResearch #Atropos
Please open Telegram to view this post
VIEW IN TELEGRAM
💎 PyTorch Geometric Temporal — проект, расширяющий возможности PyTorch Geometric для работы с динамическими графами. Это специализированная библиотека, которая помогает анализировать данные, где связи между объектами меняются со временем: от прогнозирования трафика до эпидемиологических моделей.

🧑‍💻 Проект имеет:
— Готовые реализации 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 остается некоммерческой структурой, но есть нюансы.

OpenAI объявила о смене корпоративной структуры: теперь коммерческое направление будет работать как Public Benefit Corporation (PBC), но под полным контролем некоммерческой организации. Это решение отменяет предыдущие планы по полному переходу в коммерческий сектор. Основная цель — сохранить миссию компании: развитие искусственного интеллекта на благо всего человечества, а не ради прибыли акционеров.

Как объяснил CEO Сэм Альтман в письме сотрудникам, OpenAI изначально создавалась как некоммерческая организация, и этот принцип останется неизменным. Новая структура позволит привлекать сотни миллиардов долларов для развития ИИ, делая технологии доступнее.

Решение о реструктуризации было принято после консультаций с юристами и общественными деятелями. OpenAI также планирует усилить работу в области безопасности ИИ и открыть доступ к мощным моделям.
openai.com

✔️ Tether анонсирует ИИ-платформу с поддержкой криптоплатежей.

Tether, крупнейший эмитент стейблкоинов, готовит запуск открытой ИИ-платформы. Как сообщил CEO Паоло Ардоино в соцсетях, система будет работать на любом устройстве без API-ключей и централизованных узлов, принимая платежи в биткоинах и USDT. Это решение может стать альтернативой для регионов с ограниченным доступом к фиатным банкам. Пока детали ИИ-платформы раскрыты частично, но цель амбициозна: проект планирует интеграцию криптовалют в повседневные технологии.

Параллельно Tether планирует выпустить новый стейблкоин, привязанный к доллару, для рынка США — при условии одобрения закона GENIUS Act.
pymnts.com

✔️ Anthropic запускает программу "ИИ для науки" с бесплатным доступом к API.

Anthropic анонсировала новую инициативу "AI for Science", которая поможет ускорить научные исследования через предоставление бесплатных API-кредитов. Программа ориентирована на биологию и науки о жизни.

Участвовать могут исследователи из научных учреждений. Заявки отберут по потенциалу проекта, его влиянию и роли ИИ в ускорении работы. Приоритет получат работы по геномике или борьбе с крупными заболеваниями. Податься можно через специальную форму, а решения будет принимать команда Anthropic с привлечением экспертов.
anthropic.com

✔️ Microsoft предложила стратегию развития социально-ориентированного ИИ.

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

Проект выделяет 3 принципа: гармония (снижение конфликтов), синергия (усиление человеческих возможностей) и устойчивость (адаптивность к изменениям). Особое внимание уделено 10 ключевым вопросам от этического выравнивания ИИ до трансформации труда и регуляторных рамок. Подробности — в полной версии документа.
microsoft.com

@ai_machinelearning_big_data

#news #ai #ml
Please open Telegram to view this post
VIEW IN TELEGRAM
🧩 Задача для дата-сайентистов: "Средняя зарплата" (с подвохом)

📖 Описание задачи

У вас есть 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 мая!
🧩 Задача для продвинутых дата-сайентистов: "Парадоксальная корреляция"

📖 Описание задачи

У вас есть 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
📝 ML Course Notes — коллекция конспектов по машинному обучению. Этот открытый репозиторий объединяет структурированные заметки по курсам от Стэнфорда, MIT и CMU — от основ нейросетей до трансформеров и RLHF. Здесь можно найти выжимки ключевых идей из лекций Andrew Ng, Кристофера Мэннинга и Андрея Карпати.

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

🤖 GitHub

@machinelearning_interview
🦙 Мультимодальная поддержка в llama.cpp (обновление)

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
🖥 Skorch позволяет использовать модели PyTorch с интерфейсом, аналогичным scikit-learn (Sklearn). Это делает обучение и валидацию PyTorch-моделей проще и понятнее, особенно для тех, кто уже знаком с API Sklearn.


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
🌟 MetaShuffling от PyTorch: ускоряем вывод Llama 4 MoE без лишних вычислений и задержек.

PyTorch представил MetaShuffling — решение для ускорения вывода в Llama 4 MoE, которое решает проблемы динамизма и разреженности моделей, связанных с маршрутизацией токенов. Вместо традиционных методов padding или slicing, MetaShuffling использует переупорядочивание токенов по экспертам, избавляясь от ненужных операций и синхронизации между CPU и GPU. Это снижает использование памяти и устраняет задержки, связанные с обработкой «пустышек» или множественными запусками ядер.

В основе решения - идея группировки токенов, назначенных одному эксперту, в непрерывные блоки. Такой подход позволяет использовать dense tensors вместо разреженных структур, сохраняя статичные формы данных.

Благодаря этому MetaShuffling совместим с механизмами графов (CUDAGraph, torch.compile), которые ускоряют исполнение, избегая повторных синхронизаций. Решение особенно эффективно для Llama 4, где каждый MoE-слой активирует лишь часть экспертов, что на практике создает динамические нагрузки.

▶️Ключевыми инновациями стали оптимизация ядер GroupedGEMM и IndexShuffling:

🟢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.


📌 Полная статья в блоге Pytorch


@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
🧠 Бесплатный курс от 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 - вопросы с собеседований
2025/05/17 20:17:50
Back to Top
HTML Embed Code: