Python Portal
51K subscribers
2.87K photos
495 videos
55 files
1.33K links
Всё самое интересное из мира Python

Сотрудничество, реклама: @devmangx

Работаем с @Spiral_Yuri

РКН: https://clck.ru/3GMMF6
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
NVIDIA действительно устранила одно из главных ограничений голосового ИИ.

Компания открыла исходный код PersonaPlex-7B — разговорной модели с полнодуплексным режимом, которая умеет одновременно слушать и говорить.

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

Полностью открытый исходный код и бесплатное использование.

https://github.com/NVIDIA/personaplex

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
❤16👍6
Если ищете хороший видеокурс по 3D-математике для игр, в котором сочетаются теория и практика, вот он: https://wojtsterna.com/math-for-3d-programmers/

Первая часть курса длится 14 часов и доступна БЕСПЛАТНО. Недавно я разбил её на разделы, чтобы было проще проходить. Каждый — не дольше примерно 30 минут.

Весь курс — это внушительные 50 часов. Осилить его будет непросто, но, думаю, оно того стоит, если вы всерьёз хотите разобраться в 3D-математике.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3
5 архитектур RAG

Большинство RAG-систем ломаются в одном и том же месте. Проблема не в модели, а в том, как находится контекст.

Базовый RAG строит эмбеддинги документов, находит ближайшие фрагменты и надеется, что в них есть ответ. Для простых вопросов это работает. Системам в продакшене нужно больше, и этот пробел заполняют пять архитектур.

Гибридный RAG выполняет два поиска одновременно. Плотные векторы улавливают смысл, а индекс ключевых слов BM25 находит точные термины, которые эмбеддинги часто упускают: коды товаров, имена, аббревиатуры. Метод Reciprocal Rank Fusion объединяет два ранжированных списка в один.

GraphRAG перестаёт рассматривать знания как изолированные фрагменты. Он извлекает сущности и связи между ними в граф знаний, затем находит релевантный подграф и сводки связанных кластеров. Он рассчитан на вопросы, ответы на которые охватывают несколько связанных фактов.

Агентный RAG превращает поиск в план действий. Агент-планировщик решает, какие инструменты использовать: векторный поиск, поиск в интернете или SQL-базу. Агент, отвечающий за рассуждения, объединяет результаты. Если подтверждений недостаточно, система возвращается к поиску.

Корректирующий RAG проверяет результаты собственного поиска. Агент-оценщик оценивает найденное до передачи модели. Релевантные результаты проходят дальше, нерелевантные запускают поиск в интернете, а при неоднозначной оценке запрос отправляется на переформулирование.

Мультимодальный RAG воспринимает документ не только как текст. Текст, изображения, графики и таблицы преобразуются в эмбеддинги и помещаются в общий индекс с помощью моделей вроде CLIP или ColPali. Так один запрос может найти абзац, схему или отсканированную таблицу.

Каждая архитектура устраняет свой тип сбоя:

Пропущенные ключевые слова → гибридный RAG
Недостающие связи → GraphRAG
Вопросы, требующие нескольких источников → агентный RAG
Ненадёжный поиск → корректирующий RAG
Знания в визуальных материалах → мультимодальный RAG

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤12👍7
Media is too big
VIEW IN TELEGRAM
Основатели ElevenLabs сейчас, должно быть, дрожат от страха…

Эти ребята только что выпустили голосовую ИИ-модель, которой можно управлять как настоящим актёром.

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

Почему это настолько круто:

- Одно слово прозвучало неправильно? Можно изменить только его, оставив всю остальную озвучку без изменений.
- Модель умеет переключаться между голосами прямо посреди предложения.
- Может озвучить целую сцену с несколькими персонажами по одному сценарию.
- Клонирует ваш голос и сохраняет его характер и манеру речи на других языках.

Модель поддерживает 83 языка, а её веса доступны для скачивания по лицензии Fish Audio Community License.

А чтобы продемонстрировать возможности модели, разработчики клонировали голос Uncle Roger и заставили его на протяжении всего ролика разносить собственный жареный рис.

Ахах, это просто прекрасно.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11❤7👍3🤔1😢1
This media is not supported in your browser
VIEW IN TELEGRAM
Теперь можно просто загрузить изображение и посмотреть, как нейросеть определяет, что на нём изображено.

CNN Explainer позволяет проследить весь процесс обработки:

Пиксели → свёртка → ReLU → пулинг → карты признаков → softmax → предсказание.

Можно переходить между слоями нейросети и изучать фильтры, активации и вычисления, на основе которых формируется результат.

Отличный способ наглядно разобраться в работе свёрточных нейросетей (CNN).

https://poloclub.github.io/cnn-explainer/

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤6😁2
This media is not supported in your browser
VIEW IN TELEGRAM
Найти все субдомены сайта можно с помощью одного URL.

Этот трюк с CRT позволяет получить список субдоменов, связанных с основным доменом, используя публичные данные сертификатов.

Просто откройте:
https://crt.name/v1/search?apex=[domain-name-here]

Замените [domain-name-here] на домен, который хотите проверить, и сервис покажет соответствующие субдомены.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤7
Media is too big
VIEW IN TELEGRAM
У Nvidia есть открытая модель мира на 2,6 млрд параметров.

Она позволяет превратить изображение, текстовый промпт и траекторию движения камеры в управляемый виртуальный мир.

И всё это на одном GPU.

- Код доступен на GitHub.
- Научная статья опубликована на arXiv.
- Подходит для исследований воплощённого ИИ, робототехники и симуляций.

Модель работает на GPU вроде RTX 5090 или H100, позволяя экспериментировать с моделями мира без необходимости использовать несколько видеокарт.

https://github.com/NVlabs/Sana

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12😢2
Python стал ещё ленивее. 😌

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
❤36🤔8😁3🔥2
Media is too big
VIEW IN TELEGRAM
API для извлечения данных с любых сайтов, даже защищённых CAPTCHA или блокирующих ботов.

- /scrape — извлекает и разбирает содержимое страницы.
- /crawl — обходит сайт, переходя по ссылкам.
- /search — выполняет поиск в реальном времени.
- /map — собирает список URL-адресов.

10 000 запросов в месяц бесплатно и без привязки банковской карты.

→ https://midu.link/decodo

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14❤6👍2
«Введение в теорию вероятностей» (Introduction to Probability) Чарльза Гринстеда и Дж. Лори Снелла — университетский учебник, опубликованный Американским математическим обществом и ставший классическим пособием для изучения теории вероятностей.

Книга объёмом более 500 страниц предлагает всестороннее изучение теории вероятностей, сочетая строгие математические основы с доступными объяснениями, подробными примерами решения задач, упражнениями и компьютерным моделированием.

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

Полная версия учебника доступна бесплатно в интернете.

https://chance.dartmouth.edu/teaching_aids/books_articles/probability_book/amsbook.mac.pdf
❤10🤯2
Вот это действительно хорошая модель для генерации изображений. MOSS Image с 5 млрд параметров, распространяемая по лицензии Apache 2.0.

Уже сейчас модель практически не ограничена цензурой!

https://huggingface.co/OpenMOSS-Team/MOSS-Image-Base
https://huggingface.co/OpenMOSS-Team/MOSS-Image-SFT

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5😁2🏆1
‼️Линус Торвальдс назвал запреты на использование ИИ-инструментов для написания кода «ПОЛНЕЙШЕЙ ГЛУПОСТЬЮ» в рассылке разработчиков ядра Linux.

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

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍45👀7❤5🔥5🤣3🌚1🤝1
Не теряющий актуальности материал — «Введение в распределённые системы» (An Introduction to Distributed Systems) Кайла Кингсбери.

https://github.com/aphyr/distsys-class

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🤝2
Что спрашивают на ML и Data Science собеседованиях в Яндексе, Авито и других BigTech-компаниях?

Знаний Python, pandas и NumPy недостаточно, чтобы уверенно пройти все этапы отбора. На технических секциях могут проверить алгоритмы, статистику, машинное обучение и умение решать практические задачи.

Ребята из Поступашек собирают реальные материалы с собеседований и делятся опытом кандидатов и интервьюеров крупных IT-компаний.

Сохраняйте подборку:
— Полный разбор ML-собеседований в Яндексе
— Разборы DS-собеседований в Яндексе, Авито, МТС и X5
— Банк задач с алгоритмических собеседований
— Задачи прошлых лет из ШАД и Академии Авито

В Поступашках также пишут про стажировки, рынок ML, карьерный рост и поступление в сильные магистратуры.

ПОДПИСАТЬСЯ НА ПОСТУПАШКИ
❤1
Новая библиотека для создания SVG-диаграмм. Она называется Pele и представляет собой альтернативу Mermaid.

✓ Настройка с помощью CSS-переменных
✓ Размер всего около 230 КБ (Mermaid занимает более 1 МБ)
✓ Мгновенный рендеринг

Разработана командой Obsidian:

→ github.com/obsidianmd/pele

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7🔥3
Я думал, что понимаю, как работает загрузка GPU, пока не начал писать это руководство.

Я постоянно смешивал три разных понятия:

- Объём работы, который мы запускаем.
- Объём работы, который фактически размещён на GPU.
- Объём работы, готовый к выполнению прямо сейчас.

Но это совершенно разные вещи.

Возьмём CUDA-ядро с 240 блоками по 256 потоков в каждом. Всего получается 61 440 логических потоков, или 1920 варпов. Однако количество запущенных потоков ничего не говорит о том, сколько варпов может одновременно находиться на GPU.

Блоки размещаются на потоковых мультипроцессорах (SM) с учётом доступных регистров, разделяемой памяти и ограничений на количество потоков, варпов и блоков.

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

Это изменило и мой подход к анализу показателей производительности.

Occupancy — показатель, отражающий отношение количества активных варпов на SM к максимально поддерживаемому количеству варпов на этом SM.

GPU utilization измеряет другое. В NVML этот показатель отражает долю интервала измерения, в течение которой выполнялось хотя бы одно CUDA-ядро.

Таким образом, GPU может показывать загрузку 100%, даже если Tensor Cores не используются на полную мощность, пропускная способность HBM не исчерпана, а производительность ограничивается одним из компонентов системы. При этом значительная часть ресурсов GPU может оставаться недозагруженной.

С памятью возникают похожие заблуждения. Регистры, разделяемая память, L1, L2 и HBM — это не просто уровни памяти, последовательно отличающиеся скоростью. У каждого из них свои области доступности, ёмкость, особенности управления и способы доступа.

Если модель помещается в HBM, это означает лишь то, что для неё достаточно видеопамяти. Но практически ничего не говорит о том, сколько байтов приходится передавать, насколько эффективно объединяются обращения к памяти, как часто данные используются повторно и действительно ли память ограничивает производительность CUDA-ядра.

Хороший пример — FlashAttention. Алгоритм вычисляет точный механизм внимания (attention), но использует разбиение на блоки (tiling) и повторные вычисления, чтобы сократить объём передачи данных между HBM и внутренней памятью GPU.

Tensor Cores оказались ещё одной технологией, которую я раньше воспринимал слишком упрощённо.

Это специализированные вычислительные блоки для матричных операций умножения с накоплением, играющие огромную роль в задачах ИИ. Однако они не «выполняют модель» целиком.

Операции редукции, индексации, поэлементные вычисления, синхронизация и перемещение данных по-прежнему задействуют другие компоненты GPU. Кроме того, запуск CUDA-ядер тоже создаёт дополнительные накладные расходы.

Со временем я перестал спрашивать себя: «Почему GPU не загружен на 100%?» Вместо этого я начал задавать более правильный вопрос: «Что именно сейчас ограничивает скорость выполнения полезной работы?»

В итоге всё это превратилось в руководство на 42 страницы.

В нём рассматриваются потоковые мультипроцессоры (SM), варпы и планировщики, иерархия памяти и скрытие задержек, Tensor Cores, распределение вычислений GEMM по аппаратным ресурсам GPU, точность вычислений и показатели производительности, которые очень легко интерпретировать неправильно.

https://drive.google.com/file/d/17tyvxr__8vZ6o995GNq6I5PC5JOiv0ql/view

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5