Forwarded from ML Baldini • Nikita Boyandin (Nikita Boyandin)
Модели_ранжирования_текстов.ipynb
16.4 KB
Модели ранжирования в тексте👌
На работе я сталкивался со многими сторонами поиска чего-либо в тексте, одно из них - модели ранжирования. Зачастую их использование дает наибольший прирост в метрики, также можно использовать в качестве второй модели в ансамбле(например, Faiss и bm25). Далее будет общий рассказ про каждый из методов:
1. TF-IDF (Term Frequency-Inverse Document Frequency)
2. BM25
3. Divergence from Randomness (DFR)
4. Language Models (LM)
Выбор алгоритма зависит от задачи: для простых случаев достаточно TF-IDF, для поиска в вебе — BM25, для специфичных коллекций — DFR, а для семантического анализа — LM.
Сверху будет представлен ноутбук для практического понимания🧂
Надеюсь вам понравится этот формат постов, обязательно ставьте реакции и пишите комменты💗
На работе я сталкивался со многими сторонами поиска чего-либо в тексте, одно из них - модели ранжирования. Зачастую их использование дает наибольший прирост в метрики, также можно использовать в качестве второй модели в ансамбле(например, Faiss и bm25). Далее будет общий рассказ про каждый из методов:
1. TF-IDF (Term Frequency-Inverse Document Frequency)
TF-IDF — это классический метод ранжирования, который оценивает важность слова в документе на основе его частоты (TF) и обратной частоты в коллекции документов (IDF). Чем чаще слово встречается в документе и реже в коллекции, тем выше его вес.
Плюсы:
✅Простота реализации и интерпретации.
✅Хорошо работает для базовых задач поиска.
✅Эффективен для выделения ключевых слов.
Минусы:
❌Не учитывает порядок слов или контекст.
❌Предполагает независимость терминов, что не всегда верно.
❌Чувствителен к длине документа без нормализации.
2. BM25
BM25 — это эволюция TF-IDF, добавляющая нормализацию длины документа и насыщение термина (уменьшение влияния чрезмерно частых слов). Использует вероятностный подход для ранжирования.
Плюсы:
✅Учитывает длину документа, что делает его более справедливым.
✅Эффективен для поиска в реальных коллекциях (например, веб-поиске).
✅Хорошо настраивается через параметры (k1, b).
Минусы:
❌Требует подбора параметров для конкретной задачи.
❌По-прежнему игнорирует семантические связи между словами.
❌Может быть менее эффективен для коротких запросов.
3. Divergence from Randomness (DFR)
DFR — это модель, основанная на измерении отклонения наблюдаемого распределения терминов от случайного. Использует концепцию "риска" для оценки релевантности документа запросу.
Плюсы:
✅Теоретически обоснован, учитывает случайность распределения терминов.
✅Гибкость за счет различных вариантов реализации (например, INE, PL2).
✅Хорошо работает с неоднородными коллекциями.
Минусы:
❌Более сложен в реализации и понимании.
❌Требует вычислительных ресурсов для больших коллекций.
❌Чувствителен к выбору параметров нормализации.
4. Language Models (LM)
Модели языка оценивают вероятность генерации запроса документом, используя статистические языковые модели. Часто применяются с сглаживанием (например, Dirichlet, Jelinek-Mercer).
Плюсы:
✅Учитывает вероятностную природу языка.
✅Может интегрировать контекст и порядок слов.
✅Хорошо адаптируется к задачам с естественным языком.
Минусы:
❌Требует больших вычислительных ресурсов для обучения и работы.
❌Зависит от качества сглаживания и размера коллекции.
❌Сложнее настраивать и интерпретировать.
Выбор алгоритма зависит от задачи: для простых случаев достаточно TF-IDF, для поиска в вебе — BM25, для специфичных коллекций — DFR, а для семантического анализа — LM.
Сверху будет представлен ноутбук для практического понимания
Надеюсь вам понравится этот формат постов, обязательно ставьте реакции и пишите комменты
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Архив Программиста
System Design Interview Fundamentals (Rylan Liu).epub
7.7 MB
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from DziS Science | Data Science
Привет всем!👋
В работе, при сборе данных для скоринга, часто приходится смотреть на хиты различных источников, дабы убедиться, что сбор данных выполнен корректно, нет систематических ошибок и тд.
Для этого очень помогает библиотека
Самый быстрый и эффективный способ проверить заполненность визуализировать ее через матрицу пропусков.
Для этого ваш набор данных надо подать на вход функции
Например:
Кроме того, библиотека имеет еще пару интересных методов:
▪️ Метод
По сути, это просто гистограмма заполненности по признакам в наборе данных.
▪️ Метод
Метод показывает насколько взаимосвязаны пропуски признаков между собой.
Метод эквивалентен
▪️ Метод
Используя иерархический метод кластеризации из библиотеки
Таким образом, библиотека становится отличным инструментом проверки заполненности данных, например во времени, что актуально в моей работе, анализа взаимосвязей заполненности данных.
По традиции, 🔥, если понравилось.
#ds_лайфхаки
В работе, при сборе данных для скоринга, часто приходится смотреть на хиты различных источников, дабы убедиться, что сбор данных выполнен корректно, нет систематических ошибок и тд.
Для этого очень помогает библиотека
missingno.Самый быстрый и эффективный способ проверить заполненность визуализировать ее через матрицу пропусков.
Для этого ваш набор данных надо подать на вход функции
.matrix().Например:
import missingno
import pandas as pd
df = pd.read_csv("your_file.csv")
missingno.matrix(df)
Кроме того, библиотека имеет еще пару интересных методов:
.bar()По сути, это просто гистограмма заполненности по признакам в наборе данных.
.heatmap()Метод показывает насколько взаимосвязаны пропуски признаков между собой.
Метод эквивалентен
import numpy as np
# df is a pandas.DataFrame instance
df = df.iloc[:, [i for i, n in enumerate(np.var(df.isnull(), axis='rows')) if n > 0]]
corr_mat = df.isnull().corr()
.dendogram()Используя иерархический метод кластеризации из библиотеки
scipy, метод показывает зависимости между заполненностью признаков, т.е если один признак заполнен, то зависимый почти всегда заполнен, либо наоборот всегда с пропусками.from scipy.cluster import hierarchy
import numpy as np
# df is a pandas.DataFrame instance
x = np.transpose(df.isnull().astype(int).values)
z = hierarchy.linkage(x, method)
Таким образом, библиотека становится отличным инструментом проверки заполненности данных, например во времени, что актуально в моей работе, анализа взаимосвязей заполненности данных.
По традиции, 🔥, если понравилось.
#ds_лайфхаки
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Тимлид Очевидность | Евгений Антонов
Кто везет, на том и едут
Прочитал на днях в канале Егора Толстого пересказ статьи про то, что вынуждает увольняться топ-перформеров. Пост и ссылка на оригинал тут https://t.me/leadgr/1866.
Там есть пара пунктов: «добавление новых задач без отказа от старых» и «скидывание части задач с себя на этого работника». Вот это и хочется сегодня обсудить.
Бывает ли такое?
Ну, казалось бы, если человек уже загружен, то станут ли ему пихать невпихуемое? Где же рациональный подход, все эти менеджерские разговоры про баланс, мотивацию, вред и неэффективность стопроцентной загрузки?
Да, станут. Я видел такое неоднократно у управленцев разных уровней и компетенций. Видел, как управленцы пихают во всё больше грустнеющих людей, а потом в какой-то момент наступает удивление или даже недовольство: «А чего это сделано всё не с отличным качеством?», «А чего это у работника отстраненность, апатия и полное отсутствие инициативы в работе?».
Почему так происходит?
Самый простой вариант — ленивый руководитель. Просто на других всё переваливает, а сам чилит. Такое я встречал на удивление редко, но всё же могу припомнить пару-тройку прям вопиющих случаев.
Следующий вариант — бестолковый руководитель. Он просто не понимает, что нельзя нагружать бесконечно одного нормально работающего сотрудника, пока другие делают мало и на отвали (возможно, специально, ведь они видят пример того, кто делал хорошо). Такое также встречал в своей практике, но тоже редко.
Самый частый вариант, который мне попадался, — вполне сознательный руководитель, но задолбанный сверху таким же отношением. Он настолько погряз во всей суете дел, неконтролируемо наваленных на него, что сам уже перестает соображать и просто лихорадочно рассовывает часть своих продалбывающихся дел в других, кто адекват и не продолбает.
А сам топ-перформер же тоже виноват?
Минутка виктимблейминга :)
В какой-то мере да. Каждый сам кузнец своего счастья и сам несет ответственность за свою жизнь и работу, хочет он того или нет. Поэтому а) он мог бы сопротивляться и отказываться, б) соглашаясь, он потворствует повторению подобного поведения со стороны напихивающего задачи.
Что же делать?
Я продолжаю утверждать, что перегруз — это зло, которое не только разрушительно влияет на наше здоровье, но и заставляет деградировать качество наших управленческих решений. Я думаю, менее перегруженный среднестатистический руководитель мог бы три раза успеть подумать, а не слишком ли он кого-то из своих ребят перегружает.
Проблема тут в том, что с перегрузом надо бороться сразу на всех уровнях. Принимающий задачи и приунывающий от объема топ-перформер, его руководитель, и так по цепочке вверх. На всё это ещё накладывается экономическая обстановка, где надо делать больше, а тратить меньше. И получается, что никакого простого выхода нет.
Но можно попробовать в сложных случаях максимально отсекать всякие хотелки-свистелки и сосредоточиться только на том, что нужно а) обязательно, б) уже в скором времени. А когда погаснет пожар перегруза, то можно уже и на перспективу дальше смотреть.
Отдельный привет передаю тем, кто ждет от перегруженных людей стратегических решений и видения прекрасного будущего на годы вперед (это звучит несколько нелогично, но некогда думать о логике, вы же понимаете).
Итог
Если вы руководитель, то постарайтесь понять, не перегружаете и демотивируете ли вы кого-то нормально работающего просто потому, что других работников недоучили?
А если вы перегружаемый, то подумайте, насколько вам это вообще нужно. Чего ради эти подвиги? Мой папа говорил, что за подобные трудовые успехи награждают «орденом Сутулого».
Прочитал на днях в канале Егора Толстого пересказ статьи про то, что вынуждает увольняться топ-перформеров. Пост и ссылка на оригинал тут https://t.me/leadgr/1866.
Там есть пара пунктов: «добавление новых задач без отказа от старых» и «скидывание части задач с себя на этого работника». Вот это и хочется сегодня обсудить.
Бывает ли такое?
Ну, казалось бы, если человек уже загружен, то станут ли ему пихать невпихуемое? Где же рациональный подход, все эти менеджерские разговоры про баланс, мотивацию, вред и неэффективность стопроцентной загрузки?
Да, станут. Я видел такое неоднократно у управленцев разных уровней и компетенций. Видел, как управленцы пихают во всё больше грустнеющих людей, а потом в какой-то момент наступает удивление или даже недовольство: «А чего это сделано всё не с отличным качеством?», «А чего это у работника отстраненность, апатия и полное отсутствие инициативы в работе?».
Почему так происходит?
Самый простой вариант — ленивый руководитель. Просто на других всё переваливает, а сам чилит. Такое я встречал на удивление редко, но всё же могу припомнить пару-тройку прям вопиющих случаев.
Следующий вариант — бестолковый руководитель. Он просто не понимает, что нельзя нагружать бесконечно одного нормально работающего сотрудника, пока другие делают мало и на отвали (возможно, специально, ведь они видят пример того, кто делал хорошо). Такое также встречал в своей практике, но тоже редко.
Самый частый вариант, который мне попадался, — вполне сознательный руководитель, но задолбанный сверху таким же отношением. Он настолько погряз во всей суете дел, неконтролируемо наваленных на него, что сам уже перестает соображать и просто лихорадочно рассовывает часть своих продалбывающихся дел в других, кто адекват и не продолбает.
А сам топ-перформер же тоже виноват?
Минутка виктимблейминга :)
В какой-то мере да. Каждый сам кузнец своего счастья и сам несет ответственность за свою жизнь и работу, хочет он того или нет. Поэтому а) он мог бы сопротивляться и отказываться, б) соглашаясь, он потворствует повторению подобного поведения со стороны напихивающего задачи.
Что же делать?
Я продолжаю утверждать, что перегруз — это зло, которое не только разрушительно влияет на наше здоровье, но и заставляет деградировать качество наших управленческих решений. Я думаю, менее перегруженный среднестатистический руководитель мог бы три раза успеть подумать, а не слишком ли он кого-то из своих ребят перегружает.
Проблема тут в том, что с перегрузом надо бороться сразу на всех уровнях. Принимающий задачи и приунывающий от объема топ-перформер, его руководитель, и так по цепочке вверх. На всё это ещё накладывается экономическая обстановка, где надо делать больше, а тратить меньше. И получается, что никакого простого выхода нет.
Но можно попробовать в сложных случаях максимально отсекать всякие хотелки-свистелки и сосредоточиться только на том, что нужно а) обязательно, б) уже в скором времени. А когда погаснет пожар перегруза, то можно уже и на перспективу дальше смотреть.
Отдельный привет передаю тем, кто ждет от перегруженных людей стратегических решений и видения прекрасного будущего на годы вперед (это звучит несколько нелогично, но некогда думать о логике, вы же понимаете).
Итог
Если вы руководитель, то постарайтесь понять, не перегружаете и демотивируете ли вы кого-то нормально работающего просто потому, что других работников недоучили?
А если вы перегружаемый, то подумайте, насколько вам это вообще нужно. Чего ради эти подвиги? Мой папа говорил, что за подобные трудовые успехи награждают «орденом Сутулого».
Forwarded from Инженер и Менеджер
Нет более верного способа испортить себе дела на работе, чем говорить "да" на каждую влетающую вам просьбу. Ну например:
- Можешь плиз посмотреть задачку быстренько? Там недолго, но мне прям очень надо, завтра релиз!
- Добавь пожалуйста в API вот эту ручку, мне для задачи не хватает, а взять ее могут только в следующем спринте, не могу ждать.
Ну и так далее. Знакомо? Соглашались? Тогда читайте дальше.
🦁 Зачем мы соглашаемся?
Очень просто: мы — социальные животные, и мы очень хотим быть в хороших отношениях с социумом вокруг нас. Это эволюционный механизм: люди, которые портили с социумом отношения, в большинстве своем не выжили и свои гены дальше не передали. Причин тому много: и саблезубые тигры, и различные виды мамонта.
Например, если неудачливый охотник-собиратель сломает себе на охоте ногу, его выживание целиком зависит от того, насколько к нему расположено племя. Если человек постоянно отказывался помочь коллегам по родо-племенному строю, вряд ли его будут подкармливать.
Поэтому наше подсознание говорим нам: соглашайся, сделай коллеге доброе дело, и тогда он сделает доброе дело тебе. Ситуация вин-вин! Тогда, в случае чего, с тобой поделятся мамонтом и ты не помрешь. Это называется "реципрокность" — наша склонность отвечать хорошим на хорошее.
⏳ А где здесь проблема?
Вот где: наше время в сутках жестко ограничено: 24 часа, из которых на работу желательно тратить часов 10-12 максимум. Многие скажут, что лучше даже поменьше. Время — невосполняемый ресурс, которым вы должны распоряжаться ответственно и инвестировать его только в важные и нужные дела.
Проблема в том, что каждое "да" отъедает кусок вашего рабочего времени. Плюс у вас есть свои рабочие задачи, в которые тоже нужно инвестировать время.
И самое главное: по ощущениям сказать "да" и согласится инвестировать время не стоит нам ни копейки времени! Ведь когда мы говорим да, мы не платим своим временем сразу. Мы выдаем сами себе кредит, который придется гасить чуть-чуть попозже, когда придет время реально выполнять работу.
Поэтому мы и говорим "да": в моменте нам это ничего не стоит, но дает ощущение, что социум нам если что подкинет кусок мамонта, если станет туго.
◀️ Обратный эффект
Рано или поздно человек, который на все говорит "да", влезает в долги: инвестирует больше времени, чем у него есть. А потом приходит время платить по этому кредиту, но выясняется, что платить нечем: мы помним, что время в сутках конечно.
Поэтому часть просьб либо отклоняется, либо делается тяп-ляп, по принципу "лишь бы отстали". Оба варианта очень плохи: человек рассчитывает на вас, строит свои планы исходя из того, что вы выполните его просьбу в срок. Вместо этого, он получает либо плохой результат, либо не получает его вообще.
В результате, вместо повышения социального одобрения и образа отзывчивого человека, мы получаем разочарованного коллегу, который вряд ли поделился бы с нами куском мамонта. Это и есть обратный эффект "да".
Самое интересное: если бы мы просто сказали "нет", эффект был бы гораздо позитивнее. Возможно, в моменте, коллега бы немного на нас подулся, но в целом — вряд ли вспомнил бы про этот отказ через пару дней. В конце-концов, отказы это просто часть нашей жизни и мы не заносим их в свою книгу обид. Правда же?
‼️ Что делать?
Не нужно отказывать всем во всех просьбах — тогда работа встанет во всей компании. Помогать коллегам важно и нужно, но внимательно рассчитывайте свою способность платить по тому кредиту, который создаст данное вами согласие. Тогда все получится как надо: вы и работе компании поможете, и вам не откажут в вашей просьбе спустя время.
А вы попадали в ситуации, где набрали слишком много кредитов на свое время? Поделитесь своей историей в комментариях! 🙂
- Можешь плиз посмотреть задачку быстренько? Там недолго, но мне прям очень надо, завтра релиз!
- Добавь пожалуйста в API вот эту ручку, мне для задачи не хватает, а взять ее могут только в следующем спринте, не могу ждать.
Ну и так далее. Знакомо? Соглашались? Тогда читайте дальше.
🦁 Зачем мы соглашаемся?
Очень просто: мы — социальные животные, и мы очень хотим быть в хороших отношениях с социумом вокруг нас. Это эволюционный механизм: люди, которые портили с социумом отношения, в большинстве своем не выжили и свои гены дальше не передали. Причин тому много: и саблезубые тигры, и различные виды мамонта.
Например, если неудачливый охотник-собиратель сломает себе на охоте ногу, его выживание целиком зависит от того, насколько к нему расположено племя. Если человек постоянно отказывался помочь коллегам по родо-племенному строю, вряд ли его будут подкармливать.
Поэтому наше подсознание говорим нам: соглашайся, сделай коллеге доброе дело, и тогда он сделает доброе дело тебе. Ситуация вин-вин! Тогда, в случае чего, с тобой поделятся мамонтом и ты не помрешь. Это называется "реципрокность" — наша склонность отвечать хорошим на хорошее.
⏳ А где здесь проблема?
Вот где: наше время в сутках жестко ограничено: 24 часа, из которых на работу желательно тратить часов 10-12 максимум. Многие скажут, что лучше даже поменьше. Время — невосполняемый ресурс, которым вы должны распоряжаться ответственно и инвестировать его только в важные и нужные дела.
Проблема в том, что каждое "да" отъедает кусок вашего рабочего времени. Плюс у вас есть свои рабочие задачи, в которые тоже нужно инвестировать время.
И самое главное: по ощущениям сказать "да" и согласится инвестировать время не стоит нам ни копейки времени! Ведь когда мы говорим да, мы не платим своим временем сразу. Мы выдаем сами себе кредит, который придется гасить чуть-чуть попозже, когда придет время реально выполнять работу.
Поэтому мы и говорим "да": в моменте нам это ничего не стоит, но дает ощущение, что социум нам если что подкинет кусок мамонта, если станет туго.
◀️ Обратный эффект
Рано или поздно человек, который на все говорит "да", влезает в долги: инвестирует больше времени, чем у него есть. А потом приходит время платить по этому кредиту, но выясняется, что платить нечем: мы помним, что время в сутках конечно.
Поэтому часть просьб либо отклоняется, либо делается тяп-ляп, по принципу "лишь бы отстали". Оба варианта очень плохи: человек рассчитывает на вас, строит свои планы исходя из того, что вы выполните его просьбу в срок. Вместо этого, он получает либо плохой результат, либо не получает его вообще.
В результате, вместо повышения социального одобрения и образа отзывчивого человека, мы получаем разочарованного коллегу, который вряд ли поделился бы с нами куском мамонта. Это и есть обратный эффект "да".
Самое интересное: если бы мы просто сказали "нет", эффект был бы гораздо позитивнее. Возможно, в моменте, коллега бы немного на нас подулся, но в целом — вряд ли вспомнил бы про этот отказ через пару дней. В конце-концов, отказы это просто часть нашей жизни и мы не заносим их в свою книгу обид. Правда же?
‼️ Что делать?
Не нужно отказывать всем во всех просьбах — тогда работа встанет во всей компании. Помогать коллегам важно и нужно, но внимательно рассчитывайте свою способность платить по тому кредиту, который создаст данное вами согласие. Тогда все получится как надо: вы и работе компании поможете, и вам не откажут в вашей просьбе спустя время.
А вы попадали в ситуации, где набрали слишком много кредитов на свое время? Поделитесь своей историей в комментариях! 🙂
Forwarded from 📆 Прыжок Веры (Vera Bazhenova | GMT+3)
ИИ ДЛЯ БЛОГЕРОВ
рассказала ИИ, чего хочу от блогов — и получила довольно крепкую аналитику, дорожную карту и кучу идей. и с вами делюсь, вдруг полезно будет?)
_ _ _ _ _
▶️ Анализируем лучшие посты
step 1: вгружаем в AI контекст.
Для этого идем в tgstat, подключаем премиум, выгружаем топ публикаций по месяцам, объединяем в один экселевский файлик.
step 2: не все ИИ умеют ходить в телегу, поэтому им оч сложно понять “что ты такого великого пишешь”. выгрузка tgstat содержит полные тексты постов, постоянные ссылки на посты и все конверсии. теперь у ИИ есть информация про весь твой блог.
step 3: убеждаемся, что ИИ понял, что перед ним, уточняем — что за данные и как с ними можно работать?
step 4: ставим задачи. например: определи, что общего у ТОП-10 публикаций по репостам? определи, в какое время лучше постить (спойлер, ТОП-20 публикаций даженикак не коррелируют со временем, датой, погодой за окном ) а можно даже попросить написать текст рекламного поста на 3-4 предложения в стиле твоего блога.
_ _ _ _ _
▶️ Придумываем стратегию развития
пишем “слушай, я хочу за Х месяцев достичь в блоге ХХ результата. нарисуй мне короткую ёмкую дорожную карту. ты можешь задавать мне дополнительные вопросы, не более 1 вопроса за раз, и не более 10 вопросов до того как ты предложишь дорожную карту”.
вот тут начинается крутость ИИ, потому что он работает как самый базовый коуч — задает прямые вопросы. сколько времени ты готова уделять блогу? у тебя есть бюджет на продвижение? на какие темы ты хочешь писать? как ты планируешь монетизироваться? какие навыки тебе уже помогают вести блог? а где у тебя просадка?
_ _ _ _ _
▶️ Не забываем о главном
p.s. а разбавить хочу такой мыслью, уже не от продуктивного ИИ, а от продуктивного Рика Рубина:
цель работы — сначала пробудить что-то в вас, а потом в других. пусть не одно и то же. мы можем лишь надеяться, что и на зрителя заряд воздействует с неменьшей силой
😀 в общем, ведение блога, с любой аналитикой и коучингом, без энергии автора и без его драйва — полная фигня.
рассказала ИИ, чего хочу от блогов — и получила довольно крепкую аналитику, дорожную карту и кучу идей. и с вами делюсь, вдруг полезно будет?)
_ _ _ _ _
step 1: вгружаем в AI контекст.
Для этого идем в tgstat, подключаем премиум, выгружаем топ публикаций по месяцам, объединяем в один экселевский файлик.
step 2: не все ИИ умеют ходить в телегу, поэтому им оч сложно понять “что ты такого великого пишешь”. выгрузка tgstat содержит полные тексты постов, постоянные ссылки на посты и все конверсии. теперь у ИИ есть информация про весь твой блог.
step 3: убеждаемся, что ИИ понял, что перед ним, уточняем — что за данные и как с ними можно работать?
step 4: ставим задачи. например: определи, что общего у ТОП-10 публикаций по репостам? определи, в какое время лучше постить (спойлер, ТОП-20 публикаций даже
_ _ _ _ _
пишем “слушай, я хочу за Х месяцев достичь в блоге ХХ результата. нарисуй мне короткую ёмкую дорожную карту. ты можешь задавать мне дополнительные вопросы, не более 1 вопроса за раз, и не более 10 вопросов до того как ты предложишь дорожную карту”.
вот тут начинается крутость ИИ, потому что он работает как самый базовый коуч — задает прямые вопросы. сколько времени ты готова уделять блогу? у тебя есть бюджет на продвижение? на какие темы ты хочешь писать? как ты планируешь монетизироваться? какие навыки тебе уже помогают вести блог? а где у тебя просадка?
_ _ _ _ _
p.s. а разбавить хочу такой мыслью, уже не от продуктивного ИИ, а от продуктивного Рика Рубина:
цель работы — сначала пробудить что-то в вас, а потом в других. пусть не одно и то же. мы можем лишь надеяться, что и на зрителя заряд воздействует с неменьшей силой
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Sinекура
Выложили мой доклад про AI Safety, который был в CS Space в воскресенье. Спасибо организаторам, что не прерывали, я, конечно, многие части прошёл в ускоренном темпе, но прошёл все, а видео в итоге получилось на 4 часа 12 минут чистого времени.
https://www.youtube.com/watch?v=PkYDScQg5PU&ab_channel=ComputerScienceSpace
Цель была в том, чтобы рассказать не только о том, почему AGI имеет все шансы уничтожить человечество, но и по существу о том, как человечество пытается сделать так, чтобы эти шансы не реализовались.
По порядку в докладе:
— введение, Хинтон и Бенджи беспокоятся
— таймлайны, slow vs. fast takeoff
— mundane risks: как LLM можно использовать в неблаговидных целях
— возможные экономические трансформации
— история AI safety от Чапека и Тьюринга
— аргументы об экзистенциальном риске
— разбор стандартных возражений
— основные определения: emergence, mesa-optimization, alignment, corrigibility
— пример конкретного направления: подхалимство (sycophancy) и как его уменьшить
— интроспекция / situational awareness: понимают ли модели свою ситуацию
— goodharting (закон Гудхарта), его частные случаи и яркие примеры reward hacking
— механистическая интерпретируемость: схемы, поиск признаков автокодировщиками
— sparks of misalignment (примеры): sleeper agents, alignment faking, emergent misalignment...
— заключение: что сейчас делают государства, учёные и компании, как LLM-агенты играют в википедию
Это было нелегко, потому что это был на 80% новый доклад с новыми слайдами и новыми идеями, которые я слышал раньше, конечно, но никогда сам не рассказывал. Пара накладок действительно случилась, но в основном, кажется, справился и результатом доволен.
А если вы хотите услышать одну cool story из доклада, отправляйтесь на таймкод 3:48:20 и послушайте буквально 5-7 минут про emergent misalignment. Эта работа вышла месяц назад (Betley et al., Feb 24, 2025), и это просто офигенно; не буду спойлерить, посмотрите сами.
https://www.youtube.com/watch?v=PkYDScQg5PU&ab_channel=ComputerScienceSpace
Цель была в том, чтобы рассказать не только о том, почему AGI имеет все шансы уничтожить человечество, но и по существу о том, как человечество пытается сделать так, чтобы эти шансы не реализовались.
По порядку в докладе:
— введение, Хинтон и Бенджи беспокоятся
— таймлайны, slow vs. fast takeoff
— mundane risks: как LLM можно использовать в неблаговидных целях
— возможные экономические трансформации
— история AI safety от Чапека и Тьюринга
— аргументы об экзистенциальном риске
— разбор стандартных возражений
— основные определения: emergence, mesa-optimization, alignment, corrigibility
— пример конкретного направления: подхалимство (sycophancy) и как его уменьшить
— интроспекция / situational awareness: понимают ли модели свою ситуацию
— goodharting (закон Гудхарта), его частные случаи и яркие примеры reward hacking
— механистическая интерпретируемость: схемы, поиск признаков автокодировщиками
— sparks of misalignment (примеры): sleeper agents, alignment faking, emergent misalignment...
— заключение: что сейчас делают государства, учёные и компании, как LLM-агенты играют в википедию
Это было нелегко, потому что это был на 80% новый доклад с новыми слайдами и новыми идеями, которые я слышал раньше, конечно, но никогда сам не рассказывал. Пара накладок действительно случилась, но в основном, кажется, справился и результатом доволен.
А если вы хотите услышать одну cool story из доклада, отправляйтесь на таймкод 3:48:20 и послушайте буквально 5-7 минут про emergent misalignment. Эта работа вышла месяц назад (Betley et al., Feb 24, 2025), и это просто офигенно; не буду спойлерить, посмотрите сами.
Forwarded from Neural Kovalskii
This media is not supported in your browser
VIEW IN TELEGRAM
Deep Research за копейки?
Йоу, народ! Время рассказать, чем я тут занимался в последнее время
Спойлер:Deep Кодил
Короче, решил я окунуться в мир опенсорса на тему Deep Research
Знаете, такие штуки, которые умнее обычного гугления
И вот что я там накопал прошелся по 3-4 репо и пока вот мой топ для понимания как это работает.
Значит берем LangGraph(langsmith)
Берем tavily
Берем LLM
Берем другую LLM которая будет кодить (кстати я попробовал Cursor скоро расскажу как оно там)
1. Можно кастомить агентов с помощью Structure Output + CoT (Chain of Thought, если кто не в курсе).
2. Есть готовые репо, типа этого: https://github.com/langchain-ai/ollama-deep-researcher
Но я же не ищу легких путей! Взял этот репо и перепилил всё под себя что поменял
- Промпты обновил (добавил SO, чтоб было красиво)
- Граф немного перекроил
- Подключил свои серваки с vLLM (видюхи не простаивают!)
- Поправил промпты рефлексии
Короче, получилось вот это чудо:
https://github.com/kekslop/ndt-deep-researcher
И вот что самое крутое: с сегодняшнего дня почти все мои наработки будут попадать на GitHub!
Да-да, вы тоже сможете их попробовать!
Я там расписал README так подробно, что даже моя бабушка сможет повторить мой опыт создания такого агента и использования его в быту
Ну, почти 😅
Основная фишка текущего подхода - это визуализация и работа с Structured Output и работа с моделькой 7b =)
Дальше буду кастомить свой CoT
Что умеет эта штука для меня
- Работает на разных языках (прям как я после пятничного стрима "запускаем новое направление))
- Ищет инфу в интернете через Tavily (круче, чем ваша школьная разработка на силениум )
А самое интересное впереди! Скоро расскажу, как сделать монструозную систему с генерацией биг отчета и поиском инфы в нескольких источниках
Следите за обновлениями, кто хочет быть в теме!
Ну а я пошел кодить дальше, пока команда думает, что я занимаюсь "стратегическим планированием" 😎
Йоу, народ! Время рассказать, чем я тут занимался в последнее время
Спойлер:
Короче, решил я окунуться в мир опенсорса на тему Deep Research
Знаете, такие штуки, которые умнее обычного гугления
И вот что я там накопал прошелся по 3-4 репо и пока вот мой топ для понимания как это работает.
Значит берем LangGraph(langsmith)
Берем tavily
Берем LLM
Берем другую LLM которая будет кодить (кстати я попробовал Cursor скоро расскажу как оно там)
1. Можно кастомить агентов с помощью Structure Output + CoT (Chain of Thought, если кто не в курсе).
2. Есть готовые репо, типа этого: https://github.com/langchain-ai/ollama-deep-researcher
Но я же не ищу легких путей! Взял этот репо и перепилил всё под себя что поменял
- Промпты обновил (добавил SO, чтоб было красиво)
- Граф немного перекроил
- Подключил свои серваки с vLLM (видюхи не простаивают!)
- Поправил промпты рефлексии
Короче, получилось вот это чудо:
https://github.com/kekslop/ndt-deep-researcher
И вот что самое крутое: с сегодняшнего дня почти все мои наработки будут попадать на GitHub!
Да-да, вы тоже сможете их попробовать!
Я там расписал README так подробно, что даже моя бабушка сможет повторить мой опыт создания такого агента и использования его в быту
Ну, почти 😅
Основная фишка текущего подхода - это визуализация и работа с Structured Output и работа с моделькой 7b =)
Дальше буду кастомить свой CoT
Что умеет эта штука для меня
- Работает на разных языках (прям как я после пятничного стрима "запускаем новое направление))
- Ищет инфу в интернете через Tavily (круче, чем ваша школьная разработка на силениум )
А самое интересное впереди! Скоро расскажу, как сделать монструозную систему с генерацией биг отчета и поиском инфы в нескольких источниках
Следите за обновлениями, кто хочет быть в теме!
Ну а я пошел кодить дальше, пока команда думает, что я занимаюсь "стратегическим планированием" 😎
Forwarded from Запрети мне псевдолейблить
🥇 Первое место на NeurIPS Lux AI 3
За первое место соперничали в основном только три топовые команды. Давайте разберем ключевые решения победителей соревы:
Массовый фичинжиниринг
• Создали более 1000+ признаков для каждого тайла (напомню, их размер — 24×24)
•Сами написали PPO с V-trace на PyTorch
• Тоже двухголовая архитектура. Одна голова выбирает действие, а вторая определяет, куда стрелять, если действие связано с выстрелом
• Приделали еще и голову, которая предсказывает, куда шагнут враги в следующий момент, даже если враг не наблюдается. Таким образом, модель научилась стрелять «вслепую» 👀
• Обучались в формате bfloat16 на 1.5 млрд матчей. Всего за всю соревновательную сессию сыграли около 20 млрд матчей ⚡
Все другие секреты PPO уже разобраны, поэтому давайте сосредоточимся на поистине уникальном приеме команды:
🔥 Противодействие Imitation Learning (тут еще есть второе мнение от настоящего грандмастера)
• С первого люкса команда понимала, что многие полагаются на imitation learning, и решила активно противодействовать этому.
• Были обучены две модели — слабая и сильная (предыдущая лучшая и текущая) — с рандомным выбором, какая из них будет играть во время инференса.
• Сильная модель работала всего в 15% случаев, но писала об этом в логи игры, позволяя после матча распарсить и понять какая модель играла и замерять эффект. Все остальное время учили IL оппонентов плохому
• Анализ логов после матчей позволял точно оценить преимущества сильной модели относительно предыдущей. К тому же, топовые команды генерировали около 1000 матчей в день уже на лб (из них ~150 с сильной моделью), так что можно было проверить статзначимость улучшения.
• Под конец модель настолько раздулась, что две модели не помещались в сабмишн, так что пришлось оставить только одну и добавить к её атрибутам шум для того, чтобы портить трейн сет всем подражателям
#lux
За первое место соперничали в основном только три топовые команды. Давайте разберем ключевые решения победителей соревы:
Массовый фичинжиниринг
• Создали более 1000+ признаков для каждого тайла (напомню, их размер — 24×24)
•Сами написали PPO с V-trace на PyTorch
• Тоже двухголовая архитектура. Одна голова выбирает действие, а вторая определяет, куда стрелять, если действие связано с выстрелом
• Приделали еще и голову, которая предсказывает, куда шагнут враги в следующий момент, даже если враг не наблюдается. Таким образом, модель научилась стрелять «вслепую» 👀
• Обучались в формате bfloat16 на 1.5 млрд матчей. Всего за всю соревновательную сессию сыграли около 20 млрд матчей ⚡
Все другие секреты PPO уже разобраны, поэтому давайте сосредоточимся на поистине уникальном приеме команды:
🔥 Противодействие Imitation Learning (тут еще есть второе мнение от настоящего грандмастера)
• С первого люкса команда понимала, что многие полагаются на imitation learning, и решила активно противодействовать этому.
• Были обучены две модели — слабая и сильная (предыдущая лучшая и текущая) — с рандомным выбором, какая из них будет играть во время инференса.
• Сильная модель работала всего в 15% случаев, но писала об этом в логи игры, позволяя после матча распарсить и понять какая модель играла и замерять эффект. Все остальное время учили IL оппонентов плохому
• Анализ логов после матчей позволял точно оценить преимущества сильной модели относительно предыдущей. К тому же, топовые команды генерировали около 1000 матчей в день уже на лб (из них ~150 с сильной моделью), так что можно было проверить статзначимость улучшения.
• Под конец модель настолько раздулась, что две модели не помещались в сабмишн, так что пришлось оставить только одну и добавить к её атрибутам шум для того, чтобы портить трейн сет всем подражателям
#lux