Data Portal | DS & ML
8.49K subscribers
333 photos
101 videos
4 files
439 links
Всё самое интересное из мира Data Science и машинного обучения

Связь: @devmangx
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
NN-SVG: рисуйте архитектуры нейросетей параметрически

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

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍4
Найти строки с min/max по другому столбцу в одну строку в Polars v1.37.0

Раньше, чтобы вытащить строку с минимальным или максимальным значением относительно другого столбца, обычно приходилось делать сортировку, groupby или городить фильтры посложнее.

В Polars v1.37.0 завезли методы выражений min_by и max_by. Они находят минимум или максимум по любому столбцу одним понятным выражением.

Обновиться и получить min_by/max_by:
pip install -U polars

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Офлайн-распознавание текста с помощью DeepSeek-OCR AI : https://github.com/th1nhhdk/local_ai_ocr

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
5
Компьютерное зрение сегодня используется во множестве интересных задач, например в помощи с тренировками.

В этом туториале Экемини показывает, как собрать собственного AI-тренера для зала в реальном времени на Vision Agents.

Ты разберешься, как поднять проект и получить API-ключи, как устроен агент, как запустить приложение и что к чему.

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Флоу-генеративные модели, обученные через flow matching, обычно учат изогнутые траектории, и их сложно аппроксимировать за несколько шагов.

Rectified flows пытаются учить прямые траектории, которые проще симулировать и требуют меньше вычислений.

Держи интерактивную статью, где объяснили геометрическую интуицию behind Rectified Flows.

Код тоже здесь можно найти.

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
На r/LocalLLaMA кто-то с нуля натренировал LLM на лондонских текстах 1800–1875

Это забавный глюк данных. Телефон изобрели в 1876, а у модели датасет заканчивается 1875-м. Поэтому если в промпте упомянуть telephone, она вообще не связывает это со связью, а начинает описывать какой-то секретный дипломатический прибор или загадочный механический артефакт, окружённый посольствами, письмами и разрешениями. 😆

Модель и данные:

➡️1.2B параметров
➡️~90GB корпуса
➡️книги, журналы, юридические бумаги
➡️религиозные и медицинские тексты

Токенайзер тут кастомный, обученный на том же датасете, чтобы лексика и разбиение подгонялись под эпоху.
Тренировали примерно 182k шагов на арендованной H100 SXM.

GitHub: здесь
HuggingFace: тут
Reddit: читать

Нам нужно больше такого. Чтобы реально понять конкретный исторический период и культуру, нужно ограничивать данные рамками того времени и того контекста.

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
8😁6
This media is not supported in your browser
VIEW IN TELEGRAM
Как на самом деле работают LLM:

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
15
This media is not supported in your browser
VIEW IN TELEGRAM
Можно файнтюнить 100+ опенсорсных моделей вообще без кода.

LLaMA-Factory даёт единый интерфейс для обучения LLM и VLM. Поддерживает LLaMA, Mistral, Qwen, DeepSeek, Gemma, Phi, Yi и ещё 90+ моделей.

Полностью open source.

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Document Index для vectorless RAG на рассуждениях

PageIndex это опенсорсный RAG-фреймворк, который выкидывает из пайплайна векторные базы и чанкинг при поиске по документам.

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

Но похожесть не равна релевантности.

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

PageIndex делает иначе.

Он строит иерархическое дерево из документа, похоже на оглавление, но заточенное под LLM. А дальше использует tree search на основе рассуждений, чтобы “ходить” по структуре так, как это делает человек-эксперт.

Двухшаговый процесс:

1. Сгенерировать древовидный индекс структуры документа
2. Доставать нужное через reasoning-based tree search

LLM может “думать” про структуру документа. Вместо матчинга эмбеддингов он рассуждает в стиле: “тренды по долгу обычно в финансовом summary или в Appendix G, давай смотреть туда”.

Ключевые фичи:

* Без векторной БД и без пайплайна эмбеддингов
* Без искусственного чанкинга, который рвет контекст по границам
* Трассируемый retrieval с точными ссылками до уровня страниц
* Навигация на рассуждениях, повторяющая человеческий анализ документа

PageIndex используется в Mafin 2.5 и заявляет 98.7% accuracy на FinanceBench для анализа финансовых документов.

И да, это полностью open source.

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥82
Этот репозиторий собирает все, что нужно, чтобы использовать ИИ и LLM в своих проектах.

120+ библиотек, разложенных по этапам разработки:

→ Обучение, дообучение и оценка моделей
→ Деплой приложений с LLM и RAG
→ Быстрый и масштабируемый запуск моделей
→ Извлечение данных, краулеры и скрейперы
→ Создание автономных LLM-агентов
→ Оптимизация промптов и безопасность

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Новый ресерч от Anthropic Fellows: Assistant Axis.

Идея простая. Когда ты общаешься с LLM, ты общаешься не с “голой моделью”, а с персонажем, которого она отыгрывает, условным Assistant. Ребята залезли во внутренности трех open-weights моделей, разметили их “пространство персон” и нашли ось активности, которая как раз и тянет поведение в ассистент сторону.

Дальше проверили экспериментами:

* если “подтолкнуть” модель к Assistant, она хуже берет другие роли и меньше ведется на ролевые промпты
* если “оттолкнуть”, всплывают альтернативные идентичности: “я человек”, мистический театральный стиль и т.п.

Самое практичное: они сделали activation capping, это ограничение активаций вдоль этой оси. В итоге вредных ответов стало меньше, а полезные способности почти не просели.

Еще важный момент: в длинных диалогах у open-weights моделей персона дрейфует. Кодинг-задачи удерживают в “ассистентской зоне”, а терапевтические и философские разговоры постепенно уводят в сторону. Этот дрейф может приводить к опасным фейлам (вплоть до симуляции “влюбленности” и токсичных советов). Кэппинг помогает это приглушить.

Вывод у них такой: “характер” модели это не только как мы его задаем, но и как стабилизируем в проде . Assistant Axis дает для этого понятные ручки.

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
5👀1
This media is not supported in your browser
VIEW IN TELEGRAM
Отличный инструмент, чтобы прикинуть, сколько VRAM твоим LLM реально нужно.

Меняешь конфиг железа, квантизацию и т.д. и сразу видишь:

скорость генерации (tokens/sec)
точное распределение памяти
пропускную способность системы (throughput) и прочее

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8
This media is not supported in your browser
VIEW IN TELEGRAM
Наткнулся на интересный проект: tiny-infini-gram.

Автор сделал training-free языковую модель (без обучения), которая, по его словам, генерит Шекспира в 250 раз быстрее, чем nanoGPT.

Что внутри по идее:

Это “unbounded n-gram” подход: можно использовать очень большие n, не упираясь в экспоненциальную память как у классических n-грамм.

Вместо огромной таблицы n-грамм используется suffix array: получается симулировать n-gram lookup любого размера с логарифмическим временем доступа.

Ранее такие штуки почти не применяли для генерации, потому что семплинг ломался: бесконечная perplexity и частое verbatim copying.

Автор утверждает, что решил это новым методом Selective Back-off Interpolation Sampling: смешивает распределения вероятностей с нескольких уровней n-грамм, чтобы держать баланс качества и новизны.

Если любишь нестандартные LM-подходы и “быстро, просто, без тренировки” — стоит глянуть разбор и код.

Ссылка на подробный write-up

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Теперь можно гонять 70B LLM на видеокарте с 4GB VRAM.

AirLLM сделал огромные модели реально юзабельными на железе с маленькой памятью.

Что произошло

AirLLM выпустили memory-оптимизированный инференс для больших LLM.
Он запускает 70B модели на 4GB VRAM.
И даже умеет крутить 405B Llama 3.1 на 8GB VRAM.

Как это работает

AirLLM грузит модель послойно, а не целиком:

→ загрузил слой
→ посчитал
→ освободил память
→ загрузил следующий слой

За счет этого расход GPU-памяти держится очень низким.

Ключевые детали
• По умолчанию квантование не требуется
• Опционально: 4-бит или 8-бит сжатие весов
• API такой же, как у Hugging Face Transformers
• Поддерживает инференс на CPU и GPU
• Работает на Linux и macOS (Apple Silicon)

Что с этим можно делать

• Запускать Llama / Qwen / Mistral / Mixtral локально
• Тестить большие модели без облачных GPU
• Быстро прототипить агентов на дешевом железе

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6
Нашел нормальный вариант, если хочешь зайти в data science системно, а не прыгать между “кучей теории” и “вот тебе готовый проект, разбирайся сам”. Microsoft выложили open-source курс Data Science for Beginners: 10 недель, 20 уроков, старт с нуля.

Формат реально удобный: в каждом уроке есть мини-квиз, разбор темы, практический проект и домашка, то есть учишься руками. По программе проходят базу data science, обработку данных, визуализацию, методы анализа и даже облачную практику. Отдельно есть блоки про data ethics и работу с реляционными/нереляционными БД, плюс примеры от “hello world” до полного пайплайна с комментариями.

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
9🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Новый поворот в RAG: ребята собрали подход, который вообще не использует ни vector DB, ни эмбеддинги, ни чанкинг, ни поиск по сходству. Вместо этого он строит из документа иерархическое дерево, по сути умное оглавление (PageIndex), и дальше модель не “ищет похожий текст”, а рассуждает, где эксперт реально бы искал ответ по структуре.

Это решает классическую боль: семантическая похожесть часто не равна релевантности, а важная цифра может быть спрятана в Appendix или попасться только через внутреннюю ссылку типа “см. Table 5.3”. У PageIndex retrieval трассируемый: видно, почему выбран конкретный раздел, и можно нормально ходить по ссылкам внутри дока.

На FinanceBench они заявляют 98,7% точности (SOTA) и заметный отрыв от векторного RAG на сложных финансовых документах. Все в open-source, можно залезть в GitHub и потестить на своих PDF.

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥75
Базовые алгоритмы машинного обучения

1. Linear Regression (линейная регрессия)
Предсказывает число по линейной зависимости (пример: цена квартиры).

2. Logistic Regression (логистическая регрессия)
Классификация, обычно 0/1 (спам/не спам), выдает вероятность.

3. Decision Tree (дерево решений)
Правила вида “если-то”, удобно объяснять, но легко переобучается.

4. SVM (метод опорных векторов)
Ищет границу между классами с максимальным зазором; хорошо на средних данных.

5. KNN (k ближайших соседей)
Смотрит на ближайшие точки и голосует; простой, но тормозит на больших датасетах.

6. Dimensionality Reduction (снижение размерности, чаще PCA/UMAP/t-SNE)
Сжимает признаки, чтобы упростить данные/визуализацию/шум убрать.

7. Random Forest (случайный лес)
Много деревьев + усреднение/голосование; часто сильный “из коробки”.

8. K-means
Кластеризация без разметки: делит точки на k групп.

9. Naive Bayes (наивный Байес)
Быстрый вероятностный классификатор, часто хорош для текста.

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
15🔥6👍3
Подробный гайд: как сделать персонализированный поиск, используя только Postgres

Фаза подготовки данных:

1. Генерируем эмбеддинги фильмов для векторного поиска и создаём BM25-индекс для полнотекстового поиска.
2. Генерируем эмбеддинги предпочтений пользователя на основе того, что он смотрел и что лайкал или дизлайкал раньше.

Фаза поиска:

1. Достаём топ-100 фильмов по BM25-ранжированию.
2. Нормализуем BM25-скоры в диапазон 0–1.
3. Делаем персонализированный поиск: сравниваем эмбеддинги фильмов с эмбеддингом предпочтений пользователя.
4. Смешиваем сигналы: 50% за совпадение по тексту (релевантность) и 50% за совпадение по пользователю (персонализация).

Полный гайд тут

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍1
8 самых показательных VLA (Vision-Language-Action) моделей:

▪️Gemini Robotics
▪️π0
▪️SmolVLA
▪️Helix
▪️ChatVLA-2 (архитектура MoE)
▪️ACoT-VLA (Action Chain-of-Thought, цепочка рассуждений для действий)
▪️VLA-0
▪️Rho-alpha (ρα) новый VLA+ модель от Microsoft

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
1
This media is not supported in your browser
VIEW IN TELEGRAM
Vector Index vs Vector Database, простым языком

Разрабы часто используют эти термины как синонимы.

Но если не понимать разницу, потом это вылезает в проблемы на проде.

Как думать об этом:

Vector index это по сути алгоритм поиска.

Ты кормишь его векторами, он организует их в структуру, по которой можно быстро искать похожие (например, HNSW), и находит nearest neighbors. FAISS это тоже пример.

Но нюанс в том, что это и все.

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

Vector DB это обертка вокруг индекса, плюс все, что реально нужно в проде.

Туда входят распределенное хранилище, persistence, фильтрация по метаданным, конкурентный доступ и прочее. Хороший опенсорсный пример: Milvus.

Из этого видно: одно это компонент, другое это система.

Почему это важно:

Однажды компания с автопилотами строила поиск по дорожным видео, и масштабы были огромные.

Каждая поездка генерила кадры, каждый кадр превращался в embedding.

Инженерам нужно было спрашивать что-то вроде “ночные перекрестки с пешеходами” по данным за месяцы.

Сначала FAISS выглядел идеально: быстрый, легкий, легко поднять.

Но по мере роста данных embeddings каждого дня стали отдельным index-файлом.

Через пару месяцев у них было сотни тысяч разрозненных файлов.

Поиск по нескольким дням означал долбиться сразу в тонну файлов.

Сложные запросы потребовали самописных DB, query planner’ов и фильтрации, построенных вокруг FAISS.

В итоге у них оказались миллиарды векторов и никакого понятного пути дальше.

Вот где и нужны vector DB. Компания мигрировала на Milvus, и разница стала очевидной:

↳ один запрос: similarity + фильтры по метаданным
↳ данные в коллекциях и партициях, а не раскиданы по файлам
↳ десятки миллиардов векторов, год в проде, без крупных инцидентов
↳ минус 30% к инфраструктурным затратам
↳ 10x запас по масштабированию

И это не уникальная история.

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

Vector DB существует ровно для этого момента.

Milvus выделяется тем, что хорошо держит масштаб и разные типы данных.

Можно хранить миллиарды векторов, горизонтально масштабироваться и делать специализированные индексы, например для геоданных свой оптимизированный индекс, а не “один общий на все”.

Он полностью open-source (41k+ звезд), можно self-host, можно взять их cloud.

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
5
Пожизненная память для агентов LLM: SimpleMem

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4