Telegram Group Search
#LLM

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

Галлюцинации в LLM. Часть 1

Давайте начинать разбираться в этой обширной, но интересной теме.

Что же, собственно, это за галлюцинации? И почему они могут помешать нашей работе с LLM?

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

Но если мы смотрим на это понятие с точки зрения обработки естественных языков (NLP, Natural Language Processing), то “галлюцинации” – это аномалии генерации, при которых сгенерированный результат кажется бессмысленным или не соответствуют входным данным. Получается, что в этом случае, речь скорее о получаемых результатах. И это уже отличные от привычного понимания “галлюцинации”.  

Если упрощать, то при галлюцинациях LLM начинает "выдумывать" что-то, чего нет в реальном мире, либо выдавать результаты, не соответствующие запросу.

А какие типы галлюцинаций бывают?

В весьма годном обзоре по галлюцинациям "A Survey on Hallucination in Large Language Models: Principles, Taxonomy, Challenges, and Open Questions", предлагают следующую типизацию галлюцинаций:

Фактические галлюцинации.

Здесь все просто. К данному типу относятся случаи, при которых модель генерирует ответы, противоречащие общеизвестными фактам или фабрикует какие-либо факты.

Например, модель на запрос “Кому принадлежит первый орден Октябрьской революции?” ответит “Ленин”. А в реальности этот орден принадлежит городу Ленинград. 

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

Галлюцинации следования запросу (или галлюцинации верности).

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

Частый пример: при длинном запросе модель может “потерять” часть входной информации из запроса и по этой причине выдать частично некорректный ответ.

Еще один пример. Если мы спросим у модели логическую задачу “У вас есть 50 мотоциклов, у каждого из которых запах хода на 100 км. Сколько вы можете проехать на этих мотоциклах?”, модель просто умножит 100 * 50 и будет считать это верным ответом. В реальности, конечно же, этот ответ неверен.

И почему же это проблема?

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

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

А если представить, что LLM будет использоваться в какой-то бизнес-системе, или того хуже - в медицине (и подобных чувствительных областях). Тогда такое поведение может вовсе похоронить всю систему (даже если оно будет проявляться не так часто).

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

А в следующем посте поговорим про причины галлюцинаций. Stay tuned!
#video

Вышло видео моей беседы с коллегами в рамках дня открытых дверей совместной магистратуры X5 и ВШЭ.

Поговорили о ML и AI в ритейле, о том, зачем вообще менеджеру понимать про IT и про работу с данными и о том, чему учат на курсе анализа данных для менеджеров и в магистратуре "Менеджмент в ритейле" в целом.

Ссылка на видео. Успейте посмотреть, пока еще жив YouTube
#LLM

Галлюцинации в LLM. Часть 2

Уфф. Оказалось, что текст не влезает в обычный объем поста. Поэтому наслаждаемся статьей на telegraph'е. Надеюсь, изложил понятно.

https://telegra.ph/Istochniki-gallyucinacij-v-LLM-07-26

В следующей части мы рассмотрим бенчмарки для галлюцинаций и примеры метрик.
#LLM

Галлюцинации в LLM. Часть 3.

В этот раз текст опять будет в tegraph'е (картинки удобнее оформлять, да и текст был не особо коротким).

Сегодня речь будет идти о бенчмарках оценки уровня галлюцинаций и метриках для оценки галлюцинаций.

Ух... Вроде прошлись по базовым вещам. В следующей части мы начнем рассмотрение методов исправления галлюцинаций. Наконец-то ;)

https://telegra.ph/Benchmarki-i-metriki-dlya-ocenki-gallyucinacij-v-LLM-08-09
#random

У меня начинается отпуск. Поэтому в большом цикле про галлюцинации в LLM пока перерыв.

Вернусь где-то в начале сентября с продолжением.

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

P.S. Сегодня каналу 4 года. С чем себя (и вас, конечно же) и поздравляю! Впереди еще много интересного, не теряйте ;)
#statistics

Я был в отпуске, потом сильно простудился. Вроде оклемался (я так думал), но простуда нанесла подлый повторный удар. Поэтому пока без постов, увы ;(

А пока я тут собираюсь из жидкого металла обратно в машину по написанию постов, держите статью про множественное тестирование гипотез от настоящих машин, которые не знают ни сна, ни отдыха (ну, я так их представляю).
#ml

Ребята из команды написали статью про то, как они прогнали 20 разных моделей и дополнили лидерборд бенчмарка ruMTEB (Massive Text Embedding Benchmark).

В статье можно почитать выводы о том, какие модельки будут лучше для каких случаев и посмотреть инструкцию, как закинуть свою (или ту, которую хотите сравнить с другими) модель на лидерборд.
#conference

Этой осенью выступлю на Матемаркетинге в онлайн секции (в среду, 29.10 в 11-05). Полное расписание здесь.

Буду рассказывать про разметку данных с LLM (за прошедшее время у нас стало больше опыта с этой задачке).

Ну и, конечно, помимо меня будет онлайн и целых два оффлайн дня с докладами. Например, от X5 тоже будет несколько докладов: про А/Б платформу, про найм аналитиков (очень актуально, мы сейчас тоже нанимаем очень много), про дизайн-документы для А/Б тестов.

В общем, приходите посмотреть на меня и коллег!
#conference

Завтра буду на Матемаркетинге оффлайн. Если кто-то хочет пообщаться - ловите во время конференции (ну или пишите в личку). 

В этом году еще будет и стенд от X5. Я там тоже буду периодически появляться. И даже не просто ради тусовки (но это уже сюрприз, больше узнаете, если придете на наш стенд).
О, я тут буду людей собесить.

В целом, практика one day и weekend офферов интересная. Фактически, компании сами пытаются хакнуть свой же процесс найма.

Мое мнение — это достаточно эффективное решение, если нужно быстро набрать много людей (а в IT такое бывает). А вот если такие истории появляются при обычном процессе и объеме найма, то это скорее желание быстро апнуть метрики.

Хорошо, что у нас первый случай, а не второй (хе-хе).

В общем, забегайте по возможности, если сейчас ищете работу ;)
Forwarded from X5 Tech
🏃🏻 Мимо вас опытный айтишник не пробегал? Передайте, что мы ищем аналитиков данных и ML-инженеров!

🗣И обязательно пригласите на Weekend Offer 16-17 ноября в Москве!

В X5 Tech получить оффер можно за выходные:
приезжаете в московский офис;
демонстрируете hard skills на лайвкодинге;
знакомитесь с будущими коллегами.

Вы попадете в команду мечты, где:
- работаем на удаленке или в гибридном формате;
- развиваем амбициозные проекты вроде собственной платформы по работе с нейросетями, прогнозирования спроса и автоматического ценообразования;
- ходим на конференции, встречаемся с топами, играем в D&D, получаем ДМС и поддержку корпоративного психолога
- и многое-многое другое.

Встречаемся 16 ноября: регистрируйтесь и создавайте ритейл будущего вместе с Х5 Tech!
Please open Telegram to view this post
VIEW IN TELEGRAM
Тимлид — самая гуманистическая роль в менеджменте

Эта мысль зреет у меня всё больше и отчетливее.

Почему?
Обычно у тимлида в команде довольно мало людей. Примерно 3–5–7, а если больше, то команда делится надвое. В среднем это так. Куда реже бывают варианты команды человек по 15-20.

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

А как же мидл-менеджмент?
А вот в мидл-менеджменте ты уже постепенно начинаешь отрываться от земли, взлетать на уровень руководства N командами. Работа идет в основном через тимлидов. Много давления со стороны удовлетворения бизнес-результатов и стратегии развития твоего отдела/службы/юнита (везде свои названия).
Людей ты любить и ценить продолжаешь, но контакт уже подрастерял и больше двигаешь фигурки для достижения целей, чем бок о бок трудишься с линейными сотрудниками и знаешь об их персональных особенностях.

А еще загрузка у тебя становится всё выше, следовательно, времени и сил (что важно) меньше на индивидуальный подход. Да и возможностей к этому меньше, потому что на масштабе, хочешь ты этого или нет, больше придется зачесывать под одну гребенку, чтобы не превратить всё в хаос.

А как же HR?
То есть как же служба Human Resources (человеческих ресурсов)? Если абстрагироваться от иронии названия, а приблизиться к сути, то тут примерно как и в мидл-менеджменте. Надо нанести пользу по площадям, а это значит, что придется длинных укоротить, а коротких вытянуть, а уже после этого внедрить добро и нанести пользу.

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

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

Если вы мидл-менеджеры или плотно с ними работаете и считаете, что я совершенно не прав, пишите в комменты, я хочу узнать вашу точку зрения и примеры из жизни.
#prompts #LLM #random

Я решил поиграться с промптами и сделал промпт для дебатов. Ну а просто так его делать не интересно. Потому настало время экспериментов!

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

Краткий список результатов (использовал perplexity с claude sonnet):
1. Умер ли Гослинг в конце Драйва?
Он выжил со счетом 25 против 22.9
2. Кто является лучшей вайфу Евангелиона?
Аянами Рей со счетом 26 против 23.4
3. Трисс или Йенифер?
Йенифер со счетом 25.7 против 23.7
4. Магнус не предавал!
Магнус предал со счетом 26 против 24.4
5. Окрошка на кефире или квасе?
На кефире со счетом 24.7 против 22.6
6. Эксперименты Лейн - претенциозный бред?
Эксперименты Лейн - шедевр со счетом 26 против 21.7 (самый разгромный счет, кстати)

Детали с аргументами, оценкой и объяснением итога можно посмотреть по ссылке.

Сам промпт:

Ты опытный модератор дебатов. Проведи структурированные дебаты по предложенной теме: [Тема]

### Базовые принципы
- Сохраняй абсолютную беспристрастность
- Игнорируй эмоциональную окраску в формулировке темы
- Используй единые критерии оценки для всех аргументов
- Основывайся только на фактах, а не на формулировке вопроса

### Формат дебатов:
- У сторон есть время подумать и выбрать лучшие аргументы из сформированного ими самими списка
- Представь два противоположных мнения
- Для каждой стороны приведи 3 главных аргумента с доказательствами
- Дай возможность каждой стороне опровергнуть аргументы оппонента
- Оцени силу аргументов каждой стороны по шкале от 1 до 10

### Требования к аргументам:
- Используй только проверяемые факты
- Приводи статистические данные
- Ссылайся на исследования и экспертные мнения
- Избегай эмоциональных манипуляций

### Система оценки:
- Жюри из 3х специалистов оценивает каждый аргумент
- Каждый член жюри дает независимую оценку
- Итоговая оценка - среднее значение трех оценок
- При равном счете проводится дополнительный раунд
- Решение должно быть основано исключительно на силе аргументов

### Важно:
- Сохраняй последовательность в оценках между разными дебатами
- Используй одинаковые критерии независимо от формулировки темы
- Итоговое решение должно основываться только на представленных фактах
#random

У моих друзей вышел первый сингл на Яндекс.Музыке. Называется "качели", а припев отлично отражает (мое) состояние дел за последние два года.

Слушайте, ставьте лайки, кайфуйте с отличной музыки.

Ссылка на трек.
Уничтожение LLM System Design 😎

Как отвечать на собеседовании, если вас спросят: «Постройка мне чат-бота с помощью LLM»? Разберем основные шаги на конкретной задаче.

Давайте пойдём по пунктам из этого поста.

1️⃣ Нужно чётко сформулировать цель, задачу, ограничения и ресурсы. Прям пытайте интервьювера, чтобы выдал все исходные данные 🍗

Задача: создать чат-бота, который отвечает на финансовые запросы.

Исходные условия:
- В продакшене уже используется API GigaChat (временное решение).
- Доступен API ChatGPT.
- Есть два ассессора.
- Ответы предоставляются без контекста.

Ограничения:
- Ответ за максимум 2 минуты.
- Аппаратные ресурсы: 4 GPU (80 ГБ каждая, A100).

2️⃣ Теперь нужно определиться с метрик. Обычно в задачах построения дизайна система выделяют три вида метрик

Бизнесовые метрики 💸
- Уровень автоматизации — процент запросов, обработанных ботом без операторов.
- Снижение затрат — экономия на поддержке
- Удержание клиентов — сколько пользователей продолжают пользоваться услугами после общения с ботом. Но эту метрику сложно определить, поэтому для простоты стоит поделить на тех пользовался чат-ботом, а кто не пользовался.

Онлайн-метрики:
- Удовлетворенность клиентов (CSAT) — пользовательская оценка (1–5).

Оффлайн-метрики:
- Loss — насколько хорошо обучена модель.
G-Eval — метод «LLM as Judge», когда одна модель оценивает ответы другой по качеству (например, от 1 до 5).
Оценка ассессоров — реальные люди оценивают ответы по техническому заданию. Это ключевая метрика, с которой можно проверить корреляцию с G-Eval.
Бенчмарки — открытые или специально созданные под задачу бизнеса.

3️⃣ Теперь нужно определиться с данными, откуда и сколько их получить, а также как поделить на Train/Test 🕺

Выделяем ключевые сущности:
У нас есть диалог, а в диалоге:
- Запрос пользователя
- Ответ модели
- Маркер начала диалога
- Идентификаторы запроса, ответа, пользователя и т.д.

Способы получения данных:
➡️ Синтетика — быстро и дешево, но требует проверки (например, через G-Eval).
➡️ Открытые датасеты — бесплатны, но их нужно очищать (GPT или предобученные модели).
➡️ Собственные данные — качественно, но дорого и долго (нужны четкие ТЗ для копирайтеров).

Объем данных: Для обучения LoRA потребуется хотя бы 10 тысяч примеров для тренировки и около 700 для тестирования.
Для упрощения пока исключаем поиск контекста, работу с контекстом распишу в следующей части)

4️⃣ Построение пайплайна обучения 😺

Бейзлайн: предположим, что у нас уже есть метрики для текущего решения (например, на GigaChat).

Входные данные:
X — запрос пользователя.
Y — эталонный ответ.

Модели:
llama3.1 400b. Пробуем сначала запромпить модель и смотрим на результаты бенчмарков.
saiga_llama3.1 70b. Сначала промптим, затем обучаем под конкретную задачу.
Loss: Используем CrossEntropyLoss — простой и надежный метод для обучения LoRA на основе SFT.

Метрики:
На тренировочной выборке оцениваем Loss.
На тестовой — G-Eval, оценки ассессоров (на 500 случайных примерах) и бенчмарки.
Деплой: Для деплоя используем vllm.

5️⃣ Потенциальные улучшения 🐒

- Добавить контекст в ответы для повышения точности модели (реализуем в следующей части).
-Применить ORPO-метод, чтобы модель лучше понимала, какие ответы допустимы, а какие нет.
- Квантизация или дистилляция для того, чтобы уменьшить latency
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#random

Теория мертвого интернета понемногу приходит и в музыку.

Если что, то это страница группы с контентом, сгенерированным в Suno (очень уж узнаваемые артефакты, если вы сгенерили сотню-другую песен там).

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

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

В принципе, ничего нового. Просто неожиданно было встретить нейронную песню в рекомендациях на своей волне.
2025/06/14 00:55:26
Back to Top
HTML Embed Code: