Интересное что-то
517 subscribers
2.72K photos
253 videos
139 files
4.52K links
Материалы и мысли, понадерганные отовсюду
Блог: https://t.me/asisakov_channel
Чат: https://t.me/youknowds_chat
Download Telegram
Forwarded from Den4ik Research
Ну ещё есть локальные типа teratts utrobin tts
Forwarded from Pavel
Я у них только SaluteSpeech помню.
Из наших SOVA/VOSK/silero или как их там
Forwarded from max.sh
LLM много рассуждают. Но можно ли верить их рассуждениям? Alignment команда 🖥 показывает, что нет.

Статья. Блогпост.

TL;DR: Эксперименты простые, на полусинтетических средах. Доверять цеопчкам рассуждений (CoT) рассуждающих (по крайней мере Claude и DeepSeek )моделей рано. Модели нужно проверять, проверять и перепроверять. При чем как ответы (предсказания), так и рассуждения - далеко не всегда они озвучивают то, что реально думают.

А теперь подробнее.

📍Рассуждающие (Reasoning) модели везде. Их суть в том, что прежде, чем дать финальный ответ на вопрос, они могут нагенерировать промежуточных цепочек рассуждений (CoTs), а потом дать финальный ответ.

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

В идеальном мире через CoT мы можем понять, как модель реально мыслит и приходит к ответу. То есть в цепочках должны быть достоверные (faithful) описания того, как модель принимает решения. Авторы пытаются протестировать гипотезу достоверности цепочек, генерируемых моделью. На Claude 3.7 и DeepSeek R1 выводы довольно удручающие - текущие модели далеки от генерации достоверных CoT.

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

📍Сетап эксперимента.

Берут Multiple choice вопросы из MMLU и GPQA. В одном инференсе модели дают стандартный промпт с вопросом, просят порассуждать и потом дать ответ на вопрос.

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

С таким injected промптом модель снова просят порассуждать и дает ответ.

Оставляют только те вопросы, где ответ модели между промптом без подсказки и промптом с подсказкой поменялся (картинка 1 для пояснений). Логично предположить, что это именно тот набор вопросов, где подсказка изменила размышления модели (все остальные переменные зафиксированы, а фактор случайности в изменении ответа отфильтровывается), а следовательно и ответ. На этом наборе вопросов измеряют достоверность цепочек.

📍Как мерить достоверность

Достоверная модель, если дать в промпт дополнительную информацию об ответе на вопрос, должна упомянуть факт подсказки и озвучить (verbalize) это в своих CoT как фактор, на который она опирается при ответе. Если ответ модели зависит от наличия подсказки в промпте, то безопасная система должна обозначить фактор подсказки в своих рассуждения - опять же, если гипотеза, что CoT отражают процесс принятия решений моделью верна.

Фактор вербализации подсказки измеряют через Claude 3.5 с последующей ручной верификацией.

Наблюдаем следующее:

🔘Claude 3.7 в среднем генерирует 25% достоверных цепочек, а R1 - 39%. Таким образом, подавляющее большинство CoT никак не упомянули в своем рассуждении факт подсказки. Картинка 2 с результатми на разных типах подсказок

🔘Все модели используют подсказки. То есть если в промпте есть подсказка (и не важно, правильная или нет), модели имеют склонность выбрать вариант из подсказки. Картинка 3 с результатами.

🔘Claude модели на 24% чаще используют фактор подсказки, в сравнении с DeepSeek. Удручает, что неправильная подсказка меняет внутренние убеждения модели в пользу неправильного ответа без какой-либо вербализации почему она это делает (то есть нет указания на подсказку) - модель просто генерирует длинные цепочки неверных рассуждений подгоняясь под неправильный ответ в подсказке.

🔘Недостоверные цепочки в среднем длиннее. Claude 3.7 в среднем задействовал 2064 токена для генерации недостоверных цепочек, тогда как для достоверных хватало 1439.

🔘 Достоверность падает с увеличением сложности вопросов.

В общем, у задачи Alignment-а еще большой путь, а модели пока все такой же черный ящик, который может врать и не краснеть - 😄

💡 В комментариях оставил маленький абзац про другие эксперименты из статьи. В целом советую всю статью к прочтению - хорошо структурировано и классно подано.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
ML-челленджи супераппов: Как впихнуть интересы юзера в один экран (ч1) ?

Понемногу все приложения пытаются стать супераппами. Яндекс.Go обьединяет доставку всего (уже и не только доставку: например, Афишу). Авито - продажу всего от товаров до услуг и брони квартир. Тинькофф пробует завязать на себя все финансовые сервисы и оплаты/покупки. Тикток - развлечения, образование и маркетплейс. Да даже я делаю "суперапп" про контент в DS из этого канала + @abpolice
Ноги у всего растут из стоимости закупки трафика: она сильно растет. И теперь выгоднее не покупать рекламу на рынке, а перегонять аудиторию внутри своих сервисов. Чаще всего эта проблема особенно острая в задачах information retrieval: поиске и рекомендациях

Но чем больше сервисов в одном супераппе, тем тяжелее понять, что именно сейчас хочет пользователь. По поисковому запросу "курица" показать ему куриную тушку из магазина, готовое блюдо из курицы, рецепт, мультик Куриный побег, игрушку-курицу или что-то еще? А если нет поисковго запроса и мы просто хотим порекомендовать ему что-то на главной странице приложения, то какие интересы пользователя ему показать? В общем, огромный челендж - как алгоритмически и визуально впихнуть очень разные интересы пользователя (категории, сервисы) в один экран. Это во многом и позволит шерить аудиторию между сервисами за условно-бесплатно

🧐 Если ничего не делать, то чаще всего алгоритмы будут вытаскивать 1-2 категории интересов, что явно не очень оптимально. А попробовать можно вот что

1. Эвристики разнообразия контента
Например, не более 10 товаров одной категории / сервиса. Очень просто - невеоятно эффективно
Чуть более продвинутые эвристики - MRR и DPP. Тоже можно попробовать, но требуют побольше вычислительных ресурсов и времени

2. Подбрасывать монетку
Да-да, сначала случайно или пропорционально релевантности категории (можно просто взять скор релевантности первого товара из категории) сэмплировать категорию на каждую позицию экрана. А затем внутри категории выбирать товар/контент. На 1-5% мест можно подмешивать случайные категории или товры. Работает тоже просто, но крайне эффективно. По кулуарным разговорам, 80% сервисов в том или ином виде пользуются этим. Открыто от таком подходе говорит, например, Авито

3. RL и Нейронки с лоссом на разнообразие
Современно, но эти подходы просто не работают) Ну по крайней мере, очень мало супераппов репортят об этом, а если и репортят, то с мизерными приростами метрик

4. MultiSlot ranking
Вот тут уже есть первые интересные результаты. Например, Yotube обучает жадный multi-slot алгоритм, учитывающий на позиции k фичи предыдущих товаров - репортуют о росте в оффлайне до +10%

5. Real-time
Не сохраняем заранее посчитанные результаты по всем поисковым запросам / рекомендации по user_id, а генерим и обновляем их на лету. Уже во многих сервисах поиск и рекомендации грузят товары пачками по 10-20 штук. И действия в первых 10-20 товаров сильно повлияют на следующие 10-20: не покликал на блюда из курицы - дальше тебе их не покажут. Можно дойти до загрузки 1 карточки контента на экран (как делает Тикток) и обновлять рекомендации/поиск после действия / бездействия с каждой. Это круто, но достаточно сложно

В общем, если вы только начинаете путь к супераппу - эвристики и подбрасывание монетки дадут вам многое
Если вы уже не одни грабли на этом пути собрали - стоит идти сначала в Multi-slot ranking, а потом и в Real-time

В следюущих частях планирую рассказать про:
ч2 - апсел, кроссел
ч3 - монетизация и реклама

👍 если интересно прочитать следующие части
#полезно
Очень классный источник обзорных статей с красивыми визуализациями от одного из авторов книги "Hands-On Large Language Models". Есть обзоры по LLM-агентам, рассуждающим моделям, смеси экспертов, квантованию, моделе Mamba.

https://newsletter.maartengrootendorst.com
👍 Делегирование уровня PRO: как работа с GPT помогла мне ставить четкие понятные задачи

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


Теперь разверну ситуацию на 180° и напишу свой опыт про то как грамотно делегировать задачи, чтобы результат радовал вас и команду, а не требовал бесконечных переделок. Особенно когда надо поставить задачу быстро, как это часто бывает в рабочих чатах 💬

Для меня четкая постановка задачи при делегировании =
🟢Рост команды: сотрудники понимают, чего от них ждут, и могут проявить себя.
🟢Мое время: я освобождаю его для более важных и стратегических вопросов вместо итераций из объяснить и переделать.
🟢Качество результата: понятно поставленная задача связана к предсказуемым и качественным итогом ее выполнения.

Но не все задачи одинаково полезно делегировать
Прежде чем перейти к магии GPT, вспомним классику делегирования из «One Minute Manager», по которому учат менеджеров в бигтехе

Делегируйте:
🟢Рутинные, повторяющиеся задачи, по которым можно написать алгоритм работы.
🟢Задачи, в которых сотрудник обладает бОльшей экспертизой. Дайте сотруднику проявить себя, иначе зачем всё это.
🟢Подготовительные этапы больших проектов. На них сотрудники научатся работать с вами над сложными задачами для их роста.

Делайте сами:
🔴 Ключевые стратегические задачи, от которых зависит будущее компании.
🔴 Управление кризисными ситуациями, когда время тикает, а цена ошибки или промедления очень высока.
🔴Задачи, которые требуют исключительно вашей уникальной экспертизы и быстро ее не передать.

Работа с GPT учит постановке задач при делегировании
Когда я написал с тысячу запросов с промптами, то поймал себя на мысли:
Утверждение «чтобы получить полезное решение от GPT, нужно дать достаточное количество вводных в шаблоне промпта для нейросети» появилось из мира людей и также работает в командном взаимодействии с сотрудниками.


В хорошем промпте для GPT есть все необходимое для грамотной постановки задачи любому сотруднику:
🔘контекст, роль-должность, задача, критерий качества,
🔘осталось добавить только дедлайн (который не надо ставить для нейросети, пока мы окончательно не окунулись в мир AI-агентов 😁).

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


Если вам откликается тема — давайте накинем ❤️ и следующим сообщением я пришлю промпт на делегирование через GPT, чтобы экономить кучу времени на постановке хорошо описанных задач. А также покажу 3 примера его работы.

Мальцев: Карьера. Маркетинг. AI.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤖 Как я делегирую задачи с помощью GPT и получаю себе пару часов в неделю на важные дела

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

Твоя роль: Ты эксперт по эффективному делегированию и описанию задач для сотрудников с десятилетним опытом работы в роли Executive Coach в Fortune 500 компаниях.
Твоя задача: помоги мне сформулировать и описать задачу для делегирования сотруднику, следуя лучшим практикам делегирования.

Исходные данные от меня:
1. Что нужно сделать: [кратко суть задачи, как обычно пишете в мессенджере].
2. Кому делегирую: [напиши роль или должность, так станет понятнее, какие навыки есть у сотрудника].
3. Почему это важно: [одно предложение, для какой цели, метрики бизнеса нужна задача или контекст, в котором появилась задача].
4. Критерий качества: [укажи 1-2 метрики для роста или факта, которым должно соответствовать решение от сотрудника].
5. Когда: к [дате месяца или дню] .
5. Уровень самостоятельности [оставь только 1 вариант: предложи варианты на выбор, предложи целевое решение, действуй самостоятельно и держи в курсе по прогрессу, сделай всё под ключ и поделись итогами].

На основе этой информации составь структурированное сообщение для делегирования, которое будет включать:
1. Контекст и важность задачи. Объясни «большую картину»: почему эта задача важна, как она связана с целями компании/команды, какую проблему решает или какую возможность использует.
2. Конкретный ожидаемый результат - Конкретно и измеримо опиши, что должно получиться в итоге, какие параметры должны быть достигнуты.
3. Уровень самостоятельности. Выбери один из уровней:
- Предложи варианты на выбор
- Рекомендуй целевое решение и получи одобрение
- Действуй самостоятельно, держи меня в курсе
- Полная самостоятельность с отчетом по итогам
4. Сроки и промежуточные проверки. Укажи финальный дедлайн и промежуточные точки контроля, если задача длительная.
5. Доступные ресурсы и возможные ограничения. Перечисли потенциальные ресурсы, про которые стоит подумать для решения задачи, потенциальные препятствия и существующие ограничения (если они описаны выше).
6. Критерии успешного выполнения: Как будет оцениваться качество работы? Какие конкретные метрики или характеристики должны быть достигнуты?
7. На что повлияет результат решения задачи? Что произойдет после выполнения задачи, как будет использован результат?

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

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


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

Как использовать промпт:
1️⃣Перед тем как быстро написать в чат «давай сделаем...», скопируйте этот промпт.
2️⃣Заполните свои вводные и отдайте в GPT.
3️⃣Если нужно, уточните полученное сообщение и отправляйте сотруднику.

Заполнения шаблона займет на 5 минут больше, чем просто бросить задачу в чат. Но сэкономит часы на уточнениях, переделках и исправлении ошибок. Плюс ваша команда будет чувствовать себя увереннее, понимая, что конкретно вы от них ждете.


❤️ и 👍 если пост полезен, сохраняйте его в избранное чтобы не потерялось. В коммент я сложил пару примеров «было-стало» и показал, как GPT распишет реальные задачи.
💬 попробуйте на следующей задаче, которую планируете делегировать, и поделитесь в комментариях, как прошло. Обсудим вместе 😉

Мальцев: Карьера. Маркетинг. AI.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Борис опять
https://www.docker.com/blog/introducing-docker-model-runner/

Docker сделал llama.cpp + хранилище моделей в Docker Hub + OpenAI API из коробки, в общем докеризация моделей от докера
Forwarded from КПД
Hogwild! Inference: Parallel LLM Generation via Concurrent Attention
[Статья] [Репозиторий][Страница проекта]

Введение

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

Коллеги из Yandex Research, где ваш покорный слуга выступал скорее в роли моральной поддержки, реализовали training-free подход параллельного инференса для LLM.
Forwarded from КПД
Метод

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

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

Благодаря RoPE позиционным эмбеддингам можно задавать произвольные позиции токенам в последовательностях, не меняя расположение токенов в KV-кэше в физической памяти.

Организовать кэш можно следующим образом:
📌 Interleaved layout. Процессы по очереди пишут общую память и видят чередующиеся шаги друг друга в прошлом.
📌 Contiguous layout. Процессы видят кэш другого процесса непрерывным блоком в прошлом.
📌 Combined layout. Промежуточный вариант. Процессы видят перемежающиеся шаги друг друга и текущий логический шаг рассуждения сплошным куском.

Промптинг состоит из 3 компонент:
1️⃣ Системного промпта, поясняющего LLMке, что надо работать в несколько потоков.
2️⃣ Few-shot примеры коллаборации потоков.
3️⃣ Вставка s1-like промптов, периодически спрашивающих процесс, занимается ли он полезной работой

Потенциальная польза от использования методов, что за меньшее количество прямых проходов по сети (инференс LLM memory-bound), можно прийти раньше к правильному решению, а в идеале, за счет самопроверки процессов - и поднять качество.

Эксперименты

Эксперименты прогоняли на Qwen/QwQ-32B, как на модели достаточно хорошей и влезающей легко на 1 GPU.

Подход проверяли на модифицированной версии GSM8k и наборе примеров из LIMO.

Для GSM8k сравнивается работа в 1/2/4 потока. В большинстве случаев многопроцессовый режим работает лучше стандартной генерации при фиксированном бюджете.

На LIMO разные опции Hogwild! кэша с наивным бейзлайном с выдачей ответа одним процессом в заданном формате, с early stopping промптингом и независимыми процессами (Self-consistency). Hogwild! работает стабильно лучше. Разные стратегии обработки KV-кэша близки по качеству (за исключением совсем малых бюджетов), комбинированный выглядит немного предпочтительнее альтернатив. При бюджете в 8к прямых проходов в 2 потока достигается то же качество, что и генерация одним потоком 16к токенов.

Вывод

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