Artificial stupidity @artificial_stupid Channel on Telegram

Artificial stupidity

@artificial_stupid


Пишу об анализе данных и Data Science (и не только о них).
Связь с автором @gofat

Artificial stupidity (Russian)

Канал 'Artificial stupidity' приглашает вас в увлекательный мир анализа данных и Data Science! Но это еще не все - здесь вы найдете не только информацию о самых современных технологиях и методах анализа данных, но и много интересных материалов на другие темы. Хотите быть в курсе последних тенденций в мире технологий и науки о данных? Присоединяйтесь к 'Artificial stupidity'! Канал создан для тех, кто стремится к постоянному развитию и расширению своих знаний. Ведь как говорят, 'Artificial stupidity' - это не просто ошибка, это пространство для исследований и новых открытий. Автор канала @gofat всегда готов поделиться своими знаниями и ответить на ваши вопросы. Присоединяйтесь к 'Artificial stupidity' и станьте частью сообщества любителей анализа данных и Data Science!

Artificial stupidity

15 Nov, 08:12


Тимлид — самая гуманистическая роль в менеджменте

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

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

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

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

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

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

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

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

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

Artificial stupidity

12 Nov, 12:53


🏃🏻 Мимо вас опытный айтишник не пробегал? Передайте, что мы ищем аналитиков данных и ML-инженеров!

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

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

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

Встречаемся 16 ноября: регистрируйтесь и создавайте ритейл будущего вместе с Х5 Tech!

Artificial stupidity

12 Nov, 12:53


О, я тут буду людей собесить.

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

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

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

В общем, забегайте по возможности, если сейчас ищете работу ;)

Artificial stupidity

06 Nov, 12:02


#conference

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

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

Artificial stupidity

21 Oct, 12:02


#conference

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

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

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

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

Artificial stupidity

05 Oct, 12:02


#video

Я тут не увидел, а оказалось, что вышел мой видос про галлюцинации в LLM. Кому лень читать посты (которые я все еще не очень-то и закончил), то можно посмотреть видео ;)

Artificial stupidity

24 Sep, 09:10


#ml

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

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

Artificial stupidity

19 Sep, 09:10


#statistics

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

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

Artificial stupidity

17 Aug, 12:01


#random

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

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

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

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

Artificial stupidity

10 Aug, 12:01


#LLM

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

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

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

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

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

Artificial stupidity

09 Aug, 08:07


#LLM

На Хабре вышла новая статья от моих коллег. Статья про применение LLM в наших чат-ботах и про то, как мы используем RAG при работе с чат-ботами.

Ну и, как обычно, читайте, кайфуйте, ставьте плюсики ;)

https://habr.com/ru/companies/X5Tech/articles/834832/

Artificial stupidity

03 Aug, 12:01


#LLM

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

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

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

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

Artificial stupidity

01 Aug, 09:10


#video

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

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

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

Artificial stupidity

27 Jul, 12:02


#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!

Artificial stupidity

21 Jul, 11:42


🚀 Если Вам интересно машинное обучение и/или математика - приглашаем Вас принять участие в проекте по применению методов МЛ/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://t.me/sberlogasci/10989 и пишите @alexander_v_c - если Вам интересно !

PS

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

Zoom link will be in @sberlogabig just before start. Video records: https://www.youtube.com/c/SciBerloga - subscribe !

Artificial stupidity

20 Jul, 10:05


Сегодня буду на TurboML от Т-банка. Если у кого есть желание пообщаться - пишите в личку, пересечемся там

Artificial stupidity

10 Jul, 09:10


#LLM

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

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

Как обычно, читайте, ставьте плюсики, делитесь материалом с теми, кто еще не знает премудростей prompt engineering'а.

Artificial stupidity

09 Jul, 08:00


#statistics

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

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

Artificial stupidity

06 Jul, 12:01


#video

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

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

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

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

Artificial stupidity

29 Jun, 12:01


​​#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 в разметке в тех случаях, если у вас уже есть высокая потребность в разметке и достаточно большие затраты не нее. Скорее всего, в этом случае вы получите приемлемое качество (особенно, если не использовать самый банальный подход) за меньшую цену.