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

Связь: @devmangx
Download Telegram
Чувак полностью реализовал архитектуру GPT-OSS-20B с нуля на PyTorch. Все компоненты написаны с нуля:

▪️RoPE с YaRN + NTK-by-parts для масштабирования контекста
▪️RMSNorm
▪️SwiGLU с клэмпингом и residual connections
▪️Mixture-of-Experts (MoE)
▪️Self-Attention, оптимизированный через Grouped Query Attention (GQA)
▪️Learned sinks
▪️Banded (скользящее окно) attention
▪️Поддержка KV-кэширования

Всё это работает на одной A100 SXM (80GB). Он также написал подробную документацию с теорией каждого компонента, а также инструкциями по настройке и инференсу.

Репозиторий: https://github.com/HamzaElshafie/gpt-oss-20B

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥6
This media is not supported in your browser
VIEW IN TELEGRAM
Анимация кластеризации KMeans в стиле 3blue1brown

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍124
Hierarchical Navigable Small World (HNSW) — это алгоритм, который делает поиск по векторам быстрым даже на огромных объёмах данных, позволяя искать миллиарды векторов за миллисекунды. Идея его работы довольно элегантная — одно из самых интересных открытий последних лет.

Вот как это устроено:
HNSW строит многоуровневый граф, где каждый верхний слой содержит экспоненциально меньше узлов, чем слой ниже.

▪️Все векторы находятся в нижнем слое (layer 0), который хорошо связан.
▪️В слое 1 появляются только некоторые векторы, ещё меньше — в слое 2 и т.д.
▪️Верхние слои работают как «скоростные трассы», позволяя пропускать большое количество нерелевантных данных.

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

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

Ключевые параметры, влияющие на баланс скорости и качества:

▪️ef — размер кандидатного списка во время поиска
▪️maxConnections — сколько связей может быть у каждого узла
▪️distance — метрика для сравнения векторов (cosine, dot product и др.)

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

Подробно можно почитать здесь

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Kimi K2.5 теперь доступна на GPU-ускоренных эндпойнтах для бесплатного прототипирования, так что можно быстро начать работу с мультимодальной моделью frontier-класса, а не просто читать о ней.

Хотите попробовать? Всё готово: пошаговое руководство, готовый к запуску GitHub-ноутбук и первая инференция за минуты, а не часы.

📖 Подробности в техническом блоге → https://nvda.ws/4ad6EMw

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Сервер для LLM для обратной разработки приложений: GhidraMCP

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Кто-то собрал коллекцию всех production-ready LLM-приложений, которые можно делать в 2026 году.

Называется awesome-llm-apps. Это буквально copy-paste код для RAG, агентов, мультимодальных приложений и AI SaaS-продуктов.

→ Нужен RAG? Копируешь код.
→ Нужны AI-агенты? Копируешь код.
→ Нужны мультимодальные приложения? Копируешь код.

Никаких hello world. Никаких учебных демо для новичков. Только реальные приложения, которые можно деплоить уже сегодня.

100% бесплатно. 100% Open Source.

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥1
Graph-based RAG с двухуровневым поиском.

LightRAG — open-source RAG-фреймворк, который строит графы знаний из документов и использует dual-level retrieval, чтобы отвечать и на точечные, и на концептуальные запросы.

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

LightRAG решает эту проблему, извлекая сущности и связи между ними и формируя структурированный граф знаний.

Он использует LLM, чтобы находить в документах сущности (люди, места, события) и их отношения, а затем собирает полноценный knowledge graph, сохраняющий эти связи.

Фреймворк работает с двухуровневым поиском:

Низкоуровневый поиск нацелен на конкретные сущности и детали, например: Что такое Mechazilla?

Высокоуровневый поиск агрегирует информацию сразу по нескольким сущностям для более общих вопросов
например: Как видение Илона Маска способствует устойчивому развитию?

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

Чем он отличается:

• Индексация на основе графа сохраняет связи между концепциями, а не превращает знания в изолированные куски
• Двухуровневый поиск подходит и для точечных, и для концептуальных запросов
• Автоматическое извлечение сущностей без ручной разметки
• Инкрементальные обновления — новые данные добавляются без полной перестройки графа
• Мультимодальная поддержка через RAG-Anything для PDF, офисных документов, изображений, таблиц и формул

Ключевые возможности:

Визуализация графа знаний через WebUI
Несколько бэкендов хранения (PostgreSQL, Neo4j, MongoDB, Qdrant)
Поддержка основных LLM-провайдеров (OpenAI, Anthropic, Ollama, Azure)
Поддержка reranker’ов для смешанных запросов
Удаление документов с автоматической регенерацией графа знаний

100% open source.

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥2
Нужно найти НОД двух чисел?
Просто сложи их друг на друга, пока дальше уже не получится

Это работает, потому что НОД(a, b) равен НОД(a, b − a).

А “складывание” одной числовой линии на другую это по сути и есть вычисление разницы.

Вторая анимация, начинается с 34 и 55.

Это два соседних числа Фибоначчи, и процесс спускается по всей последовательности Фибоначчи до 1. Красивое доказательство, что соседние числа Фибоначчи взаимно просты.

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
Модель, которая шарит в безопасности : VulnLLM-R-7B

VulnLLM-R-7B это первая специализированная ИИ-модель, которая находит уязвимости, рассуждая как секьюрити-эксперт. Она обучена вылавливать уязвимости до того, как их начнут эксплуатировать

На ключевых бенчмарках обгоняет коммерческие модели (типа Claude-3.7-Sonnet, o3-mini) и стандартные инструменты индустрии (CodeQL, AFL++). Даёт SOTA при всего 7B параметров, то есть примерно в 30 раз меньше и заметно быстрее, чем универсальные reasoning-модели.

Обучена и протестирована на C, C++, Python и Java (zero-shot обобщение).

100% open source.

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Если ты когда-нибудь задумывался, как работают большие языковые модели типа ChatGPT, этот курс для тебя.

Там разбирают подготовку данных, обучение модели и fine-tuning, которые нужны до того, как LLM вообще станет пригодной к использованию.

Пройдешь весь пайплайн обучения: от токенизации сырого текста до дообучения рабочего чатбота.

Начать смотреть

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
Векторный поиск не всегда ответ.

Алгоритм из 90-х, без обучения, без эмбеддингов и без fine-tuning, до сих пор лежит в основе Elasticsearch, OpenSearch и большинства продовых поисковых систем.

Называется он BM25, и стоит понять, почему он никак не вымирает.

Допустим, ты ищешь "transformer attention mechanism" в библиотеке ML-статей.

BM25 считает релевантность документов на трёх базовых идеях:

1. Редкие слова важнее частых

В каждой статье есть "the" и "is", так что такие слова почти ничего не значат.

А вот "transformer" специфичное и информативное, поэтому BM25 даёт ему заметно больший вес. В формуле это отражается через IDF(qᵢ).

2. Повторы помогают, но с убывающей отдачей

Если "attention" встречается в статье 10 раз, это сильный сигнал релевантности. Но рост с 10 до 100 упоминаний почти не меняет итоговый скор.

BM25 использует насыщение (saturation), управляемое f(qᵢ, D) и параметром k₁, чтобы keyword stuffing не мог “накрутить” ранжирование.

3. Длина документа нормализуется

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

BM25 учитывает это через |D|/avgdl, под контролем параметра b, чтобы длинные документы не доминировали в выдаче просто потому, что текста больше.

Три идеи. Ноль нейросетей. Ноль датасетов. Просто аккуратная математика, которая пережила десятилетия.

Вот что многие упускают: BM25 отлично тащит точное совпадение по ключевым словам, а с этим у эмбеддингов реально бывают проблемы.

Когда пользователь ищет "error code 5012", векторный поиск может вернуть семантически похожие коды ошибок. BM25 почти всегда поднимет точное совпадение наверх.

Именно поэтому hybrid search стал дефолтом в топовых RAG-системах.

Комбинация BM25 + векторный поиск даёт и семантику, и точный keyword match в одном пайплайне.

Так что прежде чем кидать GPU в любую задачу поиска, подумай: возможно, BM25 уже решает её. А если нет, то почти наверняка сделает твой семантический поиск заметно лучше в связке.

Этот hybrid search-стек, о котором я говорил выше, на самом деле уже реализован в open-source слое контекстного ретривала для агентов.

GitHub repo: https://github.com/airweave-ai/airweave

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍102
У GitHub Copilot теперь есть система памяти, и инженерная команда написала подробный пост о том, как они её реализовали и как оценивали качество:

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥64
EdgeQuake: высокопроизводительный open-source Graph-RAG фреймворк на Rust

Преобразует документы в “умные” графы знаний для более качественного поиска и генерации.

Классические RAG-системы ищут релевантные куски текста в основном по векторной близости. Для простых запросов это ок, но начинает сыпаться на multi-hop рассуждениях (как X связан с Y через Z?), тематических вопросах (какие основные темы?) и запросах про связи. Проблема в том, что вектора хорошо ловят семантику, но теряют структуру отношений между понятиями.

EdgeQuake решает это, реализуя алгоритм LightRAG на Rust: документы не просто чанкуются и эмбеддятся, их раскладывают в граф знаний из сущностей и связей. На этапе запроса система ходит и по векторному пространству, и по структуре графа, совмещая скорость векторного поиска с “логикой” графового обхода.

Фичи:

Knowledge Graphs: извлечение сущностей и построение связей с помощью LLM даёт структурное понимание документов, а не просто матчинг по ключевым словам
6 режимов запросов: от быстрого наивного векторного поиска до гибридных запросов с обходом графа, под разные типы вопросов
Производительность Rust: async-first архитектура на Tokio и zero-copy операции, тянет тысячи конкурентных запросов
Продвинутая обработка PDF (в планах, скоро) ⚠️: детект таблиц, много-колоночная верстка, OCR с фолбэком режима по качеству
Production ready: OpenAPI 3.0 REST API, SSE-стриминг, health checks, multi-tenant изоляция воркспейсов
Современный фронт: React 19 + интерактивные визуализации графа на Sigma.js


👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8
Основа data science.

Теорема Байеса
→ Спам-фильтры. Медицинская диагностика. Любой кейс, где ты обновляешь вероятность, получив новые данные.

Функция потерь OLS (сумма квадратов ошибок)
→ Линейная регрессия. Прогноз цен на жилье. Минимизируем “насколько мы промахнулись”.

Энтропия
→ Деревья решений. Information gain. Мера того, насколько “перемешаны” классы/данные.

Нормальное распределение
→ A/B-тесты. Доверительные интервалы. Предположение, что большинство значений группируется вокруг среднего.

F1-score
→ Несбалансированные датасеты. Фрод/мошенничество. Когда accuracy врет и дает ложное чувство качества.

Сигмоида
→ Логистическая регрессия. Выходы нейросетей. Превращает любое число в вероятность.

Знай формулу. Знай, когда ее применять.

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥143
Теперь можно гонять модель на 16B параметров на дефолт железе

LLaDA 2.1-mini использует здоровенную Mixture-of-Experts (MoE) архитектуру, но на каждом шаге активирует только 1.4B параметров.

В итоге получаешь мозги большой модели, но по скорости и по VRAM это ближе к маленькой.

→ 16B всего параметров (большая база знаний)
→ 1.4B активных параметров (очень быстрый инференс)
→ 32k контекст (жирный апгрейд для длинных документов)

Высокая производительность. Низкие затраты на вычисления.

100% open source.

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥2
Ого: DeepMind, похоже, решил проблему “бесконечной памяти”

Они выпустили статью про Recursive Language Models (RLM), и это по сути закрывает проблему “гниения контекста”, которая мучает даже самые мощные модели вроде GPT-5.

Вместо попытки “держать в голове” 10 миллионов токенов в одном attention-окне, RLM относятся к промпту как к внешней переменной в Python REPL. Модель не читает текст целиком, она по нему “навигает”.

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

Модель пишет код, чтобы делать grep, нарезать фрагменты и рекурсивно вызывать под-экземпляры самой себя на релевантных кусках данных.

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

Эмерджентное поведение: без специального обучения модели начали использовать regex для фильтрации данных и строить рекурсивные циклы “проверить и исправить”.

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

Результаты (на Multi-Doc Research):

→ GPT-5 Base: 0% (упал/не справился)
→ GPT-5 + RLM: 91%
→ Рассуждение по плотным данным:
→ Base: 0.04%
→ RLM: 58%

Это полный сдвиг от “делаем окна больше” к “делаем навигацию умнее”.

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13
This media is not supported in your browser
VIEW IN TELEGRAM
Чтобы помочь студентам лучше прочувствовать, как работают аналитические доверительные интервалы, парень сделал интерактивный дашборд на Python с matplotlib.

Можно крутить размер выборки (n), среднее по выборке (x̄), выборочное стандартное отклонение (s) и уровень значимости (α) и сразу видеть, как формула обновляется в реальном времени, вместе с распределением неопределённости и соответствующими доверительными интервалами.

Paper: https://arxiv.org/pdf/2601.15892
Code: https://github.com/ByteDance-Seed/Stable-DiffCoder
Model: https://huggingface.co/collections/ByteDance-Seed/stable-diffcoder


👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
5
7 параметров генерации LLM

Max tokens

▪️Верхний лимит на количество токенов, которые модель может сгенерировать.
▪️Пример: max = 15 (token count)
▪️Диапазон значений: от 1 до бесконечности

Temperature

▪️Управляет случайностью в ответе. Чем выше temperature, тем креативнее и разнообразнее выход.
▪️Диапазон значений: от 0 до 2 (типичный диапазон)
▪️Подписи на графике: Regular Distribution / Temperature-adjusted Distribution

Top_p

▪️Управляет тем, какая часть распределения вероятностей учитывается при сэмплинге токенов.
▪️Пример: top_p = 10%
▪️Диапазон значений: от 0 до 1

Top_k

▪️Ограничивает количество самых вероятных токенов, из которых идет выбор.
▪️Пример: top_k = 2
▪️Диапазон значений: от 1 до vocab_size

Frequency penalty

▪️Штрафует повтор токенов по частоте. Положительные значения уменьшают повторы.
▪️Диапазон значений: от -2 до 2

Presence penalty

▪️Подталкивает модель использовать новые токены, которых еще не было в генерации.
▪️Диапазон значений: от -2 до 2

Stop

▪️Список токенов, на которых модель прекращает дальнейшую генерацию.
▪️Диапазон: кастомный список

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1
Исследователи из Tencent, похоже, только что "убили" fine-tuning.

Они сделали метод “без обучения”, который стоит $18 и обгоняет RL-сетки, где на обучение улетает $10k.

Называется “Training-Free GRPO”. Суть в том, что можно получить перфоманс уровня Reinforcement Learning, вообще не обновляя ни одного параметра.

Вместо дорогих градиентных апдейтов модель “учится” через Semantic Advantage: это текстовая память (на естественном языке) о собственных успехах и фейлах.

Без градиентов: модель остается замороженной.
Самокоррекция: анализирует свои rollout’ы и вытаскивает “что сработало” в текстовую библиотеку опыта.
Дикая эффективность: дает результат уровня fine-tune всего на 100 примерах.
Цена: примерно $18 (вместо $10,000+ у классического RL).
По сути это агент, который в реальном времени пишет себе “гайд по прохождению”.

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