fa
Feedback
Data Portal | DS & ML

Data Portal | DS & ML

رفتن به کانال در Telegram

Всё самое интересное из мира Data Science и машинного обучения Связь: @devmangx

نمایش بیشتر
8 400
مشترکین
-324 ساعت
-207 روز
-930 روز
آرشیو پست ها
Вышла Graph of Thoughts — библиотека, которая ломает линейное мышление LLM LLM-рассуждения больше не обязаны быть одной длинн
Вышла Graph of Thoughts — библиотека, которая ломает линейное мышление LLM LLM-рассуждения больше не обязаны быть одной длинной цепочкой. Graph of Thoughts (GoT) — это официальная Python-реализация одноимённой статьи. Она позволяет строить графы операций и прогонять их через LLM вместо скучного последовательного промптинга. Как работает: ты описываешь проблему как граф. Контроллер выполняет этот граф, используя LLM как движок. Можно моделировать не только GoT, но и Chain-of-Thought, Tree-of-Thought и любые гибриды. В коробке: - pip install graph_of_thoughts — и готово - Примеры: сортировка, подсчёт ключевых слов, пересечение множеств, слияние документов - Контроллер выводит полную трассировку: операции, мысли, оценки, валидность, потраченные токены и стоимость Исходники открыты под BSD-лицензией. https://github.com/spcl/graph-of-thoughts 👉 @DataSciencegx

Бэкенд-инженерия — скрытый мотор масштабируемого AI. Если ты ML-инженер, копай глубже:
gRPC и Protobuf — низколатентная передача данных
AsyncIO и event loop — неблокирующая конкуренция
Connection pooling — эффективность работы с БД
Kafka и CDC — потоковый приём данных в реальном времени
Backpressure handling — выживание при всплесках инференса
Redis pipelining — батчинг фичей
Векторные индексы — HNSW / IVF в Qdrant
Графовые обходы — Cypher в Memgraph
Семантический кэш — экономия GPU
Распределённые блокировки — защита от гонок
Rate limiting — token bucket для LLM
Идемпотентность — безопасные ретраи
Шардирование БД — горизонтальное масштабирование состояния
OpenTelemetry — трассировка запросов
Архитектура важнее алгоритмов 👉 @DataSciencegx

Тензоры повсюду в AI. Изображения — это тензоры. Аудио хранится как тензоры. Эмбеддинги — тензоры. Весы моделей — тензоры. В
Тензоры повсюду в AI. Изображения — это тензоры. Аудио хранится как тензоры. Эмбеддинги — тензоры. Весы моделей — тензоры. В машинном обучении слово “тензор” обычно означает многомерный массив чисел. Скаляр имеет форму: () Вектор: (n,) Матрица: (m, n) Батч изображений: (batch, height, width, channels) Активности языковой модели: (batch, sequence length, hidden dimension) Это практическое определение, которое используют PyTorch, TensorFlow и JAX. Оно описывает, как устроены числа и как с ними работают. В математике и физике смысл другой. Тензор определяется тем, как он преобразуется. Выбираешь систему координат — и тензор можно записать как набор чисел. Меняешь координаты — числа меняются. Но они должны меняться по строгому правилу, чтобы объект оставался тем же самым. Вектор — самый простой пример. Он может описывать скорость. Повернул систему координат — компоненты изменились. Сама скорость не изменилась. Изменилась запись. Не объект. Тензоры обобщают это на более сложные случаи. Тензор напряжений описывает внутренние силы в зависимости от ориентации поверхности через точку. Тензор жёсткости (4-го порядка) связывает деформацию и напряжение. Тензор податливости делает обратное — напряжение в деформацию. Эти объекты должны оставаться корректными при любом выборе системы координат. Поэтому утверждение “тензор — это просто многомерный массив” полезно в программировании, но неполное в математике. Массив — это представление. Тензор — это объект. Ещё одно различие важно. Порядок тензора — это число индексов: → скаляр: порядок 0 → вектор: порядок 1 → тензор 2-го порядка: порядок 2 → пьезоэлектрический тензор: порядок 3 → тензор жёсткости: порядок 4 Порядок — это не матричный ранг. И тензорный ранг разложения — это вообще другое понятие. Одно слово. Разные смыслы. В AI нас обычно интересует: → форма → оси → broadcasting → матричные умножения → свёртки → расположение в памяти В математике и физике добавляется: → смена базиса → ковариантные и контравариантные индексы → законы преобразования → независимость от координат Обе интерпретации корректны. Они просто отвечают на разные вопросы. В вычислениях спрашивают: “Как расположены числа?” В математике: “Что именно эти числа описывают и как они должны меняться при смене координат?” Это самый чистый способ понять тензоры: → в софте это обычно многомерный массив → в математике это объект, не зависящий от системы координат 👉 @DataSciencegx

Multi-agent RL красиво именно в тот момент, когда оно начинает сходиться. 👉 @DataSciencegx

Локальное AI-железо = ёмкость памяти × пропускная способность × софт-стек. * Capacity — что вообще помещается в память * Band
Локальное AI-железо = ёмкость памяти × пропускная способность × софт-стек. * Capacity — что вообще помещается в память * Bandwidth — как быстро железо гоняет данные * Software stack — сколько из заявленных характеристик реально превращается в скорость Железо по пропускной способности памяти
* Mac Studio M3 Ultra: до 512GB @ 819 GB/s * RTX PRO 6000 Blackwell: 96GB @ 1792 GB/s * RTX 5090: 32GB @ 1792 GB/s * RTX 4090: 24GB @ 1008 GB/s * RX 7900 XTX: 24GB @ 960 GB/s * Radeon PRO W7900: 48GB @ 864 GB/s * AMD Radeon AI PRO R9700: 32GB @ 640 GB/s * Intel Arc Pro B65: 32GB @ ~608 GB/s * Tenstorrent Wormhole n300: 24GB @ 576 GB/s * Tenstorrent Blackhole p150: 32GB @ 512 GB/s + 800G * MacBook Pro M5 Max: 460–614 GB/s * MacBook Pro M5 Pro: 307 GB/s * DGX Spark: 128GB @ 273 GB/s (coherent + CUDA) * Mac mini M4 Pro: 273 GB/s * Ryzen AI Max / Strix Halo: ~256 GB/s (~96GB GPU) * MacBook Air M5: 153 GB/s * Snapdragon X2 Elite: 152–228 GB/s * Intel Lunar Lake: 136 GB/s * Snapdragon X Elite: 135 GB/s * Mac mini M4: 120 GB/s * Arc Pro B60: 24GB @ ~456 GB/s
Выводы: * GPU всё ещё держат максимум по пропускной способности * Apple выигрывает по объёму памяти в одном узле * Apple проигрывает там, где важнее токены/сек и параллелизм * DGX Spark — связка когерентной памяти и NVIDIA-стека * Strix Halo / Ryzen AI Max — первый заметный x86 с unified memory * Tenstorrent — полностью open-source стек, интересно куда дойдёт Важный момент.Если модель “влезает” — это ещё ничего не значит. Дальше начинают решать: * пропускная способность на декоде * рост KV-cache * квантизация и её цена * батчинг и конкуренция запросов * качество планировщика * накладные расходы фреймворков Простая модель выбора 1. Что должно поместиться в память 2. Какой нужен уровень bandwidth 3. Какой стек реально даст нужную скорость Итоговый вопрос всегда один: что именно ты покупаешь — ёмкость или скорость. https://x.com/TheAhmadOsman/status/2041331757329285589 👉 @DataSciencegx

Для тех, кто тонет в потоке информации, есть Horizon — open-source система, похожая на радар, который тихо сканирует зарубежн
Для тех, кто тонет в потоке информации, есть Horizon — open-source система, похожая на радар, который тихо сканирует зарубежный техмир и приносит только то, что стоит внимания. Он собирает новости и обсуждения из Hacker News, Twitter, Reddit и GitHub. Затем пропускает всё через AI: убирает шум, сводит дубли и оставляет выжимку в виде ежедневного отчёта. Внутри всё устроено просто AI оценивает каждую находку и отсеивает слабое ещё до того, как она попадёт в ленту. Reddit и Hacker News разбираются отдельно, чтобы не смешивать поток и живые обсуждения. Новые компании и инструменты получают краткий контекст — чтобы не выглядеть пустым названием в списке. Один инфоповод фиксируется один раз, без повторов из разных источников. Сводки идут на двух языках и могут уходить в Feishu, почту или WeChat. Это система не про новости. Скорее про тишину среди новостей. https://github.com/Thysrael/Horizon 👉 @DataSciencegx

RAG даёт LLM доступ к вашим данным. Agentic RAG добавляет способность принимать решения о том, что с этими данными делать. Ра
RAG даёт LLM доступ к вашим данным. Agentic RAG добавляет способность принимать решения о том, что с этими данными делать. Разница особенно заметна в ситуациях с неопределённостью. Классический RAG работает по фиксированному пайплайну: → Кодирует запрос → Ищет похожие данные в векторной базе → Извлекает релевантные документы → Генерирует ответ Такой подход хорошо работает, когда запрос сформулирован корректно, а нужный контекст уже находится в доступных источниках. Agentic RAG добавляет слой рассуждений практически на каждом этапе: → Переформулирует запрос перед поиском → Оценивает, достаточно ли найденных данных → Выбирает источник информации (векторная БД, API, веб-поиск и т.д.) → Проверяет качество и релевантность ответа перед выдачей Если на любом этапе результат оказывается неудовлетворительным, система может вернуться назад и повторить поиск или изменить стратегию. Именно этот цикл обратной связи делает Agentic RAG качественно другим подходом, а не просто улучшенной версией обычного RAG. Стандартный RAG не понимает, что сейчас может выдать плохой ответ. Agentic RAG хотя бы способен задать себе этот вопрос. #agenticai #rag #agenticrag #aiengineering 👉 @DataSciencegx

Если работаешь с Codex 5.5 и заметил, что качество ответов ушло в регрессию.. то лови несколько приёмов, которые помогают пол
Если работаешь с Codex 5.5 и заметил, что качество ответов ушло в регрессию.. то лови несколько приёмов, которые помогают получать хорошие результаты почти в любом случае. • Используй /goals для явной постановки целей и этапов работы. • Подключай скилл Krypton. Многие разработчики называют его одним из самых полезных дополнений для Codex. • Для планирования ставь уровень рассуждений XHigh, а для реализации — High. Обычно это даёт лучший баланс между качеством и скоростью. • Активнее используй Computer Use и Browser Use. Эти инструменты позволяют Codex работать с интерфейсами, сайтами и реальными рабочими процессами значительно эффективнее. Дополнительно: • Попробуй ChatGPT Pro 5.6, который сейчас проходит скрытое тестирование у части пользователей. • Подключи GitHub-репозиторий через веб-интерфейс. • Используй Pro-модель для ревью кода, тестирования, проектирования и планирования задач. Это самая мощная модель в мире. Используйте её на полную. 👉 @DataSciencegx

Netflix открыл исходный код внутреннего инструмента под названием Headroom. Если коротко: перед тем как отправить данные в LLM, он сжимает их и позволяет сократить расход токенов на 60–95%. Самое интересное — сжатие не приводит к потере точности. Headroom использует обратимое (reversible) сжатие, поэтому данные можно восстановить в исходном виде бит в бит. Никакой потери информации, ни одного пропавшего символа. Каждый, кто пишет код, наверняка сталкивался с этим: длинные логи, большие фрагменты текста из RAG, несколько файлов в контексте одновременно. Всё это быстро съедает контекстное окно и увеличивает расход токенов при каждом запросе к модели. Headroom создан именно для таких сценариев. Он уменьшает объём данных перед отправкой в модель, сохраняя возможность полностью восстановить исходное содержимое без каких-либо потерь. Ещё несколько практичных моментов: * В Headroom есть шесть алгоритмов сжатия, каждый рассчитан на свой тип данных. Для кода, логов и обычного текста используются разные методы. * Поддерживаются популярные AI-инструменты для разработки: Claude Code, Codex, Cursor, Aider и Copilot CLI. * Всё работает локально. Данные не покидают устройство. Проект распространяется по лицензии Apache 2.0 и подходит для коммерческого использования. Интеграция тоже довольно простая. На выбор доступны три варианта: * библиотека (library); * агент (agent); * MCP-сервер. Особенно полезным Headroom выглядит для долгоживущих агентных сессий и крупных кодовых баз, где в контекст постоянно попадают большие объёмы данных. В таких сценариях экономия токенов может оказаться весьма заметной и существенно снизить расходы на использование моделей. https://github.com/chopratejas/headroom 👉 @DataSciencegx

Может ли VLM видеть без vision encoder? Мы обучили такую модель всего за $100, вдохновившись Gemma 4 12B. Задержка на M3 Pro MacBook: 112 мс → 1,1 мс для обработки изображения на 30% ниже сквозная задержка для пайплайна изображение + LLM Архитектура предельно простая: patchify изображения → линейная проекция с позиционными эмбеддингами → LLM Подробности: https://huggingface.co/spaces/HuggingFaceM4/encoder-free-vlm 👉 @DataSciencegx

🔥VPS + ISPmanager со скидкой до 100% на Waicore Запускаете сайты на VPS? Сейчас самое время попробовать ISPmanager практически бесплатно. Наши акции: — 100% скидка на первый месяц лицензии ISPmanager при заказе VPS из категории «Веб-хостинг» — Скидка 60% на лицензии ISPmanager при отдельной покупке Также доступны: 🛡 SSL-сертификаты 🛡 BitNinja для защиты серверов от атак, спама и вредоносного ПО. Получаете готовый VPS с установленной панелью управления и можете сразу приступать к работе с сайтами, почтой, базами данных и другими сервисами. ⚡️Акция действует месяц. Подробнее на сайте WAICORE.

От Jupyter Notebook → к production AI-системе. Изучение API — это мост между ними. Очень рекомендую этот бесплатный плейлист
От Jupyter Notebook → к production AI-системе. Изучение API — это мост между ними. Очень рекомендую этот бесплатный плейлист по backend-разработке для ML-инженеров. https://www.youtube.com/playlist?list=PL_c9BZzLwBRIHUNeoywVJXViXGEsk6PDr 👉 @DataSciencegx

HarnessX: обвязка (harness), которая компилирует сама себя. До сих пор все улучшения harness-систем делались вручную — разраб
HarnessX: обвязка (harness), которая компилирует сама себя. До сих пор все улучшения harness-систем делались вручную — разработчик сам вносил изменения в код. Anthropic убирает этапы планирования из Claude Code, когда выходит более мощная модель. Manus за шесть месяцев пять раз перестраивал своего агента, каждый раз сокращая сложность. Вся эта работа держится на человеческом понимании того, что именно нужно менять и когда. HarnessX показывает, что происходит, когда система начинает вносить такие изменения самостоятельно. Ключевая идея — рассматривать harness как объект первого класса, так же как сегодня рассматриваются веса модели. Когда harness становится типизированным и редактируемым артефактом, его можно оптимизировать на основе собственных трассировок выполнения. Авторы используют концепцию «операционного зеркала». Эволюция harness естественным образом отображается на обучение с подкреплением. Harness выступает состоянием. Изменение — действием. Трассировка вместе с оценкой — обратной связью. Новая версия — обновлением. Если посмотреть на это под таким углом, сразу появляются знакомые режимы отказа: reward hacking, catastrophic forgetting, недостаточное исследование пространства решений. Те же проблемы, которые ломают обучение моделей, возникают и тогда, когда система начинает редактировать собственную инфраструктуру. Поэтому изменения никогда не применяются вслепую. На каждом цикле система анализирует трассировки, планирует изменение, вносит правку, а затем проводит её критический разбор. Новая версия принимается только в том случае, если проходит проверку и показывает лучшие результаты на задачах, которых раньше не видела. Безопасность обеспечивается архитектурой. Harness собирается из типизированных компонентов, которые можно заменять независимо, не ломая остальную систему. Именно это здесь означает слово «компилирует». Каждый кандидат на новую версию harness проходит проверку типов перед запуском. Самый интересный результат: слабейшая модель получила наибольший прирост качества. Самая сильная изменилась минимально. Эволюционирующий harness закрывает те пробелы, которые слабая модель не способна компенсировать самостоятельно. Веса модели остаются прежними. Умнее становится среда, в которой она работает. Это следующий логичный этап развития agent harness engineering. Сначала мы оптимизировали веса моделей, затем контекст, затем вручную собранные harness-системы. Harness оставался последним элементом, который всё ещё настраивался вручную. Статья: HarnessX: A Composable, Adaptive, and Evolvable Agent Harness Foundry 👉 @DataSciencegx

🔥 Okko Analysts’ One Day Offer* — твой шанс получить оффер в команду аналитиков Okko
Okko запускает One Day Offer для продуктовых и дата-аналитиков уровня middle+ и senior. Это возможность пройти отбор, познакомиться с командами и побороться за оффер в аналитику одного из крупнейших стриминговых сервисов
⚡️Мы ждем тебя, если ты: • Продуктовый аналитик или дата-аналитик • Специалист уровня middle+ или senior • Уверенно знаешь SQL, Python, работаешь с BI-инструментами • Разбираешься в статистике, работал с продуктовыми метриками и проводил A/B-тесты (для некоторых команд опыт с A/B-тестированием не обязателен) • Имеешь опыт в аналитике от 2 лет 👋 Нанимаем сразу в пять команд: growth аналитика, продуктовая аналитика, прикладные исследования, аналитика бизнеса, аналитика контента. Почему Okko? • Напрямую влияем на изменения в продукте для счастья миллионов зрителей • Работаем в удобном формате — в наших классных офисах, гибрид или удаленно • Заботимся о здоровье — ДМС со стоматологией • Ценим инициативу и проактивную аналитику Если хочешь делать аналитику, которая реально влияет на развитие стриминга, выполни 4 шага: 1️⃣ Подай заявку 2️⃣ Ответь на вопросы по аналитике и опыту на коротком звонке 3️⃣ Пройди интервью с HR и лидами команд, разбери кейс и технические задачи 4️⃣ Прими участие в финале Подробнее об условиях, этапах интервью и возможностях работы в Okko — на сайте. *Okko Analysts’ One Day Offer — формат быстрого найма для аналитиков от Okko. 📌 Регистрация уже открыта. Подай заявку до 28 июня 23:59 МСК по ссылке. #реклама О рекламодателе

+1
Кто-то переписал privacy filter от OpenAI на чистом C++. Проект называется privacy-filter.cpp и построен на ggml: https://github.com/localai-org/privacy-filter.cpp Это NER-фильтр, который умеет находить в тексте персональные данные: имена, email, телефоны, адреса и другую чувствительную информацию перед отправкой в LLM. Из интересного по производительности: • privacy-filter.cpp работает примерно в 1.6–18 раз быстрее реализации на PyTorch; • на контексте около 130 тысяч токенов реализация через Hugging Face на видеокарте с 16 ГБ памяти упирается в OOM; • privacy-filter.cpp в тех же тестах не превышает 3 ГБ VRAM. В LocalAI уже планируют использовать его как часть PII-фильтрации. По словам разработчиков, это временное решение, пока аналогичная поддержка не появится в llama.cpp. Хороший пример того, как инфраструктурные инструменты для локального ИИ постепенно становятся легче, быстрее и менее зависимыми от Python-стека. 👉 @DataSciencegx

Рады отметить отличную модель от сообщества разработчиков: Qwen3.6-27B-MTP-pi-reasoning-GGUF. Модель построена на базе Qwen3.6-27B и ориентирована на задачи автоматизированного программирования и отладки в локальных AI-агентах для разработки. Если вы экспериментируете с локальными AI-ассистентами для написания кода, рекомендуем протестировать эту модель в своей среде и оценить её в реальных сценариях работы. https://huggingface.co/bytkim/Qwen3.6-27B-MTP-pi-tune-GGUF 👉 @DataSciencegx

Нашёл хороший репозиторий для тех, кто хочет руками собрать GPT-подобную LLM на PyTorch. LLMs from scratch — 10 ноутбуков с пошаговыми объяснениями. GitHub: https://github.com/analyticalrohit/llms-from-scratch Внутри архитектуру LLM разбирают на простые части: • токенизация • embeddings • attention • transformer blocks • обучение • генерация текста Подходит для новичков, потому что всё объясняется по шагам и сразу через код. Хороший вариант, если хочется понять, как GPT-подобные модели работают под капотом, а не просто пользоваться готовыми API. 👉 @DataSciencegx

Attention — одна из ключевых идей, на которых держатся трансформеры и современные LLM. Попробуем собрать её с нуля, по шагам.
Attention — одна из ключевых идей, на которых держатся трансформеры и современные LLM. Попробуем собрать её с нуля, по шагам. Self-Attention Self-attention помогает модели понять, как слова связаны друг с другом внутри предложения. Модель не обрабатывает каждое слово отдельно. Каждый токен может “посмотреть” на другие токены и решить, какие из них сейчас важнее. Возьмём предложение:
Every moment is a beginning.
Чтобы понять слово beginning, модель может сильнее обратить внимание на moment и Every. Так появляется контекст: каждый момент может быть новым началом. Query, Key, Value Каждый токен создаёт три вектора: Query (Q) — что я ищу? Key (K) — какая информация во мне есть? Value (V) — какую информацию я передам, если окажусь полезным? Грубо говоря: Query одного токена сравнивается с Key других токенов. Чем лучше совпадение, тем больше внимания получает соответствующий Value. Causal Self-Attention В обычном self-attention токен может смотреть на все токены в последовательности. Но языковые модели генерируют текст по одному токену. Значит, при предсказании следующего токена они не должны видеть будущее. Например, если модель предсказывает:
Every moment is → a
она не должна заранее видеть слово beginning. Для этого используется causal mask Маска блокирует доступ к будущим токенам: • токен 1 видит только себя • токен 2 видит токены 1 и 2 • токен 3 видит токены 1, 2 и 3 • и так далее Так модель предсказывает следующий токен только по прошлому и текущему контексту. Без подглядывания вперёд. 👉 @DataSciencegx

Если следишь за AI-агентами для научных исследований, самая сложная часть — не найти одну хорошую статью, а разобраться во вс
Если следишь за AI-агентами для научных исследований, самая сложная часть — не найти одну хорошую статью, а разобраться во всей экосистеме. Awesome AI Auto-Research — это curated-репозиторий на GitHub для исследователей и разработчиков, которые изучают применение AI в научной работе. Проект помогает ориентироваться в этой области, раскладывая статьи и инструменты по этапам исследовательского процесса: от генерации идей и обзора литературы до экспериментов, написания статьи, рецензирования и публикации результатов. Что внутри: • Карта жизненного цикла — auto-research разбит на 4 фазы и 8 этапов. • Каталог статей — для каждого инструмента указаны статья, площадка публикации, сайт и GitHub-репозиторий. • Этап создания исследований — идеи, поиск литературы, программирование, эксперименты, таблицы и визуализации. • Этап проверки качества — peer review, ответы рецензентам, доработка работ, вопросы качества, предвзятости и регулирования. • Раздел систем — отдельно выделены end-to-end системы, специализированные решения по доменам, самоулучшающиеся системы и инфраструктурные проекты. Репозиторий распространяется по лицензии MIT и выглядит как неплохая отправная точка для тех, кто хочет понять весь пайплайн AI-assisted research, а не только отдельные модели или статьи. https://github.com/worldbench/awesome-ai-auto-research 👉 @DataSciencegx

Исследователи показали, что Claude Code на 98% состоит вовсе не из AI. Anthropic никогда не раскрывала архитектуру Claude Cod
Исследователи показали, что Claude Code на 98% состоит вовсе не из AI. Anthropic никогда не раскрывала архитектуру Claude Code. Не было ни документации, ни технических разборов. Только инструмент, которым сейчас одержима половина индустрии. Пока недавно не произошла утечка. Команда исследователей проанализировала исходный код объёмом около 500 000 строк и обнаружила любопытную деталь: Лишь 1,6% кодовой базы напрямую взаимодействует с моделью. Ядро Claude Code — по сути обычный цикл: спросить модель, что делать дальше → вызвать инструмент → повторить. Тогда что занимает остальные 98,4%? Классическая инженерия. Исследователи нашли огромный слой инфраструктуры, задача которого — контролировать модель и не давать ей ошибаться, терять контекст или выполнять опасные действия. Среди компонентов: * 7 режимов системы разрешений, которые фильтруют действия агента. * 5-уровневый пайплайн сжатия контекста, чтобы модель не забывала цель задачи. * Механизм делегирования подагентам с жёсткой изоляцией рабочих деревьев. * Четыре расширяемых слоя для безопасной интеграции внешних инструментов. Сейчас многие стартапы пытаются получить лучшие результаты, создавая более мощные модели. Подход Anthropic оказался другим. Вместо того чтобы делать модель умнее, они построили вокруг неё массивную детерминированную инфраструктуру. Похоже, главный вывод здесь такой: качество агентных систем всё чаще определяется не самой моделью, а тем, насколько хорошо организована среда вокруг неё. https://arxiv.org/pdf/2604.14228 👉 @DataSciencegx