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

Связь: @devmangx
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Дообучение DeepSeek-OCR под свой язык (100% локально)

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

DeepSeek-OCR использует оптическое сжатие контекста, чтобы преобразовать 2D-разметку в визуальные токены, что позволяет эффективно обрабатывать сложные документы.

Это визуальная модель на 3 млрд параметров, которая достигает точности 97% при использовании в 10 раз меньшего числа визуальных токенов по сравнению с текстовыми языковыми моделями.

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

Акшай использовал Unsloth для эксперимента на персидском тексте и получил улучшение по метрике CER на 88.26%.

↳ Базовая модель: 149% CER
↳ Дообученная модель: 60% CER (на 57% точнее)
↳ Время обучения: 60 шагов на одной видеокарте

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

Полный гайд со всем кодом, ноутбуками и настройкой окружения можно найти тут. 🔮

Всё полностью с открытым исходным кодом.

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Стэнфорд показал, что Claude, GPT и Gemini задействуют только долю доступного креативного потенциала.

Всего один промпт позволяет разблокировать более сильную версию ЛЛМки.

Когда ты задаёшь вопрос, модель просчитывает множество вариантов ответа.

Среди них есть сильные, странные и прорывные.

Но почти никогда их не отдаёт. Из-за обучения через человеческую обратную связь возникает эффект «схлопывания мод».

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

Исследователи описали способ обойти этот фильтр. Метод называется Verbalized Sampling.

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

Модель начинает исследовать «хвосты распределения». Вместо 99% предсказуемых ответов появляются менее вероятные, но более сильные варианты.

В тестах этот приём увеличивал разнообразие и креативность до 2.1 раза на топовых моделях.

При этом без потери точности и безопасности. 🤖

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
9
Теперь можно искать по PDF на 500 страниц без чанкинга и без векторизации.

Андрей Карпати недавно озвучил идею:

что если база знаний работает как вики, а не как векторная база?

OpenKB — open-source CLI, построенный вокруг этой концепции.

Он компилирует сырые документы в структурированную связанную вики-систему с помощью LLM.

Знания накапливаются, а не пересобираются при каждом запросе.

В классическом RAG контекст каждый раз восстанавливается заново. Здесь модель опирается на уже построенную структуру.

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

Что получается на выходе:

> авто-суммаризация и страницы концептов
> кросс-ссылки между документами
> детект противоречий и пробелов
> режим наблюдения за изменениями
> markdown, совместимый с Obsidian

Поддерживаются PDF, Word, PowerPoint, Excel, HTML и изображения.

Таблицы и фигуры извлекаются нативно.

Один новый файл может автоматически обновить до 15 страниц в вики.

База знаний начинает сохранять то, что уже было выучено.

https://github.com/VectifyAI/OpenKB

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
5
Эта книга на 115 страниц раскрывает секреты дообучения больших языковых моделей.

Подробное руководство, которое покрывает:

> процесс дообучения больших языковых моделей
> сочетание теории и практики

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
4
MIT собрал 7 часов материала, где есть всё, что нужно знать про генеративный ИИ бесплатно.

Стабильная диффузия и ДАЛЛ·Е
Нейросети
Обучение с учителем
Представление и обучение без учителя
Обучение с подкреплением
Генеративный ИИ
Самоконтролируемое обучение
Фундаментальные модели
Состязательные сети (GAN)
Контрастивное обучение
Автоэнкодеры
Удаление шума и диффузионные модели

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
5
Эта книга на 185 страниц раскрывает основы глубокого обучения.

Основы

> базовые принципы машинного обучения
> вычислительная эффективность
> методики обучения

Глубокие модели

> функции активации
> пулинг
> дропаут
> нормализация
> внимание

Архитектуры

> многослойные перцептроны (MLP)
> сверточные нейросети (CNN)
> механизм внимания

Применения

> классификация изображений
> детекция объектов
> распознавание речи
> обучение с подкреплением

Разрыв в вычислениях

> промпт-инжиниринг
> квантизация
> адаптеры
> слияние моделей

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
6
Что если можно было бы гарантировать, что выход LLM всегда совпадает с ожидаемым форматом?

Задачи классификации с LLM часто становятся грязными. Вместо чистой метки можно получить «Option A», «Ответ: A» или полноценное объяснение.

Приведение этого к нормальному виду требует дополнительного парсинга, ретраев и валидации, что делает систему хрупкой.

С Guidance функция select() ограничивает модель так, чтобы она возвращала ровно один вариант из заданного списка.

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

Статья-сравнение 5 Python-инструментов для структурированных выходов LLM: https://bit.ly/3OQMv8i

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
Одно выражение на Python, 22+ SQL-диалектов, без переписывания 🐍

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

Запрос, который работает в DuckDB, может требовать изменений в PostgreSQL и ещё одного переписывания для BigQuery.

Ibis убирает эту проблему, компилируя Python-выражения в нативный SQL каждой бэкенд-базы. Достаточно заменить подключение, и тот же код начинает работать с 22+ базами данных.

Ключевые возможности:
• пишешь один раз — запускается на DuckDB, PostgreSQL, BigQuery, Snowflake и ещё 18+ системах
• ленивое выполнение: сначала строится и оптимизируется план запроса, затем он отправляется в базу
• цепочечный синтаксис, похожий на Polars

Статья-сравнение Ibis с другими библиотеками: https://bit.ly/4kUfKCW

#Python #DataScience #SQL

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
Пошаговое изучение внутреннего устройства LLM — от токенизации до механизма внимания и оптимизации инференса: https://github.com/amitshekhariitbhu/llm-internals

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Hugging Face буквально собрали у себя все ключевые «секреты».

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

> Пока ты работаешь с языковыми моделями:
> обучаешь или дообучаешь свои модели,
> выбираешь модель под задачу,
> или пытаешься понять текущее состояние области,

почти неизбежно возникает вопрос:
как понять, что модель хорошая?

> Ответ — оценка качества. Она везде:
> лидерборды с рейтингами моделей,
> бенчмарки, которые якобы меряют рассуждения,
> знания, кодинг или математику,
> статьи с заявленными новыми лучшими результатами.

Но что такое оценка на самом деле?
И что она реально показывает?

Этот гайд помогает во всём разобраться.

О чём вообще оценка моделей
Базовые понятия больших языковых моделей для понимания оценки
Оценка через готовые бенчмарки
Создание своей системы оценки
Главная проблема оценки
Оценка свободного текста
Статистическая корректность оценки
Стоимость и эффективность оценки


👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
Безумцы реализовали MicroGPT от Andrej Karpathy полностью на ПЛИС-логике.

Без графического процессора. Без PyTorch. Без циклов инференса на центральном процессоре.

Только трансформер, зашитый в железо, генерирующий 50 000+ токенов в секунду.

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

Целью было не сделать максимально большую модель.

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

Базовая схема использует фиксированную арифметику Q4.12 и веса, хранящиеся в ПЗУ.
Большая часть модели сводится к одной повторяющейся операции: матрично-векторному умножению. Поэтому был реализован переиспользуемый 16-канальный потоковый блок матрично-векторных вычислений и затем он временно мультиплексируется на Q/K/V, MLP и выходной слой языковой модели.

Самым интересным оказался механизм внимания.

В Python это одно аккуратное уравнение.

В RTL это превращается в расписание: генерация Q/K/V, проход по скалярным произведениям, отслеживание максимума, приближённое вычисление экспоненты, накопление, деление, смешивание V, затем обратная проекция.

исходники 🙂

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Локальный ИИ-ассистент для ресерча, который запускается на твоём устройстве — автоматически ищет информацию, пишет саммари, проставляет ссылки на источники; данные зашифрованы и не покидают локальную машину.

Local Deep Research — это локально развёрнутый инструмент для ресерча с ИИ, который умеет интегрироваться с моделями вроде Ollama, OpenAI и Anthropic, и поддерживает более десятка поисковых движков, включая arXiv, PubMed и SearXNG, с возможностью гибкого выбора.

Даёт около 95% точности на бенчмарке SimpleQA; есть три режима — быстрый поиск, глубокий ресерч и генерация отчёта, между ними можно переключаться по задаче, плюс используется автономная агентная стратегия на базе LangGraph.

https://github.com/LearningCircuit/local-deep-research

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Смотри топовые научные статьи по ИИ, машинному обучению, робототехнике, квантовой физике и другим направлениям на kurate.org.

Сотни препринтов с arXiv ежедневно ранжируются по научному импакту через парные сравнения, где судьями выступают модели — Claude, GPT и Gemini.

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Выходные ушли на закрытие одной задачи из списка «изучить»:

GRPO

В статье разбирается:
• что такое GRPO и как он работает
• дообучение LiquidAI LFM2.5-1.2B-Instruct
• использование Unsloth и бесплатных Kaggle T4

Блог: https://leoniemonigatti.com/blog/fine-tuning-lfm2-5-1-2b-instruct-with-grpo.html

Ноутбук на Kaggle: https://kaggle.com/code/iamleonie/fine-tuning-lfm2-5-1-2b-instruct-with-grpo

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
В интервью по ML-инженерии в Apple задают вопрос:

«Есть две модели с точностью 88%.

- Модель A имеет уверенность 89%
- Модель B имеет уверенность 99%

Какую выберешь?»

Ответ «любая, у них одинаковая точность» завершает интервью.

Вот что в этом пропущено:

Современные нейросети часто вводят в заблуждение.

Они дают завышенную уверенность в предсказаниях.

Например, в одном эксперименте на датасете CIFAR-100 сравнивали LeNet и ResNet.

LeNet:

- точность ≈ 0.55
- средняя уверенность ≈ 0.54

ResNet:

- точность ≈ 0.7
- средняя уверенность ≈ 0.9

Несмотря на более высокую точность, ResNet переуверен в своих предсказаниях. Модель считает, что права с вероятностью 90%, но фактическая точность около 70%.

Калибровка решает эту проблему.

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

Например: если модель выдаёт вероятность 70%, то примерно в 70% случаев событие действительно должно происходить.

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

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

Пример: государственная больница планирует дорогостоящие медицинские тесты.

Реалистичная оценка вероятностей помогает оптимально распределять бюджет и принимать решения.

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

Диаграммы надёжности (reliability diagrams) используются для визуальной проверки калибровки.

Они отображают зависимость фактической точности от предсказанной уверенности (softmax-значений).

Идеально откалиброванная модель даёт линию y = x.

Также используют скалярную метрику — ожидаемую ошибку калибровки (ECE).

Одна из её аппроксимаций — разбиение предсказаний на интервалы и усреднение разницы между точностью и уверенностью по этим бинам.

Основные методы калибровки моделей:

Для бинарной классификации:

- биннинг по гистограмме
- изотоническая регрессия
- масштабирование Платта

Для многоклассовой классификации:

- биннинг
- матричное и векторное масштабирование

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
8🤔3
Превращайте любой кодовый репозиторий в интерактивный граф знаний.

Understand-Anything — это плагин для Claude Code, который строит визуальную карту проекта. Он анализирует каждый файл, функцию, класс и зависимости, после чего даёт интерактивную панель для навигации по структуре.

Запускается анализ, после чего пять агентов выполняются параллельно. Они сканируют проект, извлекают структуру, определяют архитектурные слои и строят граф знаний. Результат — интерактивная визуализация на React Flow.

Дашборд отображает кодовую базу как граф. Узлы — файлы, функции и классы. Рёбра — зависимости. Всё раскрашено по слоям (API, сервисы, данные, UI, утилиты).

При клике на узел показывается код, связи и объяснение на естественном языке.

Основные возможности:
• визуальная навигация с поиском по графу
• описания компонентов на естественном языке
• архитектурные маршруты по зависимостям
• семантический поиск по смыслу
• анализ влияния изменений

Поддерживается работа с разными агентами: Claude Code, Codex, OpenCode, OpenClaw, Cursor, Antigravity.

Проект полностью с открытым исходным кодом.

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥1
Создатели SWE-Bench выпустили новый простой тестовый набор, в котором у всех больших языковых моделей результат 0%.

ProgramBench проверяет, может ли модель с нуля воспроизвести реальные исполняемые программы (ffmpeg, SQLite, ripgrep) без доступа к интернету.

По результатам видно, что уровень качества моделей до насыщения ещё далеко.

Критика «почему запоминание ffmpeg вообще считается программной инженерией» закономерна.

Любой тестовый набор можно переобучить и выучить наизусть. То же относится и к SWE-Bench — там тоже можно заучить набор багов. В ARC AGI частично пытаются решить это через скрытые наборы игр, к которым нет доступа.

Получение 100% в ProgramBench не означает достижение общего искусственного интеллекта.

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

Гипотеза здесь в том, что построение реального инструмента «с нуля» — это задача с длинным горизонтом и высокой практической ценностью. Если модели способны рассуждать и собирать такие системы, это, вероятно, переносится на широкий класс аналогичных задач.

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
6
Префилл и декодирование в инференсе LLM.

Задавались вопросом, почему первый токен всегда появляется с задержкой, а дальше поток идёт почти мгновенно? Это не сетевые задержки и не прогрев модели — это структурное свойство того, как реально исполняются LLM.

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

𝗣𝗿𝗲𝗳𝗶𝗹𝗹 — это этап обработки запроса. Модель обрабатывает все входные токены за один параллельный проход, вычисляя Q, K и V сразу для всех токенов.

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

Префилл упирается в вычисления, а метрика, которая это отражает — время до первого токена.

𝗗𝗲𝗰𝗼𝗱𝗲 начинается после появления первого токена. Чтобы сгенерировать следующий, модель считает Q, K и V только для нового токена, потому что всё предыдущее уже закэшировано.

Дальше идёт цикл «один токен — один проход»: новый query умножается на уже сохранённые ключи вместо полной матрицы, и объём вычислений становится небольшим.

Но GPU всё равно вынужден читать все веса и весь кэш из памяти, чтобы выполнить даже эту небольшую операцию, поэтому узким местом становится пропускная способность памяти, а вычислительные блоки простаивают.

Декодирование упирается в память, а метрика здесь — задержка между токенами.

Такое разделение объясняет ряд эффектов, которые выглядят неочевидно снаружи.

Загрузка GPU высокая на префилле и резко падает на декоде, потому что во второй фазе ограничением становится память, а не вычисления.

Добавление вычислительной мощности часто не помогает при медленной генерации, потому что для memory-bound нагрузок решением является более быстрая память или меньший кэш, а не больше FLOPs.

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

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

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

Но кэш хранится в памяти GPU и растёт линейно с длиной последовательности. Для модели уровня 13B это примерно 1 МБ на токен, то есть контекст 4K занимает около 4 ГБ видеопамяти только под кэш.

Поэтому длинный контекст ощущается медленным не из-за «недостатка мощности модели», а из-за давления на память.

Сейчас индустрия оптимизирует это ограничение через квантованный кэш, скользящие окна, группированное внимание и PagedAttention, а серия DeepSeek V4 идёт дальше и перерабатывает сам механизм внимания так, чтобы кэш изначально был меньше.

Когда внимание начинают перепроектировать под ограничения кэша, это означает, что ограничение сместилось в сторону памяти.

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

Дальше прочитай материал, который разбирает инференс LLM с нуля: токенизацию, эмбеддинги, внимание, разделение префилла и декода, кэш ключей/значений и квантование.

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42
Основы PyTorch: первые шаги в практическом глубоком обучении.

Введение в основы PyTorch: инициализация тензоров, операции, индексация и изменение формы (reshape).

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