Telegram Web
Forwarded from Machinelearning
🌟 NVIDIA добавила нативную поддержку Python в CUDA.

Python уже несколько лет уверенно лидирует среди языков программирования, а теперь стал ещё ближе к железу. На GTC 2025 NVIDIA объявила о полноценной интеграции Python в свой CUDA-стек.

Это значит, что писать код для GPU можно будет напрямую на Python — без погружения в C++ или Fortran. Как подчеркнул Стивен Джонс, архитектор CUDA, цель — сделать инструмент естественным для Python-разработчиков: «Это не перевод синтаксиса C на Python. Все должно работать так, как привыкли разработчики».

Раньше CUDA требовала глубокого понимания низкоуровневых языков и это здорово ограничивало аудиторию. Сейчас, когда Python стал стандартом в ML и DS, NVIDIA открывает двери для миллионов программистов. По данным The Futurum Group, в 2023 году CUDA использовали 4 миллиона человек — теперь их число может резко вырасти.

Техническая часть такая же обширная, как и ожидания этого события профессиональным сообществом.

🟢Во-первых, появилась библиотека cuPyNumeric — аналог NumPy, который переносит вычисления с CPU на GPU буквально заменой импорта.

🟢Во-вторых, CUDA Core переосмыслен для Python: здесь сделан упор на JIT-компиляцию и минимизацию зависимостей.

🟢В-третьих, добавлены инструменты для профилирования и анализа кода, а ускоренные C++-библиотеки теперь доступны из Python без потерь в производительности.

Но главное — новый подход к параллельным вычислениям. Вместо ручного управления потоками, как в C++, NVIDIA предлагает модель CuTile, которая оперирует массивами, а не отдельными элементами. Это упрощает отладку и делает код читаемым, не жертвуя скоростью. По сути, разработчики получают высокоуровневую абстракцию, скрывающую сложности железа, но сохраняющую гибкость.

Пока CuTile доступен только для Python, но в планах — расширение для C++. Это часть стратегии NVIDIA по поддержке новых языков: Rust и Julia уже на походе.

Python-сообщество уже может экспериментировать — например, интегрировать CUDA-ядра в PyTorch или вызывать привычные библиотеки. Теперь даже те, кто никогда не писал на C++, смогут использовать всю мощь GPU — осталось проверить, как это скажется на скорости создания прекрасных LLM светлого будущего.

🔜 Посмотреть полную презентацию на GTC 2025


@ai_machinelearning_big_data

#AI #ML #Python #CUDA #NVIDIA
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍258🔥3🥰1
MLечный путь: митап, коммьюнити, знания

В программе:
- подбор инфраструктуры для ML под запрос бизнеса,
- деплой инференса в рентген-вагоне,
- развертывание Edge-AI в буквально (!) полевых условиях.

А ещё — активное участие вместо пассивного слушания: питчи, нетворкинг и мерч за лучшие идеи.

23 апреля в 18:00 приходите в офис Selectel в Санкт-Петербурге и подключайтесь онлайн.

Регистрация и детали по ссылке: https://slc.tl/tgb6o

Реклама. АО «Селектел», ИНН 7810962785, ERID: 2VtzqwdfLKT
👍31
🎲 Задача со стажировки ШАД по вероятности: сколько участников добежит до вершины?

Представим забег 100 человек по узкому скользкому эскалатору. У каждого есть шанс поскользнуться и упасть — тогда он и все, кто бежал за ним, соскальзывают вниз. Добираются до вершины только те, кто был впереди последнего упавшего.

Мы можем настраивать вероятность падения p. Вопрос: какое значение `p` нужно выбрать, чтобы в среднем до вершины добегало ровно 20 человек из 100?

Обозначения:
N = 100: общее количество участников.
K = 20: желаемое среднее количество участников, достигших вершины.
p: вероятность того, что один участник поскользнется и упадет (эту величину нужно найти).

q = 1 - p: вероятность того, что один участник не упадет.
X: случайная величина, равная количеству участников, достигших вершины. Мы хотим, чтобы E[X] = 20.

Логика процесса:
Участник i (где i от 1 до 100) доберется до вершины тогда и только тогда, когда ни один из участников перед ним (включая его самого) не упадет.

То есть, участники 1, 2, ..., i должны успешно пройти свой путь.

Вероятность того, что участник 1 достигнет вершины = P(участник 1 не упал) = q.
Вероятность того, что участник 2 достигнет вершины = P(участник 1 не упал И участник 2 не упал) = q * q = q^2.

Вероятность того, что участник i достигнет вершины = P(участники 1, ..., i не упали) = q^i.

Математическое ожидание E[X]:

Математическое ожидание количества добравшихся до вершины можно вычислить как сумму вероятностей того, что каждый конкретный участник доберется до вершины. Это связано со свойством линейности математического ожидания и использованием индикаторных переменных (I_i = 1, если i-й участник добрался, 0 иначе; E[X] = E[sum(I_i)] = sum(E[I_i]) = sum(P(I_i=1))).
E[X] = P(участник 1 добрался) + P(участник 2 добрался) + ... + P(участник N добрался)
E[X] = q^1 + q^2 + q^3 + ... + q^N
Это сумма первых N членов геометрической прогрессии с первым членом a = q и знаменателем r = q. Формула суммы:
S_N = a * (1 - r^N) / (1 - r)
Подставляем наши значения:
E[X] = q * (1 - q^N) / (1 - q)
Решение уравнения:
Мы хотим, чтобы E[X] = K = 20, при N = 100.
20 = q * (1 - q^100) / (1 - q)
Вспомним, что q = 1 - p. Значит, 1 - q = p.
20 = (1 - p) * (1 - (1 - p)^100) / p
20p = (1 - p) * (1 - (1 - p)^100)

Это уравнение довольно сложно решить аналитически из-за члена (1 - p)^100. Однако мы можем сделать разумное предположение.

Приближение:
Поскольку мы ожидаем, что только 20 из 100 человек доберутся до вершины, это означает, что падения должны происходить относительно часто, и вероятность того, что все 100 человек не упадут (q^100), должна быть очень мала. То есть, q^100 ≈ 0.
Если q^100 пренебрежимо мало по сравнению с 1, то формула для E[X] упрощается:

E[X] ≈ q * (1 - 0) / (1 - q)
E[X] ≈ q / (1 - q)
Теперь подставим желаемое значение E[X] = 20:

20 ≈ q / (1 - q)
20 * (1 - q) ≈ q
20 - 20q ≈ q
20 ≈ 21q
q ≈ 20 / 21
Теперь найдем p:
p = 1 - q
p ≈ 1 - (20 / 21)
p ≈ 1 / 21

Проверка приближения:

Давайте проверим, насколько мало значение q^100 при q = 20/21:
q^100 = (20/21)^100 ≈ (0.95238)^100

Используя калькулятор, (20/21)^100 ≈ 0.0076. Это действительно мало по сравнению с 1.

Посчитаем E[X] с этим приближением:

E[X] = (20/21) * (1 - (20/21)^100) / (1 - 20/21)
E[X] = (20/21) * (1 - 0.0076) / (1/21)
E[X] = 20 * (1 - 0.0076)
E[X] = 20 * 0.9924
E[X] ≈ 19.848

Это очень близко к целевому значению 20.

Ответ:
Чтобы в среднем вершины достигали 20 ребят из 100, вероятность падения p для каждого участника нужно подобрать примерно равной 1/21 (или около 0.0476).

👇 Пишите свое решение в комментариях

@machinelearning_interview
🔥17👍136
🖥 OpenAI опубликовала новое руководство по промптингу для GPT-4.1.

Это полезный ресурс для улучшения работы с моделью.

В руководство включен подробный "агентный промпт" (Agentic Prompt).

Именно этот промпт OpenAI использовала для достижения рекордно высокого балла в сложном бенчмарке по разработке ПО SWE-bench Verified.

Что представляет собой этот агентный промпт?

Это, по сути, детальная инструкция для GPT-4, нацеленная на автономное решение задач по исправлению кода в репозиториях. Ключевые принципы, заложенные в нем:
- Глубокое понимание: Сначала тщательно изучить проблему.
- Исследование: Проанализировать кодовую базу.
- Планирование: Разработать четкий пошаговый план.

- Тестирование: Часто запускать тесты после каждого шага.
- Итерация: Повторять процесс до полного решения проблемы.
- Строгая верификация: Убедиться в корректности и надежности решения
- Автономность: Работать с предоставленными проектами без доступа к интернету и не завершать работу до полного решения.

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

📚 Руководство
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥53👎1💊1
Что выведет следующий код на Python (модуль statistics)?


import statistics as stats
import math

data = [1, 2, 2, float('nan'), 3, 4]

print("Mean:", stats.mean(data))
print("Median:", stats.median(data))
print("Mode:", stats.mode(data))


🔢 Варианты ответа:

A)

Median: 2.5
Mode: 2


B)

Median: 2.5
Mode: 2


C)ValueError: nan is not a valid number


D)

Median: nan
Mode: 2


Правильный ответ: C

💡 Почему?
- Модуль
statistics не умеет работать с NaN.
-
stats.mean() и stats.median() вызовут StatisticsError или ValueError.
- В отличие от
numpy.nanmean, здесь всё падает.
📌 Подвох — в
float('nan') в списке.
👍14🔥42
У разработчиков и аналитиков свои игрушки 👾

Конечно, с ИИ-уклоном и те, которые им помогают в работе. Когда дело доходит до вайб-кодинга, многие обращаются к инструментам вроде Copilot. На бумаге — это волшебная палочка, которая должна разгружать спецов. А как на деле? 🪄

Коллеги из Т1 отвечают на этот вопрос — упаковали ответы в карточки. И их самих тоже — конечно же, с помощью искусственного интеллекта.

Больше про ИИ узнаем 16 и 17 апреля в Москве на конференции Data Fusion. Здесь спикеры от Т1 примут участие в сессиях, где обсудят:

🔘 выход российских компаний на зарубежные рынки;
🔘 человекоцентричный транспорт;
🔘 нейросети;
🔘 AI-native банки;
🔘 тренды в бизнесе;
🔘 инженеров нового поколения.

Генеральный директор ИТ-холдинга Т1 Алексей Фетисов также наградит победителей соревнования Data Fusion Contest.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍4🤡1👀1
Forwarded from Machinelearning
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 ReZero — маленькая модель, которая никогда не сдаётся

🧠 ReZero — это LLM на базе Llama 3.2B, обученная не просто находить ответы, а упорно искать лучший.

🔁 Вместо того чтобы оптимизировать на скорость или recall, ReZero обучается пробовать снова и снова, пока не найдёт правильный ответ.

Модель намеренно поощряется за настойчивость — если она делает retry и улучшает результат, это считается успехом.

Использует синтетические поисковые движки, которые заставляют модель перезапрашивать и улучшать свои ответы.

Обучается с помощью усиленного обучения (RL) — формируя привычку "не сдаваться".


🔜Github
🔜 Модель

@ai_machinelearning_big_data


#LLM #Search #RL #AI #Meta #ReZero #NeverGiveUp #Llama3
Please open Telegram to view this post
VIEW IN TELEGRAM
17👍4🔥4
🔥 ArXiv MCP Server

arxiv‑mcp‑server — это самостоятельный MCP‑сервер¹, который «оборачивает» arXiv.org в набор инструментов, доступных ИИ‑ассистентам (Claude Desktop, ChatGPT‑плагины, собственные агентовые фреймворки).

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


¹ MCP (Message Control Protocol) — открытый протокол Anthropic для обмена сообщениями и инструментами между LLM‑клиентом и сервером.

Ключевые возможности
- Поиск статей search_papers — фильтры по запросу, диапазону дат, категориям.

- Загрузка статьи download_paper — хранит PDF/метаданные локально, чтобы не дергать arXiv повторно.

- Список локальных статей list_papers.

- Чтение содержимого read_paper — отдаёт текст постранично.

- Готовые исследовательские промпты — например, deep-paper-analysis, который строит полное ревью (summary, методология, импликации, дальнейшая работа и т.д.). 

Github
Please open Telegram to view this post
VIEW IN TELEGRAM
👍112🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Что сложнее: пройти собеседование в MANGA или поступить в ШАД?

В новом выпуске MLinside — Алексей Толстиков, кандидат физико-математических наук, руководитель Школы анализа данных Яндекса (ШАДа) и эксперт в олимпиадах по программированию рассказывает:

▪️Как устроен отбор в Школу и зачем нужен сложный экзамен
▪️Как готовиться к интервью и почему важна честность
▪️ Насколько важен нетворк и коммьюнити

Переходите к выпуску

По сути, это готовый мануал к поступлению и если вы сейчас выбираете трек развития в машинном обучении — обязательно к прослушиванию.
🤡115👍3🔥3
🧪 DeepEval — open-source фреймворк для оценки работы языковых моделей, вдохновленный принципами Pytest. Проект решает ключевую проблему LLM-разработки: как объективно измерить качество ответов ChatGPT, RAG-пайплайнов или AI-агентов без ручных проверок.

В отличие от разрозненных метрик вроде RAGAS или G-Eval, DeepEval объединяет 20+ критериев оценки от релевантности контекста до токсичности и SQL-инъекций в промптах. Инструмент также имеет встроенную облачную платформу для сравнения разных версий LLM — она визуализирует, как изменения влияют на accuracy и безопасность.

🤖 GitHub

@machinelearning_interview
17👍2🔥2
2025/07/10 08:14:08
Back to Top
HTML Embed Code: