Dmatryusофрения
40 subscribers
290 photos
10 videos
15 files
148 links
Пишу о книгах, лидерстве, технологиях, opensource, своих проектах и наверное чем-то ещё. Ну и репосты IT приколямб.
Download Telegram
Что такое vLLM и зачем он нужен?

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

Главные фишки:
KV-cache с paged attention — умно хранит память, чтобы модель не тормозила на длинных запросах.
Continuous batching — новые запросы можно подмешивать прямо во время работы, без ожидания.
Оптимизации:
• chunked prefill — длинные промпты режутся на куски, чтобы не блокировать других
• prefix caching — общий префикс считается один раз, а не заново для всех
• guided decoding — модель пишет строго по правилам (например, JSON)
• speculative decoding — маленькая модель «накидывает» текст, большая подтверждает.
Масштабирование: работает и на одной видеокарте, и на кластере из десятков.
Автотюнинг и бенчмарки: встроенные тесты подбирают оптимальные настройки под SLA.

Итог: vLLM — это уже не просто библиотека, а полноценная архитектура для работы LLM в проде: быстрая, гибкая и экономная.

🟠Подробный разбор: https://www.aleksagordic.com/blog/vllm

@machinelearning_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
📌Почему языковые модели галлюцинируют.

OpenAI опубликовали исследование о причинах галлюцинации LLM.

Галлюцинации - это не мистический сбой в сознании ИИ, а вполне предсказуемый побочный эффект его обучения.

Представьте, что перед моделью стоит задача бинарной классификации - определить, является ли предложенное утверждение корректным или нет. Математическая выкладка в исследовании проста: уровень ошибок генерации как минимум в 2 раза превышает уровень ошибок классификации. Если модель не способна надежно отличить факт от вымысла, она неизбежно будет этот вымысел генерировать.

🟡Все начинается еще на претрейне.

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

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

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

🟡Эксперименты это подтверждают.

Модель DeepSeek-V3, на просьбу назвать день рождения одного из авторов статьи, трижды выдала неверные даты: 03-07, 15-06 и 01-01. Ни одна из них не была даже близка к правильной (осенью).

В другом тесте, где нужно было сосчитать количество букв D в слове DEEPSEEK, та же DeepSeek-V3 выдавала 2 или 3, а модели компании Марка Цукерберга и Claude 3.7 Sonnet доходили до 6 и 7.

При этом базовые модели после претрейна часто показывают отличную калибровку. Например, у предобученной GPT-4 ожидаемая ошибка калибровки составляла всего 0.007, что говорит о высокой статистической адекватности ее предсказаний. Кто бы сомневался.

🟡Почему галлюцинации не исчезают после пост-тренинга и RLHF?

Ответ на этот вопрос - в системе оценки. Большинство современных бенчмарков поощряют угадывание. Модели, по сути, постоянно находятся в режиме сдачи экзамена, где за правильный ответ дают 1 балл, а за пустой бланк или ответ я не знаю - 0. В такой системе оптимальная стратегия при неуверенности - только угадать. Любой шанс на правильный ответ лучше, чем гарантированный ноль.

Эту гипотезу подтвердили анализом популярных оценочных наборов.

В GPQA, MMLU-Pro, Omni-MATH, SWE-bench и HLE используется строго бинарная система оценки (правильно/неправильно). Возможности получить частичный балл за честное признание в незнании там просто нет. Из 10 рассмотренных в исследовании популярных бенчмарков только один, WildBench, присуждает частичные баллы за ответы формата я не знаю. Остальные же фактически наказывают модель за отказ галлюцинировать, создавая эпидемию штрафов за неуверенность и поощряя ее выдавать правдоподобную ложь.

🟡Что делать инженерам.

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

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

🔜 Читать статью полностью
🔜 Смотреть видео разбор

#AI #ML #LLM #Research #OpenAI
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ REFRAG: новое поколение RAG

REFRAG ускоряет работу Retrieval-Augmented Generation, сжимая контекст в chunk embeddings, сохраняя качество ответов.

📌 Результаты:

- До 30.85× быстрее первый токен

- До 16× длиннее эффективный контекст без потери точности

🔍 В чём идея:

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

REFRAG заменяет токены этих текстов кэшированными эмбеддингами, подгоняет их под размер декодера и подаёт вместе с вопросом.

Последовательность короче → внимание масштабируется по чанкам, а не по токенам → меньше памяти уходит на KV-кэш.

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

- Большинство чанков остаются сжатыми.

- Специальная политика выбирает, какие именно разжать обратно в токены, если важна точная формулировка.

- Обучение идёт в 2 шага: сначала модель учится восстанавливать токены из эмбеддингов, потом продолжается предобучение с задачей прогнозирования следующего абзаца (постепенно увеличивая размер чанков).

- Политика сжатия/разжатия тренируется через reinforcement learning, используя лосс предсказания слова как сигнал.

📄 Paper: arxiv.org/abs/2509.01092
🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Все говорят про LLM и diffusion, а вот про OCR как будто забыли…

dots-ocr — свежая open-source модель (1.7B), которая вырывается в лидеры для распознавания документов:
✔️ 100+ языков (мультиязычный парсинг)
✔️ Работает и с PDF, и с изображениями
✔️ Понимает таблицы, формулы, структурированный текст
✔️ SOTA качество при полностью открытом коде

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

👍 Это прям ключ для дата-сайентистов, NLP/LLM инженеров и всех, кто работает с данными «в дикой природе».

📱 Репозиторий

🐸 Библиотека дата-сайентиста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Unsloth показал, как динамическая квантизация (Dynamic GGUFs) может радикально ускорить и облегчить работу LLM, не теряя качество.

В чём суть
Обычные методы квантизации уменьшают разрядность весов модели одинаково для всех слоёв.
Unsloth пошёл дальше: каждому слою подбирается своё число бит.
- Ключевые слои → 6–8 бит (чтобы сохранить точность).
- Второстепенные → 1–3 бита (для максимального сжатия).

Результаты, которых удалось добиться:
- 671B DeepSeek-V3.1: сжатие модели с 671GB до 192GB (–75%).
- 1-бит версия уже обгоняет GPT-4.1 и GPT-4.5 в «no-thinking» задачах.
- 3-бит версия превосходит Claude-4-Opus в «thinking» задачах.
- 5-бит версия догоняет и стабильно держит уровень SOTA.

🟢Почему это интересно:
- Сжатие → модели становятся доступнее для запуска на меньших GPU.
- Качество не падает, а иногда даже растёт за счёт умного распределения битности.
- Тесты на Aider Polyglot benchmark показывают лучшие результаты среди существующих quant-моделей.

🟢Итог
Dynamic GGUF от Unsloth — это не просто ещё один способ «урезать» модель, а технология, которая делает триллионные LLM компактными, быстрыми и при этом сверхточными.

Пост: https://docs.unsloth.ai/basics/unsloth-dynamic-ggufs-on-aider-polyglot

#Unsloth #LLM #Quantization #AI #AiderPolyglot
Please open Telegram to view this post
VIEW IN TELEGRAM
free-dev-sim-0.0.2.apk
42.5 MB
Я тут ко дню программиста решил игрулю намутить. Это только MVP прототип ради праздничного настроения, но оставлю здесь, на память.
⚡️ Самый быстрый движок для сервинга LLM уже тут — и он open-source

LMCache — новый движок, созданный для:
➡️ мгновенного time-to-first-token;
➡️ ыыше throughput даже при длинных контекстах;
➡️ 7× быстрее доступа к KV-кешам и поддержка 100× большего объёма кеша по сравнению с vLLM;
➡️ и всё это — полностью open-source.

Если вы работаете с LLM в продакшне, LMCache может стать настоящим гейм-чейнджером для latency-чувствительных приложений.

📱 Репозиторий

🐸 Библиотека дата-сайентиста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ Polars теперь с поддержкой GPU — ускорение до 70%

Библиотека Polars получила новый GPU-движок на базе NVIDIA RAPIDS cuDF.

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

✔️ В бета-версии уже поддерживаются основные операции
✔️ Ускорение до 70% по сравнению с CPU-исполнением
✔️ Отлично подходит для задач работы с большими датасетами и аналитических воркфлоу

🔗 Подробнее в посте

🐸 Библиотека дата-сайентиста

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
🧠 MIT доказал: LLM могут логически рассуждать, если правильно их учить.

📄 Исследователи предложили метод PDDL-INSTRUCT. Он превращает обучение модели из «угадай ответ» в пошаговое решение задач с внешней проверкой.

Как это устроено:
1️⃣ На первом этапе модели показывают правильные и неправильные планы с объяснениями.
2️⃣ На втором этапе она сама прописывает рассуждения для каждого шага. После этого внешний инструмент (**VAL**) проверяет логику. Если ошибка - модель получает чёткое объяснение, что не так.

📊 Результаты:
- У Llama-3-8B точность выросла с 28% до 94% на задачах планирования.
- Подробная обратная связь работает намного лучше, чем простое «правильно/неправильно».

💡 Главное: модель не заменяет символический планировщик, а учится мыслить как он, сохраняя внешнюю проверку.

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

🟠Статья: https://arxiv.org/abs/2509.13351
Please open Telegram to view this post
VIEW IN TELEGRAM
👏2
Channel photo updated
#LLM

Знаю, что LORA очень ходовая технология 🔥, давно хотел разобраться в ней, но все не доходили лапы 🐾. Сейчас немного подразобрался и делюсь с вами 😊

TL;DR: LoRA — это как апгрейд для нейросетей через маленькие плагины вместо полной переустановки системы. Экономит память, время и деньги, при этом дает отличные результаты.

🎯 Что это такое
LoRA — это способ "дообучить" большую языковую модель под конкретную задачу, но при этом не трогать саму модель. Представьте, что вы не переписываете всю книгу, а просто добавляете к ней умные закладки.

🧠 Как работает
Основная идея гениально проста, но давайте разберем математику подробнее:
Вместо изменения всех весов модели (что требует кучу памяти и времени), LoRA добавляет маленькие "адаптеры" — две небольшие матрицы A и B.

📐 Математика в деталях

Основная формула:
h = W₀x + ΔWx = W₀x + BAx


Где:
- W₀ — замороженные веса (размер d × k)
- ΔW — изменения весов = BA
- A — матрица r × k (r ≪ k)
- B — матрица d × r (r ≪ d)
- r — ранг адаптации (обычно 8-64)

Пример с числами:
- Оригинальная матрица: 4096 × 4096 = 16M параметров
- LoRA с r=16: (4096×16) + (16×4096) = 131K параметров
- Экономия в 122 раза! 🤯

🎛 Масштабирование
Финальная формула выглядит так:
h = W₀x + (α/r) × BAx


- α — альфа параметр (обычно 16 или 32)
- Позволяет контролировать силу адаптации
- Если α = r, то LoRA влияет "нормально"
- Если α > r, то LoRA влияет сильнее

🔧 Инициализация имеет значение
- Матрица A инициализируется случайно (Gaussian)
- Матрица B инициализируется нулями
- Это гарантирует, что в начале ΔW = 0
- Модель начинает с оригинального поведения

При этом:
- Старая модель заморожена ❄️
- Обучаются только крошечные адаптеры
- Экономия памяти в 70+ раз!

⚙️ Ключевые параметры
Ранг (r) — размер адаптеров
- r=8-16 обычно оптимально
- Больше ранг = лучше качество, но больше параметров

Альфа (α) — насколько сильно влияют адаптеры
- Обычно равна рангу или в 2 раза больше

## 🚀 Что можно делать

Адаптация к домену
Обучение следованию инструкциям
Изменение стиля генерации
Мультиязычная адаптация

🧬 Эволюция технологии

QLoRA — LoRA + квантизация
- Можно обучать 65B модели на одной GPU!

AdaLoRA — автоматический выбор ранга
- Сама определяет, где нужны большие адаптеры

LoRA+ — улучшенные learning rates
- Еще лучше качество адаптации

💡 Почему это важно
LoRA сделал fine-tuning доступным каждому:
- Не нужны datacenter'ы для обучения
- Можно экспериментировать на обычных GPU
- Быстрое переключение между задачами
- Модульность — один адаптер = одна задача

⚖️ Ограничения

- Работает не для всех типов изменений
- Нужно подбирать гиперпараметры
- Для кардинальных изменений может быть недостаточно
🤔2
#open_source

🐙 OctoSQL: Универсальный SQL-движок для анализа данных из разных источников

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

Речь идет об OctoSQL — CLI-утилите, которая позволяет выполнять SQL-запросы к данным из множества источников через единый интерфейс. Представьте: вы можете сделать JOIN между JSON-файлом и PostgreSQL таблицей одним запросом!

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


🎯 Что это такое?
OctoSQL — query-движок на Go, который превращает SQL в универсальный язык для работы с данными из файлов (JSON, CSV, Parquet), баз данных (PostgreSQL, MySQL) и потоков данных.

Ключевые возможности:
- JOIN между разными источниками данных
- Система плагинов для баз данных
- Поддержка streaming и real-time обработки
- Визуализация планов запросов


🚀 Быстрый старт
Установка: brew install cube2222/octosql/octosql

Примеры:
octosql "SELECT  FROM ./data.json"
octosql "SELECT customer_id, SUM(amount) FROM invoices.csv GROUP BY customer_id"
octosql "SELECT invoices.id, customers.name FROM invoices.csv JOIN mydb.customers ON invoices.customer_id = customers.id"



🛠 Система плагинов
Доступны плагины для PostgreSQL, MySQL, MongoDB, Redis, Kafka и других. Установка: *octosql plugin install postgres*


🔥 Уникальные фишки
Union Types — работа с "грязными" данными где колонка может быть Int или String одновременно.

Streaming — real-time обработка потоков данных с группировкой по временным окнам.

Dataflow архитектура — поддержка Event Time, Watermarks и возможность отмены предыдущих результатов.


📊 Применения
- Анализ логов с джойном к базе пользователей
- ETL без инфраструктуры — объединение CSV, БД и JSON в одном запросе
- Real-time мониторинг ошибок


⚡️ Производительность
На тесте NYC Taxi Dataset (200MB, 2M записей):
- OctoSQL: 1.98 сек
- Q без кэша: 16.04 сек (в 8 раз медленнее)

OctoSQL работает напрямую с файлами, читая только нужные колонки.


💡 Когда использовать?
Подходит для: ad-hoc анализа, прототипирования аналитики, ETL без сложной инфраструктуры, streaming обработки.

Не подходит для: высоконагруженных production систем, сложной распределенной обработки.


Ссылки:
📦 GitHub: https://github.com/cube2222/octosql
📚 Документация: https://octosql.dev/
2
🚀 Nvidia снова в огне!

Их новы метод GenCluster впервые позволил *открытой модели* догнать лидеров из закрытых лабораторий.

🧠 Модель gpt-oss-120b взяла золото на IOI 2025 (International Olympiad in Informatics) — впервые в истории open-source-ИИ!

Модель генерирует тысячи решений с кодом,тестирует их, группирует уникальные стратегии и устраивает «турнир» между лучшими — судит всё это другой ИИ.

📊 Результат: 446.75 балла, официально подтверждён золотой медалью.

Теперь это новый подход к решению *по-настоящему сложных задач* - масштабируемое вычисление во время теста.

https://arxiv.org/abs/2510.14232v1
🔥2
Я 🫠
😁3
Красивые девушки, красивы во всем. Правда без макияжа явно фильтры используются. Думаю, что для генерации она должна быть побольше.
🔥3😁2