А что там про Foundational Model в роботике?
Начнём с того, у меня к физическим роботам интерес (пока что) ограниченный по ряду причин:
1) Роботы это не про решение интеллектуальных задач, а про ассистирование человеку в "бытовых" вопросах, и поэтому такого революционного влияния на мир, как "AGI", они не окажут. "AGI"-роботы тоже окажут, но дело тут в не роботах.
2) До недавних пор не было ощущения, что технология "домашних роботов-помощников" достижима в ближайшем будущем
В последнее время на глаза мне попадались статьи, ставящие под сомнение второй пункт, поэтому я решил об этом подумать. Для начала обсудим образ цели:
Если у нас будет робот со способностями, аналогичными ChatGPT-4, то это уже будет сильно более полезная технология, чем сама ChatGPT-4. Нам не требуется никакая "интеллектуальная" деятельность от робота, нам нужно, чтобы он делал вам кофе и готовил еду в вашей квартире, на которой он не обучался. Это аналогично умению ChatGPT-4 отвечать на какие-то вопросы и делать простые выводы в заданном контексте.
Что позволяет этому происходит на текущем уровне развития ML-алгоритмов? Прежде всего, колоссальный объём данных. Пространство текстов настолько плотно ими покрыто, что это позволяет возникнуть какой-то генерализации при работе с текстом. С роботами есть ряд проблем на этот счёт:
1) Пространство действий робота гораздо выше. Нам нужно не сгенерировать дискретные токены, а прикладывать силу к большому количеству точек в каждое мгновение. Может быть, подобная модель потребует ещё большего объёма данных, чем требуют LLM
2) Такие данные не генерируются естественным путём всем человечеством. Нужно городить специальные схемы для сбора большого количества данных, и пока неясно, хватит ли этого
С другой стороны, нам может помочь transfer learning. Пример RT-2 показывает, что каких-то результатов можно достичь, переиспользуя данные из других доменов, и технологии этого трансфера будут продолжать развиваться.
Кроме того, существует и эффект снежного кома - в случае поднятия интереса к теме и появления новых результатов в работу над датасетами / алгоритмами могут начать инвестировать миллиарды долларов, и это перестанет быть нишевой сферой, как в своё время NLP.
А вы что думаете? Напишите, чем вы бы заставили заниматься своего домашнего робота.
@knowledge_accumulator
Начнём с того, у меня к физическим роботам интерес (пока что) ограниченный по ряду причин:
1) Роботы это не про решение интеллектуальных задач, а про ассистирование человеку в "бытовых" вопросах, и поэтому такого революционного влияния на мир, как "AGI", они не окажут. "AGI"-роботы тоже окажут, но дело тут в не роботах.
2) До недавних пор не было ощущения, что технология "домашних роботов-помощников" достижима в ближайшем будущем
В последнее время на глаза мне попадались статьи, ставящие под сомнение второй пункт, поэтому я решил об этом подумать. Для начала обсудим образ цели:
Если у нас будет робот со способностями, аналогичными ChatGPT-4, то это уже будет сильно более полезная технология, чем сама ChatGPT-4. Нам не требуется никакая "интеллектуальная" деятельность от робота, нам нужно, чтобы он делал вам кофе и готовил еду в вашей квартире, на которой он не обучался. Это аналогично умению ChatGPT-4 отвечать на какие-то вопросы и делать простые выводы в заданном контексте.
Что позволяет этому происходит на текущем уровне развития ML-алгоритмов? Прежде всего, колоссальный объём данных. Пространство текстов настолько плотно ими покрыто, что это позволяет возникнуть какой-то генерализации при работе с текстом. С роботами есть ряд проблем на этот счёт:
1) Пространство действий робота гораздо выше. Нам нужно не сгенерировать дискретные токены, а прикладывать силу к большому количеству точек в каждое мгновение. Может быть, подобная модель потребует ещё большего объёма данных, чем требуют LLM
2) Такие данные не генерируются естественным путём всем человечеством. Нужно городить специальные схемы для сбора большого количества данных, и пока неясно, хватит ли этого
С другой стороны, нам может помочь transfer learning. Пример RT-2 показывает, что каких-то результатов можно достичь, переиспользуя данные из других доменов, и технологии этого трансфера будут продолжать развиваться.
Кроме того, существует и эффект снежного кома - в случае поднятия интереса к теме и появления новых результатов в работу над датасетами / алгоритмами могут начать инвестировать миллиарды долларов, и это перестанет быть нишевой сферой, как в своё время NLP.
А вы что думаете? Напишите, чем вы бы заставили заниматься своего домашнего робота.
@knowledge_accumulator
👍16❤5🔥2
Про компанию X, в которую иду делать рекомендации
К сожалению, более удачного каламбура не придумал на эту тему. Да, с конца февраля я Senior ML Engineer в том самом x.com!
Чрезвычайно рад тому, что всё срослось, поскольку здесь совпало многое, что я хотел бы видеть от своего места работы:
- Масштаб
Наверное, тут останавливаться не надо, сервисом пользуются сотни миллионов людей каждый день.
- Фокус на продукте
Теперь я работаю над одним продуктом, что позволит сильнее эмоционально вложиться в его улучшение. Раньше я был разработчиком в "инструментальных" командах, рассматривающих продукты, как своих "клиентов". Это не резонирует с моими взглядами, о которых говорил в позапрошлом посте.
- Небольшой размер
После массовых сокращений во всей компании работает всего ~1500 человек, что на порядок меньше Яндекса и тем более бигтеха. Уверен, только рекомендациями в YouTube или Spotify занимаются сотни людей, и в такой толкотне свободы действий никакой практически нет.
- Полезность для мира
Я полностью поддерживаю желание Маска создать платформу с высокой степенью свободы слова в противовес демпартийной цензуре, процветающей в сервисах бигтеха. Буду очень рад сделать всё возможное для успеха этого проекта вопреки атакам политических противников.
- Оффер
Помимо того, что он в целом крайне достойный, большой кусок составляют акции компании. Это крупная ставка, но сейчас люди сомневаются в успехе X, и есть неплохой шанс того, что в случае решения проблем всё выстрелит. Замечу, что сейчас компания стоит в 50 раз дешевле Meta и даже дешевле Slack.
- Буду работать вместе с хорошими знакомыми
Мне было бы очень страшно идти работать туда, где я никого не знаю. К счастью, в этот раз ситуация совсем иная.
- Антихайп
Моё внимание и интерес в целом в жизни привлекает наличие хейта, так он всегда сопровождает любую по-настоящему созидательную деятельность. В свою очередь, горячие темы, даже если они оправданы, вызывают небольшое отторжение. У такого bias есть и практический смысл - работать в одной из миллиардов LLM-команд и конкурировать с кучей инженеров может оказаться плохой карьерной стратегией, а вот продолжать работать над рекомендациями, реально приносящими кучу добавленной стоимости, в компании, которую недолюбливают другие инженеры - это мне по душе!
Напоследок добавлю, что есть желание больше писать в канале про свою работу, встречающиеся проблемы и решения, но мне ещё предстоит узнать, где проходит граница NDA. Так что, посмотрим!
Подписывайтесь на меня там, кстати!
К сожалению, более удачного каламбура не придумал на эту тему. Да, с конца февраля я Senior ML Engineer в том самом x.com!
Чрезвычайно рад тому, что всё срослось, поскольку здесь совпало многое, что я хотел бы видеть от своего места работы:
- Масштаб
Наверное, тут останавливаться не надо, сервисом пользуются сотни миллионов людей каждый день.
- Фокус на продукте
Теперь я работаю над одним продуктом, что позволит сильнее эмоционально вложиться в его улучшение. Раньше я был разработчиком в "инструментальных" командах, рассматривающих продукты, как своих "клиентов". Это не резонирует с моими взглядами, о которых говорил в позапрошлом посте.
- Небольшой размер
После массовых сокращений во всей компании работает всего ~1500 человек, что на порядок меньше Яндекса и тем более бигтеха. Уверен, только рекомендациями в YouTube или Spotify занимаются сотни людей, и в такой толкотне свободы действий никакой практически нет.
- Полезность для мира
Я полностью поддерживаю желание Маска создать платформу с высокой степенью свободы слова в противовес демпартийной цензуре, процветающей в сервисах бигтеха. Буду очень рад сделать всё возможное для успеха этого проекта вопреки атакам политических противников.
- Оффер
Помимо того, что он в целом крайне достойный, большой кусок составляют акции компании. Это крупная ставка, но сейчас люди сомневаются в успехе X, и есть неплохой шанс того, что в случае решения проблем всё выстрелит. Замечу, что сейчас компания стоит в 50 раз дешевле Meta и даже дешевле Slack.
- Буду работать вместе с хорошими знакомыми
Мне было бы очень страшно идти работать туда, где я никого не знаю. К счастью, в этот раз ситуация совсем иная.
- Антихайп
Моё внимание и интерес в целом в жизни привлекает наличие хейта, так он всегда сопровождает любую по-настоящему созидательную деятельность. В свою очередь, горячие темы, даже если они оправданы, вызывают небольшое отторжение. У такого bias есть и практический смысл - работать в одной из миллиардов LLM-команд и конкурировать с кучей инженеров может оказаться плохой карьерной стратегией, а вот продолжать работать над рекомендациями, реально приносящими кучу добавленной стоимости, в компании, которую недолюбливают другие инженеры - это мне по душе!
Напоследок добавлю, что есть желание больше писать в канале про свою работу, встречающиеся проблемы и решения, но мне ещё предстоит узнать, где проходит граница NDA. Так что, посмотрим!
Подписывайтесь на меня там, кстати!
👍79🔥35🎉10❤4🥴4💩3🤡2
Я обожаю детский труд
Не так давно у Артёма был пост про чувака, получившего в 19 лет PhD и ставшего в 20 лет Research Director в Stability AI. Помимо этого, не так давно наткнулся в X на общественность, бомбящую от видео с ~14-летним кассиром в Burger King. Считаю, что это прекрасная возможность обсудить детский труд.
Эта тема является одним из лидеров по степени промытости общественного сознания. Здесь страсть социалистов к запретам людям зарабатывать вошла в идеальный резонанс с человеческим наивным состраданием. Но давайте всё-таки попробуем разобраться, где же истина.
Начнём с того, что на поверхности. Во-первых, почти вся работа в 21 веке вне бедных стран не наносит физического вреда, и все разговоры о том, что ребёнок поработал в шахте и вырос больным, давно потеряли актуальность. Во-вторых, почему-то у людей в голове представление о детской работе, как о рабстве, но между детскими и взрослыми трудовыми отношениями нет никакой разницы - это двусторонний добровольный договор с правом выхода. Отношение к работе как к "эксплуатации" перекочевало в головы откуда-то из коммунизма, но в случае взрослых все нормальные люди понимают, что это не так.
Плюсы работы понятны - вы учитесь взаимодействовать с людьми и, собственно, работать. Вы зарабатываете свои деньги и учитесь ими распоряжаться, становитесь самодостаточным человеком. Нет ничего, что мешает начать это делать уже в 14 лет, конечно, если этого хочет сам человек.
Конечно, работа, которая требует специального обучения, может не быть доступна сразу. Но учиться её делать самостоятельно или в рамках каких-то курсов вполне легко. Даже, как в упомянутом примере, в теории, ничего не мешает учиться в универе не с 17, а с 10-12 лет. Но в малой доле профессий реально нужно несколько лет учиться для работы.
Ну, ладно, допустим, запретили мы людям работать до 18 лет. Что предлагается взамен? В большинстве школ происходит как раз настоящая эксплуатация - детей против воли собирают в компании людей, которых они не выбирали, и заставляют насильно изучать то, что им в основном неинтересно, и в результате такого "обучения" в голове остаётся ~0 навыков и информации, только покалеченная личность. Почти всё, чего так боятся в детском труде, происходит в реальности, но мало кто про это так сильно беспокоится.
Конечно, я не говорю, что всем людям нужно идти работать как можно раньше с ~12 лет, я говорю, что у них должно быть такое право (а у компаний должно быть право их не брать). В бедных семьях это возможность выправить финансовое положение, в особенности, по сравнению с тратой времени в государственной школе. А в части случаев, если человек уже в 10-14 знает, чего он хочет, это возможность не ждать много лет и сразу начать развиваться в своей сфере.
Расскажите, сколько лет своего детства вы потеряли в рамках школьной эксплуатации?
@knowledge_accumulator
Не так давно у Артёма был пост про чувака, получившего в 19 лет PhD и ставшего в 20 лет Research Director в Stability AI. Помимо этого, не так давно наткнулся в X на общественность, бомбящую от видео с ~14-летним кассиром в Burger King. Считаю, что это прекрасная возможность обсудить детский труд.
Эта тема является одним из лидеров по степени промытости общественного сознания. Здесь страсть социалистов к запретам людям зарабатывать вошла в идеальный резонанс с человеческим наивным состраданием. Но давайте всё-таки попробуем разобраться, где же истина.
Начнём с того, что на поверхности. Во-первых, почти вся работа в 21 веке вне бедных стран не наносит физического вреда, и все разговоры о том, что ребёнок поработал в шахте и вырос больным, давно потеряли актуальность. Во-вторых, почему-то у людей в голове представление о детской работе, как о рабстве, но между детскими и взрослыми трудовыми отношениями нет никакой разницы - это двусторонний добровольный договор с правом выхода. Отношение к работе как к "эксплуатации" перекочевало в головы откуда-то из коммунизма, но в случае взрослых все нормальные люди понимают, что это не так.
Плюсы работы понятны - вы учитесь взаимодействовать с людьми и, собственно, работать. Вы зарабатываете свои деньги и учитесь ими распоряжаться, становитесь самодостаточным человеком. Нет ничего, что мешает начать это делать уже в 14 лет, конечно, если этого хочет сам человек.
Конечно, работа, которая требует специального обучения, может не быть доступна сразу. Но учиться её делать самостоятельно или в рамках каких-то курсов вполне легко. Даже, как в упомянутом примере, в теории, ничего не мешает учиться в универе не с 17, а с 10-12 лет. Но в малой доле профессий реально нужно несколько лет учиться для работы.
Ну, ладно, допустим, запретили мы людям работать до 18 лет. Что предлагается взамен? В большинстве школ происходит как раз настоящая эксплуатация - детей против воли собирают в компании людей, которых они не выбирали, и заставляют насильно изучать то, что им в основном неинтересно, и в результате такого "обучения" в голове остаётся ~0 навыков и информации, только покалеченная личность. Почти всё, чего так боятся в детском труде, происходит в реальности, но мало кто про это так сильно беспокоится.
Конечно, я не говорю, что всем людям нужно идти работать как можно раньше с ~12 лет, я говорю, что у них должно быть такое право (а у компаний должно быть право их не брать). В бедных семьях это возможность выправить финансовое положение, в особенности, по сравнению с тратой времени в государственной школе. А в части случаев, если человек уже в 10-14 знает, чего он хочет, это возможность не ждать много лет и сразу начать развиваться в своей сфере.
Расскажите, сколько лет своего детства вы потеряли в рамках школьной эксплуатации?
@knowledge_accumulator
👍32👎22😁7🤡7🥴5❤4🤔3💯2🤨2🌚1🗿1
Model-Agnostic Meta-Learning [2017] - признанная классика мета-обучения
Давно у меня на канале не было почётных баянов.
Итак, напомню, что в мета-обучении у нас есть какое-то распределение задач p(T), и мы хотим уметь быстро на них обучаться. Для этого мы хотим посэмплировать задачи и как-то использовать эту информацию для "предобучения" алгоритма.
Отличие MAML от других работ по мета-обучению заключается в простоте. Мы не учим никакой "мета-алгоритм", не используем никаких дополнительных конструкций. Мы просто учим удачную инициализацию весов нейросети, из которой она быстро выучит новую задачу.
Итак, берём нашу архитектуру и какой-то вектор весов
1) Сэмплируем задачу из распределения p(T). Берём из неё K+1 батчей образцов
2) Инициализируем сетку вектором
3) С помощью
4) Считаем производную этой ошибки по изначальным параметрам
5) Обновляем вектор-инициализацию
Как можно заметить, применять результат на практике тоже элементарно - вам нужно просто инициализировать сетку мета-обученным вектором.
Благодаря этому, MAML не только стал топ-статьёй по цитированиям, но и присутствует как базовая опция в различных meta-learning библиотеках. Тем не менее, стоит понимать ключевые проблемы алгоритма, не позволяющие быть ему быть окончательным решением интеллектуального вопроса:
1) В схеме остаётся слишком много зафиксированных человеком элементов. Инициализация весов, которую мы мета-обучаем, составляет лишь малую часть всего обучения.
2) Мы мета-обучаем слишком много параметров. Я уже неоднократно писал, что для обучения обучаться (а не запоминания распределения задач) количество и разнообразие задач должно быть огромным по сравнению с размерностью мета-параметров. Тут это не так.
3) Обучение происходит засчёт дифференцирования сквозь весь процесс обучения, что плохо масштабируемо
Тем не менее, MAML это классика, это знать надо!
@knowledge_accumulator
Давно у меня на канале не было почётных баянов.
Итак, напомню, что в мета-обучении у нас есть какое-то распределение задач p(T), и мы хотим уметь быстро на них обучаться. Для этого мы хотим посэмплировать задачи и как-то использовать эту информацию для "предобучения" алгоритма.
Отличие MAML от других работ по мета-обучению заключается в простоте. Мы не учим никакой "мета-алгоритм", не используем никаких дополнительных конструкций. Мы просто учим удачную инициализацию весов нейросети, из которой она быстро выучит новую задачу.
Итак, берём нашу архитектуру и какой-то вектор весов
W. Итерируемся, пока не надоест:1) Сэмплируем задачу из распределения p(T). Берём из неё K+1 батчей образцов
2) Инициализируем сетку вектором
W. На K батчах делаем шаги градиетного спуска, получаем W'3) С помощью
W' считаем ошибку на тестовом батче4) Считаем производную этой ошибки по изначальным параметрам
W5) Обновляем вектор-инициализацию
WКак можно заметить, применять результат на практике тоже элементарно - вам нужно просто инициализировать сетку мета-обученным вектором.
Благодаря этому, MAML не только стал топ-статьёй по цитированиям, но и присутствует как базовая опция в различных meta-learning библиотеках. Тем не менее, стоит понимать ключевые проблемы алгоритма, не позволяющие быть ему быть окончательным решением интеллектуального вопроса:
1) В схеме остаётся слишком много зафиксированных человеком элементов. Инициализация весов, которую мы мета-обучаем, составляет лишь малую часть всего обучения.
2) Мы мета-обучаем слишком много параметров. Я уже неоднократно писал, что для обучения обучаться (а не запоминания распределения задач) количество и разнообразие задач должно быть огромным по сравнению с размерностью мета-параметров. Тут это не так.
3) Обучение происходит засчёт дифференцирования сквозь весь процесс обучения, что плохо масштабируемо
Тем не менее, MAML это классика, это знать надо!
@knowledge_accumulator
👍12🔥2💯1
Почему я собираюсь брать кредит на еду после переезда в Лондон
Мои родители в детстве внушили мне ненависть к кредитам. Аргументы были предельно логичные - во-первых, жить нужно по средствам, а во-вторых, в случае чего, если не вернёте, вам жопа. Я никогда в жизни даже не пытался узнать, как они работают, только предполагал. И вот недавно был предельно удивлён, когда узнал, что вся моя картина мира в этой области неверна. Давайте разберёмся.
Раньше я думал, что кредиты работают примерно так:
1) Вы берёте у банка фиксированную сумму денег
2) Для вас строят расписание возврата с процентной ставкой немного выше ставки по вкладам
3) Если вернёте вовремя, вы в небольшом минусе, иначе вас похищают и пытают коллекторы
Дальше надо оговориться - в разных странах и банках может быть по-разному, но вот как это, оказывается, видимо, работает в странах первого мира:
1) Вам дают кредитную карточку, и вы тратите с неё деньги в минус
2) Если вы вернёте деньги банку в срок, то вы не платите вообще никаких процентов.
3) Если вы продолбались по лимиту или времени, вас ждёт от 20% годовых (да, в долларах)
Главная аксиома в моей голове, оказавшаяся неверной - "банк зарабатывает проценты на каждом кредите". Но на самом деле банк заманивает большое количество клиентов и выходит в плюс благодаря тем, кто продолбался. Немного напоминает казино, но с другой структурой и шансами выигрыша.
То есть, если у вас гарантированно присутствует сумма денег, чтобы отдать все ваши долги, то для вас взятие кредита - это безопасно. Но зачем вообще это делать?
А всё дело в том, что банки не останавливаются на беспроцентном возврате. Они предлагают кэшбэк, мили и прочие бонусы для заманивания людей в это казино, таким образом, если всегда всё вовремя выплачивать, можно даже выходить в плюс на парочку процентов от своих трат.
Итак, это был результат моего предварительного ресёрча. Буду очень благодарен, если жители западного мира прокомментируют и укажут на недочёты в моём понимании. Вероятно, в СНГ банки работают иначе и там к кредитам действительно лучше не подходить на пушечный выстрел.
В скором времени планирую затестить кредитную систему в UK, взяв такую карточку, посмотрим, правда ли это так работает :)
P.S. Замечу, что крайне отрицательно отношусь к взятию денег под проценты и не собираюсь даже брать ипотеку, так как считаю покупку недвижимости плохой инвестицией.
@knowledge_accumulator
Мои родители в детстве внушили мне ненависть к кредитам. Аргументы были предельно логичные - во-первых, жить нужно по средствам, а во-вторых, в случае чего, если не вернёте, вам жопа. Я никогда в жизни даже не пытался узнать, как они работают, только предполагал. И вот недавно был предельно удивлён, когда узнал, что вся моя картина мира в этой области неверна. Давайте разберёмся.
Раньше я думал, что кредиты работают примерно так:
1) Вы берёте у банка фиксированную сумму денег
2) Для вас строят расписание возврата с процентной ставкой немного выше ставки по вкладам
3) Если вернёте вовремя, вы в небольшом минусе, иначе вас похищают и пытают коллекторы
Дальше надо оговориться - в разных странах и банках может быть по-разному, но вот как это, оказывается, видимо, работает в странах первого мира:
1) Вам дают кредитную карточку, и вы тратите с неё деньги в минус
2) Если вы вернёте деньги банку в срок, то вы не платите вообще никаких процентов.
3) Если вы продолбались по лимиту или времени, вас ждёт от 20% годовых (да, в долларах)
Главная аксиома в моей голове, оказавшаяся неверной - "банк зарабатывает проценты на каждом кредите". Но на самом деле банк заманивает большое количество клиентов и выходит в плюс благодаря тем, кто продолбался. Немного напоминает казино, но с другой структурой и шансами выигрыша.
То есть, если у вас гарантированно присутствует сумма денег, чтобы отдать все ваши долги, то для вас взятие кредита - это безопасно. Но зачем вообще это делать?
А всё дело в том, что банки не останавливаются на беспроцентном возврате. Они предлагают кэшбэк, мили и прочие бонусы для заманивания людей в это казино, таким образом, если всегда всё вовремя выплачивать, можно даже выходить в плюс на парочку процентов от своих трат.
Итак, это был результат моего предварительного ресёрча. Буду очень благодарен, если жители западного мира прокомментируют и укажут на недочёты в моём понимании. Вероятно, в СНГ банки работают иначе и там к кредитам действительно лучше не подходить на пушечный выстрел.
В скором времени планирую затестить кредитную систему в UK, взяв такую карточку, посмотрим, правда ли это так работает :)
P.S. Замечу, что крайне отрицательно отношусь к взятию денег под проценты и не собираюсь даже брать ипотеку, так как считаю покупку недвижимости плохой инвестицией.
@knowledge_accumulator
👍25🌚12❤4💯3😁1🐳1🗿1
Только AI поможет нам понять самих себя
Человеческий интеллект достаточно ограничен. Его узкое место - это способность оперировать большим количеством сущностей. Это уже сегодня видно по нашему отставанию в решении некоторых математических задач.
Но ещё труднее для нас анализировать живые организмы. Они не были спроектированы, лишь эволюционировали, опираясь на итоговый результат. Это ставит под сомнение фундаментальную возможность для нас понять, как устроены мы сами.
Мы вполне можем оказаться в ситуации (если уже не), когда исследуемую функцию в теле выполняет каша из большого количества частей, которую наш мозг просто не способен осознать, как он не способен осознать логику AlphaZero.
Именно в этот момент нам на помощь будут приходить системы типа AlphaFold. Только AI способен что-то понять в той мешанине, которую сотворила живая оптимизация. Обучая его делать полезные выводы из неинтепретируемых для нас данных, мы будем использовать его советы для победы над нейродегенеративными заболеваниями, даже не понимая, почему эти советы верны.
Такие сверхчеловеческие алгоритмы уже существует и применяются на практике. Рекомендательные системы пользуются непостижимой для нас логикой, чтобы взять большое количество информации о пользователе и выбрать для него товар / песню.
Мы обязательно изобретём такие системы для решения сложнейших задач - остановки старения, построения теории всего и многого другого.
Стоит заметить, что превосходство над человеком само по себе не представляет никакой экзистенциальной опасности - системы будут обучать решать конкретную задачу, и она не будет пытаться никого порабощать, как сегодня никого не порабощают рекомендательные системы.
Порабощать людей пока что стремятся только другие люди, во имя благих целей, конечно же. Лучше бояться этого.
@knowledge_accumulator
Человеческий интеллект достаточно ограничен. Его узкое место - это способность оперировать большим количеством сущностей. Это уже сегодня видно по нашему отставанию в решении некоторых математических задач.
Но ещё труднее для нас анализировать живые организмы. Они не были спроектированы, лишь эволюционировали, опираясь на итоговый результат. Это ставит под сомнение фундаментальную возможность для нас понять, как устроены мы сами.
Мы вполне можем оказаться в ситуации (если уже не), когда исследуемую функцию в теле выполняет каша из большого количества частей, которую наш мозг просто не способен осознать, как он не способен осознать логику AlphaZero.
Именно в этот момент нам на помощь будут приходить системы типа AlphaFold. Только AI способен что-то понять в той мешанине, которую сотворила живая оптимизация. Обучая его делать полезные выводы из неинтепретируемых для нас данных, мы будем использовать его советы для победы над нейродегенеративными заболеваниями, даже не понимая, почему эти советы верны.
Такие сверхчеловеческие алгоритмы уже существует и применяются на практике. Рекомендательные системы пользуются непостижимой для нас логикой, чтобы взять большое количество информации о пользователе и выбрать для него товар / песню.
Мы обязательно изобретём такие системы для решения сложнейших задач - остановки старения, построения теории всего и многого другого.
Стоит заметить, что превосходство над человеком само по себе не представляет никакой экзистенциальной опасности - системы будут обучать решать конкретную задачу, и она не будет пытаться никого порабощать, как сегодня никого не порабощают рекомендательные системы.
Порабощать людей пока что стремятся только другие люди, во имя благих целей, конечно же. Лучше бояться этого.
@knowledge_accumulator
👍23❤6🔥3💯1
Mastering Diverse Domains through World Models [2023] - как ещё можно быстро учить в RL
Главная проблема обучения RL-алгоритмов - это необходимое количество данных для обучения. В классических работах вроде DQN не пытаются обучать никакую модель среды, тем самым не используя часть доступной информации.
Я уже писал про EfficientZero - внука AlphaZero, делающего поиск по дереву предсказанных "скрытых состояний" среды. Сегодня поговорим про другой подход, называемый Dreamerv3.
В большом количестве RL-методов при обучении используются цепочки состояний - траектории, встреченные в реальной среде. На основе этих траекторий считаются различные RL-лоссы, и часто после сделанного шага обучения эти траектории выбрасываются, потому что перестают быть корректными с точки зрения алгоритма. Отсюда и низкая data-эффективность.
Dreamer решает данную проблему, полностью обучаясь на воображаемых траекториях, генерируемых текущей стратегией. Алгоритм состоит из 2 частей (см. картинки):
1) World Model Learning
Здесь мы обучаем энкодер наблюдения в вектор, декодер вектора в наблюдение, а также динамику мира - рекурретную сеть, предсказывающую следующее скрытое состояние по текущему скрытому состоянию, вектору наблюдения и сделанному действию. Обучают всё это на предсказание наград, концов эпизода, а также на восстановление наблюдения из скрытого вектора.
2) Actor Critic Learning
Имея на руках модель среды, мы можем генерировать те самые воображаемые траектории состояний вместе с действиями и полученными наградами. К ним применяется Actor-Critic лосс - один из базовых RL-ных способов обучения агента.
В результате, алгоритм не дотягивает по производительности до EfficientZero, но при этом проще устроен. Интересно, насколько все эти алгоритмы далеко от "теоретического" максимума скорости обучения, мне кажется, что ещё очень далеко. Но мы так и будем продолжать подбирать эвристики для существующих алгоритмов, ускоряющих сходимость, пока не начнём обучать весь RL-алгоритм целиком в виде одной модели.
@knowledge_accumulator
Главная проблема обучения RL-алгоритмов - это необходимое количество данных для обучения. В классических работах вроде DQN не пытаются обучать никакую модель среды, тем самым не используя часть доступной информации.
Я уже писал про EfficientZero - внука AlphaZero, делающего поиск по дереву предсказанных "скрытых состояний" среды. Сегодня поговорим про другой подход, называемый Dreamerv3.
В большом количестве RL-методов при обучении используются цепочки состояний - траектории, встреченные в реальной среде. На основе этих траекторий считаются различные RL-лоссы, и часто после сделанного шага обучения эти траектории выбрасываются, потому что перестают быть корректными с точки зрения алгоритма. Отсюда и низкая data-эффективность.
Dreamer решает данную проблему, полностью обучаясь на воображаемых траекториях, генерируемых текущей стратегией. Алгоритм состоит из 2 частей (см. картинки):
1) World Model Learning
Здесь мы обучаем энкодер наблюдения в вектор, декодер вектора в наблюдение, а также динамику мира - рекурретную сеть, предсказывающую следующее скрытое состояние по текущему скрытому состоянию, вектору наблюдения и сделанному действию. Обучают всё это на предсказание наград, концов эпизода, а также на восстановление наблюдения из скрытого вектора.
2) Actor Critic Learning
Имея на руках модель среды, мы можем генерировать те самые воображаемые траектории состояний вместе с действиями и полученными наградами. К ним применяется Actor-Critic лосс - один из базовых RL-ных способов обучения агента.
В результате, алгоритм не дотягивает по производительности до EfficientZero, но при этом проще устроен. Интересно, насколько все эти алгоритмы далеко от "теоретического" максимума скорости обучения, мне кажется, что ещё очень далеко. Но мы так и будем продолжать подбирать эвристики для существующих алгоритмов, ускоряющих сходимость, пока не начнём обучать весь RL-алгоритм целиком в виде одной модели.
@knowledge_accumulator
👍12❤4🔥1
Главное, что мы должны делать в такие моменты - это копить ненависть и перенаправлять её в продуктивное русло. Желаю вам научиться этому.
😢65🤡20👍11❤6👎6🤮6🤬1🥱1
Чё там в Лондоне
Пока у меня первые дни на новом рабочем месте и не до глубокомысленных рассуждений, скажу пару слов про Лондон.
Основополагающая особенность города - наличие большого количества обеспеченных людей, что создаёт массовый спрос на товары и услуги высокого уровня:
- Вы найдёте здесь много потрясающих ЖК, возле которых будет и фонтан, и огромная ТЦшка, всё вокруг будет очень красиво и безопасно, и при этом в получасе от центра. Заплатить за это придётся немало - не меньше 2к долларов в месяц за студию.
- Везде в супермаркетах огромное количество качественной готовой еды. Стоит это не особо дорого - долларов 5-8. Для хейтеров готовки типа меня это потрясающая возможность никогда не прикасаться к плите, при этом не мучаясь с доставкой и ожиданием в кафе.
- Количество развлечений и мероприятий зашкаливает - все воюют между собой за ваши лишние фунтики. Вам не будет здесь скучно, можно забивать свой график до отказа очень качественным досугом на любой вкус. Хорошей еды в ресторанах полно - но это уже от 20 долларов.
Если вы не можете это всё себе позволить - придётся идти на большие компромиссы, поэтому, без хорошего дохода / оффера тут делать нечего.
Помимо всего этого, после жизни в РФ и года скитаний по миру в глаза бросается комфорт легальной принадлежности к экономике первого мира - когда у тебя есть нормальное резиденство, постоянный адрес и т.д., можно завести нормальный счёт в банке и у брокера, заказывать амазон, посылки, и твоя квартира найдётся прямо в выпадающем списке при вводе индекса - больше никакой головной боли от попытки понять, что такое Address Line 1/2, как правильно написать транслитом твою улицу.
Конечно, в UK есть свои минусы, главный лично для меня - это, естественно, огромные налоги (около 40%), ну и от моего политического идеала эта страна далека. Однако, на текущий момент я очень доволен той жизненной ситуацией, которая складывается.
А на этом пока всё, телеграм уменьшил максимальную длину постов! Если хотите больше узнать про что-нибудь, пишите в комментариях.
Пока у меня первые дни на новом рабочем месте и не до глубокомысленных рассуждений, скажу пару слов про Лондон.
Основополагающая особенность города - наличие большого количества обеспеченных людей, что создаёт массовый спрос на товары и услуги высокого уровня:
- Вы найдёте здесь много потрясающих ЖК, возле которых будет и фонтан, и огромная ТЦшка, всё вокруг будет очень красиво и безопасно, и при этом в получасе от центра. Заплатить за это придётся немало - не меньше 2к долларов в месяц за студию.
- Везде в супермаркетах огромное количество качественной готовой еды. Стоит это не особо дорого - долларов 5-8. Для хейтеров готовки типа меня это потрясающая возможность никогда не прикасаться к плите, при этом не мучаясь с доставкой и ожиданием в кафе.
- Количество развлечений и мероприятий зашкаливает - все воюют между собой за ваши лишние фунтики. Вам не будет здесь скучно, можно забивать свой график до отказа очень качественным досугом на любой вкус. Хорошей еды в ресторанах полно - но это уже от 20 долларов.
Если вы не можете это всё себе позволить - придётся идти на большие компромиссы, поэтому, без хорошего дохода / оффера тут делать нечего.
Помимо всего этого, после жизни в РФ и года скитаний по миру в глаза бросается комфорт легальной принадлежности к экономике первого мира - когда у тебя есть нормальное резиденство, постоянный адрес и т.д., можно завести нормальный счёт в банке и у брокера, заказывать амазон, посылки, и твоя квартира найдётся прямо в выпадающем списке при вводе индекса - больше никакой головной боли от попытки понять, что такое Address Line 1/2, как правильно написать транслитом твою улицу.
Конечно, в UK есть свои минусы, главный лично для меня - это, естественно, огромные налоги (около 40%), ну и от моего политического идеала эта страна далека. Однако, на текущий момент я очень доволен той жизненной ситуацией, которая складывается.
А на этом пока всё, телеграм уменьшил максимальную длину постов! Если хотите больше узнать про что-нибудь, пишите в комментариях.
👍41🔥5❤4👎2🤡1
Наука о персептронах
Представьте, что у вас есть объекты с кучей фичей, бесконечно много данных и вы хотите предсказывать несколько таргетов. В этом случае вам подойдёт не что иное, как нейросеть. Все знают про стандартную архитектуру - последовательность домножений на матрицу и каких-нибудь ReLU.
Но что, если я вам скажу, что ML-исследователи изобрели целую науку, в рамках которой перебирают различные модификации в этой схеме? Не поймите меня неправильно: оптимизировать архитектуру - это важно, но вот писать тексты о глубинных смыслах и мотивациях тех или иных матричных умножений - это странновато, а многие статьи этим грешат. Давайте взглянем на парочку предложенных модификаций:
MaskNet [2021]:
DCN-V2 [2020]:
GDCN [2023]:
У этих всех бойцов есть и лидерборд (в нём лидирует как раз GDCN), там таких статей ещё 33:
https://paperswithcode.com/sota/click-through-rate-prediction-on-criteo
Выглядит всё это так, как будто нужно просто натравить на эту задачу AutoMLZero и перестать генерировать статьи про каждую конкретную точку в пространстве перебора, ну а пока наслаждаемся тем, что есть...
@knowledge_accumulator
Представьте, что у вас есть объекты с кучей фичей, бесконечно много данных и вы хотите предсказывать несколько таргетов. В этом случае вам подойдёт не что иное, как нейросеть. Все знают про стандартную архитектуру - последовательность домножений на матрицу и каких-нибудь ReLU.
Но что, если я вам скажу, что ML-исследователи изобрели целую науку, в рамках которой перебирают различные модификации в этой схеме? Не поймите меня неправильно: оптимизировать архитектуру - это важно, но вот писать тексты о глубинных смыслах и мотивациях тех или иных матричных умножений - это странновато, а многие статьи этим грешат. Давайте взглянем на парочку предложенных модификаций:
MaskNet [2021]:
output = Relu(W3 x ((W2 x (Relu(W1 x input + B1)) + B2) * input) + B3)
DCN-V2 [2020]:
output = model_input * (W x layer_input + b) + layer_input
GDCN [2023]:
output = model_input * (W1 x layer_input + b1) * Sigmoid(W2 x layer_input) + layer_input
У этих всех бойцов есть и лидерборд (в нём лидирует как раз GDCN), там таких статей ещё 33:
https://paperswithcode.com/sota/click-through-rate-prediction-on-criteo
Выглядит всё это так, как будто нужно просто натравить на эту задачу AutoMLZero и перестать генерировать статьи про каждую конкретную точку в пространстве перебора, ну а пока наслаждаемся тем, что есть...
@knowledge_accumulator
👍22😁4💯3❤1
Почему никакого сознания не существует
О сознании многие говорят, как о секретном ингредиенте человеческой нервной системы. О том, что это именно такое, исписаны миллионы страниц. Есть разные "взгляды", и один из них так и называется - illusionism - он заключается в том, что есть только иллюзия сознания, создаваемая нами, и я придерживаюсь именно этой позиции.
Начнём с простого мысленного эксперимента. Можно ли точно симулировать физику на компьютере? Не вижу причины, почему нет. Раз можно симулировать физику, то есть ли что-то, что помешает симулировать человека? Также склонен верить, что нет. Обладает ли точная симуляция человеческого мозга сознанием? Если нет, то наличие сознания невозможно ни доказать, ни опровергнуть, таким образом, эту сущность я убиваю своей бритвой Оккама.
Если сознание присутствует в симулируемом мозге, оно уже теряет некую загадочность и шарм, не находите? Оно является просто частью процесса обработки информации, которой является человеческий мозг. Теперь самое интересное - какую именно наблюдаемую функцию человека выполняет сознание? Постановка задач? Любопытство? Учитывание своего присутствия при планировании поведения? Всем этим давно обладают RL-алгоритмы. Обладают ли RL-алгоритмы сознанием? Кто-то скажет, что да, но такой нагруженный термин, как
Иначе, если не существует никакой наблюдаемой функции, которую сознание выполняет в человеке, значит, его не существует.
Бритва Оккама - вещь. Не нужно плодить бессмысленные сущности. Понимаю ваше желание почувствовать себя особенными, не такими, как нейросети и кошки, но, к сожалению, вы просто биороботы с углеродным компьютером в черепе. И свободы воли тоже нет никакой, если вы вдруг забыли.
Если кто-то хочет побольше узнать на тему сознания, держите статью на Вики с описанием разных взглядов и подкаст.
@knowledge_accumulator
О сознании многие говорят, как о секретном ингредиенте человеческой нервной системы. О том, что это именно такое, исписаны миллионы страниц. Есть разные "взгляды", и один из них так и называется - illusionism - он заключается в том, что есть только иллюзия сознания, создаваемая нами, и я придерживаюсь именно этой позиции.
Начнём с простого мысленного эксперимента. Можно ли точно симулировать физику на компьютере? Не вижу причины, почему нет. Раз можно симулировать физику, то есть ли что-то, что помешает симулировать человека? Также склонен верить, что нет. Обладает ли точная симуляция человеческого мозга сознанием? Если нет, то наличие сознания невозможно ни доказать, ни опровергнуть, таким образом, эту сущность я убиваю своей бритвой Оккама.
Если сознание присутствует в симулируемом мозге, оно уже теряет некую загадочность и шарм, не находите? Оно является просто частью процесса обработки информации, которой является человеческий мозг. Теперь самое интересное - какую именно наблюдаемую функцию человека выполняет сознание? Постановка задач? Любопытство? Учитывание своего присутствия при планировании поведения? Всем этим давно обладают RL-алгоритмы. Обладают ли RL-алгоритмы сознанием? Кто-то скажет, что да, но такой нагруженный термин, как
сознание, в данном случае лучше заменить конкретной функцией, к которой вы его приравниваете.Иначе, если не существует никакой наблюдаемой функции, которую сознание выполняет в человеке, значит, его не существует.
Бритва Оккама - вещь. Не нужно плодить бессмысленные сущности. Понимаю ваше желание почувствовать себя особенными, не такими, как нейросети и кошки, но, к сожалению, вы просто биороботы с углеродным компьютером в черепе. И свободы воли тоже нет никакой, если вы вдруг забыли.
Если кто-то хочет побольше узнать на тему сознания, держите статью на Вики с описанием разных взглядов и подкаст.
@knowledge_accumulator
👎29👍27🤡13😁8❤4🥱4🗿4🤔2💯1
Об авторе
Пора сделать новый закреп для новоприбывших. Каналу как раз почти исполнился год, с тех пор очень многое изменилось, но старый закреп хочется оставить в роли исторического артефакта.
Я зарабатываю на хлеб в роли Senior ML Engineer в x.com. Занимаюсь внедрением новых ML-технологий в его рекомендательную систему, временами пишу про эту область.
Помимо рекомендаций, в ML меня интересует в основном развитие интеллекта, как такового, а не какие-то приложения. Здесь почти нет обзоров самых хайповых статей по LLM и диффузионным моделям, зато есть про RL, meta-learning и всё то, что помогает лучше понять суть интеллекта.
Так сложилось, что периодически я пишу посты не про ML. Ставя под сомнение мейнстримные представления, я поднимаю острые вопросы и запускаю дискуссии в комментариях, из которых узнаю много интересногопро для себя. И нет, мне не страшно, что обо мне плохо подумают.
Приятного чтения!
Пора сделать новый закреп для новоприбывших. Каналу как раз почти исполнился год, с тех пор очень многое изменилось, но старый закреп хочется оставить в роли исторического артефакта.
Я зарабатываю на хлеб в роли Senior ML Engineer в x.com. Занимаюсь внедрением новых ML-технологий в его рекомендательную систему, временами пишу про эту область.
Помимо рекомендаций, в ML меня интересует в основном развитие интеллекта, как такового, а не какие-то приложения. Здесь почти нет обзоров самых хайповых статей по LLM и диффузионным моделям, зато есть про RL, meta-learning и всё то, что помогает лучше понять суть интеллекта.
Так сложилось, что периодически я пишу посты не про ML. Ставя под сомнение мейнстримные представления, я поднимаю острые вопросы и запускаю дискуссии в комментариях, из которых узнаю много интересного
Приятного чтения!
👍56❤14❤🔥8🔥7✍5🌚1
Knowledge Accumulator pinned «Об авторе Пора сделать новый закреп для новоприбывших. Каналу как раз почти исполнился год, с тех пор очень многое изменилось, но старый закреп хочется оставить в роли исторического артефакта. Я зарабатываю на хлеб в роли Senior ML Engineer в x.com. Занимаюсь…»
REINFORCE - главное оружие против недифференцируемых задач
Все мы в жизни сталкиваемся с ситуациями, когда есть какая-то функция полезности
Рассмотрим такую абстракцию - параметры системы
Тут-то и появляется REINFORCE / Policy Gradient. На картинке вывод формулы, сразу же применённый к ситуации, когда действий несколько и они составляют траекторию -
Итак, метод в теории рабочий, но дальше он сталкивается с жестокой реальностью - дисперсия оценки градиента безумна, требуется слишком много данных. Во многом RL сводится к тому, чтобы найти способ уменьшить дисперсию оценки. Тот же самый PPO, обычно используемый для RLHF - всего лишь костыль, позволяющий переиспользовать данные, шагая весами
Ситуация с REINFORCE напоминает одну щекотливую тему. Казалось бы - у нас есть окончательное решение недифференцируемого вопроса - просто собирай данные и шагай по этому градиенту. Строго доказано, что достаточно отмасштабировать алгоритм, дать ему больше ресурсов, и он обучит всё, что угодно.
Но реальность печальнее. Можно сколько угодно рассказывать, что масштабирование решит все фундаментальные проблемы, но в конце концов придётся улучшать и сам алгоритм. Готовым кинуть в меня Bitter Lesson-ом предлагаю почитать мой пост про него, там есть о том, как этот урок многие понимают неправильно. Через десятки лет все будут смеяться над тем, что люди хотели с помощью предсказания следующего токена и RL поверх человеческой разметки обучить интеллект, как сейчас над тем, что люди пытались вручную придумывать фичи для компьютерного зрения.
@knowledge_accumulator
Все мы в жизни сталкиваемся с ситуациями, когда есть какая-то функция полезности
J, зависящая от параметров Theta. Если можно посчитать производную, то мы в шоколаде - пользуемся градиентным спуском. Но что, если нет?Рассмотрим такую абстракцию - параметры системы
Theta влияют на распределение действий A, а результатом этих действий является J. Если распределение на A не полностью сконцентрировано в одной точке, то существует способ получить несмещённую оценку на градиент J по Theta!Тут-то и появляется REINFORCE / Policy Gradient. На картинке вывод формулы, сразу же применённый к ситуации, когда действий несколько и они составляют траекторию -
tau. Буквой pi обозначается распределение действий A - его и называют стратегией (policy).Итак, метод в теории рабочий, но дальше он сталкивается с жестокой реальностью - дисперсия оценки градиента безумна, требуется слишком много данных. Во многом RL сводится к тому, чтобы найти способ уменьшить дисперсию оценки. Тот же самый PPO, обычно используемый для RLHF - всего лишь костыль, позволяющий переиспользовать данные, шагая весами
Theta несколько раз.Ситуация с REINFORCE напоминает одну щекотливую тему. Казалось бы - у нас есть окончательное решение недифференцируемого вопроса - просто собирай данные и шагай по этому градиенту. Строго доказано, что достаточно отмасштабировать алгоритм, дать ему больше ресурсов, и он обучит всё, что угодно.
Но реальность печальнее. Можно сколько угодно рассказывать, что масштабирование решит все фундаментальные проблемы, но в конце концов придётся улучшать и сам алгоритм. Готовым кинуть в меня Bitter Lesson-ом предлагаю почитать мой пост про него, там есть о том, как этот урок многие понимают неправильно. Через десятки лет все будут смеяться над тем, что люди хотели с помощью предсказания следующего токена и RL поверх человеческой разметки обучить интеллект, как сейчас над тем, что люди пытались вручную придумывать фичи для компьютерного зрения.
@knowledge_accumulator
👍16❤5🐳3
На какой лосс учить рекомендательную систему?
В рекомендациях доминирует парадигма "Learning to Rank" - учится модель, получающая на вход (пользователь, контекст, документ) и выдающая число - предсказание релевантности, по которому потом сортируем.
Важным вопросом является то, на что такую модель надо учить. Упростим ситуацию - предположим, что у нас собраны данные о рекомендательной выдаче, и для каждой тройки (пользователь, контекст, документ) одна метка - был ли положительный отклик.
Самым банальным подходом будет учить бинарный классификатор через какой-нибудь logloss. Если предположить, что у нас есть идеальная модель, предсказывающая вероятность отклика - это и будет лучшее ранжирование, мы этого и хотели.
Но в реальности наша модель обладает ограниченной ёмкостью, данные конечны, и поэтому модель не будет выдавать свой "теоретический" максимум. И тут важным является то, какого рода ошибки наша модель допускает, а это уже зависит от способа обучения.
Нам не так страшно, если модель будет ошибаться в значении вероятности для конкретного документа. Самое важное - это чтобы в рамках набора кандидатов при формировании выдачи модель выдала правильный порядок документов. Поэтому и учить нам есть смысл соответствующим образом - на правильный порядок.
Самый простой пример - Pair-Wise Logloss. Идея - вместо предсказании метки класса будем формировать пары из документов внутри одной выдачи с разными значениями отклика, и logloss применять к разнице логитов - предсказывать в качестве класса "порядок". Можно по-разному обучать эти разницы логитов, на картинке другой пример - PairwiseLogisticLoss. Больше примеров здесь.
В реальности есть подводные камни - сложности в реализации, отсутствие сигнала, если в пачке у всех документов был нулевой отклик, всякое по мелочи. Поэтому разные подходы часто комбинируются какими-то костыльными способами, ориентируясь на ранжирующую метрику вроде NDCG.
@knowledge_accumulator
В рекомендациях доминирует парадигма "Learning to Rank" - учится модель, получающая на вход (пользователь, контекст, документ) и выдающая число - предсказание релевантности, по которому потом сортируем.
Важным вопросом является то, на что такую модель надо учить. Упростим ситуацию - предположим, что у нас собраны данные о рекомендательной выдаче, и для каждой тройки (пользователь, контекст, документ) одна метка - был ли положительный отклик.
Самым банальным подходом будет учить бинарный классификатор через какой-нибудь logloss. Если предположить, что у нас есть идеальная модель, предсказывающая вероятность отклика - это и будет лучшее ранжирование, мы этого и хотели.
Но в реальности наша модель обладает ограниченной ёмкостью, данные конечны, и поэтому модель не будет выдавать свой "теоретический" максимум. И тут важным является то, какого рода ошибки наша модель допускает, а это уже зависит от способа обучения.
Нам не так страшно, если модель будет ошибаться в значении вероятности для конкретного документа. Самое важное - это чтобы в рамках набора кандидатов при формировании выдачи модель выдала правильный порядок документов. Поэтому и учить нам есть смысл соответствующим образом - на правильный порядок.
Самый простой пример - Pair-Wise Logloss. Идея - вместо предсказании метки класса будем формировать пары из документов внутри одной выдачи с разными значениями отклика, и logloss применять к разнице логитов - предсказывать в качестве класса "порядок". Можно по-разному обучать эти разницы логитов, на картинке другой пример - PairwiseLogisticLoss. Больше примеров здесь.
В реальности есть подводные камни - сложности в реализации, отсутствие сигнала, если в пачке у всех документов был нулевой отклик, всякое по мелочи. Поэтому разные подходы часто комбинируются какими-то костыльными способами, ориентируясь на ранжирующую метрику вроде NDCG.
@knowledge_accumulator
👍22❤3🔥2
Large Language Models as Optimizers [2023]
Формулировка промпта серьёзно влияет на качество работы LLM. Именно здесь был найден тот самый "Take a deep breath and work on this problem step-by-step", дающий хорошую производительность. Попробуем разобраться в этой работе.
Авторы формулируют технику Optimization by PROmpting (OPRO), использующую LLM в качестве оптимизатора. На вход модели подаётся следующее:
1) Мета-промпт - описание, что и зачем оптимизируем. Вся полезная информация о задаче.
2) Пары "решение - скор". В ходе оптимизации будут генерироваться новые кандидаты. Все кандидаты сортируем по скору и добавляем топ лучших пар в этот вход
Далее мы запускаем эту штуку много раз и получаем всё более и более крутых кандидатов. Применять это можно в теории к чему угодно, хоть вместо градиентного спуска использовать. Но преимущество данного метода в том, что для него естественно языковое пространство, поэтому его используют для оптимизации промпта. Получается схема на картинке.
Из хорошего - промпт, генерируемый для определённой LLM на одном датасете, хорошо переносится на другой. Из плохого - промпты, хорошо работающие для одной LLM, не обязательно работают хорошо для другой LLM. Интересна природа таких отличий, ведь их претрейн должен быть +- похож, а вот дообучение на Human Feedback уже нет. Есть ли там хоть какая-то связь или это чистая случайность?
Возникает и другой вопрос - какова роль именно LLM в качестве оптимизатора? Вряд ли она в себе содержит представление о том, как разные конкретные LLM буду работать при разных промптах. Насколько такой оптимизатор является "умным", насколько он далёк от случайного перебора промптов?
Так или иначе, вновь мы видим доминацию оптимизации над человеческим проектированием. Возможно, какая-то большая и сложная оптимизация поверх LLM даст интересные плоды, но проблема в том, что сама LLM - очень большой вычислительный кусок, и его внутренности и обучение никак не оптимизируются. Но мы когда-нибудь заменим и их, тогда точно заживём.
@knowledge_accumulator
Формулировка промпта серьёзно влияет на качество работы LLM. Именно здесь был найден тот самый "Take a deep breath and work on this problem step-by-step", дающий хорошую производительность. Попробуем разобраться в этой работе.
Авторы формулируют технику Optimization by PROmpting (OPRO), использующую LLM в качестве оптимизатора. На вход модели подаётся следующее:
1) Мета-промпт - описание, что и зачем оптимизируем. Вся полезная информация о задаче.
2) Пары "решение - скор". В ходе оптимизации будут генерироваться новые кандидаты. Все кандидаты сортируем по скору и добавляем топ лучших пар в этот вход
Далее мы запускаем эту штуку много раз и получаем всё более и более крутых кандидатов. Применять это можно в теории к чему угодно, хоть вместо градиентного спуска использовать. Но преимущество данного метода в том, что для него естественно языковое пространство, поэтому его используют для оптимизации промпта. Получается схема на картинке.
Из хорошего - промпт, генерируемый для определённой LLM на одном датасете, хорошо переносится на другой. Из плохого - промпты, хорошо работающие для одной LLM, не обязательно работают хорошо для другой LLM. Интересна природа таких отличий, ведь их претрейн должен быть +- похож, а вот дообучение на Human Feedback уже нет. Есть ли там хоть какая-то связь или это чистая случайность?
Возникает и другой вопрос - какова роль именно LLM в качестве оптимизатора? Вряд ли она в себе содержит представление о том, как разные конкретные LLM буду работать при разных промптах. Насколько такой оптимизатор является "умным", насколько он далёк от случайного перебора промптов?
Так или иначе, вновь мы видим доминацию оптимизации над человеческим проектированием. Возможно, какая-то большая и сложная оптимизация поверх LLM даст интересные плоды, но проблема в том, что сама LLM - очень большой вычислительный кусок, и его внутренности и обучение никак не оптимизируются. Но мы когда-нибудь заменим и их, тогда точно заживём.
@knowledge_accumulator
👍14🔥4❤1🤔1
Вероятность того, что голосование на этих выборах что-то изменит, стремится к нулю. Однако, я считаю, на них всё равно стоит сходить, от этого больше плюсов, чем минусов.
За кого именно голосовать - не очень важно. Даванков, случайный или порча бюллетеня - всё лучше, чем ничего. Пожалуйста, найдите возможность дойти.
P.S. Вариант "за Путина" не перечислил, потому что, во-первых, его фанаты не умеют читать, а во-вторых, обезьянам в зоопарке не дают пользоваться телеграмом.
За кого именно голосовать - не очень важно. Даванков, случайный или порча бюллетеня - всё лучше, чем ничего. Пожалуйста, найдите возможность дойти.
P.S. Вариант "за Путина" не перечислил, потому что, во-первых, его фанаты не умеют читать, а во-вторых, обезьянам в зоопарке не дают пользоваться телеграмом.
👍66💩37❤18🤡10💊7😁6🕊6🤣4🖕4👎2🌚1
Почему GPT-X это не первый самолёт
Коллеги недавно упоминали эссе, разбирающее вот этот аргумент против скорого изобретения человеческого интеллекта:
Автор утверждает, что может существовать некий "объективный" фактор, который при доведении до определённого значения переворачивает игру, делая нерелевантным конкретный дизайн. Приводится аналогия с изобретением полёта:
Наши самолёты не повторяют дизайн крыльев птиц, однако, при достижении некоторой мощности двигателя (по отношению к массе) устройства начинают летать. Так же будет и с ИИ. Но уже в этот момент начинаются первые проблемы.
Мало того, что неочевидно, что является таким фактором, так мы ещё и не сходимся в том, что именно хотим изобрести. Пока рассмотрим популярную точку зрения:
Цель - уметь выполнять все те функции, что и человек (или конкретный список функций); фактор - вычисления
Её сторонники, видимо, полагают, что мы ещё не достигли нужного значения фактора. Но, во-первых, непонятно - а как именно мы сравниваем с мозгом компьют? Когда можно будет сказать, что метод совсем не работает? Не всё, если дать ему много компьюта, будет обладать интеллектом.
А во-вторых, с таким фактором встаёт проблема прототипирования. Чтобы построить свои первые самолёты из говна и палок, братья Райт не тратили миллиарды долларов. Непонятно, насколько возможно изобретать сразу на таких масштабах, тратя безумные ресурсы и время на проверку одной итерации. При этом, в обозримом будущем нельзя будет в гараже обучить GPT-4 за неделю. Так что это всё может растянуться надолго.
Лично я считаю, что цель - это человеческая обучаемость, и data-эффективность алгоритма - отличная метрика для этого. Нам нужно добиться прорыва в data-эффективности в небольшом масштабе, а потом уже масштабировать подход. Но этим публику не впечатлишь и денег не поднимешь, так что, пока наслаждаемся цирком с языковыми моделями.
@knowledge_accumulator
Коллеги недавно упоминали эссе, разбирающее вот этот аргумент против скорого изобретения человеческого интеллекта:
Интеллект придумала природа, и мы не знаем, как он работает, следовательно, мы не близки к его изобретению.Автор утверждает, что может существовать некий "объективный" фактор, который при доведении до определённого значения переворачивает игру, делая нерелевантным конкретный дизайн. Приводится аналогия с изобретением полёта:
Наши самолёты не повторяют дизайн крыльев птиц, однако, при достижении некоторой мощности двигателя (по отношению к массе) устройства начинают летать. Так же будет и с ИИ. Но уже в этот момент начинаются первые проблемы.
Мало того, что неочевидно, что является таким фактором, так мы ещё и не сходимся в том, что именно хотим изобрести. Пока рассмотрим популярную точку зрения:
Цель - уметь выполнять все те функции, что и человек (или конкретный список функций); фактор - вычисления
Её сторонники, видимо, полагают, что мы ещё не достигли нужного значения фактора. Но, во-первых, непонятно - а как именно мы сравниваем с мозгом компьют? Когда можно будет сказать, что метод совсем не работает? Не всё, если дать ему много компьюта, будет обладать интеллектом.
А во-вторых, с таким фактором встаёт проблема прототипирования. Чтобы построить свои первые самолёты из говна и палок, братья Райт не тратили миллиарды долларов. Непонятно, насколько возможно изобретать сразу на таких масштабах, тратя безумные ресурсы и время на проверку одной итерации. При этом, в обозримом будущем нельзя будет в гараже обучить GPT-4 за неделю. Так что это всё может растянуться надолго.
Лично я считаю, что цель - это человеческая обучаемость, и data-эффективность алгоритма - отличная метрика для этого. Нам нужно добиться прорыва в data-эффективности в небольшом масштабе, а потом уже масштабировать подход. Но этим публику не впечатлишь и денег не поднимешь, так что, пока наслаждаемся цирком с языковыми моделями.
@knowledge_accumulator
👍22🤔4💯3❤2💩2
Language Agents as Optimizable Graphs [2024] - обучаем надстройку над LLM
Недавно я писал о том, что какая-то большая и сложная надстройка над LLM может дать какой-нибудь интересный результат. Нечто такое из себя представляет FunSearch, использующий LLM как генератор мутаций программ на питоне. Сегодня посмотрим на работу, в которой надстройка над LLM оптимизируется для высокой производительности на классе задач / бенчмарке. Сразу скажу - не фанат конкретно этой схемы, но направление мысли здесь задаётся неплохое.
Определим языкового агента как ациклический направленный граф. В нём вершины это различные вычислительные элементы - запросы к LLM, вызовы какого-нибудь API, использование инструмента и т.д. Соединены они между собой рёбрами, обозначающими, идёт ли выход из одной вершины на вход другой. В данной статье у нас заранее задаётся множество вершин, причём у LLM-вершин есть описание того, что именно они должны делать.
Итак, мы хотели бы построить граф, набирающий как можно больше в какой-нибудь задаче, например, бенчмарке GAIA. Оптимизировать можно 2 вещи - набор рёбер и промпты каждой вершины.
1) Рёбра оптимизируем с помощью REINFORCE. Граф генерируется случайно, и вероятность каждого ребра задаётся вероятностью-параметром p. С помощью REINFORCE по этим вероятностям можно оптимизировать недифференцируемую итоговую производительность графа на задаче.
2) Промпты у вершин оптимизируется через ORPO. Для каждой вершины оптимизация независима. Это имеет смысл в данном случае, т.к. функция вершины определена заранее и подаётся на вход оптимизатору.
Графы обучаются не с нуля, их "инициализируют" какой-то известной схемой (например, несколько Tree of Thoughts) и дальше "дообучают". Нельзя сказать, что у агента есть большой простор для оптимизации, однако, это уже лучше, чем зафиксированные вручную схемы. Ждём более хитрых и гибких параметризаций такого языкового агента, в которых набор вершин тоже будет оптимизироваться, а назначение каждой отдельной вершины не будет задано заранее.
@knowledge_accumulator
Недавно я писал о том, что какая-то большая и сложная надстройка над LLM может дать какой-нибудь интересный результат. Нечто такое из себя представляет FunSearch, использующий LLM как генератор мутаций программ на питоне. Сегодня посмотрим на работу, в которой надстройка над LLM оптимизируется для высокой производительности на классе задач / бенчмарке. Сразу скажу - не фанат конкретно этой схемы, но направление мысли здесь задаётся неплохое.
Определим языкового агента как ациклический направленный граф. В нём вершины это различные вычислительные элементы - запросы к LLM, вызовы какого-нибудь API, использование инструмента и т.д. Соединены они между собой рёбрами, обозначающими, идёт ли выход из одной вершины на вход другой. В данной статье у нас заранее задаётся множество вершин, причём у LLM-вершин есть описание того, что именно они должны делать.
Итак, мы хотели бы построить граф, набирающий как можно больше в какой-нибудь задаче, например, бенчмарке GAIA. Оптимизировать можно 2 вещи - набор рёбер и промпты каждой вершины.
1) Рёбра оптимизируем с помощью REINFORCE. Граф генерируется случайно, и вероятность каждого ребра задаётся вероятностью-параметром p. С помощью REINFORCE по этим вероятностям можно оптимизировать недифференцируемую итоговую производительность графа на задаче.
2) Промпты у вершин оптимизируется через ORPO. Для каждой вершины оптимизация независима. Это имеет смысл в данном случае, т.к. функция вершины определена заранее и подаётся на вход оптимизатору.
Графы обучаются не с нуля, их "инициализируют" какой-то известной схемой (например, несколько Tree of Thoughts) и дальше "дообучают". Нельзя сказать, что у агента есть большой простор для оптимизации, однако, это уже лучше, чем зафиксированные вручную схемы. Ждём более хитрых и гибких параметризаций такого языкового агента, в которых набор вершин тоже будет оптимизироваться, а назначение каждой отдельной вершины не будет задано заранее.
@knowledge_accumulator
👍15❤3💯2
Что существует вместо сознания и реально должно вас волновать
Прошлый пост на тему сознания вызвал большой отклик, чему я несказанно рад. Теперь давайте перейдём к по-настоящему большой проблеме.
Представим, что изобретён телепорт. Вы заходите в кабинку, вас полностью копируют и воспроизводят в другом месте, а старое тело уничтожается. Со стороны это выглядит так, что вы мгновенно переместились из одной точки в другую.
Но внимательные умы увидят здесь проблему - а что, если старое тело не уничтожат? Вас станет двое, но, очевидно, вы не будете управлять двумя копиями себя. Вы - это только оригинал. И если старое тело уничтожают, на самом деле для вас это смерть, а не перемещение.
Это поднимает крайне важную проблему - что определяет вашу идентичность? Если вас не скопируют, а разберут на атомы, переместят в другое место и соберут заново - ваша идентичность будет, скорее всего, разрушена? Если будут перемещать нервную систему - скорее всего, вы останетесь собой? А если только мозг? Отделы мозга?
В отличие от бессмысленного вопроса "Есть ли у языковой модели сознание?", у этой проблемы есть реальный практический смысл. И касается он нашего бессмертия.
Лично я не хочу умирать по естественным причинам, жизнь слишком прекрасна для этого. И меня не волнует существование функционального меня, в том числе точной копии. Мне нужна именно моя идентичность. "Перенос сознания в компьютер" не выполняет эту задачу, поскольку это то же самое копирование.
Представим, что мы научились создавать новые нервные клетки и подсаживать их в мозг. Они станут равноценной частью меня? А что, если я постепенно заменю все старые клетки на новые? А если эти нервные клетки будут искусственные, из металла, я могу превратиться в робота, оставшись собой?
Надеюсь, задача бессмертия окажется проще и мы сможем "просто" остановить старение тела, тогда проблему идентичности не придётся решать. Хотя, она сама по себе является безумно интересной головоломкой, в которой я ещё попробую разобраться.
Очень хочу почитать ваши мнения в комментариях, прошу не стесняться!
@knowledge_accumulator
Прошлый пост на тему сознания вызвал большой отклик, чему я несказанно рад. Теперь давайте перейдём к по-настоящему большой проблеме.
Представим, что изобретён телепорт. Вы заходите в кабинку, вас полностью копируют и воспроизводят в другом месте, а старое тело уничтожается. Со стороны это выглядит так, что вы мгновенно переместились из одной точки в другую.
Но внимательные умы увидят здесь проблему - а что, если старое тело не уничтожат? Вас станет двое, но, очевидно, вы не будете управлять двумя копиями себя. Вы - это только оригинал. И если старое тело уничтожают, на самом деле для вас это смерть, а не перемещение.
Это поднимает крайне важную проблему - что определяет вашу идентичность? Если вас не скопируют, а разберут на атомы, переместят в другое место и соберут заново - ваша идентичность будет, скорее всего, разрушена? Если будут перемещать нервную систему - скорее всего, вы останетесь собой? А если только мозг? Отделы мозга?
В отличие от бессмысленного вопроса "Есть ли у языковой модели сознание?", у этой проблемы есть реальный практический смысл. И касается он нашего бессмертия.
Лично я не хочу умирать по естественным причинам, жизнь слишком прекрасна для этого. И меня не волнует существование функционального меня, в том числе точной копии. Мне нужна именно моя идентичность. "Перенос сознания в компьютер" не выполняет эту задачу, поскольку это то же самое копирование.
Представим, что мы научились создавать новые нервные клетки и подсаживать их в мозг. Они станут равноценной частью меня? А что, если я постепенно заменю все старые клетки на новые? А если эти нервные клетки будут искусственные, из металла, я могу превратиться в робота, оставшись собой?
Надеюсь, задача бессмертия окажется проще и мы сможем "просто" остановить старение тела, тогда проблему идентичности не придётся решать. Хотя, она сама по себе является безумно интересной головоломкой, в которой я ещё попробую разобраться.
Очень хочу почитать ваши мнения в комментариях, прошу не стесняться!
@knowledge_accumulator
👍19🔥6🤡6😁3🤯2👻2❤1😴1🫡1
Вещи, которые я бы хотел, чтобы мне объяснили раньше
К сожалению, мы в жизни часто учимся на своих ошибках, и только через время к нам приходит мудрость и опыт. Сегодня я бы хотел поделиться самыми ценными знаниями, которые накопил за свою жизнь.
Фокусируйтесь на одной узкой области
Не распыляйтесь, частичные знания в разных областях не приносят никакой практической пользы. Доверяйте только экспертам в сферах, которыми не занимаетесь, в особенности, в социальных, таких как политика и экономика.
Тратьте как можно больше времени на университетское образование
Получение красного диплома, кандидата наук в топовом месте - это выгодная инвестиция в ваше будущее. Университет - это лучшая школа жизни, и лучше быть к ней максимально готовым, начиная карьеру в 25-27 лет.
Не думайте о деньгах
Ресурсы - это не главное в жизни. Деньги сами по себе никого не делают счастливым, поэтому не обращайте внимание на числа в оффере, если они позволяют выполнять базовые потребности.
Инвестируйте в реальные активы
Если у вас всё-таки скопились лишние деньги, не смотрите на ценные бумаги - это для профессионалов. Выбирайте недвижимость, как физический актив, который никуда не денется. Отдавайте предпочтение развивающимся и рискованным экономикам, таким, как Россия и Китай, поскольку активы в них недооценены. Также выгодно инвестировать в горячие направления, например, в Дубай.
Максимально следите за трендами
Изучайте, какие прорывы происходят в разных научных областях. Если в соцсетях говорят о революции, обещающей перевернуть мир - не тормозите и перекатывайтесь, смело бросайте свою доживающую последние дни сферу.
Не тратьте время на радикальные идеи
Оставайтесь в рамках интеллектуального мейнстрима. Вы же не думаете, что большинство экспертов может нести чепуху? Если мировое сообщество отвергает какую-то идею, то не тратьте свои силы на её обдумывание - это никому и никогда не помогало.
Пишите в комментариях о своём самом важном приобретённом опыте, может быть, он пригодится всем остальным!
@knowledge_accumulator
К сожалению, мы в жизни часто учимся на своих ошибках, и только через время к нам приходит мудрость и опыт. Сегодня я бы хотел поделиться самыми ценными знаниями, которые накопил за свою жизнь.
Фокусируйтесь на одной узкой области
Не распыляйтесь, частичные знания в разных областях не приносят никакой практической пользы. Доверяйте только экспертам в сферах, которыми не занимаетесь, в особенности, в социальных, таких как политика и экономика.
Тратьте как можно больше времени на университетское образование
Получение красного диплома, кандидата наук в топовом месте - это выгодная инвестиция в ваше будущее. Университет - это лучшая школа жизни, и лучше быть к ней максимально готовым, начиная карьеру в 25-27 лет.
Не думайте о деньгах
Ресурсы - это не главное в жизни. Деньги сами по себе никого не делают счастливым, поэтому не обращайте внимание на числа в оффере, если они позволяют выполнять базовые потребности.
Инвестируйте в реальные активы
Если у вас всё-таки скопились лишние деньги, не смотрите на ценные бумаги - это для профессионалов. Выбирайте недвижимость, как физический актив, который никуда не денется. Отдавайте предпочтение развивающимся и рискованным экономикам, таким, как Россия и Китай, поскольку активы в них недооценены. Также выгодно инвестировать в горячие направления, например, в Дубай.
Максимально следите за трендами
Изучайте, какие прорывы происходят в разных научных областях. Если в соцсетях говорят о революции, обещающей перевернуть мир - не тормозите и перекатывайтесь, смело бросайте свою доживающую последние дни сферу.
Не тратьте время на радикальные идеи
Оставайтесь в рамках интеллектуального мейнстрима. Вы же не думаете, что большинство экспертов может нести чепуху? Если мировое сообщество отвергает какую-то идею, то не тратьте свои силы на её обдумывание - это никому и никогда не помогало.
Пишите в комментариях о своём самом важном приобретённом опыте, может быть, он пригодится всем остальным!
@knowledge_accumulator
😁54🥴23👍13👎7🤣6💩3🔥1🤔1