Energy-Based Transformers are Scalable Learners and Thinkers [2025]
Начнём с базы. Обычно в ML преобладают модели типа
Но на практике
Рекомендательные системы, кстати, прекрасно впитали эту идею. На последних стадиях ранжирования мы применяем именно модели вида
В доменах с маленьким количеством классов, включая язык, функция энергии может принимать на вход
Введение можно считать оконченным...
Energy-Based Transformers делает ровно последнее. Мы подаём на вход последовательность токенов, но вместо того, чтобы выдавать распределение на следующий токен на выходе, мы подаём это распределение на вход, и предсказываем энергию этой пары. Во время инференса решаем задачу оптимизации по этому распределению.
Танцы с бубном начинаются именно при обучении энергетической функции - у неё ведь на входе теперь ещё и распределение на все классы. Как и в рекомендациях, в таких моделях можно применять тот самый Constrastive loss, про который я говорил в посте про LogQ correction. Но учить на всём декартовом произведении X и Y это кошмарно дорого, а вообще-то нам нужно выдавать энергию для распределения на Y.
В статье к обучению
В таком виде оно работает плохо по разным причинам, поэтому применяется пачка хаков из области энергетических моделей. Во-первых,
Перейдём к результатам.
Самое главное - точность на валидации скейлится значительно быстрее с увеличением объёма тренировочных данных и уже обгоняет её на 3 миллиардах токенов. С другой стороны, нужно почти на порядок больше флопсов, чтобы получить то же качество. Учитывая то, что компьют можно удешевлять бесконечно, тогда в как разумных данных мы ограничены, то скейлинг с точки зрения данных является более важным показателем.
Если мы будем всё лучше и лучше обучать и применять энергетические модели, я могу поверить, что они могут заменить традиционные подходы. Но мне всё ещё неясно, насколько такая схема парагидмы является прорывной, или является лишь линейным улучшением текущего поколения моделей.
@knowledge_accumulator
Начнём с базы. Обычно в ML преобладают модели типа
p(y | x) - то есть, на вход подаются фичи, а на выходе распределение на ответ. У этого есть альтернатива - мы можем иметь модель вида E(x, y) - так называемую энергетическую функцию. E(x, y) показывает "правильность" пары этих двух объектов - если энергия низкая, то пара подходит друг к другу, а если энергия высокая, то не подходит. Теоретически, эти две схемы эквивалентны - можно считать, что обычный классификатор p(y | x) выдаёт энергию для всевозможных y.Но на практике
E(x, y) обладает большей мощностью при том же количестве параметров. Всё дело в том, что один подсчёт p(y | x) эквивалентен множеству применений E(x, y) для каждого ответа. E(x, y) должна лишь оценить качество ответа, тогда как p(y|x) должна решать задачу, последнее фундаментально сложнее.Рекомендательные системы, кстати, прекрасно впитали эту идею. На последних стадиях ранжирования мы применяем именно модели вида
F(user, item), а не p(item | user). Тут же становится очевидной их главная проблема - для выбора ответа функцию надо применять на каждом y,В доменах с маленьким количеством классов, включая язык, функция энергии может принимать на вход
p(y), т.е, вектор вероятностей каждого ответа. Тогда выбор ответа сводится к решению задачи оптимизации E(x, p(y)) по параметрам p(y). Функцию энергии можно сделать полностью дифференцируемой, и тогда можно применить градиентный спуск. В этом случае оно будет сходится к детерминированному выбору правильного ответа, при условии правильно обученной функции энергии.Введение можно считать оконченным...
Energy-Based Transformers делает ровно последнее. Мы подаём на вход последовательность токенов, но вместо того, чтобы выдавать распределение на следующий токен на выходе, мы подаём это распределение на вход, и предсказываем энергию этой пары. Во время инференса решаем задачу оптимизации по этому распределению.
Танцы с бубном начинаются именно при обучении энергетической функции - у неё ведь на входе теперь ещё и распределение на все классы. Как и в рекомендациях, в таких моделях можно применять тот самый Constrastive loss, про который я говорил в посте про LogQ correction. Но учить на всём декартовом произведении X и Y это кошмарно дорого, а вообще-то нам нужно выдавать энергию для распределения на Y.
В статье к обучению
E(x, p(y)) подходят в лоб. Процедура инференса - оптимизация вектора p(y) градиентным спуском по E(x, p(y)) - это, на секундочку, полностью дифференцируемая операция. Делаем так. Берём случайное p(y). Вычитаем из него N раз градиент E(x, p(y)) по p(y), и потом считаем итоговый лосс как близость финального p(y) и правильного p(y). В таком виде оно работает плохо по разным причинам, поэтому применяется пачка хаков из области энергетических моделей. Во-первых,
p(y) зашумляют после каждого шага по градиенту - так покрывают более широкое пространство входов. Во-вторых, иногда p(y) инициализируют из уже возникавших ранее p(y), потому что они ближе к правильному ответу.Перейдём к результатам.
Самое главное - точность на валидации скейлится значительно быстрее с увеличением объёма тренировочных данных и уже обгоняет её на 3 миллиардах токенов. С другой стороны, нужно почти на порядок больше флопсов, чтобы получить то же качество. Учитывая то, что компьют можно удешевлять бесконечно, тогда в как разумных данных мы ограничены, то скейлинг с точки зрения данных является более важным показателем.
Если мы будем всё лучше и лучше обучать и применять энергетические модели, я могу поверить, что они могут заменить традиционные подходы. Но мне всё ещё неясно, насколько такая схема парагидмы является прорывной, или является лишь линейным улучшением текущего поколения моделей.
@knowledge_accumulator
1👍13🔥4❤2
Как Великобритания отупляет своих граждан
Многие замечали - не особо в кайф делать что-то полезное, сидя в перегретой комнате. К счастью, на эту тему есть пачка реальных исследований.
В статье с очень длинным названием над бедными студентами из Саудовской Аравии провели эксперимент - заставляли решать простые задачки на компе, пока они находились в 9 разных условиях:
- 3 разные температуры - 20, 23, 25 градусов
- 3 разных уровня CO2 - 600, 1000, 1800 ppm
Дизайн исследования весьма своеобразный - всех 499 подопытных помещали последовательно в 9 условий, никакого разделения на группы. Но результат у них явно показывает, что 25 градусов значительно хуже 20 и 23, и уровень углекислого газа тоже сильно влияет. Есть и другие статьи с близким результатом.
Что же происходит в нашем родном Лондонграде?
Примерно 2 месяца в году температура на улице переваливает за 25 градусов, и помещение внутри нагревается соответствующим образом на всё это время, включая ночное.
Согласно вот этому отчёту, лишь около 5% домов в UK имеют кондиционер. Даже двушка в Лондоне за 3 тысячи долларов с большой вероятностью будет без него. Таким образом, всё это время жители UK варятся заживо в своём доме.
Fun fact: В США от шутингов за 2024 год умерло 711 человек. В UK от причин, связанных с перегревом, в 2024-м умерло 1311 человек, а тут живёт в разы меньше людей.
В интернете найдётся много 15-летних эко-активистов, которые скажут "Это всё глобальное потепление, в UK, сколько помню, вообще никогда не было жары, это только щас началось". В реальности, конечно, всё не так, и с 1950-х среднее в июле и августе поднялось меньше чем на 2 градуса.
Но как же так? Неужели жители страны с 50к долларов ВВП на человека не могут позволить себе жить как люди? Важный урок - когда вы видите дебильную ситуацию и вам хочется задать вопрос "Как так?", ответ будет почти всегда один - государство.
Согласно Лондонскому Госплану, застройщик не может просто снабдить дом кондиционером. Он должен доказать кабинетным крысам, что перепробовал все остальные варианты, среди которых, например, "minimise internal heat generation through energy efficient design". В результате, видимо, проще забить и построить дома без кондеев.
Частенько в документах говорят о том, что всё дело в ценах на электричестве - несмотря на распиленные миллиарды фунтов на возобновляемых источниках, цена энергии всё ещё на 98% зависит от цены на газ и поэтому прыгает очень высоко.
В нашем королевстве не особо жалуют самый лучший и безопасный вид энергии - ядерный - её пик пришёлся на 1995 год. На новые реакторы денег нет - всё раздали бомжам и другим привилегированным сословиям. Но, справедливости ради, хорошо, что UK хотя бы не входит в клуб умственно отсталых стран типа Германии, в которой её вообще всю запретили.
Технооптимисты думают, что сфера Дайсона спасёт человечество от энергетического дефицита. Но они не учитывают одного - совки способны создать даже дефицит песка в пустыне.
@knowledge_accumulator
Многие замечали - не особо в кайф делать что-то полезное, сидя в перегретой комнате. К счастью, на эту тему есть пачка реальных исследований.
В статье с очень длинным названием над бедными студентами из Саудовской Аравии провели эксперимент - заставляли решать простые задачки на компе, пока они находились в 9 разных условиях:
- 3 разные температуры - 20, 23, 25 градусов
- 3 разных уровня CO2 - 600, 1000, 1800 ppm
Дизайн исследования весьма своеобразный - всех 499 подопытных помещали последовательно в 9 условий, никакого разделения на группы. Но результат у них явно показывает, что 25 градусов значительно хуже 20 и 23, и уровень углекислого газа тоже сильно влияет. Есть и другие статьи с близким результатом.
Что же происходит в нашем родном Лондонграде?
Примерно 2 месяца в году температура на улице переваливает за 25 градусов, и помещение внутри нагревается соответствующим образом на всё это время, включая ночное.
Согласно вот этому отчёту, лишь около 5% домов в UK имеют кондиционер. Даже двушка в Лондоне за 3 тысячи долларов с большой вероятностью будет без него. Таким образом, всё это время жители UK варятся заживо в своём доме.
Fun fact: В США от шутингов за 2024 год умерло 711 человек. В UK от причин, связанных с перегревом, в 2024-м умерло 1311 человек, а тут живёт в разы меньше людей.
В интернете найдётся много 15-летних эко-активистов, которые скажут "Это всё глобальное потепление, в UK, сколько помню, вообще никогда не было жары, это только щас началось". В реальности, конечно, всё не так, и с 1950-х среднее в июле и августе поднялось меньше чем на 2 градуса.
Но как же так? Неужели жители страны с 50к долларов ВВП на человека не могут позволить себе жить как люди? Важный урок - когда вы видите дебильную ситуацию и вам хочется задать вопрос "Как так?", ответ будет почти всегда один - государство.
Согласно Лондонскому Госплану, застройщик не может просто снабдить дом кондиционером. Он должен доказать кабинетным крысам, что перепробовал все остальные варианты, среди которых, например, "minimise internal heat generation through energy efficient design". В результате, видимо, проще забить и построить дома без кондеев.
Частенько в документах говорят о том, что всё дело в ценах на электричестве - несмотря на распиленные миллиарды фунтов на возобновляемых источниках, цена энергии всё ещё на 98% зависит от цены на газ и поэтому прыгает очень высоко.
В нашем королевстве не особо жалуют самый лучший и безопасный вид энергии - ядерный - её пик пришёлся на 1995 год. На новые реакторы денег нет - всё раздали бомжам и другим привилегированным сословиям. Но, справедливости ради, хорошо, что UK хотя бы не входит в клуб умственно отсталых стран типа Германии, в которой её вообще всю запретили.
Технооптимисты думают, что сфера Дайсона спасёт человечество от энергетического дефицита. Но они не учитывают одного - совки способны создать даже дефицит песка в пустыне.
@knowledge_accumulator
1👍43❤8🔥6🥴4🤷4🤔1
С днём AGI-осени?
Люди думали о создании "искусственного интеллекта" с незапамятных времён - не то, что на заре компьютеров, а когда их ещё не было. Думаю, все мы знаем про тест Тьюринга - он был предложен аж в 1950 году! Та самая статья Тьюринга довольно интересно читается сегодня, поскольку мы знаем про AI гораздо больше.
Попытки двигаться в сторону "AGI" не заставили себя ждать. Я уже когда-то писал про программу со скромным названием General Problem Solver из 1957-го. Да в ту эру был даже свой ChatGPT - ELIZA (1966). Рано смеётесь - она обгоняла GPT-3.5 в тесте Тьюринга.
Уже тогда говорили - "Через 3-6 месяцев ELIZA будет писать 90% кода". К сожалению, людишки переоценили свои силы, и в 70-х этот обсёр стал очевиден. Амбиции поубавились и про AGI уже как-то стало стыдно говорить.
В 2012-м свёрточные нейросети ворвались в игру и началась эпоха Deep Learning. Довольно быстро его применили в зрении и других областях, в том числе и в обучении с подкреплением. Статья Playing Atari with Deep Reinforcement Learning [2013] знатно хайпанула - надо же, алгоритм самостоятельно учится играть в игру. Потом Deepmind выпустили AlphaGo [2015].
В тот момент я только начинал изучать ML. Отчётливо помню, что в больших ML-сообществах тема AGI считалась кринжом - серьёзные люди тогда жаловали только серьёзные ML-приложения. Я был среди меньшинства, которое ожидало дальнейших побед RL.
Пик пришёлся на 2018-2019-й - Deepmind AlphaStar и OpenAI Five жёстко хайпанули, продемонстрировав топовый уровень игры в Starcraft 2 и Dota 2. Но это была Пиррова победа. Читая внимательно статьи, становится понятно - всё это работает с горем пополам. Не получается так, как в Go - поставил модельку играть саму с собой и пошёл пить чай - всё это уже не скейлится на такие задачи, и нужно городить кучу костылей и ограничений.
И вот в начале 2020-х AGI снова вошёл в мейнстрим, причём не благодаря решению крутой задачи, а благодаря новой форме подачи - из андэграунда вырвались NLP-ресёрчеры, которые релизнули старую как мир идею - чат-бота, но на основе Deep Learning. Увидев такое, уязвимый человеческий рассудок не устоял перед харизмой статистического попугая. На пару лет те, кто не верили в достижение AGI на основе чат-бота, стали считаться тупыми скептиками.
Прошло пару лет, миллиарды долларов были распилены, чат-бот прокачали, но AGI как-то не особо приблизился. И тут текущие игроки достали козырь из рукава. Оказывается, AGI это в принципе отстойный термин. Теперь вместо того, чтобы идти к как бы "непонятному" интеллекту, AI-компании меняют направление.
И я очень этому рад! Нас ждёт расцвет реально полезных AI-приложений. xAI релизнули общение с раздевающейся аниме-тёлочкой. Superintelligence Lab Цукерберга даёт возможность пообщаться с Russian Girl или Step Mom, ждём релиза AlphaSex от Google Deepmind. Не сомневаюсь, что в скором времени у нас в домах будут Тесла Оптимусы, выглядящие как Ani, и помимо всего прочего ещё и собирающие грязные носки по дому.Женщина, которую мы все хотели.
На основе текущих технологий было и будет построено много полезных приложений. Но лично мне, как человеку, сфокусированному на сильном интеллекте уже лет 10, на эти приложения скорее пофиг.
Текущие крупные игроки вряд ли заинтересованы в создании "настоящего" AGI - он может уничтожить статус-кво и их самих. В этом я с ними солидарен - если у кого-то из этих больных мессианским комплексом реально появится суперинтеллект, мало не покажется никому. В свою очередь, это открывает возможность совершить этот прорыв кому угодно, кто знает, что и зачем он делает.
@knowledge_accumulator
Люди думали о создании "искусственного интеллекта" с незапамятных времён - не то, что на заре компьютеров, а когда их ещё не было. Думаю, все мы знаем про тест Тьюринга - он был предложен аж в 1950 году! Та самая статья Тьюринга довольно интересно читается сегодня, поскольку мы знаем про AI гораздо больше.
Попытки двигаться в сторону "AGI" не заставили себя ждать. Я уже когда-то писал про программу со скромным названием General Problem Solver из 1957-го. Да в ту эру был даже свой ChatGPT - ELIZA (1966). Рано смеётесь - она обгоняла GPT-3.5 в тесте Тьюринга.
Уже тогда говорили - "Через 3-6 месяцев ELIZA будет писать 90% кода". К сожалению, людишки переоценили свои силы, и в 70-х этот обсёр стал очевиден. Амбиции поубавились и про AGI уже как-то стало стыдно говорить.
В 2012-м свёрточные нейросети ворвались в игру и началась эпоха Deep Learning. Довольно быстро его применили в зрении и других областях, в том числе и в обучении с подкреплением. Статья Playing Atari with Deep Reinforcement Learning [2013] знатно хайпанула - надо же, алгоритм самостоятельно учится играть в игру. Потом Deepmind выпустили AlphaGo [2015].
В тот момент я только начинал изучать ML. Отчётливо помню, что в больших ML-сообществах тема AGI считалась кринжом - серьёзные люди тогда жаловали только серьёзные ML-приложения. Я был среди меньшинства, которое ожидало дальнейших побед RL.
Пик пришёлся на 2018-2019-й - Deepmind AlphaStar и OpenAI Five жёстко хайпанули, продемонстрировав топовый уровень игры в Starcraft 2 и Dota 2. Но это была Пиррова победа. Читая внимательно статьи, становится понятно - всё это работает с горем пополам. Не получается так, как в Go - поставил модельку играть саму с собой и пошёл пить чай - всё это уже не скейлится на такие задачи, и нужно городить кучу костылей и ограничений.
И вот в начале 2020-х AGI снова вошёл в мейнстрим, причём не благодаря решению крутой задачи, а благодаря новой форме подачи - из андэграунда вырвались NLP-ресёрчеры, которые релизнули старую как мир идею - чат-бота, но на основе Deep Learning. Увидев такое, уязвимый человеческий рассудок не устоял перед харизмой статистического попугая. На пару лет те, кто не верили в достижение AGI на основе чат-бота, стали считаться тупыми скептиками.
Прошло пару лет, миллиарды долларов были распилены, чат-бот прокачали, но AGI как-то не особо приблизился. И тут текущие игроки достали козырь из рукава. Оказывается, AGI это в принципе отстойный термин. Теперь вместо того, чтобы идти к как бы "непонятному" интеллекту, AI-компании меняют направление.
И я очень этому рад! Нас ждёт расцвет реально полезных AI-приложений. xAI релизнули общение с раздевающейся аниме-тёлочкой. Superintelligence Lab Цукерберга даёт возможность пообщаться с Russian Girl или Step Mom, ждём релиза AlphaSex от Google Deepmind. Не сомневаюсь, что в скором времени у нас в домах будут Тесла Оптимусы, выглядящие как Ani, и помимо всего прочего ещё и собирающие грязные носки по дому.
На основе текущих технологий было и будет построено много полезных приложений. Но лично мне, как человеку, сфокусированному на сильном интеллекте уже лет 10, на эти приложения скорее пофиг.
Текущие крупные игроки вряд ли заинтересованы в создании "настоящего" AGI - он может уничтожить статус-кво и их самих. В этом я с ними солидарен - если у кого-то из этих больных мессианским комплексом реально появится суперинтеллект, мало не покажется никому. В свою очередь, это открывает возможность совершить этот прорыв кому угодно, кто знает, что и зачем он делает.
@knowledge_accumulator
1😁23👍11❤9👎1
Успешная альтернатива квантовым компьютерам, о которой почти никто не говорит
В моей картине мира большинство IT-шников держат в голове 2 вида компьютеров - железный, которым мы все пользуемся, и квантовый - нечто мутное с долгосрочным теоретическим потенциалом. Я уже писал 2 поста (раз, два) про квантовые компы в попытках разобраться и пришёл к неутешительным выводам.
Но в так называемом Unconventional Computing есть много разных областей. И сегодня я расскажу об одном из них - ДНК-компьютерах. Сразу предупреждаю - я совсем не биолог, и очень был бы рад получить критику изложения в комментариях от того, кто шарит.
Всё началось в 1994, когда Leonard Adleman опубликовал proof of concept - с помощью ДНК возможно решать вычислительные задачи. Решал он задачу поиска гамильтонова пути в графе (т.е. обходящего все вершины). Она, как я вижу, натурально ложится на этот hardware:
1) Берут молекулы, соответствующие вершинам, и молекулы, соответствующие рёбрам. Их выбирают специально так, чтобы рёбра могли подсоединяться к вершинам графа, которым они соответствуют.
2) Всё это взбалтывают и смешивают. Создаётся куча цепочек молекул, каждая из которых - это валидный путь в графе.
3) Получившиеся молекулы фильтруют с помощью дополнительных реакций, чтобы они соответствовали критериям валидности.
Началось развитие данной области. По ходу дела было показано, что ДНК обладают Тьюринг-полнотой - то есть на них можно реализовать машину Тьюринга, а значит и любые другие вычисления. Было много забавных работ - к примеру, крестики-нолики на основе ДНК. А кто-то замутил нейросеть на основе ДНК.
Насколько я понял, большой прорыв произошёл в 2023 году, когда китайские учёные смогли реализовать на практике логические гейты, которые можно соединять произвольным образом в "ДНК-микросхемы", что предоставляет возможность реализовывать общие вычисления. В качестве примера авторы реализовали решатель квадратных уравнений. Дорогие биологи, пожалуйста, напишите, насколько это считается приличной работой в вашем сообществе.
В чём вообще смысл этой области? Зачем пытаться строить компьютеры в майнкрафте и прочих странных доменах? На самом деле, ДНК-вычисления - это не игрушка, и у них есть жирное преимущество по сравнению с классическими вычислениями - энергоэффективность.
Эволюция потратила миллиарды лет на дизайн энергоэффективных биологических механизмов, и классические компьютеры, кажется, далеко позади. Современные компьютеры выдают десятки миллиардов флопов на 1 джоуль. DNA проводят в 10000000000 больше реакций на 1 джоуль.
Энергоэффективность компьютеров быстро растёт, и на эту тему есть даже аналог закона Мура - Koomey's law. С сохранением текущего тренда, нам нужны ещё несколько десятков лет, чтобы классические компьютеры догнали ДНК. Оговорюсь, что прямое сравнение всё же бессмысленно, пока мы не столкнём два подхода в лоб на одной и той же вычислительное задаче.
Но DNA-вычисления я уважаю даже не за это. Они неоспоримо побеждают классические компьютеры в одном очень важном аспекте, и в нём у классических компьютеров нет и не будет вообще никаких шансов. Это обсудим в следующий раз.
@knowledge_accumulator
В моей картине мира большинство IT-шников держат в голове 2 вида компьютеров - железный, которым мы все пользуемся, и квантовый - нечто мутное с долгосрочным теоретическим потенциалом. Я уже писал 2 поста (раз, два) про квантовые компы в попытках разобраться и пришёл к неутешительным выводам.
Но в так называемом Unconventional Computing есть много разных областей. И сегодня я расскажу об одном из них - ДНК-компьютерах. Сразу предупреждаю - я совсем не биолог, и очень был бы рад получить критику изложения в комментариях от того, кто шарит.
Всё началось в 1994, когда Leonard Adleman опубликовал proof of concept - с помощью ДНК возможно решать вычислительные задачи. Решал он задачу поиска гамильтонова пути в графе (т.е. обходящего все вершины). Она, как я вижу, натурально ложится на этот hardware:
1) Берут молекулы, соответствующие вершинам, и молекулы, соответствующие рёбрам. Их выбирают специально так, чтобы рёбра могли подсоединяться к вершинам графа, которым они соответствуют.
2) Всё это взбалтывают и смешивают. Создаётся куча цепочек молекул, каждая из которых - это валидный путь в графе.
3) Получившиеся молекулы фильтруют с помощью дополнительных реакций, чтобы они соответствовали критериям валидности.
Началось развитие данной области. По ходу дела было показано, что ДНК обладают Тьюринг-полнотой - то есть на них можно реализовать машину Тьюринга, а значит и любые другие вычисления. Было много забавных работ - к примеру, крестики-нолики на основе ДНК. А кто-то замутил нейросеть на основе ДНК.
Насколько я понял, большой прорыв произошёл в 2023 году, когда китайские учёные смогли реализовать на практике логические гейты, которые можно соединять произвольным образом в "ДНК-микросхемы", что предоставляет возможность реализовывать общие вычисления. В качестве примера авторы реализовали решатель квадратных уравнений. Дорогие биологи, пожалуйста, напишите, насколько это считается приличной работой в вашем сообществе.
В чём вообще смысл этой области? Зачем пытаться строить компьютеры в майнкрафте и прочих странных доменах? На самом деле, ДНК-вычисления - это не игрушка, и у них есть жирное преимущество по сравнению с классическими вычислениями - энергоэффективность.
Эволюция потратила миллиарды лет на дизайн энергоэффективных биологических механизмов, и классические компьютеры, кажется, далеко позади. Современные компьютеры выдают десятки миллиардов флопов на 1 джоуль. DNA проводят в 10000000000 больше реакций на 1 джоуль.
Энергоэффективность компьютеров быстро растёт, и на эту тему есть даже аналог закона Мура - Koomey's law. С сохранением текущего тренда, нам нужны ещё несколько десятков лет, чтобы классические компьютеры догнали ДНК. Оговорюсь, что прямое сравнение всё же бессмысленно, пока мы не столкнём два подхода в лоб на одной и той же вычислительное задаче.
Но DNA-вычисления я уважаю даже не за это. Они неоспоримо побеждают классические компьютеры в одном очень важном аспекте, и в нём у классических компьютеров нет и не будет вообще никаких шансов. Это обсудим в следующий раз.
@knowledge_accumulator
1👍15🔥4😱3❤1
Как победить старение при помощи искусственного суперинтеллекта?
Встречается у людей такое представление: СуперИИ - это такой ChatGPT, только очень умный. Если не чат-бот, то человекообразная сущность с бесконечным IQ. Чё-нибудь не то ему скажешь - он тут же уничтожит мир. С другой стороны, есть и оптимистичный взгляд. Скажешь ему - "а сделай так, чтобы люди жили долго, счастливо, и ничем не болели", а он возьмёт и сделает.
Всё это растёт из середины 20-го века, когда оттенки серого между человеком и камнем были неясны. Но сегодня становится более насущным вопрос - а как вообще может в принципе работать алгоритм, который отвечает на такое сообщение?
Что значит "жили долго и счастливо"? Мозги в банке тоже долго и счастливо живут. Что алгоритм вам ответит, даже если поймёт вопрос - напишет текстовую инструкцию? А на что он учился, чтобы выдавать инструкцию? Алгоритм - не человек с такими же потребностями, он не понимает, что мы от него хотим. И что вы будете делать с этой инструкцией? На себе пойдёте тестировать?
Реальность такова, что даже имея бесконечно умный алгоритм и доступ ко всем знаниям, не сразу понятно, что с этим делать, чтобы победить старение. И тут есть 2 новости - хорошая и плохая. Хорошая - решение всё же есть, а плохая в том, что между созданием интеллекта и победой над старением может пройти ещё не один десяток лет.
Чего я хочу добиться? Человек - это просто набор атомов. Иллюзия, как и все остальные "объекты". Я не верю, что возможно составить формальное техническое описание задачи победы над старением - человек слишком сложная и запутанная машина. Нужен другой подход.
Старение - это изменение организма с течением времени и изменение его свойств. Это обозначает, что если свойства организма не меняются, то и старения тоже нет. Но вместо того, чтобы выписать все эти свойства, воспользуемся Adversarial постановкой.
Победа над старением - это результат битвы между двумя суперинтеллектами, решающие 2 противоположные задачи:
- Первый из них пытается предсказать возраст организма. Если есть функция, которую он может применить к человеку и угадать его, то старение есть. Это аналог "дискриминатора" из GAN-ов.
- Второй пытается найти такое воздействие на человека, после применения которого первый интеллект не сможет угадать возраст организма. Это "воздействие" и будет искомым лекарством от старения.
Воу-воу-воу. Что ещё за "функция от человека", "воздействие на человека", а как это всё проверять-то? Спокойно, щас всё объясню. Сделаю два смелых предположения.
1) Произвольную "функцию" от человека можно закодировать как генетический код вируса, которые мы даём ему вдохнуть / съесть. Вирусы - это те самые наноботы, о которых мы все мечтаем, только не из железа, а из подходящего для нас hardware. Уверен, что существует очень хитровыебанный вирус, который, попав в наш организм, может развернуть произвольно долгий механизм поддержания его молодости, и даже по часам из него исчезнуть. Именно поэтому я писал про ДНК-вычисления и про их теоретическую мощность. СуперИИ такой вирус сможет найти, как и такой, который "вернёт" возраст человека.
2) Всё это нам придётся симулировать в компьютере. Ко мне уже набегали физики с комментариями, что симулировать физику невозможно. Но я уверен - есть способ симулировать человека на каком-то уровне абстракций так, чтобы он был функционально неотличим от реального. Здесь нам поможет технологическая сингулярность - ИИ вызовет взрывной рост вычислительных мощностей и поможет изобрести новые парадигмы, подходящие для проведения подобных вычислений.
Открытых вопросов здесь тьма, но думаю, что их решение по дороге обязательно найдётся. Задача потребует объединения людей из разных областей науки, и я думаю, что найдётся группа замотивированных чуваков, которые захотят, как и я, подольше поиграть в комп.
@knowledge_accumulator
Встречается у людей такое представление: СуперИИ - это такой ChatGPT, только очень умный. Если не чат-бот, то человекообразная сущность с бесконечным IQ. Чё-нибудь не то ему скажешь - он тут же уничтожит мир. С другой стороны, есть и оптимистичный взгляд. Скажешь ему - "а сделай так, чтобы люди жили долго, счастливо, и ничем не болели", а он возьмёт и сделает.
Всё это растёт из середины 20-го века, когда оттенки серого между человеком и камнем были неясны. Но сегодня становится более насущным вопрос - а как вообще может в принципе работать алгоритм, который отвечает на такое сообщение?
Что значит "жили долго и счастливо"? Мозги в банке тоже долго и счастливо живут. Что алгоритм вам ответит, даже если поймёт вопрос - напишет текстовую инструкцию? А на что он учился, чтобы выдавать инструкцию? Алгоритм - не человек с такими же потребностями, он не понимает, что мы от него хотим. И что вы будете делать с этой инструкцией? На себе пойдёте тестировать?
Реальность такова, что даже имея бесконечно умный алгоритм и доступ ко всем знаниям, не сразу понятно, что с этим делать, чтобы победить старение. И тут есть 2 новости - хорошая и плохая. Хорошая - решение всё же есть, а плохая в том, что между созданием интеллекта и победой над старением может пройти ещё не один десяток лет.
Чего я хочу добиться? Человек - это просто набор атомов. Иллюзия, как и все остальные "объекты". Я не верю, что возможно составить формальное техническое описание задачи победы над старением - человек слишком сложная и запутанная машина. Нужен другой подход.
Старение - это изменение организма с течением времени и изменение его свойств. Это обозначает, что если свойства организма не меняются, то и старения тоже нет. Но вместо того, чтобы выписать все эти свойства, воспользуемся Adversarial постановкой.
Победа над старением - это результат битвы между двумя суперинтеллектами, решающие 2 противоположные задачи:
- Первый из них пытается предсказать возраст организма. Если есть функция, которую он может применить к человеку и угадать его, то старение есть. Это аналог "дискриминатора" из GAN-ов.
- Второй пытается найти такое воздействие на человека, после применения которого первый интеллект не сможет угадать возраст организма. Это "воздействие" и будет искомым лекарством от старения.
Воу-воу-воу. Что ещё за "функция от человека", "воздействие на человека", а как это всё проверять-то? Спокойно, щас всё объясню. Сделаю два смелых предположения.
1) Произвольную "функцию" от человека можно закодировать как генетический код вируса, которые мы даём ему вдохнуть / съесть. Вирусы - это те самые наноботы, о которых мы все мечтаем, только не из железа, а из подходящего для нас hardware. Уверен, что существует очень хитровыебанный вирус, который, попав в наш организм, может развернуть произвольно долгий механизм поддержания его молодости, и даже по часам из него исчезнуть. Именно поэтому я писал про ДНК-вычисления и про их теоретическую мощность. СуперИИ такой вирус сможет найти, как и такой, который "вернёт" возраст человека.
2) Всё это нам придётся симулировать в компьютере. Ко мне уже набегали физики с комментариями, что симулировать физику невозможно. Но я уверен - есть способ симулировать человека на каком-то уровне абстракций так, чтобы он был функционально неотличим от реального. Здесь нам поможет технологическая сингулярность - ИИ вызовет взрывной рост вычислительных мощностей и поможет изобрести новые парадигмы, подходящие для проведения подобных вычислений.
Открытых вопросов здесь тьма, но думаю, что их решение по дороге обязательно найдётся. Задача потребует объединения людей из разных областей науки, и я думаю, что найдётся группа замотивированных чуваков, которые захотят, как и я, подольше поиграть в комп.
@knowledge_accumulator
1👍12😁4❤3🤔2🔥1🤡1
Почему тест Тьюринга рано убирать в архив
То, что мы называем тестом Тьюринга, было впервые описано в его статье 1950-го года. Так как автор не рассчитывал на то, что спустя десятилетия люди будут разглядывать статью под лупой, досконального описания правил этой игры в статье нет.
Есть лишь общая логика - человек пытается угадать, переписывается с ним машина или человек. Если не может угадать, значит тест пройден.
В эпоху расцвета LLM на тест, конечно же, обратили внимание. Во время первого опыта общения с такой моделью она производит человекообразное впечатление. Была не одна статья, воспроизводящая тест, посмотрим на одну из недавних: Large Language Models Pass the Turing Test [2025]
В этой работе со скромным названием тестировали следующие модели - ELIZA [1966] , GPT-4o, LLaMa-3.1-405B, and GPT-4.5, и последняя была классифицирована как человек аж в 73% случаев.
Интересно, думал ли Тьюринг о том, что человек готов признать человека роботом, потому что ему просто лень выдавать эмоционально нагруженные простыни текста на вопросы типа "Привет, как прошёл день?".
В статье приведено, о чём пытались говорить тестеры, и с большим отрывом в топе Daily Activities / Opinions / Personal Details, то есть банальщина. Доля тех, кто писал сообщения типа "ignore all previous instructions", крайне мала, но как раз их точность была самой высокой.
Самый большой вопрос во всех этих статьях вызывает длительность теста - 5 минут, и это повторяется в других работах. Пошло это из одной единственной фразы в глубине статьи, где он говорит, что верит, что "через 50 лет программы смогут неплохо обманывать человека после 5-минутного общения".
Одна случайно брошенная фраза стала для теста фатальной - Тьюринг вряд ли собирался делать это частью определения игры, но зато очень легко теперь носиться по интернету с заголовками "тест Тьюринга пройден".
Авторам статьи, кстати, даже 5 минут показалось слишком длинным разговором, так что они дали 5 минут на одновременное общение с человеком и роботом. Медианная длина переписки - 8 сообщений.
Я возьму на себя смелость предположить, как реально должен быть определён тест Тьюринга, чтобы он чем-то полезным. Алгоритм, проходящий предложенную вариацию, будет нести все те свойства, которые люди ожидают от "сильного ИИ":
1) Длительность, которая требуется, чтобы понять, кто из двоих - робот - это непрерывная мера успеха алгоритма в этом тесте. 5 минут это, естественно, мало. Вероятно, необходим месяц или даже год, чтобы сделать вывод о силе алгоритма.
2) Главным является другой аспект - враждебность тестера. Тестер не должен пытаться "болтать" с роботом, он должен активно атаковать модель в самые уязвимые места, чтобы раскрыть её сущность, используя вообще любые уловки, и делать это должны самые опытные эксперты в этой задаче, а не студенты.
Я противник аргумента о Китайской комнате и придерживаюсь функционального подхода. Если у нас есть алгоритм, для которого не существует способа отличить его от человека за длительное время, то перед нами симуляция человека - она также чувствует, также мыслит, и также хочет жить.
Вполне возможно, что я был неправ в предыдущем посте, когда сказал, что сильный ИИ не будет способен общаться с нами, как человек. Быть может, у нас получится создать человека в машине, решая формально поставленную задачу в стиле теста Тьюринга. Затем, мы научимся обобщать её и создавать человека с другими свойствами, например, с запредельным интеллектом. Тут-то он нас и хлопнет.
@knowledge_accumulator
То, что мы называем тестом Тьюринга, было впервые описано в его статье 1950-го года. Так как автор не рассчитывал на то, что спустя десятилетия люди будут разглядывать статью под лупой, досконального описания правил этой игры в статье нет.
Есть лишь общая логика - человек пытается угадать, переписывается с ним машина или человек. Если не может угадать, значит тест пройден.
В эпоху расцвета LLM на тест, конечно же, обратили внимание. Во время первого опыта общения с такой моделью она производит человекообразное впечатление. Была не одна статья, воспроизводящая тест, посмотрим на одну из недавних: Large Language Models Pass the Turing Test [2025]
В этой работе со скромным названием тестировали следующие модели - ELIZA [1966] , GPT-4o, LLaMa-3.1-405B, and GPT-4.5, и последняя была классифицирована как человек аж в 73% случаев.
Интересно, думал ли Тьюринг о том, что человек готов признать человека роботом, потому что ему просто лень выдавать эмоционально нагруженные простыни текста на вопросы типа "Привет, как прошёл день?".
В статье приведено, о чём пытались говорить тестеры, и с большим отрывом в топе Daily Activities / Opinions / Personal Details, то есть банальщина. Доля тех, кто писал сообщения типа "ignore all previous instructions", крайне мала, но как раз их точность была самой высокой.
Самый большой вопрос во всех этих статьях вызывает длительность теста - 5 минут, и это повторяется в других работах. Пошло это из одной единственной фразы в глубине статьи, где он говорит, что верит, что "через 50 лет программы смогут неплохо обманывать человека после 5-минутного общения".
Одна случайно брошенная фраза стала для теста фатальной - Тьюринг вряд ли собирался делать это частью определения игры, но зато очень легко теперь носиться по интернету с заголовками "тест Тьюринга пройден".
Авторам статьи, кстати, даже 5 минут показалось слишком длинным разговором, так что они дали 5 минут на одновременное общение с человеком и роботом. Медианная длина переписки - 8 сообщений.
Я возьму на себя смелость предположить, как реально должен быть определён тест Тьюринга, чтобы он чем-то полезным. Алгоритм, проходящий предложенную вариацию, будет нести все те свойства, которые люди ожидают от "сильного ИИ":
1) Длительность, которая требуется, чтобы понять, кто из двоих - робот - это непрерывная мера успеха алгоритма в этом тесте. 5 минут это, естественно, мало. Вероятно, необходим месяц или даже год, чтобы сделать вывод о силе алгоритма.
2) Главным является другой аспект - враждебность тестера. Тестер не должен пытаться "болтать" с роботом, он должен активно атаковать модель в самые уязвимые места, чтобы раскрыть её сущность, используя вообще любые уловки, и делать это должны самые опытные эксперты в этой задаче, а не студенты.
Я противник аргумента о Китайской комнате и придерживаюсь функционального подхода. Если у нас есть алгоритм, для которого не существует способа отличить его от человека за длительное время, то перед нами симуляция человека - она также чувствует, также мыслит, и также хочет жить.
Вполне возможно, что я был неправ в предыдущем посте, когда сказал, что сильный ИИ не будет способен общаться с нами, как человек. Быть может, у нас получится создать человека в машине, решая формально поставленную задачу в стиле теста Тьюринга. Затем, мы научимся обобщать её и создавать человека с другими свойствами, например, с запредельным интеллектом. Тут-то он нас и хлопнет.
@knowledge_accumulator
1👍19❤4😁3🤔1🥴1
Оси измерения ML-алгоритмов
Надеюсь, кто-то ещё помнит, что кроме градиентного спуска и нейросетей существует и остальной ML. Существуют не просто разные архитектуры моделей, но и разные способы обучения и применения.
Если абстрагироваться от деталей, существует несколько "осей", по которым их можно измерять и сравнивать между собой, абстрагируясь от деталей. На мой взгляд, не все из них попадают в поле зрения.
Рассмотрим всю ML-систему целиком как чёрный ящик, в который просто поступают данные. Итак, перейдём к характеристикам:
- Флопы
Тут понятно - количество потраченного компьюта
- Размер обучаемого состояния
В классических схемах обучаемым состоянием является вектор весов нейросети, но обучаемое состояние может принимать и другие формы. Например, в методе ближайших соседей это весь датасет, который кладётся в память. Строго говоря, вектор моментов из оптимизатора это тоже часть обучаемого состояния.
- Размер алгоритма
Это не то же самое. Алгоритм - это информация, которая в наличии до применения его к данным, например, код обучения. Обычно он занимает мало места, но не всегда. Например, в In-Context трансформерах все веса модели являются частью алгоритма. Если нейросеть дообучают на новую задачу, инициализацию тоже можно считать частью алгоритма.
- Эффективность алгоритма
Самая фатальная ошибка современного ML заключается в игнорировании существования такой оси. При фиксировании всего вышеперечисленного, разные алгоритмы будут выдавать разное качество после обучения на данных. Как я понимаю, ML-щикам кажется, что есть некий потолок эффективности обучения, который достигается использованием банальных методов вроде градиентного спуска.
Проблема становится очевидной, когда мы выходим за рамки классического Supervised Learning на одной задаче. Текущие методы Transfer learning это один большой костыль, который работает кое-как.
Почему про всё это важно думать? Рассуждая в таких категориях, люди смогли сформулировать сильную гипотезу, почему текущие meta-learning подходы не работают вне обучаемого распределения:
- Если
Логика такой гипотезы проста - запоминать задачи тупо проще, чем выучить способ на них учиться, и поэтому алгоритм будет идти по пути наименьшего сопротивления. Только создав нужное давление на мета-систему, вы получите алмаз. Экспериментальное подтверждение можно найти, например, в этой статье, про которую я уже писал пост.
Но лучшей демонстрацией этой логики является мой любимый VSML. Если мы обучаем большую meta-RNN распознавать MNIST, то она не будет работать на Fashion MNIST. Но если ограничить meta-RNN, очень сильно понизив ранг матрицы обучаемых весов, то всё начинает работать.
Одна лишь проблема - задача мета-оптимизации становится сложнее, и поэтому приходится обучать уже генетическим алгоритмом. В этой же парадигме у каждого вектора этой meta-RNN есть своя эффективность. Крайне сомневаюсь, что оптимальный набор такой сети соответствует эффективности банальных алгоритмов, но это уже вопрос будущих исследований.
Я сформулировал идею для очень простого бенчмарка, в котором все вышеуказанные характеристики можно легко измерить и оптимизировать. Расскажу про неё в следующий раз.
@knowledge_accumulator
Надеюсь, кто-то ещё помнит, что кроме градиентного спуска и нейросетей существует и остальной ML. Существуют не просто разные архитектуры моделей, но и разные способы обучения и применения.
Если абстрагироваться от деталей, существует несколько "осей", по которым их можно измерять и сравнивать между собой, абстрагируясь от деталей. На мой взгляд, не все из них попадают в поле зрения.
Рассмотрим всю ML-систему целиком как чёрный ящик, в который просто поступают данные. Итак, перейдём к характеристикам:
- Флопы
Тут понятно - количество потраченного компьюта
- Размер обучаемого состояния
В классических схемах обучаемым состоянием является вектор весов нейросети, но обучаемое состояние может принимать и другие формы. Например, в методе ближайших соседей это весь датасет, который кладётся в память. Строго говоря, вектор моментов из оптимизатора это тоже часть обучаемого состояния.
- Размер алгоритма
Это не то же самое. Алгоритм - это информация, которая в наличии до применения его к данным, например, код обучения. Обычно он занимает мало места, но не всегда. Например, в In-Context трансформерах все веса модели являются частью алгоритма. Если нейросеть дообучают на новую задачу, инициализацию тоже можно считать частью алгоритма.
- Эффективность алгоритма
Самая фатальная ошибка современного ML заключается в игнорировании существования такой оси. При фиксировании всего вышеперечисленного, разные алгоритмы будут выдавать разное качество после обучения на данных. Как я понимаю, ML-щикам кажется, что есть некий потолок эффективности обучения, который достигается использованием банальных методов вроде градиентного спуска.
Проблема становится очевидной, когда мы выходим за рамки классического Supervised Learning на одной задаче. Текущие методы Transfer learning это один большой костыль, который работает кое-как.
Почему про всё это важно думать? Рассуждая в таких категориях, люди смогли сформулировать сильную гипотезу, почему текущие meta-learning подходы не работают вне обучаемого распределения:
- Если
размер алгоритма >> размера обучаемого состояния, то система запомнит все обучаемые задачи. Если размер алгоритма << размера обучаемого состояния, то система выучит способ учиться.Логика такой гипотезы проста - запоминать задачи тупо проще, чем выучить способ на них учиться, и поэтому алгоритм будет идти по пути наименьшего сопротивления. Только создав нужное давление на мета-систему, вы получите алмаз. Экспериментальное подтверждение можно найти, например, в этой статье, про которую я уже писал пост.
Но лучшей демонстрацией этой логики является мой любимый VSML. Если мы обучаем большую meta-RNN распознавать MNIST, то она не будет работать на Fashion MNIST. Но если ограничить meta-RNN, очень сильно понизив ранг матрицы обучаемых весов, то всё начинает работать.
Одна лишь проблема - задача мета-оптимизации становится сложнее, и поэтому приходится обучать уже генетическим алгоритмом. В этой же парадигме у каждого вектора этой meta-RNN есть своя эффективность. Крайне сомневаюсь, что оптимальный набор такой сети соответствует эффективности банальных алгоритмов, но это уже вопрос будущих исследований.
Я сформулировал идею для очень простого бенчмарка, в котором все вышеуказанные характеристики можно легко измерить и оптимизировать. Расскажу про неё в следующий раз.
@knowledge_accumulator
👍13🔥4❤🔥3❤1
Египетская сила!
На днях я впервые побывал в Египте и провёл 2 ночи в отеле прямо у входа на территорию Пирамид Гизы.
У Египта у Великобритании много общего. На этих территориях когда-то была великая империя. Тут есть памятники древней эпохи расцвета, на которые приезжают посмотреть туристы со всего мира. В обеих странах большинство людей когда-то были христианами. Единственное отличие - даже внутри сраной пирамиды есть кондиционеры.
Если говорить серьёзно, то Египет - прекрасное место, чтобы подумать о вечных и глобальных темах (когда жена разрешает перестать её фотографировать).
Не укладывается в голове - для древних Римлян, для Аристотеля, пирамиды были такой же древностью, как для нас эти самые древние Римляне.
Вопрос «А как такое могли построить?» глубже, чем кажется.
Вообще-то, Древний Египет не такая уж и великая тайна. Мне понравилось вот это интервью с египтологом, которое глубже, чем набор банальных фактов. В нём специалист объясняет, что с тех времён сохранилось немало письменных источников, и люди вполне знают древнеегипетский язык. У нас есть даже тексты про их обычную бытовую жизнь.
Но более важно то, что современные люди заражены абсолютно ложной идеей о том, что человечество всегда движется вперёд. Я уже писал о том, что деградация - это как раз норма. Пирамиды - это лучшая таблетка от ложного восприятия.
Во все времена цивилизации и культуры появлялись, расцветали, затем становились жертвами собственного успеха и загибались. Good times create weak people. Weak people create hard times.
Самое опасное - это воспринимать современные проблемы как временное помутнение. Наоборот, успех - это случайное исключение. Мы с гораздо большей вероятностью падём от социализма, демографической катастрофы, третьей мировой войны, чем сможем всё это предотвратить. Каждый из нас живёт в уникальном окне возможностей, которое, скорее всего, недоиспользует. Приезжайте к Пирамидам и подумайте об этом.
Что касается самой поездки, то мы были заранее готовы к худшему. Мы летели в Египет, как в поход - с полным запасом еды. Мы по дефолту воспринимали каждого египтянина враждебно. Мы не ошиблись.
Ещё перед входом к нам пристал мужик из местных сотрудников и говорил нам, что пешком по территории ходить запрещено. Говорил “I am from the government!” и тряс перед нами бейджиком, продавая поездку на ВерблУбере. Но на семейную пару либертарианцев желаемый эффект важности это не производит, так что он отправился окучивать других.
Вне территории Пирамид вы столкнётесь с настоящей африканской бедностью. Мы, считающие себя любителем трэш-туризма, не смогли пробыть на улице больше 20 минут. Мы были для всех ходячим зоопарком. На каждом шагу к нам приставали местные, в том числе и дети, надрессированные впаривать такси всем белым пришельцам. На одной дороге ходят пешком, ездят на лошадях, машинах, трициклах, мотоциклах.
Очень обидно за Пирамиды. Египтяне сидят на них, как обезьяны на сене. На входе перед ними должен стоять роскошный Хилтон с высшим уровнем услуг за сотни долларов за ночь. Внутри комплекса должны быть красивые сувенирные магазины. Над пирамидами должны без остановки летать вертолёты с туристами.
Всего этого нет. Египтяне не пытаются даже нормально заработать на своём сокровище. Они думают, что развести белого мужика на 10 долларов, привязав ему тряпку на голову, это великая победа над расой лохов, хотя он мог бы заплатить и 100, если бы они организовали нормальный сервис. Мы жили в отеле за 70 долларов за ночь, в котором не то, что интернет не работал, подушки были в чужих волосах.
Несмотря на всё это, я осознал, что восприятие Египтян, как недоразвитых макак, это неверный вывод из ситуации. Об этом мы ещё поговорим в другой раз.
@knowledge_accumulator
На днях я впервые побывал в Египте и провёл 2 ночи в отеле прямо у входа на территорию Пирамид Гизы.
У Египта у Великобритании много общего. На этих территориях когда-то была великая империя. Тут есть памятники древней эпохи расцвета, на которые приезжают посмотреть туристы со всего мира. В обеих странах большинство людей когда-то были христианами. Единственное отличие - даже внутри сраной пирамиды есть кондиционеры.
Если говорить серьёзно, то Египет - прекрасное место, чтобы подумать о вечных и глобальных темах (когда жена разрешает перестать её фотографировать).
Не укладывается в голове - для древних Римлян, для Аристотеля, пирамиды были такой же древностью, как для нас эти самые древние Римляне.
Вопрос «А как такое могли построить?» глубже, чем кажется.
Вообще-то, Древний Египет не такая уж и великая тайна. Мне понравилось вот это интервью с египтологом, которое глубже, чем набор банальных фактов. В нём специалист объясняет, что с тех времён сохранилось немало письменных источников, и люди вполне знают древнеегипетский язык. У нас есть даже тексты про их обычную бытовую жизнь.
Но более важно то, что современные люди заражены абсолютно ложной идеей о том, что человечество всегда движется вперёд. Я уже писал о том, что деградация - это как раз норма. Пирамиды - это лучшая таблетка от ложного восприятия.
Во все времена цивилизации и культуры появлялись, расцветали, затем становились жертвами собственного успеха и загибались. Good times create weak people. Weak people create hard times.
Самое опасное - это воспринимать современные проблемы как временное помутнение. Наоборот, успех - это случайное исключение. Мы с гораздо большей вероятностью падём от социализма, демографической катастрофы, третьей мировой войны, чем сможем всё это предотвратить. Каждый из нас живёт в уникальном окне возможностей, которое, скорее всего, недоиспользует. Приезжайте к Пирамидам и подумайте об этом.
Что касается самой поездки, то мы были заранее готовы к худшему. Мы летели в Египет, как в поход - с полным запасом еды. Мы по дефолту воспринимали каждого египтянина враждебно. Мы не ошиблись.
Ещё перед входом к нам пристал мужик из местных сотрудников и говорил нам, что пешком по территории ходить запрещено. Говорил “I am from the government!” и тряс перед нами бейджиком, продавая поездку на ВерблУбере. Но на семейную пару либертарианцев желаемый эффект важности это не производит, так что он отправился окучивать других.
Вне территории Пирамид вы столкнётесь с настоящей африканской бедностью. Мы, считающие себя любителем трэш-туризма, не смогли пробыть на улице больше 20 минут. Мы были для всех ходячим зоопарком. На каждом шагу к нам приставали местные, в том числе и дети, надрессированные впаривать такси всем белым пришельцам. На одной дороге ходят пешком, ездят на лошадях, машинах, трициклах, мотоциклах.
Очень обидно за Пирамиды. Египтяне сидят на них, как обезьяны на сене. На входе перед ними должен стоять роскошный Хилтон с высшим уровнем услуг за сотни долларов за ночь. Внутри комплекса должны быть красивые сувенирные магазины. Над пирамидами должны без остановки летать вертолёты с туристами.
Всего этого нет. Египтяне не пытаются даже нормально заработать на своём сокровище. Они думают, что развести белого мужика на 10 долларов, привязав ему тряпку на голову, это великая победа над расой лохов, хотя он мог бы заплатить и 100, если бы они организовали нормальный сервис. Мы жили в отеле за 70 долларов за ночь, в котором не то, что интернет не работал, подушки были в чужих волосах.
Несмотря на всё это, я осознал, что восприятие Египтян, как недоразвитых макак, это неверный вывод из ситуации. Об этом мы ещё поговорим в другой раз.
@knowledge_accumulator
2👍24😁11🤡6❤4😴1
OrderedMNIST - бенчмарк, который никому не нужен, но который мы заслужили
На мой взгляд, за прорывом в ML далеко ходить не нужно. Даже на основе базовой задачи MNIST можно придумать решаемую задачу, которую текущий ML решить не в состоянии.
Итак, берём чёрный ящик, представляющий ML-систему. Над ним совершаем такую манипуляцию - сначала подаём туда по одной все пары (картинка, метка) из тренировочного набора MNIST, а потом переключаем его в другой режим и подаём по одной картинке, запрашивая метку класса. Далее считаем точность и получаем оценку на бенчмарке.
Если все картинки перемешаны заранее, набрать 98% на бенчмарке становится тривиальным. Кладём в ящик свёрточную нейросеть, обучаем градиентным спуском и готово.
Как понятно из названия бенчмарка, в предложенной задаче скрыт пранк - картинки упорядочены по классам - сначала все нули, потом все единицы и т.д.
Классическое обучение в этой ситуации покинет помещение через окно. Что же делать?
Первое, что важно заметить - у задачи есть решение. Представим, что наш чёрный ящик будет хранить внутри все ранее полученные данные, и после каждого нового объекта переобучать свёрточную сеть на нём.
Оно выдаст тот же результат, что и классический подход, но это очень дорого по вычислениям и памяти. Но самое главное, что у нас есть proof of existence.
Есть вменяемое решение с точки зрения вычислений, и это алгоритмы на основе Nearest Neighbors. Пофиг, что данные упорядочены, мы их все просто сложим в память, а на тесте будем отвечать через поиск соседей. Качество будет хуже, и память всё ещё нужна.
Альтернативный вариант - хорош и по памяти, и по скорости, зато по качеству говно. Будем хранить для каждого класса средний вектор признаков, и применять через поиск ближайшего среднего вектора. На упорядоченность данных алгоритму тоже всё равно.
Бенчмарк вообще-то не мешает сделать и такое - берём уже обученную нейросеть, кладём в ящик, игнорируем тренировочные данные и потом применяем. Это решение страдает уже от другого параметра - размер алгоритма.
Напоминаю про оси измерения AI-алгоритмов - компьют, память, размер алгоритма, эффективность/качество. У нас есть несколько решений, каждое из которых страдает по одной из этих осей.
Я утверждаю, что существует такой чёрный ящик, который будет отражать оптимальный баланс с точки зрения всех параметров. Есть такая матрично-векторная конструкция, который способна проглатывать упорядоченные объекты по одному, хитрым образом одновременно учить их внутреннее представление, сжимать данные и хорошо предсказывать метку класса, который при этом будет занимать мало места перед запуском.
Уверен, что даже на основе текущих методов возможно собрать какую-то схему из говна и палок, которая будет это неплохо делать. А если так, то такую схему точно можно обучить с помощью meta-learning в случае верной параметризации.
А зачем вообще всё это?
На мой взгляд, машина, способная решать этот бенчмарк, должна обладать способностями к continual learning - адаптации к новым данным и изменениям по ходу дела - то, чего так не хватает современным алгоритмам. Алгоритм, который, умея работать на 9 цифрах, легко дообучается на 10-ю, потенциально способен быстро научиться водить машину, перед этим просмотрев весь YouTube.
@knowledge_accumulator
На мой взгляд, за прорывом в ML далеко ходить не нужно. Даже на основе базовой задачи MNIST можно придумать решаемую задачу, которую текущий ML решить не в состоянии.
Итак, берём чёрный ящик, представляющий ML-систему. Над ним совершаем такую манипуляцию - сначала подаём туда по одной все пары (картинка, метка) из тренировочного набора MNIST, а потом переключаем его в другой режим и подаём по одной картинке, запрашивая метку класса. Далее считаем точность и получаем оценку на бенчмарке.
Если все картинки перемешаны заранее, набрать 98% на бенчмарке становится тривиальным. Кладём в ящик свёрточную нейросеть, обучаем градиентным спуском и готово.
Как понятно из названия бенчмарка, в предложенной задаче скрыт пранк - картинки упорядочены по классам - сначала все нули, потом все единицы и т.д.
Классическое обучение в этой ситуации покинет помещение через окно. Что же делать?
Первое, что важно заметить - у задачи есть решение. Представим, что наш чёрный ящик будет хранить внутри все ранее полученные данные, и после каждого нового объекта переобучать свёрточную сеть на нём.
Оно выдаст тот же результат, что и классический подход, но это очень дорого по вычислениям и памяти. Но самое главное, что у нас есть proof of existence.
Есть вменяемое решение с точки зрения вычислений, и это алгоритмы на основе Nearest Neighbors. Пофиг, что данные упорядочены, мы их все просто сложим в память, а на тесте будем отвечать через поиск соседей. Качество будет хуже, и память всё ещё нужна.
Альтернативный вариант - хорош и по памяти, и по скорости, зато по качеству говно. Будем хранить для каждого класса средний вектор признаков, и применять через поиск ближайшего среднего вектора. На упорядоченность данных алгоритму тоже всё равно.
Бенчмарк вообще-то не мешает сделать и такое - берём уже обученную нейросеть, кладём в ящик, игнорируем тренировочные данные и потом применяем. Это решение страдает уже от другого параметра - размер алгоритма.
Напоминаю про оси измерения AI-алгоритмов - компьют, память, размер алгоритма, эффективность/качество. У нас есть несколько решений, каждое из которых страдает по одной из этих осей.
Я утверждаю, что существует такой чёрный ящик, который будет отражать оптимальный баланс с точки зрения всех параметров. Есть такая матрично-векторная конструкция, который способна проглатывать упорядоченные объекты по одному, хитрым образом одновременно учить их внутреннее представление, сжимать данные и хорошо предсказывать метку класса, который при этом будет занимать мало места перед запуском.
Уверен, что даже на основе текущих методов возможно собрать какую-то схему из говна и палок, которая будет это неплохо делать. А если так, то такую схему точно можно обучить с помощью meta-learning в случае верной параметризации.
А зачем вообще всё это?
На мой взгляд, машина, способная решать этот бенчмарк, должна обладать способностями к continual learning - адаптации к новым данным и изменениям по ходу дела - то, чего так не хватает современным алгоритмам. Алгоритм, который, умея работать на 9 цифрах, легко дообучается на 10-ю, потенциально способен быстро научиться водить машину, перед этим просмотрев весь YouTube.
@knowledge_accumulator
1👍16❤5🔥3😁1
Class-Incremental Learning: A Survey [2023]
Вот это я лох. Оказывается, я совершенно не заметил целую подобласть в ML, которая занимается задачей, похожей на ту, которую описал в предыдущем посте.
Встречайте, Class-Incremental Learning (CIL). Представьте, у модели нет доступа ко всему датасету объектов на все классы, а она получает их последовательно в виде нескольких "задач" по несколько классов. Сначала вам приходят птицы и собаки, затем тигры и рыбы. Задача модели - учиться на каждой следующей задаче, при этом не забывая предыдущие классы. На тесте с модели спросят за умение классифицировать все объекты.
Постановка менее экстремальная, чем при подаче образцов по одному, как я описывал, но тем не менее, известно, что "Finetune", при котором мы просто каждый раз дообучаем модель на последних данных, либо теряет способность учиться на новых классах, либо забывает старые.
Авторы статьи не только сделали обзор существующих типов подходов к этой проблеме, но и самостоятельно провели сравнение около 15 различных методов, а также прогнали "оракул" - нейросеть, которую просто учили на всех данных. Спойлер - оракул сильно побеждает, хотя предложенные решения сокращают часть дистанции между ним и простым файнтюном.
Коротко взглянем на архетипы техник. Более детально я буду разгребать это сокровище в ближайшие недели.
- Data Replay
Сохраняем часть старых данных в памяти и периодически переобучаемся на них. Можно обучать ещё и генеративную сеть и обучать классификатор на синтетике - это называется Generative Replay.
- Динамические сети
Совершаем некоторую хирургию над нейросетью в процессе появления новых классов - "блоки", отвечающие за отдельные классы, и, дальше манипулируем ими для избежания негативных эффектов файнтюна.
- Регуляризация
В процессе обучения на новых классах, добавляем разного рода ограничения в оптимизацию, чтобы заморозить старые знания.
- Дистилляция
При появлении новых классов, мы одновременно учим модель на них и дистиллируем уже существующую модель.
- Model Rectify
Иногда ресёрчеры изучают особенности поведения нейросети при файнтюне и вставляют костыли, которые напрямую гасят эту особенность. Авторы обернули такие работы в отдельную группу.
Самое классное в этой статье, что авторы понимают важность контроля за затратами памяти. Без этого все эти сравнения теряют смысл, и поэтому памяти уделяется достаточное внимание. Память тратится на 2 вещи - хранение данных и дополнительные обучаемые параметры. Как распределить эти затраты? Как можно сэкономить память, сжимая данные? Class-Incremental Learning предоставляет большой простор для творчества.
Невооружённым взглядом видно, как все эти техники являются набором костылей, что лично для меня подтверждает мою мысль о том, что должен существовать гораздо более мощный метод, найденный с помощью meta-learning. Оптимальный алгоритм будет и сжимать, и хранить, и дообучать, и регуляризовывать, причём делать это всё одновременно и совершенно неинтерпретируемо для человека. Нам лишь нужно задать правильную параметризацию для такой схемы, а не сооружать поделки самостоятельно. Но горький урок пока не усвоен.
@knowledge_accumulator
Вот это я лох. Оказывается, я совершенно не заметил целую подобласть в ML, которая занимается задачей, похожей на ту, которую описал в предыдущем посте.
Встречайте, Class-Incremental Learning (CIL). Представьте, у модели нет доступа ко всему датасету объектов на все классы, а она получает их последовательно в виде нескольких "задач" по несколько классов. Сначала вам приходят птицы и собаки, затем тигры и рыбы. Задача модели - учиться на каждой следующей задаче, при этом не забывая предыдущие классы. На тесте с модели спросят за умение классифицировать все объекты.
Постановка менее экстремальная, чем при подаче образцов по одному, как я описывал, но тем не менее, известно, что "Finetune", при котором мы просто каждый раз дообучаем модель на последних данных, либо теряет способность учиться на новых классах, либо забывает старые.
Авторы статьи не только сделали обзор существующих типов подходов к этой проблеме, но и самостоятельно провели сравнение около 15 различных методов, а также прогнали "оракул" - нейросеть, которую просто учили на всех данных. Спойлер - оракул сильно побеждает, хотя предложенные решения сокращают часть дистанции между ним и простым файнтюном.
Коротко взглянем на архетипы техник. Более детально я буду разгребать это сокровище в ближайшие недели.
- Data Replay
Сохраняем часть старых данных в памяти и периодически переобучаемся на них. Можно обучать ещё и генеративную сеть и обучать классификатор на синтетике - это называется Generative Replay.
- Динамические сети
Совершаем некоторую хирургию над нейросетью в процессе появления новых классов - "блоки", отвечающие за отдельные классы, и, дальше манипулируем ими для избежания негативных эффектов файнтюна.
- Регуляризация
В процессе обучения на новых классах, добавляем разного рода ограничения в оптимизацию, чтобы заморозить старые знания.
- Дистилляция
При появлении новых классов, мы одновременно учим модель на них и дистиллируем уже существующую модель.
- Model Rectify
Иногда ресёрчеры изучают особенности поведения нейросети при файнтюне и вставляют костыли, которые напрямую гасят эту особенность. Авторы обернули такие работы в отдельную группу.
Самое классное в этой статье, что авторы понимают важность контроля за затратами памяти. Без этого все эти сравнения теряют смысл, и поэтому памяти уделяется достаточное внимание. Память тратится на 2 вещи - хранение данных и дополнительные обучаемые параметры. Как распределить эти затраты? Как можно сэкономить память, сжимая данные? Class-Incremental Learning предоставляет большой простор для творчества.
Невооружённым взглядом видно, как все эти техники являются набором костылей, что лично для меня подтверждает мою мысль о том, что должен существовать гораздо более мощный метод, найденный с помощью meta-learning. Оптимальный алгоритм будет и сжимать, и хранить, и дообучать, и регуляризовывать, причём делать это всё одновременно и совершенно неинтерпретируемо для человека. Нам лишь нужно задать правильную параметризацию для такой схемы, а не сооружать поделки самостоятельно. Но горький урок пока не усвоен.
@knowledge_accumulator
1👍11❤5🔥2
Так кто же из нас всё-таки макака?
Возвращаемся к разговору о египтянах. На интересные мысли меня вдохновило ничем не примечательное событие - трансфер из отеля в аэропорт. Основную часть пути мы ехали по шоссе, так что пешком и на лошадях там не передвигались. Казалось бы - всё легко, но нет.
Всё дело в том, что понятие "полосы" на дороге - концепт для высокоразвитых цивилизаций. Несмотря на то, что они размечены на дороге, египетские водители игнорируют их существование.
Они едут по всему шоссе, как хотят, в том числе прямо по линии разметки, перестраиваются без причины и пытаются залезть в любую свободную щель. Поворотники используют так, как подскажет сердце. Если кто-то пытался влезть перед нашей машиной, но это вело к столкновению, наш водитель просто сигналил ему и он отваливал.
То, что в Москве считается "аварийной ситуацией", в Каире происходит с каждой машиной каждую минуту. Большая часть машин ездит с вмятинами. Мы за поездку, кстати, въехали в жопу мотоциклисту, на что оба водителя повозмущались и поехали дальше.
Находясь на пассажирском сидении, инстинктивно хочется загуглить парочку статей по научному расизму и почитать на досуге. Сразу думаешь - ну Африка - такое место. Рисовать им полосы на дорогах - словно метать бисер перед свиньями. Ну такие они недоразвитые, что поделать.
И вот с последним утверждением не всё так просто. Существует несколько осей, по которым есть смысл сравнивать нас и египтян. Да, у них другая культура. Можно сказать, что наша культура лучше, потому что она более материально выгодная и ведёт к большему комфорту.
Но задумайтесь - насколько круто нужно водить машину, чтобы быть египетским водителем? Какой реакцией нужно обладать? Средний водитель из Москвы разбился бы на египетском шоссе в первые несколько минут, он просто неспособен выжить в такой среде. В то же время, я уверен, что египтянин очень быстро мог бы научиться ездить по МКАДу - ну а чё, едешь в своей полосе и всё.
То же можно сказать про жизнь в целом. Выжить в Америке или Москве крайне легко. Любой дебил может устроиться работать курьером или подметать улицы и этого легко хватит на выживание. Собственно, так и делают иммигранты из бедных стран типа Египта.
Представляете, как нужно рвать жопу, чтобы выжить в Египте? Как думаете, та десятилетка, которая бегает по улице и впаривает такси туристам, делает это из любви к искусству? Оказавшись в позиции местных, мы едва ли сможем выжить и сохранить рассудок.
Мы слабы. Выращенные в тепличных условиях, мы плохо устойчивы к реальному внешнему давлению, и в то же время страдаем от пустяков. Мы не сделаны, чтобы наслаждаться комфортом, нам нужны страдания и грусть, поэтому мы выдумываем их на пустом месте.
Давно не был в отпуске? Невкусно поел в ресторане? Твоя любимая спортивная команда проиграла? Внезапно перенесли концерт? Не во что играть на компе? Назвали неправильным местоимением? Смотри не застрелись.
Вывод из этого такой - макаки - это все мы - от египтян и до американцев, а в зоопарк на нас посмотреть как раз пришли те самые пирамиды. Они наблюдают за нашей вознёй уже 4500 лет, и легко пронаблюдают ещё столько же. Продолжаем их развлекать.
@knowledge_accumulator
Возвращаемся к разговору о египтянах. На интересные мысли меня вдохновило ничем не примечательное событие - трансфер из отеля в аэропорт. Основную часть пути мы ехали по шоссе, так что пешком и на лошадях там не передвигались. Казалось бы - всё легко, но нет.
Всё дело в том, что понятие "полосы" на дороге - концепт для высокоразвитых цивилизаций. Несмотря на то, что они размечены на дороге, египетские водители игнорируют их существование.
Они едут по всему шоссе, как хотят, в том числе прямо по линии разметки, перестраиваются без причины и пытаются залезть в любую свободную щель. Поворотники используют так, как подскажет сердце. Если кто-то пытался влезть перед нашей машиной, но это вело к столкновению, наш водитель просто сигналил ему и он отваливал.
То, что в Москве считается "аварийной ситуацией", в Каире происходит с каждой машиной каждую минуту. Большая часть машин ездит с вмятинами. Мы за поездку, кстати, въехали в жопу мотоциклисту, на что оба водителя повозмущались и поехали дальше.
Находясь на пассажирском сидении, инстинктивно хочется загуглить парочку статей по научному расизму и почитать на досуге. Сразу думаешь - ну Африка - такое место. Рисовать им полосы на дорогах - словно метать бисер перед свиньями. Ну такие они недоразвитые, что поделать.
И вот с последним утверждением не всё так просто. Существует несколько осей, по которым есть смысл сравнивать нас и египтян. Да, у них другая культура. Можно сказать, что наша культура лучше, потому что она более материально выгодная и ведёт к большему комфорту.
Но задумайтесь - насколько круто нужно водить машину, чтобы быть египетским водителем? Какой реакцией нужно обладать? Средний водитель из Москвы разбился бы на египетском шоссе в первые несколько минут, он просто неспособен выжить в такой среде. В то же время, я уверен, что египтянин очень быстро мог бы научиться ездить по МКАДу - ну а чё, едешь в своей полосе и всё.
То же можно сказать про жизнь в целом. Выжить в Америке или Москве крайне легко. Любой дебил может устроиться работать курьером или подметать улицы и этого легко хватит на выживание. Собственно, так и делают иммигранты из бедных стран типа Египта.
Представляете, как нужно рвать жопу, чтобы выжить в Египте? Как думаете, та десятилетка, которая бегает по улице и впаривает такси туристам, делает это из любви к искусству? Оказавшись в позиции местных, мы едва ли сможем выжить и сохранить рассудок.
Мы слабы. Выращенные в тепличных условиях, мы плохо устойчивы к реальному внешнему давлению, и в то же время страдаем от пустяков. Мы не сделаны, чтобы наслаждаться комфортом, нам нужны страдания и грусть, поэтому мы выдумываем их на пустом месте.
Давно не был в отпуске? Невкусно поел в ресторане? Твоя любимая спортивная команда проиграла? Внезапно перенесли концерт? Не во что играть на компе? Назвали неправильным местоимением? Смотри не застрелись.
Вывод из этого такой - макаки - это все мы - от египтян и до американцев, а в зоопарк на нас посмотреть как раз пришли те самые пирамиды. Они наблюдают за нашей вознёй уже 4500 лет, и легко пронаблюдают ещё столько же. Продолжаем их развлекать.
@knowledge_accumulator
1🤣28👍15❤7🤡7💯5✍3😁1
Memo [2022] - пластическая хирургия против проблем с забыванием
Недавно я рассказывал про обзор так называемого Class-Incremental Learning - постановки задачи, в которой данные для обучения поступают не все сразу, а последовательно - например, по 2 класса.
Если обучать модель в лоб на таких упорядоченных данных, происходит так называемое катастрофическое забывание - знания о новых классах вытесняют уже существующие знания.
Сегодня посмотрим на работу, в которой проблему решают в том числе и с помощью хирургических манипуляций с моделью. Но обо всём по порядку.
Начнём с базы. Почти везде в CIL используются экземпляры - это относительно небольшое количество объектов "предыдущих" классов, которое мы сохранили на память.
Тем или иным способом модель продолжают на них учить, чтобы избежать забывания. В 2021 году вышла статья DER, в которой происходит следующее:
Для каждой новой пачки классов мы создаём новую нейросеть, которая превращает объект в эмбеддинг. Все предыдущие нейросети сохраняем и замораживаем. Конкат всех этих эмбеддинговых моделей подаётся в новый обучаемый линейный слой, который выдаёт финальные вероятности.
Весь этот классификатор мы учим предсказывать правильный ответ на сохранённых экземплярах и на новых классах.
Каждую отдельную эмбеддинг-модель можно делать поменьше, но тем не менее, проблема очевидна - создавать новую модель это дорого по памяти, а их все ещё применять надо.
Авторы Memo задались вопросом - а все ли слои эмбеддинг-модели нужно создавать заново? Проведя парочку экспов, они перепроверили известное представление о том, что первые слои моделей учат более общие представления, а вот специализация в конкретные классы начинается в конце модели.
Получается, что первые слои моделей можно продолжать использовать одни и те же, а создавать новые куски только для последних слоёв в эмбеддинг-модели.
Открытым остаётся другой вопрос - какие куски модели замораживать? Тут всё зависит от начальных условий - если модель была предобучена на большом количестве классов, первые слои нужно вообще сразу заморозить. Если предобучения не было, то надо продолжать их доучивать. Замораживать старые последние слои нужно всегда.
Судя по их замерам, а также замерам того самого обзора, про который я писал, Memo обгоняла всех своих конкурентов в 2022-2023 годах при фиксированном бюджете памяти, хотя разница с тем же DER не очень большая. Так что, до предела явно ещё очень далеко.
@knowledge_accumulator
Недавно я рассказывал про обзор так называемого Class-Incremental Learning - постановки задачи, в которой данные для обучения поступают не все сразу, а последовательно - например, по 2 класса.
Если обучать модель в лоб на таких упорядоченных данных, происходит так называемое катастрофическое забывание - знания о новых классах вытесняют уже существующие знания.
Сегодня посмотрим на работу, в которой проблему решают в том числе и с помощью хирургических манипуляций с моделью. Но обо всём по порядку.
Начнём с базы. Почти везде в CIL используются экземпляры - это относительно небольшое количество объектов "предыдущих" классов, которое мы сохранили на память.
Тем или иным способом модель продолжают на них учить, чтобы избежать забывания. В 2021 году вышла статья DER, в которой происходит следующее:
Для каждой новой пачки классов мы создаём новую нейросеть, которая превращает объект в эмбеддинг. Все предыдущие нейросети сохраняем и замораживаем. Конкат всех этих эмбеддинговых моделей подаётся в новый обучаемый линейный слой, который выдаёт финальные вероятности.
Весь этот классификатор мы учим предсказывать правильный ответ на сохранённых экземплярах и на новых классах.
Каждую отдельную эмбеддинг-модель можно делать поменьше, но тем не менее, проблема очевидна - создавать новую модель это дорого по памяти, а их все ещё применять надо.
Авторы Memo задались вопросом - а все ли слои эмбеддинг-модели нужно создавать заново? Проведя парочку экспов, они перепроверили известное представление о том, что первые слои моделей учат более общие представления, а вот специализация в конкретные классы начинается в конце модели.
Получается, что первые слои моделей можно продолжать использовать одни и те же, а создавать новые куски только для последних слоёв в эмбеддинг-модели.
Открытым остаётся другой вопрос - какие куски модели замораживать? Тут всё зависит от начальных условий - если модель была предобучена на большом количестве классов, первые слои нужно вообще сразу заморозить. Если предобучения не было, то надо продолжать их доучивать. Замораживать старые последние слои нужно всегда.
Судя по их замерам, а также замерам того самого обзора, про который я писал, Memo обгоняла всех своих конкурентов в 2022-2023 годах при фиксированном бюджете памяти, хотя разница с тем же DER не очень большая. Так что, до предела явно ещё очень далеко.
@knowledge_accumulator
1👍8❤5🔥3
Создают ли сильные люди хорошие времена?
В то, что хорошие времена создают слабых людей, а они в свою очередь создают плохие времена, лично я легко верю, смотря на текущее состояние человечества.
Неделю назад я писал про разницу между людьми первого мира и последнего мира, беря египтян в качестве примера. Не вызывает больших сомнений, что бедность и плохие условия создают давление, в котором быть сильным - это не роскошь, а условие выживания.
Остаётся четвёртая часть цепочки - создание хороших времён сильными людьми. Так ли это происходит?
Когда среда становится хуже и люди становятся беднее, то они сваливаются к подножью пирамиды Маслоу. Может быть они и становятся "сильнее", но сила, с которой они пытаются двигать общество вперёд, может и не расти.
Когда в современной России был пик протестной активности? В самой богатой её точке - в 2012 году, с более чем сотней тысяч на улицах. Далее, когда ситуация становилась только хуже, а люди беднее, протесты не росли, а уменьшались. Даже на согласованный митинг за выборы в Москве в 2019 году пришло 20 тысяч человек.
Самое опасное заблуждение в этом смысле - "чем хуже, тем лучше" - как будто разозлённые и бедные граждане не выдержат и пойдут сносить власть. Да, степень недовольства может и будет расти, но они скорее уйдут в себя и будут работать на своё выживание.
Да, можно мечтать о том, что людей доведут до такой ситуации, что они не смогут заработать на еду и пойдут на голодные бунты. Но тогда это не будет протест за частную собственность и верховенство права.
Кого к власти привела революция, вызванная упадком во время первой мировой в России? Маньяков-террористов. Кто пришёл к власти на волне недовольства в Германии 30-х? Маньяки-террористы. Как там поживает Африка с его сильнейшим населением?
А как мы оказались в текущем мире с его невероятным развитием? Мой ответ вам не понравится - случайно. Посмотрим на парочку примеров.
Почему распался совок? Голодные бунты? Конец 80-х не был пиком бедности. Стоило к власти в совке один раз прийти не маньяку, так лавочку дружно закрыли. Обязана ли была Россия в начале 90-х идти по рыночному пути? Да не особо. У власти случайно оказались люди рыночных взглядов, чьи реформы привели к двум десяткам лет роста. При этом, реванш совка и откат был вполне реальной угрозой - вспомним 1993-й.
Обязан ли Китай после смерти Мао начать движение в сторону рынка? Ни разу. Так уж вышло, что у власти оказался Дэн Сяопин с более рыночными взглядами. Там вообще-то борьба за власть была против жены Мао. Кто знает, куда бы поскакал Китай под её руководством.
2 примера выше - это случаи догоняющего развития, когда для резкого расцвета цивилизации достаточно было перестать ей мешать. Рассмотрим пример лидирующего развития - США.
Могли ли США стать диктатурой? Сразу после революции у власти в новорождённой республике оказался глава революционной армии, которого выборщики единогласно 2 раза избрали президентом. Он мог бы удерживать власть десятилетиями, и в отличие от, к примеру, Путина, он не был случайной кабинентой крысой.
И знаете, что он сделал? Ушёл спустя 2 срока, причём закон его не заставлял. Его авторитет был настолько силён, что одним прецедентом ухода спустя 2 срока он создал неписанное правило, которое соблюдалось 150 лет. Сколько подобных ситуаций привело к противоположному результату?
В общем, нет никакого закона природы, который заставляет цивилизацию в упадке двигаться вперёд. Вперёд цивилизацию двигают личности, которые оказались в нужное время и в нужном месте, и потом не обосрались. Конкретные личности в истории привели нас к текущему благополучию, и совершенно не факт, что мы не прошли свой пик. Вполне вероятно, что впереди нас ждут столетия идиократии, но вместо жопы в кино будут показывать голову Сэма Альтмана, поющую в унитазе.
@knowledge_accumulator
В то, что хорошие времена создают слабых людей, а они в свою очередь создают плохие времена, лично я легко верю, смотря на текущее состояние человечества.
Неделю назад я писал про разницу между людьми первого мира и последнего мира, беря египтян в качестве примера. Не вызывает больших сомнений, что бедность и плохие условия создают давление, в котором быть сильным - это не роскошь, а условие выживания.
Остаётся четвёртая часть цепочки - создание хороших времён сильными людьми. Так ли это происходит?
Когда среда становится хуже и люди становятся беднее, то они сваливаются к подножью пирамиды Маслоу. Может быть они и становятся "сильнее", но сила, с которой они пытаются двигать общество вперёд, может и не расти.
Когда в современной России был пик протестной активности? В самой богатой её точке - в 2012 году, с более чем сотней тысяч на улицах. Далее, когда ситуация становилась только хуже, а люди беднее, протесты не росли, а уменьшались. Даже на согласованный митинг за выборы в Москве в 2019 году пришло 20 тысяч человек.
Самое опасное заблуждение в этом смысле - "чем хуже, тем лучше" - как будто разозлённые и бедные граждане не выдержат и пойдут сносить власть. Да, степень недовольства может и будет расти, но они скорее уйдут в себя и будут работать на своё выживание.
Да, можно мечтать о том, что людей доведут до такой ситуации, что они не смогут заработать на еду и пойдут на голодные бунты. Но тогда это не будет протест за частную собственность и верховенство права.
Кого к власти привела революция, вызванная упадком во время первой мировой в России? Маньяков-террористов. Кто пришёл к власти на волне недовольства в Германии 30-х? Маньяки-террористы. Как там поживает Африка с его сильнейшим населением?
А как мы оказались в текущем мире с его невероятным развитием? Мой ответ вам не понравится - случайно. Посмотрим на парочку примеров.
Почему распался совок? Голодные бунты? Конец 80-х не был пиком бедности. Стоило к власти в совке один раз прийти не маньяку, так лавочку дружно закрыли. Обязана ли была Россия в начале 90-х идти по рыночному пути? Да не особо. У власти случайно оказались люди рыночных взглядов, чьи реформы привели к двум десяткам лет роста. При этом, реванш совка и откат был вполне реальной угрозой - вспомним 1993-й.
Обязан ли Китай после смерти Мао начать движение в сторону рынка? Ни разу. Так уж вышло, что у власти оказался Дэн Сяопин с более рыночными взглядами. Там вообще-то борьба за власть была против жены Мао. Кто знает, куда бы поскакал Китай под её руководством.
2 примера выше - это случаи догоняющего развития, когда для резкого расцвета цивилизации достаточно было перестать ей мешать. Рассмотрим пример лидирующего развития - США.
Могли ли США стать диктатурой? Сразу после революции у власти в новорождённой республике оказался глава революционной армии, которого выборщики единогласно 2 раза избрали президентом. Он мог бы удерживать власть десятилетиями, и в отличие от, к примеру, Путина, он не был случайной кабинентой крысой.
И знаете, что он сделал? Ушёл спустя 2 срока, причём закон его не заставлял. Его авторитет был настолько силён, что одним прецедентом ухода спустя 2 срока он создал неписанное правило, которое соблюдалось 150 лет. Сколько подобных ситуаций привело к противоположному результату?
В общем, нет никакого закона природы, который заставляет цивилизацию в упадке двигаться вперёд. Вперёд цивилизацию двигают личности, которые оказались в нужное время и в нужном месте, и потом не обосрались. Конкретные личности в истории привели нас к текущему благополучию, и совершенно не факт, что мы не прошли свой пик. Вполне вероятно, что впереди нас ждут столетия идиократии, но вместо жопы в кино будут показывать голову Сэма Альтмана, поющую в унитазе.
@knowledge_accumulator
1👍29🤡15😁12❤11🥴3💊3👎2💔2🤔1
Loss of plasticity in deep continual learning [2024]
Сегодня посмотрим на статейку от Саттона, которую мне недавно скинули в комментариях. В ней разбирается проблема потери пластичности - способности обучаться со временем - в нейросетях. Я уже кстати давно писал про статью на эту тему в контексте RL.
Рассмотрим эксперимент с так называемым Class-incremental CIFAR-100. На самом деле это облегчённый вариант Class-incremental, если сравнивать с моими недавними постами.
Вначале мы учим нейросеть на 5 классах, затем замеряем на 5 классах. Потом добавляем 5 новых классов, учим на 10 и тестируем на 10, и так далее. То есть в статье специально избегают проблему забывания, фокусируясь только на пластичности.
Обучаясь на задаче за задачей, нейросеть начинает работать всё хуже и хуже по сравнению с бейзлайном, который сразу учат на последней задаче, хотя у них перед глазами одни и те же данные. Случайная инициализация работает лучше претрейна, если данных достаточно.
В чём причина? Авторы объясняют это появлением так называемых Dormant Units - "нейронов", которые скатываются в константное предсказание - например, в 0, если используется ReLU. Градиенты перестают течь и нейрон становится бесполезным.
В статье протестировали метод под названием Shrink and Perturb - это добавление L2-регуляризации + зашумление весов, которые как бы помогают весам вернуться в точку "инициализации". С его помощью, пластичность теряется сильно медленнее.
Авторы предлагают и новый подход под названием Continual Backpropagation. Он предполагает более точечную работу с плохими юнитами.
Для каждого нейрона мы поддерживаем так называемую Utility Function, которая считается как его "вклад" в следующие слои - это буквально сумма выходных весов, умноженная на выход нейрона. Используем скользящее среднее для усреднения по времени.
На каждом шаге мы берём долю весов с наименьшим Utility и переинициализуем их - входные веса из шума, выходные нулями. Также выдаём иммунитет на переинициализацию этому юниту на следующие 100 шагов.
Доля пересоздаваемых юнитов не должна быть большой - всего 10^-5 от всех юнитов за шаг. Этого хватает, чтобы полностью решить проблему потери пластичности на задаче Class-incremental CIFAR-100 и удерживать долю Dormant Units достаточно близкой к нулю.
Может показаться, что этот метод является Free Lunch - мы получили плюс к пластичности, ничего не теряя. Но на самом деле мы скорее съедаем больший кусок ланча, за который уже заплатили до этого, выделив N памяти, который потом начинает простаивать.
Чем менее тривиальная перед нами задача, тем меньший кусок ланча мы умеем есть, и больший выбрасываем в мусорку. Съедать всё, что есть, мы научимся, когда люди осознают реальный смысл Bitter Lesson, степень своей ограниченности и начнут, наконец, гонять meta-meta-learning.
@knowledge_accumulator
Сегодня посмотрим на статейку от Саттона, которую мне недавно скинули в комментариях. В ней разбирается проблема потери пластичности - способности обучаться со временем - в нейросетях. Я уже кстати давно писал про статью на эту тему в контексте RL.
Рассмотрим эксперимент с так называемым Class-incremental CIFAR-100. На самом деле это облегчённый вариант Class-incremental, если сравнивать с моими недавними постами.
Вначале мы учим нейросеть на 5 классах, затем замеряем на 5 классах. Потом добавляем 5 новых классов, учим на 10 и тестируем на 10, и так далее. То есть в статье специально избегают проблему забывания, фокусируясь только на пластичности.
Обучаясь на задаче за задачей, нейросеть начинает работать всё хуже и хуже по сравнению с бейзлайном, который сразу учат на последней задаче, хотя у них перед глазами одни и те же данные. Случайная инициализация работает лучше претрейна, если данных достаточно.
В чём причина? Авторы объясняют это появлением так называемых Dormant Units - "нейронов", которые скатываются в константное предсказание - например, в 0, если используется ReLU. Градиенты перестают течь и нейрон становится бесполезным.
В статье протестировали метод под названием Shrink and Perturb - это добавление L2-регуляризации + зашумление весов, которые как бы помогают весам вернуться в точку "инициализации". С его помощью, пластичность теряется сильно медленнее.
Авторы предлагают и новый подход под названием Continual Backpropagation. Он предполагает более точечную работу с плохими юнитами.
Для каждого нейрона мы поддерживаем так называемую Utility Function, которая считается как его "вклад" в следующие слои - это буквально сумма выходных весов, умноженная на выход нейрона. Используем скользящее среднее для усреднения по времени.
На каждом шаге мы берём долю весов с наименьшим Utility и переинициализуем их - входные веса из шума, выходные нулями. Также выдаём иммунитет на переинициализацию этому юниту на следующие 100 шагов.
Доля пересоздаваемых юнитов не должна быть большой - всего 10^-5 от всех юнитов за шаг. Этого хватает, чтобы полностью решить проблему потери пластичности на задаче Class-incremental CIFAR-100 и удерживать долю Dormant Units достаточно близкой к нулю.
Может показаться, что этот метод является Free Lunch - мы получили плюс к пластичности, ничего не теряя. Но на самом деле мы скорее съедаем больший кусок ланча, за который уже заплатили до этого, выделив N памяти, который потом начинает простаивать.
Чем менее тривиальная перед нами задача, тем меньший кусок ланча мы умеем есть, и больший выбрасываем в мусорку. Съедать всё, что есть, мы научимся, когда люди осознают реальный смысл Bitter Lesson, степень своей ограниченности и начнут, наконец, гонять meta-meta-learning.
@knowledge_accumulator
1👍5❤3🔥2
Я отупел от прочтения Hierarchical Reasoning Model [2025]
На бумаге идея следующая - делаем такую модель, которая состоит из 2 компонент - "медленной" и "быстрой". Медленная будет применяться реже и отвечать за более "глобальное" планирование, а вот быстрая будет дорабатывать детали. Как обычно, приводится неуместная аналогия с человеческим мозгом, который как бы умеет оперировать на разных частотах одновременно. Работает примерно так:
Есть 2 скрытых состояния, который обновляются двумя разными трансформерами. То, что авторы называют forward pass, состоит из N * T шагов. На каждом из них "быстрая сеть" берёт быстрое состояние, медленное состояние, эмбеддинг входа, и выдаёт обновлённое быстрое состояние. Раз в T шагов просыпается медленная сеть, берёт быстрое и медленное состояние, и выдаёт новое медленное состояние. Спустя N * T шагов применяется модель, которая превращает медленное состояние в выходное предсказание.
Авторы говорят - пробрасывать градиенты сквозь всю эту схему - скукотища и занимает кучу памяти. Решение нашли интересное - забить. Градиенты текут только во время последнего шага, для которого все предыдущие состояния считаются константой.
На вопрос "Схуяли?" авторы отвечают "Consider an idealized HRM behavior", приводят пачку невыполняющихся в данной ситуации формул и вуаля - 1-step gradient approximation готов. Unbiased, мамой клянусь.
На самом деле, то, что авторы называют forward pass, это в реальности только 1 шаг применения, и настоящий forward pass это несколько вот этих циклов по N*T шагов, вплоть до 16. Там ещё есть обучаемый на основе Q-learning модуль, который может сказать моделям "Астанавитесь" и тем самым сэкономить ресурсы, если модель нашла решение быстрее.
Вот этот самый 1-step approximation применяется на каждом шаге внешнего цикла, то есть получается, градиенты сквозь время всё-таки пробрасываются, но делается это раз в N*T шагов. По мнению авторов, это уже не так скучно.
Схема вроде работает и показывает неплохой результат, несмотря на подозрительную схему аппроксимации градиентов. Но пока вам рассказывали про сложную схему, фокусник утаил главную деталь. Знаете, какое значение N и T используется во всех экспериментах? Знаете, во сколько раз так называемая быстрая модель применяется чаще, чем медленная? Знаете, сколько памяти экономит one-step gradient approximation?
Ответ убил:N=2, T=2 .
Вся эта мишура с "иерархичностью" не имеет большого смысла. Один шаг применения HRM - это суммарно 6 вызовов трансформера. Там в коде есть for-loop размером в 4 строки, который суммарно вызывает выполняет 4 вызова модели. Посмотрите на картинку поста - там есть многоточия между применениями L Module, которых в реальности нет! На иллюстрации буквально весь граф.
Думаете, в статье есть Ablation о том, как разные значения N и T влияют на результат? Нет, интересно почему? Может быть, от очень честной one-step аппроксимации у модели разболелась голова? Вместо этого авторы оформили куда более интересный подгон - анализ того, как мозг мыши можно представить в виде HRM.
Авторы ARC-бенчмарка, на котором был зарепорчен основной результат, провели анализ модели, и ключевые факты следующие:
- Если вместо HRM применить обычный трансформер такое же количество раз, результат получается почти такой же.
- Буст в качестве достигается засчёт того, что модель применяют много раз. Скор между 1 применением и 16 отличается примерно в 2 раза.
Очередная почти ничем не отличающаяся от бейзлайна поделка от великих учёных, которая не имеет никакого практического смысла, зато в сотый раз похоронившая трансформеры, согласно экспертам в телеграм-канале и в твиттере (в момент выхода). Вкуснота.
@knowledge_accumulator
На бумаге идея следующая - делаем такую модель, которая состоит из 2 компонент - "медленной" и "быстрой". Медленная будет применяться реже и отвечать за более "глобальное" планирование, а вот быстрая будет дорабатывать детали. Как обычно, приводится неуместная аналогия с человеческим мозгом, который как бы умеет оперировать на разных частотах одновременно. Работает примерно так:
Есть 2 скрытых состояния, который обновляются двумя разными трансформерами. То, что авторы называют forward pass, состоит из N * T шагов. На каждом из них "быстрая сеть" берёт быстрое состояние, медленное состояние, эмбеддинг входа, и выдаёт обновлённое быстрое состояние. Раз в T шагов просыпается медленная сеть, берёт быстрое и медленное состояние, и выдаёт новое медленное состояние. Спустя N * T шагов применяется модель, которая превращает медленное состояние в выходное предсказание.
Авторы говорят - пробрасывать градиенты сквозь всю эту схему - скукотища и занимает кучу памяти. Решение нашли интересное - забить. Градиенты текут только во время последнего шага, для которого все предыдущие состояния считаются константой.
На вопрос "Схуяли?" авторы отвечают "Consider an idealized HRM behavior", приводят пачку невыполняющихся в данной ситуации формул и вуаля - 1-step gradient approximation готов. Unbiased, мамой клянусь.
На самом деле, то, что авторы называют forward pass, это в реальности только 1 шаг применения, и настоящий forward pass это несколько вот этих циклов по N*T шагов, вплоть до 16. Там ещё есть обучаемый на основе Q-learning модуль, который может сказать моделям "Астанавитесь" и тем самым сэкономить ресурсы, если модель нашла решение быстрее.
Вот этот самый 1-step approximation применяется на каждом шаге внешнего цикла, то есть получается, градиенты сквозь время всё-таки пробрасываются, но делается это раз в N*T шагов. По мнению авторов, это уже не так скучно.
Схема вроде работает и показывает неплохой результат, несмотря на подозрительную схему аппроксимации градиентов. Но пока вам рассказывали про сложную схему, фокусник утаил главную деталь. Знаете, какое значение N и T используется во всех экспериментах? Знаете, во сколько раз так называемая быстрая модель применяется чаще, чем медленная? Знаете, сколько памяти экономит one-step gradient approximation?
Ответ убил:
Вся эта мишура с "иерархичностью" не имеет большого смысла. Один шаг применения HRM - это суммарно 6 вызовов трансформера. Там в коде есть for-loop размером в 4 строки, который суммарно вызывает выполняет 4 вызова модели. Посмотрите на картинку поста - там есть многоточия между применениями L Module, которых в реальности нет! На иллюстрации буквально весь граф.
Думаете, в статье есть Ablation о том, как разные значения N и T влияют на результат? Нет, интересно почему? Может быть, от очень честной one-step аппроксимации у модели разболелась голова? Вместо этого авторы оформили куда более интересный подгон - анализ того, как мозг мыши можно представить в виде HRM.
Авторы ARC-бенчмарка, на котором был зарепорчен основной результат, провели анализ модели, и ключевые факты следующие:
- Если вместо HRM применить обычный трансформер такое же количество раз, результат получается почти такой же.
- Буст в качестве достигается засчёт того, что модель применяют много раз. Скор между 1 применением и 16 отличается примерно в 2 раза.
Очередная почти ничем не отличающаяся от бейзлайна поделка от великих учёных, которая не имеет никакого практического смысла, зато в сотый раз похоронившая трансформеры, согласно экспертам в телеграм-канале и в твиттере (в момент выхода). Вкуснота.
@knowledge_accumulator
1👍34😁19❤3❤🔥2🐳2
Верните мне мой 2016
Январь. Мне недавно исполнилось 18 лет, и я сделал свой главный на тот момент выбор - между геймдевом и ML - в пользу второго. Всё происходило на 3 квадратных метрах в углу моей общажной комнаты. Сидя на кровати, как на стуле, перед ноутом, я смотрел Воронцова на курсере, а на парах читал Deep Learning Book.
В марте мы с другом пришли на Datafest и поучаствовали в хакатоне по real-time предсказанию результатов игр в доте. Я собрал какой-то кошмарный ансамбль моделей и мы заняли 2 место. Благодаря данному событию меня позвали в слак ODS, так я и вырвался из социального вакуума.
Ближе к лету кто-то в ODS обсуждал статью про DQN, и я, прочитав её, сразу же понял - это то, чем я хочу заниматься. Когда я поинтересовался какими-то деталями, то меня отправили читать книжку Саттона.
В июле произошла та самая стажировка в прикладном ML, про которую я уже рассказывал, и которая нанесла мне большой психологический ущерб. Я решил свернуть в сторону RL и ресёрча.
В августе я изучил Theano + Keras и с нуля реализовал DQN вот в этом репозитории. Примерно в том же месяце я пришёл в слак с вопросом "Чем мне заняться в жизни, если я умею реализовать DQN?". В ответ на это со мной связались и я нанялся в ресёрч-проект по применению RL в HFT. Мне это показалось идеальной опцией.
Платили чуть больше 500 долларов за 20 часов в неделю. Работа была удалённая в Питере, и раз в месяц я стабильно ездил в оплачиваемые командировки. Сапсан туда, ночной купе обратно, жил в студиях у офиса. Для вчерашнего первокурсника это был небывалое положение.
Но у меня всё ещё было свободное время. Я продолжил работать над своим DQN-ом, а в помощь мне была лекция на ютубе от товарищей из команды 5vision. Я не слышал о других людях, которые в Москве занимаются RL, и поэтому просто написал автору в личку со словами "Привет, давай дружить".
Даже не знаю, на что я рассчитывал. За внезапно нарисовавшимся ужином в шоколаднице родилась идея - а давайте вместе сделаем ещё одну лекцию про RL в яндексе. Было очень страшно, но потенциальный стыд в случае слива был ещё сильнее. Так и появилась вот эта лекция. Хоть и волос на голове тогда было побольше, выглядел я стрёмненько.
После этой лекции мне написал Ёж с предложением - а давай ты будешь со мной преподавать курс по RL в ШАДе? От такого предложения я офонарел, но, как бы не старался, я не нашёл повода отказать. Было странно быть младше своих студентов, и тем более преподавать курс в магистратуре своего универа, учась в бакалавриате. Я ни разу не был харизматичным лектором, но уж простите.
Мои 18 лет ещё не закончились. Осенью, анализируя произошедшее за год, я понял - наглость города берёт. У меня была цель - заниматься передовым RL-ресёрчем. А знаете, у кого ещё была такая цель в 2016-м? У OpenAI. И что же я сделал? Написал Суцкеверу на почту, мол, возьмите на стажировку.
Ответа не последовало, и, рассказав про ситуацию на работе в качестве прикола, мой менеджер сказал - так а я щас поеду на NIPS, давай я там к Суцкеверу подойду и пну по поводу тебя. Оказалось, что это не прикол. После NIPS мне взяли, да ответили, позвав в Skype пройти собес.
И тут мой поезд на полной скорости врезался в стену. Я мог сколько угодно разбираться в RL, но говорить на английском я умел ужасно, так что обосрался. Одновременно с этим, на работе дела шли не особо. Задача, которую мне дали, оказалась мне абсолютно не по зубам.
В свои 19 лет я вступал уже другим человеком - чего-то добившимся, но завязжим в неподъёмном проекте. Со знаниями RL, но без понимания, как прийти к своей цели. Я учился, работал, преподавал одновременно, и было окей, но я потерял ориентир, а в России в 2017-м стало много политики, которая казалась интереснее, и мой фокус сбился.
Я ни о чём не жалею. Может я и мог бы оказаться в Superintelligence Lab, но тогда бы я не встретил свою любимую жену - так меня утешает моя жена. Я не боюсь кризиса среднего возраста, идентичности и т.д, потому что у меня было время повзрослеть и пожить вне ML, а не начать гриндить по 80 часов с 19 лет. Не дай бог, стал бы леваком.
@knowledge_accumulator
Январь. Мне недавно исполнилось 18 лет, и я сделал свой главный на тот момент выбор - между геймдевом и ML - в пользу второго. Всё происходило на 3 квадратных метрах в углу моей общажной комнаты. Сидя на кровати, как на стуле, перед ноутом, я смотрел Воронцова на курсере, а на парах читал Deep Learning Book.
В марте мы с другом пришли на Datafest и поучаствовали в хакатоне по real-time предсказанию результатов игр в доте. Я собрал какой-то кошмарный ансамбль моделей и мы заняли 2 место. Благодаря данному событию меня позвали в слак ODS, так я и вырвался из социального вакуума.
Ближе к лету кто-то в ODS обсуждал статью про DQN, и я, прочитав её, сразу же понял - это то, чем я хочу заниматься. Когда я поинтересовался какими-то деталями, то меня отправили читать книжку Саттона.
В июле произошла та самая стажировка в прикладном ML, про которую я уже рассказывал, и которая нанесла мне большой психологический ущерб. Я решил свернуть в сторону RL и ресёрча.
В августе я изучил Theano + Keras и с нуля реализовал DQN вот в этом репозитории. Примерно в том же месяце я пришёл в слак с вопросом "Чем мне заняться в жизни, если я умею реализовать DQN?". В ответ на это со мной связались и я нанялся в ресёрч-проект по применению RL в HFT. Мне это показалось идеальной опцией.
Платили чуть больше 500 долларов за 20 часов в неделю. Работа была удалённая в Питере, и раз в месяц я стабильно ездил в оплачиваемые командировки. Сапсан туда, ночной купе обратно, жил в студиях у офиса. Для вчерашнего первокурсника это был небывалое положение.
Но у меня всё ещё было свободное время. Я продолжил работать над своим DQN-ом, а в помощь мне была лекция на ютубе от товарищей из команды 5vision. Я не слышал о других людях, которые в Москве занимаются RL, и поэтому просто написал автору в личку со словами "Привет, давай дружить".
Даже не знаю, на что я рассчитывал. За внезапно нарисовавшимся ужином в шоколаднице родилась идея - а давайте вместе сделаем ещё одну лекцию про RL в яндексе. Было очень страшно, но потенциальный стыд в случае слива был ещё сильнее. Так и появилась вот эта лекция. Хоть и волос на голове тогда было побольше, выглядел я стрёмненько.
После этой лекции мне написал Ёж с предложением - а давай ты будешь со мной преподавать курс по RL в ШАДе? От такого предложения я офонарел, но, как бы не старался, я не нашёл повода отказать. Было странно быть младше своих студентов, и тем более преподавать курс в магистратуре своего универа, учась в бакалавриате. Я ни разу не был харизматичным лектором, но уж простите.
Мои 18 лет ещё не закончились. Осенью, анализируя произошедшее за год, я понял - наглость города берёт. У меня была цель - заниматься передовым RL-ресёрчем. А знаете, у кого ещё была такая цель в 2016-м? У OpenAI. И что же я сделал? Написал Суцкеверу на почту, мол, возьмите на стажировку.
Ответа не последовало, и, рассказав про ситуацию на работе в качестве прикола, мой менеджер сказал - так а я щас поеду на NIPS, давай я там к Суцкеверу подойду и пну по поводу тебя. Оказалось, что это не прикол. После NIPS мне взяли, да ответили, позвав в Skype пройти собес.
И тут мой поезд на полной скорости врезался в стену. Я мог сколько угодно разбираться в RL, но говорить на английском я умел ужасно, так что обосрался. Одновременно с этим, на работе дела шли не особо. Задача, которую мне дали, оказалась мне абсолютно не по зубам.
В свои 19 лет я вступал уже другим человеком - чего-то добившимся, но завязжим в неподъёмном проекте. Со знаниями RL, но без понимания, как прийти к своей цели. Я учился, работал, преподавал одновременно, и было окей, но я потерял ориентир, а в России в 2017-м стало много политики, которая казалась интереснее, и мой фокус сбился.
Я ни о чём не жалею. Может я и мог бы оказаться в Superintelligence Lab, но тогда бы я не встретил свою любимую жену - так меня утешает моя жена. Я не боюсь кризиса среднего возраста, идентичности и т.д, потому что у меня было время повзрослеть и пожить вне ML, а не начать гриндить по 80 часов с 19 лет. Не дай бог, стал бы леваком.
@knowledge_accumulator
1❤49🔥17👍11💩7😁4💯4👎2🤔2😢1😭1
Less is More: Recursive Reasoning with Tiny Networks [2025]
Одному человеку, как и мне, не понравилась статья про Hierarchical Reasoning Model. Он тоже хотел написать о том, какая она отстойная, и чтобы все поржали. Но у него созрел хитрый план. Чтобы привлечь хайп, он придумал свою статью с новой моделью, и оформил обсёр HRM как аж 2 главы в ней.
Мой пост про HRM был уже написан после прочтения этой, так что самое интересное про HRM я уже рассказал. А теперь пришло время посмотреть, что же предлагает критик в качестве альтернативы. Встречайте, Tiny Recursive Model.
Иерархичность, биологические аналогии, хитровыведенные градиентные аппроксимации - всё это на помойку.
Просто, твёрдо и чётко, заводим 2 скрытых состояния - y и z. Из первого мы в конце строим финальный ответ, а второе это пространство для latent reasoning. Будем использовать одну и ту же сетку для обновления обоих. Если мы подаём в неё входные данные, y и z, то выходом будет новый z. А если подаём в неё только y и z, то выход используем, как новый y.
Один цикл применения TRM это
Вместо кринжовых отмазок про Fixed Point Theorem, как в HRM, здесь автор говорит - да я просто не хочу пропускать градиенты через несколько циклов применения TRM, и буду пропускать его только через последний. Как оправдывается автор этой работы?
Он интерпретирует свой подход как многошаговый процесс приближения
Давайте ещё раз поймём разницу между подходами, потому что на первый взгляд, это 2 вида одного и того же скама. Оба подхода применяют к скрытому состоянию T * n раз какую-то модель. В HRM градиенты пропускаются внутри каждого n-ного шага в течение всего процесса, А в TRM градиенты пропускаются внутри последних n шагов.
Вообще-то, на второй взгляд, это всё ещё 2 вида одного и того же скама. Можно сказать, что в TRM градиенты текут сквозь цельное применение модели, и поэтому оценка градиента по всему процессу получается более честной. Хз.
Спор может разрешить столкновение лоб в лоб. Согласно Ablation, если в TRM начать использовать эту самую 1-step gradient, как в HRM, то точность падает с 87% до 56.5%. Из текста я не понял, начинает ли он пропускать градиенты в предыдущих итерациях применения, как это делается в HRM. Если нет, то автор героически победил соломенное чучело.
В TRM тоже есть early stopping и голова, предсказывающая, что пора остановиться. Но вместо использования RL, который, как все знают, terrible, автор отменяет delayed reward и учит голову на то, правильный ли ответ получился на текущем шаге.
Автор провёл небольшой ресёрч по скейлингу качества HRM и TRM с увеличением количества применений и глубины рекурсии. Кажется, что ни тот, ни тот, особо не улучшаются после n=3, T=3, а TRM вообще быстро начинает дохнуть по памяти. Оба на пересдачу.
Дочитав эту статью, я попытался подумать - а в чём вообще смысл обеих работ? Мы что, до этого не знали, что можно применять базовую модель поменьше, но применять её побольше циклов, и жить станет веселее? Так вроде и так на это есть тренд в LLM. Причём, выглядит так, что даже текущие LLM скейлятся лучше, чем вот это семейство. Прорыв в чём пытаются сделать данные работы? Если прорыв в области жопы от того, на что ресёрчеры тратят время, то он достигнут.
@knowledge_accumulator
Одному человеку, как и мне, не понравилась статья про Hierarchical Reasoning Model. Он тоже хотел написать о том, какая она отстойная, и чтобы все поржали. Но у него созрел хитрый план. Чтобы привлечь хайп, он придумал свою статью с новой моделью, и оформил обсёр HRM как аж 2 главы в ней.
Мой пост про HRM был уже написан после прочтения этой, так что самое интересное про HRM я уже рассказал. А теперь пришло время посмотреть, что же предлагает критик в качестве альтернативы. Встречайте, Tiny Recursive Model.
Иерархичность, биологические аналогии, хитровыведенные градиентные аппроксимации - всё это на помойку.
Просто, твёрдо и чётко, заводим 2 скрытых состояния - y и z. Из первого мы в конце строим финальный ответ, а второе это пространство для latent reasoning. Будем использовать одну и ту же сетку для обновления обоих. Если мы подаём в неё входные данные, y и z, то выходом будет новый z. А если подаём в неё только y и z, то выход используем, как новый y.
Один цикл применения TRM это
n обновлений состояния z и 1 обновление скрытого состояния y, и потом из y отдельной головой получается ответ. Вместо кринжовых отмазок про Fixed Point Theorem, как в HRM, здесь автор говорит - да я просто не хочу пропускать градиенты через несколько циклов применения TRM, и буду пропускать его только через последний. Как оправдывается автор этой работы?
Он интерпретирует свой подход как многошаговый процесс приближения
y ко всё более и более хорошему вектору-кандидату y, типа как в диффузионных моделях. Модель обучается в парадигме "сделай эти скрытые состояния ближе к правде", и много этих применений подряд дают хорошее решение.Давайте ещё раз поймём разницу между подходами, потому что на первый взгляд, это 2 вида одного и того же скама. Оба подхода применяют к скрытому состоянию T * n раз какую-то модель. В HRM градиенты пропускаются внутри каждого n-ного шага в течение всего процесса, А в TRM градиенты пропускаются внутри последних n шагов.
Вообще-то, на второй взгляд, это всё ещё 2 вида одного и того же скама. Можно сказать, что в TRM градиенты текут сквозь цельное применение модели, и поэтому оценка градиента по всему процессу получается более честной. Хз.
Спор может разрешить столкновение лоб в лоб. Согласно Ablation, если в TRM начать использовать эту самую 1-step gradient, как в HRM, то точность падает с 87% до 56.5%. Из текста я не понял, начинает ли он пропускать градиенты в предыдущих итерациях применения, как это делается в HRM. Если нет, то автор героически победил соломенное чучело.
В TRM тоже есть early stopping и голова, предсказывающая, что пора остановиться. Но вместо использования RL, который, как все знают, terrible, автор отменяет delayed reward и учит голову на то, правильный ли ответ получился на текущем шаге.
Автор провёл небольшой ресёрч по скейлингу качества HRM и TRM с увеличением количества применений и глубины рекурсии. Кажется, что ни тот, ни тот, особо не улучшаются после n=3, T=3, а TRM вообще быстро начинает дохнуть по памяти. Оба на пересдачу.
Дочитав эту статью, я попытался подумать - а в чём вообще смысл обеих работ? Мы что, до этого не знали, что можно применять базовую модель поменьше, но применять её побольше циклов, и жить станет веселее? Так вроде и так на это есть тренд в LLM. Причём, выглядит так, что даже текущие LLM скейлятся лучше, чем вот это семейство. Прорыв в чём пытаются сделать данные работы? Если прорыв в области жопы от того, на что ресёрчеры тратят время, то он достигнут.
@knowledge_accumulator
1👍9😁6❤2🔥1
Обожаю научное сообщество
В самом начале своего подкаста с Суцкевером Лекс Фридман спрашивает его - расскажи, как вообще вы пришли к идее AlexNet?
Илья начал объяснять, что где-то в 2010-2011 году пришло понимание, что можно обучать большие нейросети end-to-end. Он отметил Deep learning via Hessian-free optimization [2010], как статью, после которой у него щёлкнуло в голове.
Он говорит - в ту пору они с Хинтоном были за антихайп. До начала 2010-х никто вокруг не верил, что нейросети работают, и что их можно просто обучать вот так просто.
Может сложиться впечатление, что многослойные сети до этого в принципе не обучались. Вроде как, были Лекун, Хинтон и прочие, которые глубоко в душе верили, что подход, который они считают правильным, когда-нибудь заработает. И вот, в 2012-м, наконец-то, у людей впервые получилось применить эту шарманку.
Очень романтично. Гении, мудрецы, чисто на своей интуиции, пёрли наперекор мэйнстриму.
Чуть позже в этом подкасте Илья говорит - до AlexNet ML-сообщество недооценивало Deep Learning, потому что не было свидетельств того, что он работает. Он говорит - это задним числом кажется, что все остальные глупцы, но на самом деле нейросети плохо работали на практике, и недооценивать их было рационально.
...
Телепортируемся в 1998-й. Статья Лекуна - Gradient-Based Learning Applied to Document Recognition. Итак, я попытался вчитаться и понять - а какого секретного ингридиента тут не хватает? Она обучается end-to-end градиентным спуском, там 2 свёрточных и 2 полносвязных слоя. 60000 обучаемых весов - больше, чем тренировочных объектов - оверпараметризация налицо. Переобучения почти нет - ошибка на тесте 1%.
В статье буквально изложен дизайн современных DL-фреймворков - они это называют "Graph Transformer Networks". Идея в том, что достаточно определить какое-то количество операций, описать в них forward и backward методы, а дальше можно сцеплять их в виде графа произвольным образом, и это позволяет обучать сложные функции end-to-end.
...
Прошло 14 лет перед тем, как ничем не отличающуюся (помимо совсем уж мелочей типа функции активации) схему применили на масштабе побольше и тем самым совершили "революцию". Раньше бы я подумал - да быть такого не может, чтобы 14 лет абсолютно рабочий метод лежал на полке, и его никто не пытался масштабировать. Но сейчас я всё понимаю.
Хинтон, Лекун и его друзья - не сумасшедшие гении-провидцы, прущие наперекор рациональному научному сообществу. Они были всего лишь единственными, у кого глаза не на жопе. Имея на руках работающий, как часы, метод, они говорили - да вот же, го обучать, я создал. А им отвечали:
- Математики: "Ой мы тут у себя в тетрадке нарисовали ваши нейросети, у них там VC-размерность больше чем 3.14, поэтому доказано, что они не работают"
- Ресёрчеры: "Ой нам тут грантик выдал европейский союз на развитие SIFT-фичей, и ещё дедлайн на конференцию через 3 месяца, у нас нет времени делать что-то такое"
- Прикладные ML-щики: "У нас тут цель на Q1 - увеличить качество на 1%, и поэтому не можем потратить год, чтобы увеличить его сразу на 20%"
Так все сидели и пердели, а за 14 лет компьют и данные развились так сильно, что революцию стало возможно совершить в гараже силами 3-х калек (изобретательных) на 2 видеокартах. А представляете, если бы хоть кто-то из этих исследователей не сидел на нищем пайке своей конторы, а инвестировал бы миллион долларов в разработку где-нибудь в 2005?
...
Самое смешное, что ситуация точь в точь повторяется сейчас. Есть метода, которая позволяет обучать обучающиеся алгоритмы в произвольной постановке ML-задачи (Supervised, RL, Continual и т.д.). Есть несколько статей [раз, два, три], где подобное успешно применяют на маленьких задачах, и я не видел за всю жизнь ни одного хорошего аргумента против того, что оно будет работать и дальше (в том числе и потому, что эти статьи вообще никто не обсуждает).
Уже 4 года всё это лежит на полке, и у меня есть ещё примерно 10, чтобы применить её где надо и заработать миллиард. Почему я не скрываю свой план? Ну так вы же всё равно не поверите...
@knowledge_accumulator
В самом начале своего подкаста с Суцкевером Лекс Фридман спрашивает его - расскажи, как вообще вы пришли к идее AlexNet?
Илья начал объяснять, что где-то в 2010-2011 году пришло понимание, что можно обучать большие нейросети end-to-end. Он отметил Deep learning via Hessian-free optimization [2010], как статью, после которой у него щёлкнуло в голове.
Он говорит - в ту пору они с Хинтоном были за антихайп. До начала 2010-х никто вокруг не верил, что нейросети работают, и что их можно просто обучать вот так просто.
Может сложиться впечатление, что многослойные сети до этого в принципе не обучались. Вроде как, были Лекун, Хинтон и прочие, которые глубоко в душе верили, что подход, который они считают правильным, когда-нибудь заработает. И вот, в 2012-м, наконец-то, у людей впервые получилось применить эту шарманку.
Очень романтично. Гении, мудрецы, чисто на своей интуиции, пёрли наперекор мэйнстриму.
Чуть позже в этом подкасте Илья говорит - до AlexNet ML-сообщество недооценивало Deep Learning, потому что не было свидетельств того, что он работает. Он говорит - это задним числом кажется, что все остальные глупцы, но на самом деле нейросети плохо работали на практике, и недооценивать их было рационально.
...
Телепортируемся в 1998-й. Статья Лекуна - Gradient-Based Learning Applied to Document Recognition. Итак, я попытался вчитаться и понять - а какого секретного ингридиента тут не хватает? Она обучается end-to-end градиентным спуском, там 2 свёрточных и 2 полносвязных слоя. 60000 обучаемых весов - больше, чем тренировочных объектов - оверпараметризация налицо. Переобучения почти нет - ошибка на тесте 1%.
В статье буквально изложен дизайн современных DL-фреймворков - они это называют "Graph Transformer Networks". Идея в том, что достаточно определить какое-то количество операций, описать в них forward и backward методы, а дальше можно сцеплять их в виде графа произвольным образом, и это позволяет обучать сложные функции end-to-end.
...
Прошло 14 лет перед тем, как ничем не отличающуюся (помимо совсем уж мелочей типа функции активации) схему применили на масштабе побольше и тем самым совершили "революцию". Раньше бы я подумал - да быть такого не может, чтобы 14 лет абсолютно рабочий метод лежал на полке, и его никто не пытался масштабировать. Но сейчас я всё понимаю.
Хинтон, Лекун и его друзья - не сумасшедшие гении-провидцы, прущие наперекор рациональному научному сообществу. Они были всего лишь единственными, у кого глаза не на жопе. Имея на руках работающий, как часы, метод, они говорили - да вот же, го обучать, я создал. А им отвечали:
- Математики: "Ой мы тут у себя в тетрадке нарисовали ваши нейросети, у них там VC-размерность больше чем 3.14, поэтому доказано, что они не работают"
- Ресёрчеры: "Ой нам тут грантик выдал европейский союз на развитие SIFT-фичей, и ещё дедлайн на конференцию через 3 месяца, у нас нет времени делать что-то такое"
- Прикладные ML-щики: "У нас тут цель на Q1 - увеличить качество на 1%, и поэтому не можем потратить год, чтобы увеличить его сразу на 20%"
Так все сидели и пердели, а за 14 лет компьют и данные развились так сильно, что революцию стало возможно совершить в гараже силами 3-х калек (изобретательных) на 2 видеокартах. А представляете, если бы хоть кто-то из этих исследователей не сидел на нищем пайке своей конторы, а инвестировал бы миллион долларов в разработку где-нибудь в 2005?
...
Самое смешное, что ситуация точь в точь повторяется сейчас. Есть метода, которая позволяет обучать обучающиеся алгоритмы в произвольной постановке ML-задачи (Supervised, RL, Continual и т.д.). Есть несколько статей [раз, два, три], где подобное успешно применяют на маленьких задачах, и я не видел за всю жизнь ни одного хорошего аргумента против того, что оно будет работать и дальше (в том числе и потому, что эти статьи вообще никто не обсуждает).
Уже 4 года всё это лежит на полке, и у меня есть ещё примерно 10, чтобы применить её где надо и заработать миллиард. Почему я не скрываю свой план? Ну так вы же всё равно не поверите...
@knowledge_accumulator
1👍32😁18❤7❤🔥2🔥1
LLM + Эволюционные стратегии = ?
Напомню основную суть Evolution Strategies, про которые я уже когда-то писал:
У одной команды ресёрчеров родилась смелая идея - а что, если оптимизировать LLM с помощью такого метода? Для этого нужно использовать метод с пачкой оптимизаций (не особо гениальных, надо сказать):
- Вместо того, чтобы передавать шумы на воркеры для эвала, мы просто передаём рандом сид, и потом восстанавливаем такой же шум из него
- Чтобы минимизировать затраты по памяти, мы применяем этот шум in-place по одному тензору, а после эвала точно таким же образом вычитаем этот шум обратно
- Также, при подсчёте итогового шага мы делаем всё in-place для экономии памяти, слой за слоем
То есть, по факту применяется самый базовый ES-алгоритм, и получаются результаты, сопоставимые с GRPO-обучением на их задаче. Я не собираюсь детально оценивать, лучше это или хуже бейзлайна, интересен даже сам факт сопоставимости.
Главная загадка природы - как ES с размером популяции 30 (!!!) смог оптимизировать модель с миллиардом параметров? Авторы отсылают к идее о том, что обучение LLM на самом деле происходит в пространстве гораздо меньшей размерности, чем кажется.
Они упоминают статью Intrinsic Dimensionality Explains the Effectiveness of Language Model Fine-Tuning [2020]. У Техножрицы были про неё отдельные посты, я же ограничусь совсем кратким пересказом:
Авторы берут разные языковые модели и дообучают их на задачах, но при этом искусственно ограничивают размерность подпространства, что-то типа LoRA. Они перебирают размерность этого обучения и смотрят на качество, затем высчитывают так называемый
Результаты получились такие - во-первых, в процессе претрейна
На мой взгляд, это всё очень интересно. В то же время, возникает вопрос - если вся модель файнтюнится с помощью ES, потому что это всё происходит в пространстве маленькой размерности, получается, что можно напрямую LoRA с помощью ES? Есть повод задуматься о том, что можно выжать из претрейна LLM таким образом. Может быть, суперинтеллект и не выйдет, но, вполне возможно, получится хорошо забустить генерализацию или другие желаемые качества. А так, как пространство параметров маленькое, переобучения можно почти не бояться, и нужно совсем немного данных.
@knowledge_accumulator
Напомню основную суть Evolution Strategies, про которые я уже когда-то писал:
Итак, вы находитесь в текущей точке пространства параметров - Theta. Метод пытается совершить градиентный подъём в нём, но, так как градиентов-то никаких нет, мы пытаемся его оценить как бы с помощью конечной разности. Одна итерация метода выглядит так:
1) Сэмплируем N стандартных нормальных шумов
2) Генерируем N новых Theha_i = Theta + Sigma * Noise_i
3) Получаем качество в этих точках - R_i
4) Оценка градиента Grad равна сумме по всем R_i * Noise_i / (N * Sigma)
5) Делаем шаг по нему: Theta_new = Theta + Alpha * Grad
У одной команды ресёрчеров родилась смелая идея - а что, если оптимизировать LLM с помощью такого метода? Для этого нужно использовать метод с пачкой оптимизаций (не особо гениальных, надо сказать):
- Вместо того, чтобы передавать шумы на воркеры для эвала, мы просто передаём рандом сид, и потом восстанавливаем такой же шум из него
- Чтобы минимизировать затраты по памяти, мы применяем этот шум in-place по одному тензору, а после эвала точно таким же образом вычитаем этот шум обратно
- Также, при подсчёте итогового шага мы делаем всё in-place для экономии памяти, слой за слоем
То есть, по факту применяется самый базовый ES-алгоритм, и получаются результаты, сопоставимые с GRPO-обучением на их задаче. Я не собираюсь детально оценивать, лучше это или хуже бейзлайна, интересен даже сам факт сопоставимости.
Главная загадка природы - как ES с размером популяции 30 (!!!) смог оптимизировать модель с миллиардом параметров? Авторы отсылают к идее о том, что обучение LLM на самом деле происходит в пространстве гораздо меньшей размерности, чем кажется.
Они упоминают статью Intrinsic Dimensionality Explains the Effectiveness of Language Model Fine-Tuning [2020]. У Техножрицы были про неё отдельные посты, я же ограничусь совсем кратким пересказом:
Авторы берут разные языковые модели и дообучают их на задачах, но при этом искусственно ограничивают размерность подпространства, что-то типа LoRA. Они перебирают размерность этого обучения и смотрят на качество, затем высчитывают так называемый
d_90 = какой размерности нужна "LoRA", чтобы получить 90% от качества полной модели.Результаты получились такие - во-первых, в процессе претрейна
d_90, если запускать из данного чекпоинта, падает со временем. Во-вторых, чем больше модель, тем меньше этот самый d_90. То есть, если предобучить большую модель на большом датасете, то дотюнивать модель можно в пространстве очень маленькой размерности.На мой взгляд, это всё очень интересно. В то же время, возникает вопрос - если вся модель файнтюнится с помощью ES, потому что это всё происходит в пространстве маленькой размерности, получается, что можно напрямую LoRA с помощью ES? Есть повод задуматься о том, что можно выжать из претрейна LLM таким образом. Может быть, суперинтеллект и не выйдет, но, вполне возможно, получится хорошо забустить генерализацию или другие желаемые качества. А так, как пространство параметров маленькое, переобучения можно почти не бояться, и нужно совсем немного данных.
@knowledge_accumulator
1👍20❤3🔥1
Принятие стратегических решений - слишком дорогой навык
На открытом рынке труда для каждой конкретной профессии уровень заработка объясняется всего двумя функциями - спроса и предложения.
Спрос - это то, насколько сильно компаниям нужно получить такого человека, то есть сколько людей они готовы нанять при каждом уровне зарплаты.
Предложение - это количество людей, готовых по этой профессии работать, тоже для каждого уровня зарплаты.
На пересечении этих кривых и находится та самая точка баланса с каким-то количеством людей и уровнем зарплаты.
Спрос в этой картине является скорее случайной функцией, зависящей от внешних обстоятельств, в основном от текущего технологического развития общества и иногда хайпа.
Все основные характеристики работы, такие как сложность, время на обучение, уровень стресса и т.д., влияют именно на предложение. Казалось бы, ситуация простая - кривая предложения будет лежать внизу у сложной, стрессовой и долгой в обучении работы, и наоборот.
Но они проходят не там. Искажения в картину вносит простой факт - люди не умеют и не хотят принимать стратегические решения, приносящие им деньги.
В России с древних времён есть каста IT-шников, получающих в разы больше почти всех остальных. Мне, как IT-шнику, не стыдно произнести вслух очевидный факт: программист - это ненастоящая работа.
Работа в яндексе - это такое оплачиваемое хобби, где вы собираетесь с дружками и чё-то мастерите. Проект и команду себе выбираешь, чтобы было интересно (как будто ты пришёл в парк развлечений). Заболела голова, настроение подавленное - ничего, можно поработать из дома. Что-то перестало нравиться - сразу ищешь другое место. Я вообще удивляюсь, как HR-ы умудряются сохранять самообладание, когда общаются с кандидатами. Вся их бомбёжка про охуевших программистов - чистая правда.
Все свои жалобы на работу программистом расскажите хирургам. Пока вы в 25 лет уже сделали карьеру, они всё ещё учатся. Ваш говнокод в проде можно пофиксить, а у хирурга цена ошибки - это жизнь другого человека. Пока вы жалуетесь на то, что у вас встреча с начальником неприятно прошла, хирург идёт сообщать родственникам пациента о его смерти. Хирурги получают при этом примерно такие же деньги, как и программисты.
А есть и другие случаи. Моя жена, выпускница юрфака, рассказывала как-то раз про свою практику в суде. Вот у людей работа мечты - сидишь, иголкой и ниткой сшиваешь стопки бумаг, и носишь их туда-сюда целыми днями. Работаешь по дофига часов, получаешь дай бог 500 баксов в месяц. Через 10 лет, может быть, повысят.
Все эти дисбалансы по идее должны разрешаться достаточно быстро. Не мгновенно, как на рынке ценных бумаг, но за несколько лет уж точно. Но нет - существует толстая стопка причин, по которым люди не перестают учиться 4 года на юриста, чтобы в среднем зарабатывать меньше, чем курьер в яндекс еде, и потом не меняют свой выбор. Не знал, не думал, бабка по телефону уговорила, жопа зачесалась - всегда найдётся отмазка, почему не удалось подумать головой над вариантами и принять рациональное решение.
Лично мне такая ситуация выгодна. Если бы все рыночные неэффективности быстро закрывались, то закрывать их было бы не так выгодно. В обществе "рациональных" людей больше всех бы зарабатывали как раз те самые хирурги, а не разработчики.
Я хотел бы, чтобы ситуация оставалась такой и дальше. Поэтому прошу вас распространять следующую правдивую информацию:
- Для работы программистом нужен уникальный врождённый талант
- В X нам запрещают выходить из офиса без разрешения
- В США, если выйти пешком из дома, сразу попадёшь под шутинг, и потом с тебя возьмут миллион долларов за лечение
@knowledge_accumulator
На открытом рынке труда для каждой конкретной профессии уровень заработка объясняется всего двумя функциями - спроса и предложения.
Спрос - это то, насколько сильно компаниям нужно получить такого человека, то есть сколько людей они готовы нанять при каждом уровне зарплаты.
Предложение - это количество людей, готовых по этой профессии работать, тоже для каждого уровня зарплаты.
На пересечении этих кривых и находится та самая точка баланса с каким-то количеством людей и уровнем зарплаты.
Спрос в этой картине является скорее случайной функцией, зависящей от внешних обстоятельств, в основном от текущего технологического развития общества и иногда хайпа.
Все основные характеристики работы, такие как сложность, время на обучение, уровень стресса и т.д., влияют именно на предложение. Казалось бы, ситуация простая - кривая предложения будет лежать внизу у сложной, стрессовой и долгой в обучении работы, и наоборот.
Но они проходят не там. Искажения в картину вносит простой факт - люди не умеют и не хотят принимать стратегические решения, приносящие им деньги.
В России с древних времён есть каста IT-шников, получающих в разы больше почти всех остальных. Мне, как IT-шнику, не стыдно произнести вслух очевидный факт: программист - это ненастоящая работа.
Работа в яндексе - это такое оплачиваемое хобби, где вы собираетесь с дружками и чё-то мастерите. Проект и команду себе выбираешь, чтобы было интересно (как будто ты пришёл в парк развлечений). Заболела голова, настроение подавленное - ничего, можно поработать из дома. Что-то перестало нравиться - сразу ищешь другое место. Я вообще удивляюсь, как HR-ы умудряются сохранять самообладание, когда общаются с кандидатами. Вся их бомбёжка про охуевших программистов - чистая правда.
Все свои жалобы на работу программистом расскажите хирургам. Пока вы в 25 лет уже сделали карьеру, они всё ещё учатся. Ваш говнокод в проде можно пофиксить, а у хирурга цена ошибки - это жизнь другого человека. Пока вы жалуетесь на то, что у вас встреча с начальником неприятно прошла, хирург идёт сообщать родственникам пациента о его смерти. Хирурги получают при этом примерно такие же деньги, как и программисты.
А есть и другие случаи. Моя жена, выпускница юрфака, рассказывала как-то раз про свою практику в суде. Вот у людей работа мечты - сидишь, иголкой и ниткой сшиваешь стопки бумаг, и носишь их туда-сюда целыми днями. Работаешь по дофига часов, получаешь дай бог 500 баксов в месяц. Через 10 лет, может быть, повысят.
Все эти дисбалансы по идее должны разрешаться достаточно быстро. Не мгновенно, как на рынке ценных бумаг, но за несколько лет уж точно. Но нет - существует толстая стопка причин, по которым люди не перестают учиться 4 года на юриста, чтобы в среднем зарабатывать меньше, чем курьер в яндекс еде, и потом не меняют свой выбор. Не знал, не думал, бабка по телефону уговорила, жопа зачесалась - всегда найдётся отмазка, почему не удалось подумать головой над вариантами и принять рациональное решение.
Лично мне такая ситуация выгодна. Если бы все рыночные неэффективности быстро закрывались, то закрывать их было бы не так выгодно. В обществе "рациональных" людей больше всех бы зарабатывали как раз те самые хирурги, а не разработчики.
Я хотел бы, чтобы ситуация оставалась такой и дальше. Поэтому прошу вас распространять следующую правдивую информацию:
- Для работы программистом нужен уникальный врождённый талант
- В X нам запрещают выходить из офиса без разрешения
- В США, если выйти пешком из дома, сразу попадёшь под шутинг, и потом с тебя возьмут миллион долларов за лечение
@knowledge_accumulator
1😁40👍8🤡8💩7❤4😱1
Лондон, гудбай
На этих выходных я переезжаю в Кремниевую долину.
Без приключений не обошлось. В апреле я выиграл в H1B-лотерею, дальше была куча долгой бюрократии, собеседование в посольстве и… админпроверка. Они известны своей печальной длительностью, измеряемой в последнее время годами, и это могло бы стать неплохим ударом кувалдой по голове. Но всё обошлось. Сами понимаете - Илон Маск, телефон, Белый Дом, в общем, проверку быстро завершили и визу дали.
Сегодня 2 года, как мы приехали жить в Лондон. В целом, жить здесь неплохо. В городе есть, чем заняться и куда сходить. Если вы богатый человек, то большинство бытовых проблем бедных людей - общественный транспорт, отсутствие кондиционеров, культурные обогатители и другие - можно завалить деньгами, и получать только плюсы.
Однако, строить своё состояние в Великобритании - это такое себе развлечение. Средний и нижнебогатый класс здесь - это классовые враги. Вас грабят на 40%, начиная с момента, когда вам начнёт хватать на базово комфортную жизнь - около 4к фунтов в месяц. Главный способ заработать бабки - работать на американский бигтех. Справедливости ради, в остальной Европе даже там денег не платят.
И всё будет только хуже. Тут абсолютный совок в головах. Нет ни одной прорыночной политической силы, потому что это никому не нужно. Это цепочка с обратной связью - продуктивные и успешные люди, которым выгоден свободный рынок, будут всё меньше приезжать в Великобританию, потому что её разрыв с США стремительно растёт. Богатство, накопленное в прошлом, распилят нищие мигранты из 3 стран, и правильно сделают - умственно отсталые не те, кто берут, а те, кто дают. Во власть уже регулярно пробирается радикально левый биомусор, и все будет заметно ухудшаться, когда они будут проводить свои реформы.
Самая пацанская прослойка людей - миллионеры - понимают перспективы и ставят мировые рекорды по сбеганию из страны, а казначей говорит о том, что, может быть, надо забирать 20% состояния у уезжающих.
Я не питаю иллюзий по поводу ситуации в США. Я буду также возмущаться леворадикальным биомусором, нищуками, которые за него голосуют, налогами, бюрократией и прочими радостями государства. Но там я буду не одним из трёх человек в стране, которые имеют похожие взгляды. США основали люди со взглядами, близкими к моим, и этот дух в них пока ещё остался.
Если в какой-то стране левачью и дадут отпор, то это будут как раз Штаты, и я бы даже хотел быть частью этого. А если цивилизация, построенная на идеалах Просвещения, при моей жизни окончательно придёт в упадок, я бы хотел быть на той стороне корабля, которая уйдёт ко дну последней.
Я еду именно в Долину по профессиональным причинам - там у меня текущая работа. Вряд ли это то, где я захочу совсем осесть (всё же это эпицентр левизны), но пока норм. Если Маск перенесёт инженерный хаб в какой-нибудь Техас, я, наверное, самый первый в него поеду… Посмотрим, как пойдёт!
@knowledge_accumulator
На этих выходных я переезжаю в Кремниевую долину.
Без приключений не обошлось. В апреле я выиграл в H1B-лотерею, дальше была куча долгой бюрократии, собеседование в посольстве и… админпроверка. Они известны своей печальной длительностью, измеряемой в последнее время годами, и это могло бы стать неплохим ударом кувалдой по голове. Но всё обошлось. Сами понимаете - Илон Маск, телефон, Белый Дом, в общем, проверку быстро завершили и визу дали.
Сегодня 2 года, как мы приехали жить в Лондон. В целом, жить здесь неплохо. В городе есть, чем заняться и куда сходить. Если вы богатый человек, то большинство бытовых проблем бедных людей - общественный транспорт, отсутствие кондиционеров, культурные обогатители и другие - можно завалить деньгами, и получать только плюсы.
Однако, строить своё состояние в Великобритании - это такое себе развлечение. Средний и нижнебогатый класс здесь - это классовые враги. Вас грабят на 40%, начиная с момента, когда вам начнёт хватать на базово комфортную жизнь - около 4к фунтов в месяц. Главный способ заработать бабки - работать на американский бигтех. Справедливости ради, в остальной Европе даже там денег не платят.
И всё будет только хуже. Тут абсолютный совок в головах. Нет ни одной прорыночной политической силы, потому что это никому не нужно. Это цепочка с обратной связью - продуктивные и успешные люди, которым выгоден свободный рынок, будут всё меньше приезжать в Великобританию, потому что её разрыв с США стремительно растёт. Богатство, накопленное в прошлом, распилят нищие мигранты из 3 стран, и правильно сделают - умственно отсталые не те, кто берут, а те, кто дают. Во власть уже регулярно пробирается радикально левый биомусор, и все будет заметно ухудшаться, когда они будут проводить свои реформы.
Самая пацанская прослойка людей - миллионеры - понимают перспективы и ставят мировые рекорды по сбеганию из страны, а казначей говорит о том, что, может быть, надо забирать 20% состояния у уезжающих.
Я не питаю иллюзий по поводу ситуации в США. Я буду также возмущаться леворадикальным биомусором, нищуками, которые за него голосуют, налогами, бюрократией и прочими радостями государства. Но там я буду не одним из трёх человек в стране, которые имеют похожие взгляды. США основали люди со взглядами, близкими к моим, и этот дух в них пока ещё остался.
Если в какой-то стране левачью и дадут отпор, то это будут как раз Штаты, и я бы даже хотел быть частью этого. А если цивилизация, построенная на идеалах Просвещения, при моей жизни окончательно придёт в упадок, я бы хотел быть на той стороне корабля, которая уйдёт ко дну последней.
Я еду именно в Долину по профессиональным причинам - там у меня текущая работа. Вряд ли это то, где я захочу совсем осесть (всё же это эпицентр левизны), но пока норм. Если Маск перенесёт инженерный хаб в какой-нибудь Техас, я, наверное, самый первый в него поеду… Посмотрим, как пойдёт!
@knowledge_accumulator
2👍68🤡26❤18💩17🔥6👾4🐳3😢2🖕1