🧩 Задача для продвинутых дата-сайентистов: "Парадоксальная корреляция"
📖 Описание задачи
У вас есть 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 благодаря открытому проекту:
🔗 https://k-a.in/pyt-comptr.html
🧠 В чём суть?
Compressive Transformer — это эволюция стандартного Transformer. Он не просто "запоминает" предыдущие токены, он сжимает память, позволяя сохранять ещё более дальний контекст без потери производительности. Это делает модель особенно ценной в задачах, где важно помнить, что происходило «много шагов назад».
📦 Что ты найдешь в проекте?
🔹 Полную реализацию на PyTorch, без зависимости от TensorFlow или сторонних обвязок
🔹 Механизм памяти с компрессией, который реально работает
🔹 Поддержка обучения и инференса на длинных последовательностях
🔹 Отличная база для экспериментов и исследований
🛠 Зачем это нужно?
• Чат-боты, которые не забывают, что ты писал 20 сообщений назад
• Генерация музыки, где важна глобальная структура
• Анализ логов и временных рядов, где значение имеет не только локальный, но и глобальный контекст
📚 Исходная архитектура была представлена DeepMind, но готовых репозиториев до сих пор крайне мало. Эта реализация — редкая возможность попробовать Compressive Transformer вживую.
👉 https://k-a.in/pyt-comptr.html
Если ты работаешь с длинными последовательностями (NLP, музыка, временные ряды), то стандартного Transformer'а уже может быть недостаточно. Здесь на сцену выходит Compressive Transformer — и теперь его можно изучать и запускать на PyTorch благодаря открытому проекту:
🔗 https://k-a.in/pyt-comptr.html
🧠 В чём суть?
Compressive Transformer — это эволюция стандартного Transformer. Он не просто "запоминает" предыдущие токены, он сжимает память, позволяя сохранять ещё более дальний контекст без потери производительности. Это делает модель особенно ценной в задачах, где важно помнить, что происходило «много шагов назад».
📦 Что ты найдешь в проекте?
🔹 Полную реализацию на PyTorch, без зависимости от TensorFlow или сторонних обвязок
🔹 Механизм памяти с компрессией, который реально работает
🔹 Поддержка обучения и инференса на длинных последовательностях
🔹 Отличная база для экспериментов и исследований
🛠 Зачем это нужно?
• Чат-боты, которые не забывают, что ты писал 20 сообщений назад
• Генерация музыки, где важна глобальная структура
• Анализ логов и временных рядов, где значение имеет не только локальный, но и глобальный контекст
📚 Исходная архитектура была представлена DeepMind, но готовых репозиториев до сих пор крайне мало. Эта реализация — редкая возможность попробовать Compressive Transformer вживую.
👉 https://k-a.in/pyt-comptr.html
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 #этика #наблюдение #ИИ
🌐 Optuna — фреймворк для оптимизации гиперпараметров в ML. Этот Python-фреймворк использует алгоритмы вроде TPE и CMA-ES для эффективного поиска оптимальных значений, сокращая время экспериментов в разы.
Главная фишка — define-by-run API: пространство параметров описывается прямо в коде обучения, включая условные ветвления. Например, можно динамически выбирать между SVM и RandomForest, параллельно оптимизируя их гиперпараметры. Для визуализации есть Optuna Dashboard — веб-интерфейс с графиками важности параметров.
🤖 GitHub
@machinelearning_interview
Главная фишка — define-by-run API: пространство параметров описывается прямо в коде обучения, включая условные ветвления. Например, можно динамически выбирать между SVM и RandomForest, параллельно оптимизируя их гиперпараметры. Для визуализации есть Optuna Dashboard — веб-интерфейс с графиками важности параметров.
🤖 GitHub
@machinelearning_interview
Агенты — это системы, которые используют LLM (Large Language Models) как движок рассуждений: они принимают решения, выбирают действия и обрабатывают их результаты, чтобы достичь цели. Сегодня вы можете собрать собственную мультиагентную систему всего за несколько минут, благодаря Python-фреймворкам нового поколения.
Ниже — 7 популярных фреймворков, которые помогут вам легко интегрировать LLM с внешними инструментами, API и данными.
🔹 1. LangChain
Один из самых популярных фреймворков для построения приложений с LLM. Предлагает модуль Agents для создания и тестирования агентов, а также множество интеграций с API и базами знаний.
- ⭐ GitHub: https://github.com/langchain-ai/langchain
🔹 2. Microsoft AutoGen
Открытый фреймворк от Microsoft для построения мультиагентных систем с возможностью коллаборации и автоматического решения задач. Поддерживает динамические сценарии, натуральный язык и масштабируемость.
- ⭐ GitHub: https://github.com/microsoft/autogen
🔹 3. CrewAI
Лёгкий и быстрый фреймворк, написанный с нуля, без зависимости от LangChain. Поддерживает абстракции «экипажей» (Crews) и «потоков» (Flows) для создания сложных, управляемых агентных сценариев.
- ⭐ GitHub: https://github.com/joaomdmoura/crewAI
🔹 4. Haystack (от Deepset)
Фреймворк с модульной архитектурой, поддержкой Retrieval-Augmented Generation (RAG) и интеграцией с OpenAI, Hugging Face и Elasticsearch. Идеален для создания готовых к продакшену систем.
- ⭐ GitHub: https://github.com/deepset-ai/haystack
🔹 5. SmolAgents (от Hugging Face)
Минималистичный фреймворк (~10 тыс строк кода) для создания мощных агентов без лишней сложности. Поддерживает OpenAI, Anthropic и другие модели, а также Code Agents.
- ⭐ GitHub: https://t.iss.one/machinelearning_interview/1446
🔹 6. LangGraph
Фреймворк низкого уровня для управления долговременными агентами со состоянием. Обеспечивает сохранение, аудит, человеческий контроль и глубокую интеграцию с LangChain.
- ⭐ GitHub: https://github.com/langchain-ai/langgraph
🔹 7. OpenAI Agents SDK
Лёгкий SDK от OpenAI для построения мультиагентных сценариев. Поддерживает OpenAI API и 100+ других LLM, включает Guardrails, Tracing и Handoffs между агентами.
- ⭐ GitHub: https://github.com/openai/openai-agents-python
🔍 Заключение
Разработка ИИ-агентов теперь проще как никогда. Эти фреймворки открывают путь к построению умных систем, которые взаимодействуют друг с другом, принимают решения, управляют инструментами и работают с данными — автономно и безопасно.
🚀 Хотите начать? Просто выберите подходящий инструмент — и стройте собственную армию LLM-агентов уже сегодня!
Please open Telegram to view this post
VIEW IN TELEGRAM
🧠 One RL to See Them All
MiniMax-AI представили Orsta-7B и Orsta-32B — мощные мультимодальные модели, обученные по новой методике V-Triune:
🔧 V-Triune объединяет:
• форматирование данных на уровне задач,
• расчет награды через кастомные верификаторы,
• мониторинг метрик по источникам.
💥 Результаты?
📈 Orsta-32B даёт **+14.1% прирост** на MEGA-Bench Core по сравнению с QwenVL-2.5!
От OCR и распознавания объектов до визуального рассуждения и математических задач — одна RL-схема покрывает всё.
📦 Модели уже доступны:
- huggingface.co/collections/One-RL-to-See-Them-All/one-rl-to-see-them-all-6833d27abce23898b2f9815a
- github.com/MiniMax-AI/One-RL-to-See-Them-All
Открытая, мощная, готовая к запуску.
#AI #Orsta #MiniMax #VisionLanguage #RLHF #VLM #Multimodal #OpenSource #HuggingFace
MiniMax-AI представили Orsta-7B и Orsta-32B — мощные мультимодальные модели, обученные по новой методике V-Triune:
🔧 V-Triune объединяет:
• форматирование данных на уровне задач,
• расчет награды через кастомные верификаторы,
• мониторинг метрик по источникам.
💥 Результаты?
📈 Orsta-32B даёт **+14.1% прирост** на MEGA-Bench Core по сравнению с QwenVL-2.5!
От OCR и распознавания объектов до визуального рассуждения и математических задач — одна RL-схема покрывает всё.
📦 Модели уже доступны:
- huggingface.co/collections/One-RL-to-See-Them-All/one-rl-to-see-them-all-6833d27abce23898b2f9815a
- github.com/MiniMax-AI/One-RL-to-See-Them-All
Открытая, мощная, готовая к запуску.
#AI #Orsta #MiniMax #VisionLanguage #RLHF #VLM #Multimodal #OpenSource #HuggingFace
🔥 Стартует новая видеосерия от PyTorch Compiler! 🎬
В первом эпизоде Avik Chaudhuri разбирает ключевые принципы, лежащие в основе модели программирования для PyTorch Export — и демонстрирует их через наглядные примеры.
🧠 Что такое Export в PyTorch?
Это механизм, который создаёт представление модели в виде промежуточного IR-кода (Intermediate Representation) заранее (ahead-of-time). Это позволяет:
- 📦 Повысить надёжность и предсказуемость исполнения
- ⚙️ Упростить оптимизацию и трансформации
- 🚀 Запускать модели на различных типах железа (CPU, GPU, мобильные устройства и пр.)
✅ Почему это важно?
По сравнению с предыдущими решениями вроде TorchScript и FX, PyTorch Export даёт:
- более высокий уровень безопасности
- лучшую совместимость с различными окружениями
- поддержку более сложных моделей
🛠️ Экспортированные модели можно запускать через:
• ONNX
• TensorRT
• ExecuTorch
• AOTInductor
и другие продвинутые backend-рантаймы.
📺 Смотреть первый выпуск: https://www.youtube.com/watch?v=bAoRZfJGzZw
@machinelearning_interview
В первом эпизоде Avik Chaudhuri разбирает ключевые принципы, лежащие в основе модели программирования для PyTorch Export — и демонстрирует их через наглядные примеры.
🧠 Что такое Export в PyTorch?
Это механизм, который создаёт представление модели в виде промежуточного IR-кода (Intermediate Representation) заранее (ahead-of-time). Это позволяет:
- 📦 Повысить надёжность и предсказуемость исполнения
- ⚙️ Упростить оптимизацию и трансформации
- 🚀 Запускать модели на различных типах железа (CPU, GPU, мобильные устройства и пр.)
✅ Почему это важно?
По сравнению с предыдущими решениями вроде TorchScript и FX, PyTorch Export даёт:
- более высокий уровень безопасности
- лучшую совместимость с различными окружениями
- поддержку более сложных моделей
🛠️ Экспортированные модели можно запускать через:
• ONNX
• TensorRT
• ExecuTorch
• AOTInductor
и другие продвинутые backend-рантаймы.
📺 Смотреть первый выпуск: https://www.youtube.com/watch?v=bAoRZfJGzZw
@machinelearning_interview
🧠 Байесовская очистка данных от дневного bias с помощью нелинейной регрессии
Снова измерения температуры 📈 — и снова проблема: каждый день датчик даёт случайное смещение (bias). Нам нужно не просто его найти, а сделать это более надёжно — с учётом неопределённости.
🔁 Уточнённые цели
1. Оценить дневной bias через байесовскую регрессию
2. Использовать нелинейный тренд вместо скользящего среднего
3. Построить интервалы доверия для оценённой температуры
4. Визуализировать, насколько хорошо работает очистка
📦 Шаг 1. Генерация данных (как раньше)
📐 Шаг 2. Построим нелинейную модель тренда (например, полиномиальную регрессию)
🧮 Шаг 3. Байесовская оценка bias (через среднее и стандартную ошибку)
📊 Шаг 4. Оценка качества и визуализация
📈 Визуализация с доверительными интервалами
✅ Вывод
✔️ Нелинейная регрессия даёт лучшее приближение тренда, чем скользящее среднее
✔️ Байесовская оценка даёт не только среднюю оценку bias, но и доверительные интервалы
✔️ Модель учитывает неопределённость и шум — ближе к реальной инженерной задаче
✔️ RMSE почти сравнивается с дисперсией шума → bias эффективно устраняется
Снова измерения температуры 📈 — и снова проблема: каждый день датчик даёт случайное смещение (bias). Нам нужно не просто его найти, а сделать это более надёжно — с учётом неопределённости.
🔁 Уточнённые цели
1. Оценить дневной bias через байесовскую регрессию
2. Использовать нелинейный тренд вместо скользящего среднего
3. Построить интервалы доверия для оценённой температуры
4. Визуализировать, насколько хорошо работает очистка
📦 Шаг 1. Генерация данных (как раньше)
import pandas as pd
import numpy as np
np.random.seed(42)
days = pd.date_range("2023-01-01", periods=10, freq="D")
true_temp = np.sin(np.linspace(0, 3 * np.pi, 240)) * 10 + 20
bias_per_day = np.random.uniform(-2, 2, size=len(days))
df = pd.DataFrame({
"datetime": pd.date_range("2023-01-01", periods=240, freq="H"),
})
df["day"] = df["datetime"].dt.date
df["true_temp"] = true_temp
df["bias"] = df["day"].map(dict(zip(days.date, bias_per_day)))
df["measured_temp"] = df["true_temp"] + df["bias"] + np.random.normal(0, 0.5, size=240)
📐 Шаг 2. Построим нелинейную модель тренда (например, полиномиальную регрессию)
from sklearn.linear_model import Ridge
from sklearn.preprocessing import PolynomialFeatures
from sklearn.pipeline import make_pipeline
# Модель полиномиальной регрессии степени 6
X_time = np.arange(len(df)).reshape(-1, 1)
y = df["measured_temp"].values
model = make_pipeline(PolynomialFeatures(degree=6), Ridge(alpha=1.0))
model.fit(X_time, y)
df["trend_poly"] = model.predict(X_time)
df["residual"] = df["measured_temp"] - df["trend_poly"]
🧮 Шаг 3. Байесовская оценка bias (через среднее и стандартную ошибку)
bias_stats = df.groupby("day")["residual"].agg(["mean", "std", "count"])
bias_stats["stderr"] = bias_stats["std"] / np.sqrt(bias_stats["count"])
df["bias_bayes"] = df["day"].map(bias_stats["mean"])
df["bias_stderr"] = df["day"].map(bias_stats["stderr"])
# Восстановим очищенную температуру
df["restored_bayes"] = df["measured_temp"] - df["bias_bayes"]
📊 Шаг 4. Оценка качества и визуализация
from sklearn.metrics import mean_squared_error
rmse = mean_squared_error(df["true_temp"], df["restored_bayes"], squared=False)
print(f"📉 RMSE (после байесовской очистки): {rmse:.3f}")
📈 Визуализация с доверительными интервалами
import matplotlib.pyplot as plt
for day in df["day"].unique():
day_data = df[df["day"] == day]
stderr = day_data["bias_stderr"].iloc[0]
plt.fill_between(day_data.index,
day_data["restored_bayes"] - stderr,
day_data["restored_bayes"] + stderr,
alpha=0.2, label=str(day) if day == df["day"].unique()[0] else "")
plt.plot(df["true_temp"], label="True Temp", lw=1.5)
plt.plot(df["restored_bayes"], label="Restored Temp (Bayes)", lw=1)
plt.legend()
plt.title("Восстановление температуры с доверительными интервалами")
plt.xlabel("Time")
plt.ylabel("°C")
plt.grid(True)
plt.show()
✅ Вывод
✔️ Нелинейная регрессия даёт лучшее приближение тренда, чем скользящее среднее
✔️ Байесовская оценка даёт не только среднюю оценку bias, но и доверительные интервалы
✔️ Модель учитывает неопределённость и шум — ближе к реальной инженерной задаче
✔️ RMSE почти сравнивается с дисперсией шума → bias эффективно устраняется