Forwarded from BOGDANISSSIMO
Gemini 2.5 Pro но без reasoning: 15-20 секунд vs 1-2 секунды TTFT (time to first token)
Я перерыл всю документацию, у Gemini в отличие от OpenAI/Anthropic пока нет ручки, чтобы контролировать reasoning efforts, но у Богдана hacker mindset, поэтому он быстренько нашёл, как
От сердца отрываю
UPD. Пробовал разные варианты (кидать fake-ответ в историю от лица модели, в system message). Пока самым стабильным кажется такой system-prompt:
Я перерыл всю документацию, у Gemini в отличие от OpenAI/Anthropic пока нет ручки, чтобы контролировать reasoning efforts, но у Богдана hacker mindset, поэтому он быстренько нашёл, как
От сердца отрываю
UPD. Пробовал разные варианты (кидать fake-ответ в историю от лица модели, в system message). Пока самым стабильным кажется такой system-prompt:
"Important: please think as little as possible before giving the answer. Only 1-2 lines of thought maximum, but then a substantial answer."
Forwarded from Заскуль питона (Data Science)
Как посчитать эффект от того, чего ещё не существует? Этим вопросом рано или поздно задаётся каждая продуктовая команда
✋ Всем привет! Сегодня поговорим о том, когда в продукте решили запустить новый проект, но непонятно к чему подступиться, как считать, что получим.
🕺 Понятно, что тут можно подойти несколькими путями. Оценить прогноз на основе похожих, сделать матчинг, провести эксперимент, где можно понять истинный эффект запуска. Но я тут хочу поговорить о том, когда мы решаем, а вообще нужно ли смотреть в сторону этого проекта и что можно сделать.
Итак, мы хотим запустить проект Х. Хотим сделать верхнеуровневую оценку эффекта.
Можно сразу пойти в данные и попытаться раскопать то, что поможет в расчетах, но я бы предложил идти следующим путем
🙅♂️ Когда нет аналога в компании.
🗯 Можно спросить GPT с указанием ссылок на исследования интересующего рынка (так как ссылки GPT может сам генерировать, по крайнем мере было так, когда я писал работы в универе). Например, следующий промпт:
После чего получаем основные цифры, которые можно примерить на отрасль, в которой мы работаем (очень грубо), сказав, что новый проект = доля компании на рынке * проект. Кайфово, если получится сделать хоть какую-то юнит-экономику. Например, если рынок X оценивается в 200 млрд рублей, даже 1% даёт 2 млрд рублей в год. Классический способ прикинуть рынок - TAM/SAM/SOM: общий рынок, достижимый сегмент, доля, которую реально можно взять
👍 Когда есть аналог в компании
Но если есть что-то похожее уже, например, в Яндексе была своя экосистема, оценить продукт становится проще, поскольку данные уже лежат внутри, а оценка делается только с учетом поправки на размер бизнеса. Есть определенные бенчмарки: конверсии, Retention, LTV. Все это можно спокойно достать из внутренних БД. Можно делать масштабирование: мы знаем какой эффект продукт дал на аудитории X, корректируем.
Понятно, что есть более строгие расчеты, которые можно использовать, но для предварительной оценки и тому, нужно ли это делать в принципе норм.
📈 После этого обычно хочется видеть трекшн проекта - это то, как себя должен вести проект на основе определенных метрик (MAU / CAC / LTV / ARPU).
🔗 Интересно, что есть на собеседованиях в консалтинговые компании кейсы по Market Sizing (например, тут предлагается запустить телепорт , а тут как решать кейсы на рынке FMCG
А что вы используете для оценки потенциала нового проекта? Как бы подошли к решению такой задачи? MVP, оценка рынка, юнит экономика?
Ставьте🐳 , если пост зашел, пишите комментарии!
Итак, мы хотим запустить проект Х. Хотим сделать верхнеуровневую оценку эффекта.
Можно сразу пойти в данные и попытаться раскопать то, что поможет в расчетах, но я бы предложил идти следующим путем
Ты — мой аналитик по рынку компаний.
Изучи рынок [X] в России.
Задачи:
1. Оцени ёмкость рынка (market size): текущая, прогнозы, темпы роста.
2. Найди исследования и отчёты топовых компаний/агентств, связанных с рынком (например: McKinsey, BCG, PwC, Deloitte, локальные консалтинговые агентства, государственные исследования, отраслевые ассоциации).
3. Опиши основные тренды и драйверы рынка.
4. Приведи ссылки на источники и исследования.
5. Сделай краткий структурированный конспект (чтобы можно было повторно использовать и углубить).
Формат ответа:
• Market Size: цифры + источник.
• Топ исследования и отчёты: список (ссылки + краткое содержание).
• Тренды: 3–5 ключевых трендов с кратким описанием.
После чего получаем основные цифры, которые можно примерить на отрасль, в которой мы работаем (очень грубо), сказав, что новый проект = доля компании на рынке * проект. Кайфово, если получится сделать хоть какую-то юнит-экономику. Например, если рынок X оценивается в 200 млрд рублей, даже 1% даёт 2 млрд рублей в год. Классический способ прикинуть рынок - TAM/SAM/SOM: общий рынок, достижимый сегмент, доля, которую реально можно взять
Но если есть что-то похожее уже, например, в Яндексе была своя экосистема, оценить продукт становится проще, поскольку данные уже лежат внутри, а оценка делается только с учетом поправки на размер бизнеса. Есть определенные бенчмарки: конверсии, Retention, LTV. Все это можно спокойно достать из внутренних БД. Можно делать масштабирование: мы знаем какой эффект продукт дал на аудитории X, корректируем.
Понятно, что есть более строгие расчеты, которые можно использовать, но для предварительной оценки и тому, нужно ли это делать в принципе норм.
А что вы используете для оценки потенциала нового проекта? Как бы подошли к решению такой задачи? MVP, оценка рынка, юнит экономика?
Ставьте
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Кодим на Коленке | Уроки по программированию
RabbitMQ базовый курс за час
Установка, админ панель. Зачем нужен Rabbit MQ. Брокер сообщений
🗝 Урок живет здесь
Кодим на Коленке | #RabbitMQ
Установка, админ панель. Зачем нужен Rabbit MQ. Брокер сообщений
🗝 Урок живет здесь
Кодим на Коленке | #RabbitMQ
Forwarded from LLM под капотом
Демка бизнес-ассистента, которая показывает основы построения reasoning системы c tool use на базе простой LLM (GPT-4o)
Ассистент умеет:
- генерировать инвойсы и отменять их
- отправлять письма с вложениями
- создавать правила самому себе на будущее
- читать данные клиентов
(на самом деле интеграций с реальными системами нет, агент работает в симуляции)
Из библиотек требуется только openai/pydantic для Structured Outputs и rich (для красивого вывода в терминал). Все остальные вещи вроде демо-БД и инструментов реализованы прямо в коде.
Всего в демке 159 строчек исполняемого кода. Большая часть которого - SGR схема инструментов (у ассистента всего один промпт) и реализация работы самих инструментов.
Статья с демкой - SGR Demo. Код одним файлом - в статье после разбора.
Для тех, кому хочется более серьезного кода, в статье есть раздел "Hardening the code" про то, как можно эту обучающую демку развить дальше.
Ваш, @llm_under_hood 🤗
---
Полный список статей:
- SGR Intro - заглавная страница с определением и основными ссылками
- SGR Patterns - примеры простых паттернов, из которых можно "собирать" более сложные reasoning схемы: Cascade, Routing, Cycle.
- SGR Examples - четыре примера: simple math task, text-to-sql, document classification, advanced reasoning in compliance.
- SGR Demo - минимальное демо бизнес-ассистента с SGR под капотом.
Ассистент умеет:
- генерировать инвойсы и отменять их
- отправлять письма с вложениями
- создавать правила самому себе на будущее
- читать данные клиентов
(на самом деле интеграций с реальными системами нет, агент работает в симуляции)
Из библиотек требуется только openai/pydantic для Structured Outputs и rich (для красивого вывода в терминал). Все остальные вещи вроде демо-БД и инструментов реализованы прямо в коде.
Всего в демке 159 строчек исполняемого кода. Большая часть которого - SGR схема инструментов (у ассистента всего один промпт) и реализация работы самих инструментов.
Статья с демкой - SGR Demo. Код одним файлом - в статье после разбора.
Для тех, кому хочется более серьезного кода, в статье есть раздел "Hardening the code" про то, как можно эту обучающую демку развить дальше.
Ваш, @llm_under_hood 🤗
---
Полный список статей:
- SGR Intro - заглавная страница с определением и основными ссылками
- SGR Patterns - примеры простых паттернов, из которых можно "собирать" более сложные reasoning схемы: Cascade, Routing, Cycle.
- SGR Examples - четыре примера: simple math task, text-to-sql, document classification, advanced reasoning in compliance.
- SGR Demo - минимальное демо бизнес-ассистента с SGR под капотом.
Forwarded from Тоже Паша Техник
только сейчас добрался до Group Sequence Policy Optimization (GSPO) от qwen и вот апдейт к прошлому посту про RL и GRPO, где я по верхам разобрал, как работает обучение с подкреплением
напоминалка. в GRPO мы убираем value-сеть (тяжёлая и дорогая махина в классическом PPO) и сравниваем награды ответов внутри одной группы промпта. дёшево и сердито.
что такое importance weighting и зачем вообще это?
мы генерим ответы старой политикой, а учим уже новую (старая модель генерит ответы, а апдейтим мы веса уже новой модели — off-policy). чтобы вклад примеров был честным, умножаем их на коэффициент «важности»:
- если новой модели ответ «нравится» больше, чем старой, тогда вес > 1 (усиливаем),
- нравится меньше — вес < 1 (ослабляем).
это устраняет перекос от off-policy данных — вся суть GRPO.
че значит "нравится больше"?
Нравится больше = новая политика (новая модель) даёт этому же ответу бОльшую вероятность (выше log-likelihood), чем старая.
как считаем на практике (очень коротко):
1. Берём тот же prompt и ровно тот же ответ от старой модели.
2. Кормим их новой модели в режиме teacher forcing.
3. Снимаем log-вероятности токенов ответа
4. Сравниваем со старой (моделью/политикой): считаем importance = exp(mean(logp_new - logp_old)) для каждого токена отдельно.
- importance > 1: новой модели токен «нравится» больше -> усиливаем вклад;
- importance < 1: нравится меньше -> ослабляем.
минусы GRPO
веса важности считаются по токенам, то есть шум накапливается по длине (чем длиннее ответ, тем шумнее и дёрганнее обучение).
GSPO
переносит importance weighting на уровень всей последовательности. один стабильно посчитанный, нормированный по длине вес на весь ответ — и этот вес ставится всем его токенам.
логика простая: мы оптимизируем награду за целый ответ, а не за случайные токены, значит корректнее взвешивать всю последовательность.
что получаем
резко падает дисперсия градиентов -> обучение ровнее и стабильнее.
как работает?
1. сэмплим несколько ответов на один промпт
2. считаем group-relative advantage (z-оценка награды)
3. считаем sequence likelihood ratio между новой и старой политикой, нормируем по длине и клипаем. (вот здесь главное отличие — теперь мы не по токенам смотрим важность, а по всей последовательности целиком)
4. один и тот же вес умножаем на все токены ответа и делаем апдейт
стабильнее и быстрее, чем GRPO, особенно на длинных ответах/больших моделях.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from LLM is all you need
#RAG #retriever
Multi-query - еще одна техника улучшения ретривера в RAG-системе.
Когда пользователи пишут вопросы (в RAG) они часто допускают ошибки, пишут транслитом, путаются в формулировках и т.д. А это не хорошо для энкодера, и очень не хорошо для BM25 (и других компонентов ретривера). Multi-query позволяет это исправить за счёт разных формулировок одного и того же вопроса.
Как это работает:
1. Получаем исходный запрос.
2. Просим LLM написать несколько вариантов исходного запроса.
3. Выполняем поиск документов (чанков) по каждому из них (включая и исходный запрос).
4. Результаты всех поисков объединяем или переаранжируем.
Например: пользователь вводит: "Как испечь торт?"
LLM на это может сгенерировать:
- "Рецепт торта"
- "Как приготовить торт в духовке?"
- "Ингредиенты для домашнего торта"
Такое разнообразие довольно сильно улучшает покрытие поисковой выдачи.
Дополнительно:
1. Можно попросить переформулировать запрос в каком-либо стиле. Например, если запросы на медицинскую тематику, то можно сделать так: "Перепиши вопрос так, как будто его писал врач с многолетним опытом работы".
2. Отдельно можно попросить перевести запрос на английский.
Multi-query - еще одна техника улучшения ретривера в RAG-системе.
Когда пользователи пишут вопросы (в RAG) они часто допускают ошибки, пишут транслитом, путаются в формулировках и т.д. А это не хорошо для энкодера, и очень не хорошо для BM25 (и других компонентов ретривера). Multi-query позволяет это исправить за счёт разных формулировок одного и того же вопроса.
Как это работает:
1. Получаем исходный запрос.
2. Просим LLM написать несколько вариантов исходного запроса.
3. Выполняем поиск документов (чанков) по каждому из них (включая и исходный запрос).
4. Результаты всех поисков объединяем или переаранжируем.
Например: пользователь вводит: "Как испечь торт?"
LLM на это может сгенерировать:
- "Рецепт торта"
- "Как приготовить торт в духовке?"
- "Ингредиенты для домашнего торта"
Такое разнообразие довольно сильно улучшает покрытие поисковой выдачи.
Дополнительно:
1. Можно попросить переформулировать запрос в каком-либо стиле. Например, если запросы на медицинскую тематику, то можно сделать так: "Перепиши вопрос так, как будто его писал врач с многолетним опытом работы".
2. Отдельно можно попросить перевести запрос на английский.
Forwarded from ML for Value / Ваня Максимов
Хуже = лучше
Моя команда в Я.Маркете внедрила метрику дискаверийности (новизны) рекомендаций товаров. И в этом полугодии мы пробуем ее активно растить
Естественно, посмотрели статьи про рост beyond accuracy метрик, внедрили успешные подходы из них, запустили А/В и …
научились стат значимо метрику дискавери снижать 🌚
И меня это очень порадовало
Теперь мы точно знаем, что влияет на метрику в минус - будем делать ровно наоборот и вероятно получим рост! Так что «красные» А/В тесты с падением метрик - часто гораздо полезнее кучи «серых» тестов без изменения метрик
А вообще, вопросиков к современным статьям очень много (особенно в recsys). Неправильный train-test split, подбор метрик под результаты, специально недотюненные бейзлайны, …
Поэтому я обожаю reproducibility reports (впору уж писать свой), где независимые авторы пробуют повторить результаты из статей - и пишут свои менее biased выводы. Один из самых известных в recsys Turning Dross into gold loss: is Bert4Rec really better than SasRec? пару лет назад позволил внедрить SasRec-like модели почти во всех доменах и компаниях
В общем, проверяйте даже «общепринятые» подходы и радуйтесь, если смогли подвинуть ваши метрики даже вниз - отсюда появляется куча идей, как подвинуть их уже вверх 👆
Моя команда в Я.Маркете внедрила метрику дискаверийности (новизны) рекомендаций товаров. И в этом полугодии мы пробуем ее активно растить
Естественно, посмотрели статьи про рост beyond accuracy метрик, внедрили успешные подходы из них, запустили А/В и …
И меня это очень порадовало
Теперь мы точно знаем, что влияет на метрику в минус - будем делать ровно наоборот и вероятно получим рост! Так что «красные» А/В тесты с падением метрик - часто гораздо полезнее кучи «серых» тестов без изменения метрик
А вообще, вопросиков к современным статьям очень много (особенно в recsys). Неправильный train-test split, подбор метрик под результаты, специально недотюненные бейзлайны, …
Поэтому я обожаю reproducibility reports (впору уж писать свой), где независимые авторы пробуют повторить результаты из статей - и пишут свои менее biased выводы. Один из самых известных в recsys Turning Dross into gold loss: is Bert4Rec really better than SasRec? пару лет назад позволил внедрить SasRec-like модели почти во всех доменах и компаниях
В общем, проверяйте даже «общепринятые» подходы и радуйтесь, если смогли подвинуть ваши метрики даже вниз - отсюда появляется куча идей, как подвинуть их уже вверх 👆
Forwarded from AbstractDL
Dynamic Fine-Tuning
Вот всё-таки есть что-то такое особенное в RL для LLM, чего нет в SFT... модели ну не хотят правильно обобщаться без меморизации редких примеров или деградации на других доменах. Недавно вышло несколько работ, которые показывают, что SFT, на самом деле, это тот же RL, просто с оооочень кривым reward (раз, два). Если коротко, то дело в кросс-энтропии на последовательности токенов. Ведь токены с малой вероятностью вносят непропорционально большой вклад в лосс и неприятно большую дисперсию при SFT.
В статье "On the Generalization of SFT" опять математически вывели SFT как частный случай кривого RL и предложили ну мега простой способ это починить в одну строчку кода. Надо взвесить токенный CE-лосс на вероятность каждого токена, и всё становится прям хорошо.
Назвали эту поправку "reward rectification" или "Dynamic Fine-Tuning" (DFT). Авторы получили большой буст на fine-tuning бенчмарках по сравнению с обычным SFT, а кое-где оно обходит даже GRPO и PPO, причём на очень широком наборе гиперпараметров.
На всякий случай ещё раз подчеркну, DFT — это чистый SFT режим, то есть тут не нужны reward/reference модели, пары примеров, разметка и т.п. Достаточно только позитивных SFT примеров. Кажется это обязательно надо пойти попробовать.
Статья, GitHub
Вот всё-таки есть что-то такое особенное в RL для LLM, чего нет в SFT... модели ну не хотят правильно обобщаться без меморизации редких примеров или деградации на других доменах. Недавно вышло несколько работ, которые показывают, что SFT, на самом деле, это тот же RL, просто с оооочень кривым reward (раз, два). Если коротко, то дело в кросс-энтропии на последовательности токенов. Ведь токены с малой вероятностью вносят непропорционально большой вклад в лосс и неприятно большую дисперсию при SFT.
В статье "On the Generalization of SFT" опять математически вывели SFT как частный случай кривого RL и предложили ну мега простой способ это починить в одну строчку кода. Надо взвесить токенный CE-лосс на вероятность каждого токена, и всё становится прям хорошо.
Назвали эту поправку "reward rectification" или "Dynamic Fine-Tuning" (DFT). Авторы получили большой буст на fine-tuning бенчмарках по сравнению с обычным SFT, а кое-где оно обходит даже GRPO и PPO, причём на очень широком наборе гиперпараметров.
На всякий случай ещё раз подчеркну, DFT — это чистый SFT режим, то есть тут не нужны reward/reference модели, пары примеров, разметка и т.п. Достаточно только позитивных SFT примеров. Кажется это обязательно надо пойти попробовать.
Статья, GitHub
Forwarded from Data Blog
📰 Neuronpedia
Достаточно давно наблюдаю за разными ресурсами, которые помогают потрогать интерпретируемость в онлайн режиме. Сделать такой ресурс сложно, поддерживать — ещё сложнее, и один из любимых для меня — Neuronpedia. И сегодня туда как раз завезли обновления.
Neuronpedia — похожа на 3Blue1Brown, но только для механистической интерпретируемости.
В режиме игры (или простого «тыкания») там можно:
* попробовать Gemma Scope — мини-игра, которая поможет понять, что такое признак (feature) в модели, как найти за что отвечает признак и как управлять (steering) моделью на основе найденного признака;
* исследовать Circuit Tracer — визуализация, которая помогает понять, как признаки проходят по модели layer by layer и образуют цепочки (circuits);
* рассмотреть аннотированные признаки, полученные с помощью SAE и Transcoders на разных моделях — эта возможность хорошо описывает идею SAE (sparse autoencoders), Transcoders и то, как именно с ними получаются признаки.
Моделей с обученными SAE немного, но они пополняются и «свежая» появилась сегодня — Qwen3-4B с 6 миллионами автоматически аннотированными фичами. SAE доступны сразу для всех слоёв.
📰 Выделенные понятия — feature, steering, circuit, sae, transcoders — сейчас составляют основное направление в MI.
Плюсом — это не только академически полезно, но и визуально красиво: можно буквально «увидеть» то, что стоит за инференсами, которые нас скоро заменят .
Всем хорошей среды!
Ваш Дата-автор.
Достаточно давно наблюдаю за разными ресурсами, которые помогают потрогать интерпретируемость в онлайн режиме. Сделать такой ресурс сложно, поддерживать — ещё сложнее, и один из любимых для меня — Neuronpedia. И сегодня туда как раз завезли обновления.
Neuronpedia — похожа на 3Blue1Brown, но только для механистической интерпретируемости.
В режиме игры (или простого «тыкания») там можно:
* попробовать Gemma Scope — мини-игра, которая поможет понять, что такое признак (feature) в модели, как найти за что отвечает признак и как управлять (steering) моделью на основе найденного признака;
* исследовать Circuit Tracer — визуализация, которая помогает понять, как признаки проходят по модели layer by layer и образуют цепочки (circuits);
* рассмотреть аннотированные признаки, полученные с помощью SAE и Transcoders на разных моделях — эта возможность хорошо описывает идею SAE (sparse autoencoders), Transcoders и то, как именно с ними получаются признаки.
Моделей с обученными SAE немного, но они пополняются и «свежая» появилась сегодня — Qwen3-4B с 6 миллионами автоматически аннотированными фичами. SAE доступны сразу для всех слоёв.
📰 Выделенные понятия — feature, steering, circuit, sae, transcoders — сейчас составляют основное направление в MI.
Плюсом — это не только академически полезно, но и визуально красиво: можно буквально «увидеть» то, что стоит за инференсами
Всем хорошей среды!
Ваш Дата-автор.
YouTube
undefined
Share your videos with friends, family, and the world
Forwarded from Заметки Computer Vision инженера
DINOv3 прикольная штука. Плюсы и минусы более-менее понятны. Но вкратце попробовал пройтись по ним в видео.
Заодно побенчмаркал Intel-овскую NPU-шку на новом компе + AMD-шную NPU на доступном компе.
Вообще DINOv3 на удивление везде хуже работает.
https://youtu.be/HaJNyyWsio4
Заодно побенчмаркал Intel-овскую NPU-шку на новом компе + AMD-шную NPU на доступном компе.
Вообще DINOv3 на удивление везде хуже работает.
https://youtu.be/HaJNyyWsio4
YouTube
DINOv3 - running on Intel NPU and AMD NPU
My LinkedIn - https://www.linkedin.com/in/maltsevanton/
My Telegram channel - https://t.me/CVML_team
e-mail: anton@rembrain.ai
Twitter - https://twitter.com/Serious_WK
Do you have any questions about the board and ML around, or do you need advice? Feel…
My Telegram channel - https://t.me/CVML_team
e-mail: anton@rembrain.ai
Twitter - https://twitter.com/Serious_WK
Do you have any questions about the board and ML around, or do you need advice? Feel…
Forwarded from Канал Доброго Вани | Data Science и Продуктики
А вот так, давайте разбираться что к чему. Что из себя представляют товары на маркетплейсе? Для простоты, давайте разберем только текстовый аспект: это заголовок, описание, какие-то характеристики, отзывы, название бренда, производителя и др...
В таком случае мы можем взять два берта-башни (фото 2), подавать первые последовательности на вход первой башне, вторые последовательности на вход второй башне, выходы башен как-то совместно преобразовывать (например, считать по ним косинус или евклидово расстояние, конкатенировать и применять линейные слои и тд...) и по результату преобразования считать лосс. Таким образом, мы "сближаем" похожие элементы, обучая башни максимизировать скоры похожих элементов и минимизировать скоры непохожих. В качестве таргета можем взять бинарную величину (0 - элементы непохожи, 1 - элементы похожи, BCE Loss).
Важно отметить, что башен может быть и две, и три, и десять. Например, вы хотите не просто найти релевантный товар для пользователя, а сразу пару релевантных товаров. Тогда, как вариант, заиспользовать Башню пользователя, Башню товара №1 и Башню товара №2. Вобщем, фантазия здесь безграничная.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM