Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
417 - Telegram Web
Telegram Web
#education

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

1. Я сильно лучше начал понимать своих преподов (особенно из индустрии). У тебя и так не очень много времени, а тут еще нужно делать лекции, семинары, смотреть домашки, консультировать (если есть проекты или сложные домашки). И на это уже начинает не хватать времени;
2. Подготовка хороших материалов занимаем очень много времени (если делать хорошо). И не только создание материалов, а потом еще их адаптация по итогам обратной связи от коллег и студантов;
3. У нецелевых курсов меньше внимания студентов. И это, в целом, логично (программа все же про менеджмент). Я тоже в свое время не особо обращал внимания на философию или культурологию, когда учился на математика. Но теперь понимаю преподавателей этих дисциплин ;)
4. Есть вещи, которые определенно пойдут не так. Что-то, что ты рассчитывал, как достаточно быстрое задание, может занять сильно больше времени. Какие-то темы, которые ты считал более интересными, не будут вызывать особого ажиотажа. А те, что ты считал проходными, наоброт, будут более интересны;
5. Я весьма неплохой лектор. По крайней мере, особых жалоб не было, народ слушал. Да и мне самому нравится болтать на эту тему (иначе я бы столько докладов на разных конференциях не делал бы).

А что по итогу?

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

В следующем году, вероятно, я тоже прочитаю сколько-то лекций на курсе. Но вряд ли столько же, как в прошлом году.

P.S. Кстати, скоро начнется набор на новый год этой программы. Раз уж решил пост про это написать, то можно и упомянуть.
Ух, какая офигенная история
Forwarded from Борис опять
Меня закэнселили забанили на стендап шоу.

Две недели занимаюсь стендапом, а уже драма!

Вчера выступил в четвертый раз. Прошло неплохо. После шоу я уже вызвал такси, подхожу попрощаться с ведущим и парой комиков. Одна из комиков посмотрела на меня и говорит ведущему: "Ой, а ему не заплатили." Я такой: "You guys getting paid?"

Ведущий говорит: "Everyone gets paid, but YOU are not." Интонация была какая-то странная, будто высокомерная, и я заглотил наживку, спросил почему. Он объяснил, что они не платят новым комикам, тем кто выступает меньше трех месяцев, потому что потом они пропадают и больше не приходят, "don't wanna be part of this scene." Я не понял логической связи. Обозначил, что мне все равно на эти деньги, но сказал, что это какая-то странная схема: комики ведь делают твое шоу, посетители приносят деньги, и причём тут вообще пропадают эти комики позже или нет? Он выдал мне тираду о том, что он в комедии шесть лет, и почему они должны платить опытным комикам так же, как мне? Стало уже совсем неловко, я сказал, что "I can see the reasoning, not cool, but I am going", а он не пожал мне руку и говорит "Get out, you are not getting on this show." Я развернулся и пошел в свое такси, благо моя самооценка не держится на том, что я N лет в комедии (пока что).

Весь разговор длился минуты полторы, поэтому я вообще не уловил, что это было. Нормально же общались, как говорится. Позже, подумав, понял, что его задело: он решил, что я учу его как делать шоу. Хотя я ведь просто пытался понять, как это работает и почему, а потом сказал, что думаю.

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

Очень хотелось объяснить человеку на языке тела, что общаться с людьми через "Get out" неуважительно. Но подостыл и написал ему в вотсап, что не хотел обидеть (что правда) и "no hard feelings." Больше всего беспокоило, что он пойдет рассказывать плохие вещи в тесной тусовочке, и мне отрубят доступ к другим площадкам, после чего карьера великого рейнджера комика закончится не начавшись. Поэтому хотелось по крайней мере не дать конфликту разгораться. Он выдал мне в ответ тираду, что мол, сначала поживи в комедии с моё, а потом делись своим мнением. Чтож, окей.

Вот он какой, суровый шоу-бизнес, в котором все работает совсем не так, как я привык.

Вынес из этого важный урок коммуникации: не лезь куда не надо и считывай комнату.
​​#llm

Используем LLM для разметки (часть 1).

А так вообще можно? Оказывается, что можно. Но только с осторожностью.

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

Сначала вспомним, что такое разметка данных. Разметка данных (Data labeling) (иногда называемая аннотированием данных (data annotation)) — это процесс добавления меток или тэгов в сырые данные, чтобы показать модели машинного обучения целевые атрибуты (ответы), которые она должна предсказывать.

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

Ну и, конечно же, этот процесс не так прост, каким кажется. Вот несколько сложностей, которые могут возникнуть в этом процессе:
1. Большие объемы данных. Если у нас много задач, которым требуется разметка, то нам придется потратиться на разметку. Увы, но производительность там растет примерно линейно - больше разметчиков дают больший объем разметки;
2. Специализация удорожает разметку. Не для всякой задачи подойдет случайно выбранный человек с краудсорсинговой платформы. Например, в случае работы с медицинскими данными, обычный человек попросту не сможет правильно проинтерпретировать снимок или результаты анализов;
3. Данные не статичны. Мир постоянно меняется. Поэтому далеко не факт, что единожды собранный набор данных будет давать то же качество работы модели в будущем. Потому процесс разметки обычно не останавливается (нам желательно иметь приток новых меток со временем);
4. Согласованность данных. Если разметкой какого-то набора или экземпляра данных занимается только один человек, то в данные могут попасть его ошибки или заблуждения. Поэтому, часто используется перекрестная разметка (когда несколько человек проставляют метку, а результат получается консенсусным решением).

Соответственно, разметка может стать весьма затратным мероприятием. И вполне себе может стоить тысячи и десятки тысяч долларов (тут, конечно, все зависит от задачи и объема). Да и скорость разметки все еще ограничена скоростью человека (или группы людей), который ее проводит.

И тут на сцену выходит LLM. Какие же плюсы могут быть от использования такого рода моделей в разметке данных:
1. Ниже стоимость разметки. Некоторые авторы приводят разницу в разы, другие - на порядок. Но даже разница в 5-7 раз - это весьма существенная экономия;
2. Выше скорость разметки. Здесь мы не ограничены скоростью человека, потому вполне можем ускорить разметку на порядок (см. изображение к посту);
3. Адаптивность. Изменением промпта мы можем менять задачу для разметки. При этом, LLM показали свою эффективность в достаточно большом наборе задач (от машинного перевода до выделения именованных сущностей). Соответственно, переход от задачи к задаче должен быть достаточно прост.

На этом интригующем моменте давайте остановимся. И продолжим уже тем, как мы можем применить LLM к процессу разметки, какие есть инструменты и особенности работы с LLM-разметчиком.
​​#llm

Используем LLM для разметки (часть 2).

Продолжаем наш разговор о применении LLM для разметки данных.

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

Начнем с того, что наши железные друзья все же понемногу наступают на пятки разметчикам данных. Но все еще не всегда обгоняют таковых. Впрочем, результаты весьма обнадеживающие, к посту прикладываю пример из статьи "LLMs can label data as well as humans, but 100x faster". Но пост все-таки в блоге компании, потому к результатам лучше относиться с некоторым подозрением.

И все же, частично мы можем передать разметку LLM. Но как мы это можем провернуть? Вот несколько вариантов:
1. Банальный. Давайте просто напишем промпт, вида "представь, что ты разметчик данных, реши следующую задачу [описание задачи]". Очевидно, такой подход будет страдать от всех bias'ов о возможных ошибок и галлюцинаций модели;
2. Корректирующий. Мы можем улучшить банальный подход, оставив в процессе разметки человека. Но теперь мы даем человеку вместо разметки, задачу проверки расставленных LLM меток. Вероятно, перепроверить за моделью будет проще. А, значит, нужно будет меньше ресурса разметчиков. При этом, такой подход будет качественнее банального, но менее ресурсоемким, чем классическая разметка людьми;
3. Развивающий. Помимо перепроверки человеком, мы можем добавить версионирование промптов и их постепенное улучшение. Для этого нам желательно иметь "золотой набор", об который мы могли бы оценивать качество разметки (считая, что люди дают наивысшее (или близкое к нему) качество).

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

Примеры построения промптов можно посмотреть здесь и здесь.

Что интересно. На самом деле, многие решения для разметки данных уже стараются имплементировать фичи для разметки с использованием LLM. Например, в Label Studio есть такой функционал (можно почитать про него здесь).

И, конечно, стоит упомянуть о минусах использования LLM в разметке данных:
1. Возможные смещения. Результаты могут сильно зависеть от того, на чем обучалась LLM (особенно, для русского языка);
2. Постоянная поддержка. Нужен постоянный процесс мониторинга качества результатов и внимание специалистов к самому процессу разметки;
3. Ограниченность текстовыми данными. Если мы используем LLM, то у нас есть ограничения типа используемых данных. Впрочем, достаточно быстро развиваются и мультимодальные модели, что может в будущем решить проблему. 

И каковы же итоги?

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

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

Собственно, поэтому я сходил на курс стендапа.

Из интересного:
1. Очевидно, то, что вы видите на концертах или на записях с ютуба - это уже "вылизанная" финальная версия, до которой проходит очень много итераций проверки материала;
2. Продолжая прошлый пункт. Шутки писать не так уж просто. Это реально писательский труд. Так потом их еще нужно тестировать. Ведь то, что у тебя в голове кажется ужасно смешным, в реальности вызовет напряженную тишину и пару покашливаний;
3. В принципе, со стендапом примерно как с другими публичными выступлениями. Сперва очень тревожно, потом становится проще (но немного тревожности все равно остается). Ну и, чем больше вам знакома аудитория - тем проще перед ней выступать;
4. Мне больше нравится писать шутки, чем их рассказывать. В целом, рассказывать я их тоже могу, просто писать интереснее;
5. Самое первое выступление со своим материалом я решил сделать на стендап фестивале VK. То есть, пошел по хардкору. Поясню. На фесте более 1000 опытных комиков (вроде бы было что-то около 1300-1500 человек), которые выступают один за одним. И выбирают из них где-то 40-50 человек. И тут я такой "здрасьте". Было дико страшно, но зато я прочувствовал на себе более хардкорную сложность выступления.

Если будет интересно, прикрепляю запись со второго выступления (там все было сильно менее тревожно, т.к. это выпускной с курсов и там были "все свои"). Но у меня в тот же день было выступление I'ML, потому я все равно порядок шуток плохо запомнил ;)
#statistics

Мои коллеги из X5 не перестают радовать новым полезным контентом. В этот раз статья про использование Reinforcement Learning в задаче групповой оптимизации цен.

Читаем, просвещаемся, наслаждаемся! И не забываем ставить плюсики, конечно же ;)
#LLM

Парад клевых материалов продолжается!

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

Как обычно, читайте, ставьте плюсики, делитесь материалом с теми, кто еще не знает премудростей prompt engineering'а.
Сегодня буду на TurboML от Т-банка. Если у кого есть желание пообщаться - пишите в личку, пересечемся там
🚀 Если Вам интересно машинное обучение и/или математика - приглашаем Вас принять участие в проекте по применению методов МЛ/RL к теории групп/графов Кэли - напишите @alexander_v_c - если хотите принять участие, а также заходите на вводный вебинар (знаний теории групп не требуется):

👨‍🔬 Александр Червов (к.ф.-м.н) "Методы МЛ в теории групп - введение и обзор достигнутого"
⌚️ Понедельник 22 июля, 18.00 (по Москве)

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

В данном докладе мы простым языком объясним формулировки основных задач, и как задачи теории групп переводятся на язык машинного обучения. Предварительных знаний не требуется. Также, мы дадим обзор уже достигнутых результатов - в частности для группы порядка 4*10^19 (Rubik cube) нам уже удается находить решение задачи за минуты , а не 40 часов ГПУ как было в предыдущей работе "DeepCube".

План доклада:

1 Переформулировка основной задачи на простом языке матриц

2 Матрицы перестановок и группы типа кубика Рубика (см. ноутбук "Visualize allowed moves": https://www.kaggle.com/code/marksix/visualize-allowed-moves )

3 Графы Кэли и переформулировка основной задачи как поиск пути на графе

4 Случайные блуждания по графам - создание трейн сета для МЛ-модели

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

6 Beam search. (Один из вариантов борьбы с застреваниями в локальных минимумах)

7 Бейзлайн реализация: МЛ+ Beam search - ноутбук: https://www.kaggle.com/code/alexandervc/baseline-1-for-permutations - решение кубика Рубика за пару минут

8 Cледующие шаги: RL-часть, улучшение нейросеток, улучшение трейн сета, улучшение beam search

Добавляйтесь в группу проекта: https://www.tgoop.com/sberlogasci/10989 и пишите @alexander_v_c - если Вам интересно !

PS

См. также предыдущий вводный доклад:
https://www.tgoop.com/sberlogasci/10989/15283 "Введение в методы поиска короткого пути на больших графах" (Кирилл Хоружий )

Zoom link will be in @sberlogabig just before start. Video records: https://www.youtube.com/c/SciBerloga - subscribe !
#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 тоже будет несколько докладов: про А/Б платформу, про найм аналитиков (очень актуально, мы сейчас тоже нанимаем очень много), про дизайн-документы для А/Б тестов.

В общем, приходите посмотреть на меня и коллег!
2025/07/01 12:40:20
Back to Top
HTML Embed Code: