Что там с AlphaCode 2
На днях был опубликован отчёт о потомке AlphaCode. В работе нет фундаментально новых идей, в основном, какие-то улучшения по мелочи. Из большого только то, что в основе лежит Gemini Pro, новая гугловская языковая модель. На упаковке написано "решает в 1.7 раз больше проблем и работает на уровне 85-й перцентили людей". Так ли всё гладко?
Ключевая проблема - модель не проверяли на контестах в реальном времени, только на виртуальных соревнованиях задним числом. Это создаёт теоретическую опасность утечки данных, так как решения задач постят в интернете, и их может подхватить модель на этапе претрейна.
Больше всего людям в глаза бросился следующий пример - в одном из соревнований модель решила задачи A,B,C и G, т.е. самые простые и одну крайне сложную задачу, о чём даже не постеснялись упомянуть в своём видео про Gemini (репутация которых уже подорвана).
На картинке вы можете видеть решение из туториала по соревнованию и код от AC2, который плохо пахнет. На это один из авторов ответил в X примерно следующее:
- Про претрейн точно сказать нельзя, но их проверки на recitation показали отрицательный результат.
- Без файнтюна модель не может решить данную задачу, а про файнтюн они точно знают, что там этой задачи нет.
Добавлю ещё одну деталь - главная фича AlphaCode - генерация огромного количества программ (т.е. миллионов) с их последующей мощной постобработкой и фильтрацией, которая выкидывает 95% программ. И даже несмотря на это, итоговыми посылками становится огромное количество неработающих программ, падающих на публичных претестах (за это не штрафуют на баллы). Это я к тому, чтобы вы не обманывались рассказами о способности модели к high-level reasoning, противопоставляя её LLM, как в том же видео.
Я считаю, что публика совершенно справедливо просит провести тестирование AlphaCode 2 в настоящих контестах, поскольку, на мой взгляд, приведённые автором свидетельства не гарантируют отсутствие утечки. А вы что думаете?
@knowledge_accumulator
На днях был опубликован отчёт о потомке AlphaCode. В работе нет фундаментально новых идей, в основном, какие-то улучшения по мелочи. Из большого только то, что в основе лежит Gemini Pro, новая гугловская языковая модель. На упаковке написано "решает в 1.7 раз больше проблем и работает на уровне 85-й перцентили людей". Так ли всё гладко?
Ключевая проблема - модель не проверяли на контестах в реальном времени, только на виртуальных соревнованиях задним числом. Это создаёт теоретическую опасность утечки данных, так как решения задач постят в интернете, и их может подхватить модель на этапе претрейна.
Больше всего людям в глаза бросился следующий пример - в одном из соревнований модель решила задачи A,B,C и G, т.е. самые простые и одну крайне сложную задачу, о чём даже не постеснялись упомянуть в своём видео про Gemini (репутация которых уже подорвана).
На картинке вы можете видеть решение из туториала по соревнованию и код от AC2, который плохо пахнет. На это один из авторов ответил в X примерно следующее:
- Про претрейн точно сказать нельзя, но их проверки на recitation показали отрицательный результат.
- Без файнтюна модель не может решить данную задачу, а про файнтюн они точно знают, что там этой задачи нет.
Добавлю ещё одну деталь - главная фича AlphaCode - генерация огромного количества программ (т.е. миллионов) с их последующей мощной постобработкой и фильтрацией, которая выкидывает 95% программ. И даже несмотря на это, итоговыми посылками становится огромное количество неработающих программ, падающих на публичных претестах (за это не штрафуют на баллы). Это я к тому, чтобы вы не обманывались рассказами о способности модели к high-level reasoning, противопоставляя её LLM, как в том же видео.
Я считаю, что публика совершенно справедливо просит провести тестирование AlphaCode 2 в настоящих контестах, поскольку, на мой взгляд, приведённые автором свидетельства не гарантируют отсутствие утечки. А вы что думаете?
@knowledge_accumulator
👍22🔥3
Почему я люблю и ненавижу походы
Если в вашем списке желаний есть "сходить в поход", то взгляд на них моими глазами будет вам полезен.
Поход предоставляет крайне полезную фичу. Если вы чувствуете себя несчастным, ненавидите цивилизацию, у вас в жизни огромное количество проблем, то поход может с этим помочь. Он создаст сильнейший шок вашей нервной системе. Вы спуститесь по пирамиде Маслоу к самому подножию, ваш мозг перекалибруется, выставив новые пороги для разного уровня удовлетворения. В результате, после похода вы будете счастливы тому, что вода течёт из под крана, а над вашим домом есть крыша.
Теперь перейдём к главным причинам, почему я больше не пойду в походы:
1) Бытовой ад
Я очень люблю цивилизацию и её достижения. Эта любовь достигла своего пика, когда мне нужно было отковырять вилкой пригорелую к ведру гречку, и в помощь вам только болото недалеко от палаток. Да, сцена, напоминающая то самое культовое кино. Помимо кухни вас ждут пешие переправы через реку пешком, клещи и многое другое.
2) Нестабильность
Если вы очень позитивно всё воспринимаете, вы будете с удовольствием вспоминать о том, как вашу палатку затопило, а воду для питья вы фильтровали через снятый только что носок (потому что так лучше, чем никак). Кто-то назовёт это интересными приключениями, но в моменте большинство людей будет очень страдать.
Однако, я нашёл для себя идеальный рецепт использования походов - смотреть на чужие походы! Лёжа в своей любимой кроватке, я наблюдаю за чужими приключениями, проникаюсь ими, и в то же время кайфую от того, что у меня есть моя кровать. Советую вам подписаться на канал моего друга Саши, который водил меня во все походы и дал мне то самое ведро. Саша - уникальный человек, который реально кайфует от процесса, и это только усиливает положительные эффекты. Осторожно, затягивает!
https://www.tgoop.com/itbomj
Если в вашем списке желаний есть "сходить в поход", то взгляд на них моими глазами будет вам полезен.
Поход предоставляет крайне полезную фичу. Если вы чувствуете себя несчастным, ненавидите цивилизацию, у вас в жизни огромное количество проблем, то поход может с этим помочь. Он создаст сильнейший шок вашей нервной системе. Вы спуститесь по пирамиде Маслоу к самому подножию, ваш мозг перекалибруется, выставив новые пороги для разного уровня удовлетворения. В результате, после похода вы будете счастливы тому, что вода течёт из под крана, а над вашим домом есть крыша.
Теперь перейдём к главным причинам, почему я больше не пойду в походы:
1) Бытовой ад
Я очень люблю цивилизацию и её достижения. Эта любовь достигла своего пика, когда мне нужно было отковырять вилкой пригорелую к ведру гречку, и в помощь вам только болото недалеко от палаток. Да, сцена, напоминающая то самое культовое кино. Помимо кухни вас ждут пешие переправы через реку пешком, клещи и многое другое.
2) Нестабильность
Если вы очень позитивно всё воспринимаете, вы будете с удовольствием вспоминать о том, как вашу палатку затопило, а воду для питья вы фильтровали через снятый только что носок (потому что так лучше, чем никак). Кто-то назовёт это интересными приключениями, но в моменте большинство людей будет очень страдать.
Однако, я нашёл для себя идеальный рецепт использования походов - смотреть на чужие походы! Лёжа в своей любимой кроватке, я наблюдаю за чужими приключениями, проникаюсь ими, и в то же время кайфую от того, что у меня есть моя кровать. Советую вам подписаться на канал моего друга Саши, который водил меня во все походы и дал мне то самое ведро. Саша - уникальный человек, который реально кайфует от процесса, и это только усиливает положительные эффекты. Осторожно, затягивает!
https://www.tgoop.com/itbomj
Telegram
📦 Бездомный айтишник 🧑💻
Канал про путешествия, вдохновение, медитацию и счастливую жизнь 😌
С ноября 2024 начал путешествие в формате Work & Travel
По всем вопросам - @fenestron (Александр Кулагин)
С ноября 2024 начал путешествие в формате Work & Travel
По всем вопросам - @fenestron (Александр Кулагин)
😁14💩8💯6👍4🤣4🤔2
Весёлый поиск от Deepmind [2023]
Новость про "первое открытие LLM в математике" взбудоражило публику. Статья очень интересная, но её стоит воспринимать в широком контексте, который я и постараюсь дать.
Есть такая сфера, как оптимизация/поиск программ - мы задаём набор базовых команд и ищем их последовательность, дающую максимальный профит на задаче. Я уже разбирал AutoML-Zero, в которой ищут последовательность векторно-матричных операций, максимизирующую точность нейросети, обученной с её помощью. Тот же подход использовали для создания оптимизатора Lion.
Работает это всё в форме генетического алгоритма. Мы можем легко оценить качество конкретной программы, и у нас есть популяция программ, из которых пробуем создавать новые программы с помощью мутаций. В AutoML-Zero / Lion мутации были случайные - мы добавляли / изменяли / удаляли случайную команду в ней. А это слишком неэффективно и глупо.
Новизна FunSearch именно в том, что авторы нашли способ генерировать мутации сильно лучше, чем рандомно - как раз с помощью LLM. Модели на вход подают контекст задачи и две уже существующие программы, и просят "придумать на их основе более удачную" - это по факту просьба "скрести и добавь мутацию". В результате, генетический алгоритм оптимизирует результат гораздо лучше.
Притом, что сгенерировать такую мутацию гораздо сложнее вычислительно, прирост эффективности и потолок результата выше засчёт того, что мутация с помощью LLM происходит в гораздо более разумном пространстве программ. В статье можно найти сравнение FunSearch и аналога AutoML-Zero, который не смог найти такие же крутые программы.
Добавлю, что есть и альтернатива генетике - это AlphaZero-подход, а именно AlphaTensor и AlphaDev, на счету которых тоже уже есть открытия. При этом важно, что область применения и AlphaZero, и FunSearch весьма специфична, так что, сингулярность ещё не близко.
@knowledge_accumulator
Новость про "первое открытие LLM в математике" взбудоражило публику. Статья очень интересная, но её стоит воспринимать в широком контексте, который я и постараюсь дать.
Есть такая сфера, как оптимизация/поиск программ - мы задаём набор базовых команд и ищем их последовательность, дающую максимальный профит на задаче. Я уже разбирал AutoML-Zero, в которой ищут последовательность векторно-матричных операций, максимизирующую точность нейросети, обученной с её помощью. Тот же подход использовали для создания оптимизатора Lion.
Работает это всё в форме генетического алгоритма. Мы можем легко оценить качество конкретной программы, и у нас есть популяция программ, из которых пробуем создавать новые программы с помощью мутаций. В AutoML-Zero / Lion мутации были случайные - мы добавляли / изменяли / удаляли случайную команду в ней. А это слишком неэффективно и глупо.
Новизна FunSearch именно в том, что авторы нашли способ генерировать мутации сильно лучше, чем рандомно - как раз с помощью LLM. Модели на вход подают контекст задачи и две уже существующие программы, и просят "придумать на их основе более удачную" - это по факту просьба "скрести и добавь мутацию". В результате, генетический алгоритм оптимизирует результат гораздо лучше.
Притом, что сгенерировать такую мутацию гораздо сложнее вычислительно, прирост эффективности и потолок результата выше засчёт того, что мутация с помощью LLM происходит в гораздо более разумном пространстве программ. В статье можно найти сравнение FunSearch и аналога AutoML-Zero, который не смог найти такие же крутые программы.
Добавлю, что есть и альтернатива генетике - это AlphaZero-подход, а именно AlphaTensor и AlphaDev, на счету которых тоже уже есть открытия. При этом важно, что область применения и AlphaZero, и FunSearch весьма специфична, так что, сингулярность ещё не близко.
@knowledge_accumulator
👍30❤3🔥3
GPT-4 vs ARC: как оно сейчас и конец ли это?
Напомню про существование ARC - бенчмарка системы на способность обучаться задаче по паре примеров. Он задизайнен таким образом, чтобы исключить необходимость понимать человеческие концепты - язык, образы т.д. и проверять только на обучаемость. В этом бенчмарк сильно непохож на GAIA, про который я тоже писал пост. Примеры задач на картинке.
Вы нечасто увидите проверку на нём, поскольку в вопросах обучаемости наши алгоритмы ужасно отстают от человека и просвета в этом вопросе нет. Давайте посмотрим на последние результаты проверки моделей GPT-4 и GPT-4V на нём.
Итак, тестирование проводят на 480 задачках из 16 категорий. Люди решают в среднем 91% задач. Первое место с kaggle-соревнования по ARC набирает около 52% - это по сути полный перебор всевозможных коротких "программ" из 4 преобразований. GPT-4 при новом улучшенном дизайне промпта с примерами решения других задач набирает 33%.
Далее из 480 задач выбирают 48 самых простых, требующих "одношагового" понимания концепта и прогоняют на них ещё и мультимодальную GPT-4V - если до этого задачки преобразовывали в текст, теперь показывают оригинал. Результаты становятся ещё более печальными - 95% человек / 69% GPT-4 / 25% GPT-4V.
Означает ли это бесполезность применения таких моделей? Не совсем. Как уже показали примеры AlphaCode и FunSearch, LLM может использоваться в качестве "генератора идей", с её помощью можно сгененировать много не всегда качественных решений-кандидатов. Но нужен и механизм "валидации" этих идей, чтобы выбрать финальную и её тестировать.
Проблема только в том, что, в отличие от FunSearch, у нас есть всего пара примеров и сгенерированная программа либо полностью неверна, либо полностью верна, что не позволяет проводить никакую оптимизацию решения. А непохожим на AlphaCode этот случай делает то, что у модели нет огромного количества решений подобных задач в обучающих данных, поэтому никакой Pattern matching решений ей недоступен.
@knowledge_accumulator
Напомню про существование ARC - бенчмарка системы на способность обучаться задаче по паре примеров. Он задизайнен таким образом, чтобы исключить необходимость понимать человеческие концепты - язык, образы т.д. и проверять только на обучаемость. В этом бенчмарк сильно непохож на GAIA, про который я тоже писал пост. Примеры задач на картинке.
Вы нечасто увидите проверку на нём, поскольку в вопросах обучаемости наши алгоритмы ужасно отстают от человека и просвета в этом вопросе нет. Давайте посмотрим на последние результаты проверки моделей GPT-4 и GPT-4V на нём.
Итак, тестирование проводят на 480 задачках из 16 категорий. Люди решают в среднем 91% задач. Первое место с kaggle-соревнования по ARC набирает около 52% - это по сути полный перебор всевозможных коротких "программ" из 4 преобразований. GPT-4 при новом улучшенном дизайне промпта с примерами решения других задач набирает 33%.
Далее из 480 задач выбирают 48 самых простых, требующих "одношагового" понимания концепта и прогоняют на них ещё и мультимодальную GPT-4V - если до этого задачки преобразовывали в текст, теперь показывают оригинал. Результаты становятся ещё более печальными - 95% человек / 69% GPT-4 / 25% GPT-4V.
Означает ли это бесполезность применения таких моделей? Не совсем. Как уже показали примеры AlphaCode и FunSearch, LLM может использоваться в качестве "генератора идей", с её помощью можно сгененировать много не всегда качественных решений-кандидатов. Но нужен и механизм "валидации" этих идей, чтобы выбрать финальную и её тестировать.
Проблема только в том, что, в отличие от FunSearch, у нас есть всего пара примеров и сгенерированная программа либо полностью неверна, либо полностью верна, что не позволяет проводить никакую оптимизацию решения. А непохожим на AlphaCode этот случай делает то, что у модели нет огромного количества решений подобных задач в обучающих данных, поэтому никакой Pattern matching решений ей недоступен.
@knowledge_accumulator
👍18🔥5🤔4
Наука не заслуживает вашей веры
Поддержу эту тему по мотивам недавнего поста Техножрицы, немного касающегося "веры в науку". Определим её как "принятие за чистую правду результатов всех исследований". На самом деле, это катастрофически плохая стратегия.
Обычно для проверки гипотез используют p-value, посчитанный по данным - вероятность получить такое или более экстремальное отклонение, если нулевая гипотеза верна. Нулевая гипотеза - это априорное утверждение, например - "лекарство не работает". Если p-value маленький, значит, это маловероятно, и, скорее всего, "работает". В исследованиях принято использовать порог в 0.05, так что, может показаться, что 5% исследований порождают неправильный вывод. Но картина совершенно иная.
Проведём мысленный эксперимент. Учёные по всему миру одновременно тестируют много "лекарств", скажем, 1000. Из них, допустим, 100 реально работает, и все они покажут значимое отличие. А из 900 ненастоящих? Как раз 900 * 0.05 = 45! То есть из 145 позитивов почти треть будет враньём даже при идеальной методике! А как вы думаете, 10% настоящих - это оценка, близкая к реальности?
Учёные - тоже люди, и есть другие факторы, ухудшающие положение:
1) Из данных выгодно выжимать результат, потому что наличие статьи выгодно учёному. Это толкает на осознанные или не очень ошибки в методологии, подгонку и т.д. Здесь можно почитать про методы так называемого p-hacking.
2) Наблюдательные исследования - это скам. Если вы просто берёте данные из реального мира и сравниваете какие-то показатели, невозможно доказать, что это именно причинно-следственная связь, а не просто корреляция - математический факт. Я уже писал пост про causal inference - сферу, изучающую, как делать правильные выводы из данных. Чтобы делать корректный вывод, нужно проводить контролируемое исследование, когда вы случайно влияете на переменную, но во многих областях науки этого почти не делают из-за этических соображений.
Что же делать? Всегда критически воспринимайте информацию. На "учёное сообщество" через 200 лет будут смотреть так, как мы смотрим на "учёное сообщество" 200-летней давности - как на толпу безграмотных обезьян. Не присоединяйтесь к толпе.
Более подробно про всё это рассказывает Veritasium.
@knowledge_accumulator
Поддержу эту тему по мотивам недавнего поста Техножрицы, немного касающегося "веры в науку". Определим её как "принятие за чистую правду результатов всех исследований". На самом деле, это катастрофически плохая стратегия.
Обычно для проверки гипотез используют p-value, посчитанный по данным - вероятность получить такое или более экстремальное отклонение, если нулевая гипотеза верна. Нулевая гипотеза - это априорное утверждение, например - "лекарство не работает". Если p-value маленький, значит, это маловероятно, и, скорее всего, "работает". В исследованиях принято использовать порог в 0.05, так что, может показаться, что 5% исследований порождают неправильный вывод. Но картина совершенно иная.
Проведём мысленный эксперимент. Учёные по всему миру одновременно тестируют много "лекарств", скажем, 1000. Из них, допустим, 100 реально работает, и все они покажут значимое отличие. А из 900 ненастоящих? Как раз 900 * 0.05 = 45! То есть из 145 позитивов почти треть будет враньём даже при идеальной методике! А как вы думаете, 10% настоящих - это оценка, близкая к реальности?
Учёные - тоже люди, и есть другие факторы, ухудшающие положение:
1) Из данных выгодно выжимать результат, потому что наличие статьи выгодно учёному. Это толкает на осознанные или не очень ошибки в методологии, подгонку и т.д. Здесь можно почитать про методы так называемого p-hacking.
2) Наблюдательные исследования - это скам. Если вы просто берёте данные из реального мира и сравниваете какие-то показатели, невозможно доказать, что это именно причинно-следственная связь, а не просто корреляция - математический факт. Я уже писал пост про causal inference - сферу, изучающую, как делать правильные выводы из данных. Чтобы делать корректный вывод, нужно проводить контролируемое исследование, когда вы случайно влияете на переменную, но во многих областях науки этого почти не делают из-за этических соображений.
Что же делать? Всегда критически воспринимайте информацию. На "учёное сообщество" через 200 лет будут смотреть так, как мы смотрим на "учёное сообщество" 200-летней давности - как на толпу безграмотных обезьян. Не присоединяйтесь к толпе.
Более подробно про всё это рассказывает Veritasium.
@knowledge_accumulator
👍28😁4👏2🔥1🤔1💯1
AutoNumerics-Zero: Automated Discovery of State-of-the-Art Mathematical Functions [2023] - ещё одно AI-открытие уходящего года
Продолжаем тему оптимизации программ. Почти одновременно с FunSearch вышла другая работа от Deepmind, правда, не применяющая LLM, и поэтому попавшая только в Just Links. Идеологически она похожа на AutoML-Zero, про который я уже тоже писал пост.
Итак, мы умеем легко и быстро производить на компьютере 4 базовые арифметические операции. Однако, "трансцендентные" функции, например, экспоненту, нельзя легко посчитать. Компьютер их считает приближённо, например, с помощью ряда Тейлора. При этом, нам достаточно уметь приближать её на промежутке [0;1], т.к. в целую степень мы умеем легко возводить и таким образом получить любую степень.
Итак, задача - найти как можно более короткую / быструю программу, вычисляющую экспоненту на отрезке с заданной точностью. Авторы представляют программу в виде графа вычислений (см. картинку). Вершинами является вход x, выход f, константы и математические операции, в которые по направленным рёбрам попадают входные данные.
Генетический алгоритм поддерживает популяцию графов, случайно добавляет мутации в них - добавление вершин, удаление, замена ребра и т.д. Оптимизируется одновременно точность и скорость (кол-во операций или время исполнения). Так как у нас 2 важных критерия отбора, используется специальный алгоритм сортировки популяции, выбирающий программы, сбалансированные по-разному с точки зрения критериев.
В результате, алгоритм не оставляет камня на камне от бейзлайнов, созданных приматами. Количество операций сокращается примерно в 2 раза, но это не самое крутое. Алгоритм подбирает функции так, чтобы компилятор оптимизировал их наиболее выгодно, в итоге скорость возрастает в >3 раза.
И вновь кожанные мешки показывают свою несостоятельность в сложных многослойных задачах, которые нельзя разбить на изолированные кусочки. End-to-end алгоритмическая оптимизация не оставляет нам никаких шансов.
@knowledge_accumulator
Продолжаем тему оптимизации программ. Почти одновременно с FunSearch вышла другая работа от Deepmind, правда, не применяющая LLM, и поэтому попавшая только в Just Links. Идеологически она похожа на AutoML-Zero, про который я уже тоже писал пост.
Итак, мы умеем легко и быстро производить на компьютере 4 базовые арифметические операции. Однако, "трансцендентные" функции, например, экспоненту, нельзя легко посчитать. Компьютер их считает приближённо, например, с помощью ряда Тейлора. При этом, нам достаточно уметь приближать её на промежутке [0;1], т.к. в целую степень мы умеем легко возводить и таким образом получить любую степень.
Итак, задача - найти как можно более короткую / быструю программу, вычисляющую экспоненту на отрезке с заданной точностью. Авторы представляют программу в виде графа вычислений (см. картинку). Вершинами является вход x, выход f, константы и математические операции, в которые по направленным рёбрам попадают входные данные.
Генетический алгоритм поддерживает популяцию графов, случайно добавляет мутации в них - добавление вершин, удаление, замена ребра и т.д. Оптимизируется одновременно точность и скорость (кол-во операций или время исполнения). Так как у нас 2 важных критерия отбора, используется специальный алгоритм сортировки популяции, выбирающий программы, сбалансированные по-разному с точки зрения критериев.
В результате, алгоритм не оставляет камня на камне от бейзлайнов, созданных приматами. Количество операций сокращается примерно в 2 раза, но это не самое крутое. Алгоритм подбирает функции так, чтобы компилятор оптимизировал их наиболее выгодно, в итоге скорость возрастает в >3 раза.
И вновь кожанные мешки показывают свою несостоятельность в сложных многослойных задачах, которые нельзя разбить на изолированные кусочки. End-to-end алгоритмическая оптимизация не оставляет нам никаких шансов.
@knowledge_accumulator
👍24🔥7❤🔥2😢1
Обычно я не придаю новому году большого значения, но так уж вышло, что практически в конце 2023-го года произошло много масштабных изменений в жизни, можно сказать, началась другая эпоха. Подробнее я об этом напишу как-нибудь в другой раз.
С праздничком вас! 🌲
С праздничком вас! 🌲
🎄58🔥6
Automating Continual Learning [2023] - пример мета-мета-лёрнинга
После недельного новогоднего перерыва возвращаемся в строй!
В данной работе авторы по-другому применяют уже разобранные мной самомодифицирующиеся матрицы весов.
Напомню идею механизма - у нас есть матрица весов
У любой нейросети можно просто заменить обычный полносвязный слой на такой. Если заменить все слои, тогда сетка будет сама менять свои веса без специальной процедуры "обучения". Единственное, что в сетку в этом случае нужно подавать правильный ответ на вход при обучении.
Авторы взяли небольшую свёрточную нейросеть и заменили полносвязный слой в конце на самообучающийся слой. Итоговую сеть обучают мета-обучаться следующим образом:
1) Конструируется последовательность ML-задач, с примерами и своими метками
2) Примеры из этих задач последовательно скармливают сетке
3) В качестве таргета используется логлосс на тестовых примерах всех задач. Причём производительность на каждой задаче проверяется после каждой следующей задачи тоже, чтобы мета-обучать сетку не забывать предыдущие умения - то есть отсутствию "catastrophic forgetting" - известной проблемы нейросетей.
4) Вся эта конструкция дифференцируема и может обучаться градиентным спуском
Как я уже писал ранее, meta-meta-learning - это именно то, что нам нужно для получения "AGI". Я очень рад, что хотя бы некоторые исследователи видят правильную постановку задачи, которую нужно ставить перед моделью.
Конкретно к такой схеме у меня есть вопросы ввиду пределов масштабируемости из-за использования градиентного обучения - пробрасывать производные сквозь длинные последовательности может быть проблематично. Кроме того, по моему мнению, у пространства параметров обучаемого мета-алгоритма не должна быть высокая размерность, а тут у нас большие матрицы весов.
@knowledge_accumulator
После недельного новогоднего перерыва возвращаемся в строй!
В данной работе авторы по-другому применяют уже разобранные мной самомодифицирующиеся матрицы весов.
Напомню идею механизма - у нас есть матрица весов
W
, в которую мы подаём вход x
. А эта матрица не только выдаёт выход y
, но и векторы, с помощью которых мы рассчитываем добавку к матрице W
, и обновляем её.У любой нейросети можно просто заменить обычный полносвязный слой на такой. Если заменить все слои, тогда сетка будет сама менять свои веса без специальной процедуры "обучения". Единственное, что в сетку в этом случае нужно подавать правильный ответ на вход при обучении.
Авторы взяли небольшую свёрточную нейросеть и заменили полносвязный слой в конце на самообучающийся слой. Итоговую сеть обучают мета-обучаться следующим образом:
1) Конструируется последовательность ML-задач, с примерами и своими метками
2) Примеры из этих задач последовательно скармливают сетке
3) В качестве таргета используется логлосс на тестовых примерах всех задач. Причём производительность на каждой задаче проверяется после каждой следующей задачи тоже, чтобы мета-обучать сетку не забывать предыдущие умения - то есть отсутствию "catastrophic forgetting" - известной проблемы нейросетей.
4) Вся эта конструкция дифференцируема и может обучаться градиентным спуском
Как я уже писал ранее, meta-meta-learning - это именно то, что нам нужно для получения "AGI". Я очень рад, что хотя бы некоторые исследователи видят правильную постановку задачи, которую нужно ставить перед моделью.
Конкретно к такой схеме у меня есть вопросы ввиду пределов масштабируемости из-за использования градиентного обучения - пробрасывать производные сквозь длинные последовательности может быть проблематично. Кроме того, по моему мнению, у пространства параметров обучаемого мета-алгоритма не должна быть высокая размерность, а тут у нас большие матрицы весов.
@knowledge_accumulator
👍10🔥6❤3
Мой рецепт изучения английский слов
Я решил окончательно победить свой ограниченный словарный запас, долго думал и сформулировал рецепт, который отлично показывает себя на практике и которым хотел бы поделиться. Может быть, для вас это будет тем самым недостающим пинком.
База метода - это spaced repetition - для откладывания в долгосрочной памяти слово должно использоваться несколько раз, с увеличивающимися промежутками. Например, вы выучили слово, повторяете его через день, потом через 2,3,5,8,13, ну, вы поняли... Этот функционал уже реализовали за вас на сайте Mochi - на нём можно создавать карточки с передней и обратной стороной и по этой методике сайт вам будет их отдавать каждый день.
Мы не создаём карточку со словом и переводом. Когда вы хотите выучить какое-то слово, потратьте минуту-две-три на поиск в интернете - определение в словаре, примеры предложений. Прочувствуйте значение на основе этих примеров. И выберите / сконструируйте полное предложение, в котором есть нужное вам слово. В нём все слова, кроме желаемого, должны быть вам знакомы.
Создайте карточку с предложением и его переводом (новое слово переведите дословно). Когда оно вам выпадет, прочитайте его вслух с выражением, представляя в голове ситуацию, которое оно описывает, сделайте акцент на новом слове. Всё это очень сильно повышает вероятность запоминания.
Слова для изучения можно брать где угодно. Лично я читаю книжку и каждое встретившееся незнакомое слово обрабатываю указанным образом. Да, получается страница и 15 новых слов в день, но, что поделать... 15 слов каждый будний день - это около 4000 слов в год, так что, за несколько лет можно решить вопрос, занимаясь по 30-60 минут в день.
Самое интересное, что после изучения слова "внезапно" начали появляться постоянно в потребляемом мной контенте. Например, одним из первых я выучил слово Perpetrator, и с тех пор встретил его за месяц раз 10 в самых разных местах, а до этого его, видимо, мозг просто игнорировал. 2 дня назад я выучил слово "гвоздь" и подумал - когда его встречу ещё хоть раз? На следующий день в сериале персонажа прибили гвоздями к стене...
Помимо запоминания, конечно, желательно ещё потреблять много контента, чтобы новые слова встречались чаще и в разных контекстах, тогда они отложатся ещё лучше.
Если у вас есть идеи по улучшению подхода, предлагайте в комментариях, буду рад полезным советам.
@knowledge_accumulator
Я решил окончательно победить свой ограниченный словарный запас, долго думал и сформулировал рецепт, который отлично показывает себя на практике и которым хотел бы поделиться. Может быть, для вас это будет тем самым недостающим пинком.
База метода - это spaced repetition - для откладывания в долгосрочной памяти слово должно использоваться несколько раз, с увеличивающимися промежутками. Например, вы выучили слово, повторяете его через день, потом через 2,3,5,8,13, ну, вы поняли... Этот функционал уже реализовали за вас на сайте Mochi - на нём можно создавать карточки с передней и обратной стороной и по этой методике сайт вам будет их отдавать каждый день.
Мы не создаём карточку со словом и переводом. Когда вы хотите выучить какое-то слово, потратьте минуту-две-три на поиск в интернете - определение в словаре, примеры предложений. Прочувствуйте значение на основе этих примеров. И выберите / сконструируйте полное предложение, в котором есть нужное вам слово. В нём все слова, кроме желаемого, должны быть вам знакомы.
Создайте карточку с предложением и его переводом (новое слово переведите дословно). Когда оно вам выпадет, прочитайте его вслух с выражением, представляя в голове ситуацию, которое оно описывает, сделайте акцент на новом слове. Всё это очень сильно повышает вероятность запоминания.
Слова для изучения можно брать где угодно. Лично я читаю книжку и каждое встретившееся незнакомое слово обрабатываю указанным образом. Да, получается страница и 15 новых слов в день, но, что поделать... 15 слов каждый будний день - это около 4000 слов в год, так что, за несколько лет можно решить вопрос, занимаясь по 30-60 минут в день.
Самое интересное, что после изучения слова "внезапно" начали появляться постоянно в потребляемом мной контенте. Например, одним из первых я выучил слово Perpetrator, и с тех пор встретил его за месяц раз 10 в самых разных местах, а до этого его, видимо, мозг просто игнорировал. 2 дня назад я выучил слово "гвоздь" и подумал - когда его встречу ещё хоть раз? На следующий день в сериале персонажа прибили гвоздями к стене...
Помимо запоминания, конечно, желательно ещё потреблять много контента, чтобы новые слова встречались чаще и в разных контекстах, тогда они отложатся ещё лучше.
Если у вас есть идеи по улучшению подхода, предлагайте в комментариях, буду рад полезным советам.
@knowledge_accumulator
👍31✍4❤1💯1
AlphaGeometry [2024] - ещё один пример дружбы поиска и нейросети, но не совсем
В предыдущих Alpha-работах, основанных на AlphaZero, мы встречали комбинацию нейросети и символьного поиска / поиска по дереву, в которой нейросеть отвечала за более удачный порядок перебора. Здесь баланс их взаимодействия смещён в сторону именно поиска. ML тут является важной, но не настолько ключевой компонентой, давайте разберёмся, почему.
В задачах по геометрии есть набор утверждений в качестве условия - заданы такие-то треугольники, окружности и т.д., и нужно доказать какое-то утверждение про заданные объекты. Для конструирования доказательств используется набор правил. На основе него работает не-ML-ный "symbolic deduction engine", пытающийся решить задачу. Сам по себе он уже решает 14/30 задач, что довольно круто для перебора. Это показывает, что наши мозги плохо заточены под геометрические задачи.
Ещё 11 задач приносит как раз ML, но как? В геометрических задачах часто используются "дополнительные конструкции" при решении - это когда мы сами вводим какой-то вспомогательный объект в задачу, который используется в доказательстве. Модель научили генерировать дополнительные конструкции, которые потом будет использовать символьный движок.
Отдельной программой сэмплировали наборы изначальных условий, для них генерировали доказательства всевозможных утверждений про заданные объекты, получился огромный датасет. Для конкретного доказанного факта смотрели - какие изначальные условия являются необязательными для него? Эти условия и будут размечены, как дополнительные конструкции. Далее на этом обучили LLM на их генерацию.
Думаю, что генерация огромного датасета синтетических задач станет основой создания нейросетевого математика. С нетерпением жду, когда её адаптируют под негеометрический домен. Однако, это не единственное, что сейчас нас останавливает от доказательства того, что P != NP, если такого математика вообще получится создать с помощью вручную спроектированного алгоритма.
@knowledge_accumulator
В предыдущих Alpha-работах, основанных на AlphaZero, мы встречали комбинацию нейросети и символьного поиска / поиска по дереву, в которой нейросеть отвечала за более удачный порядок перебора. Здесь баланс их взаимодействия смещён в сторону именно поиска. ML тут является важной, но не настолько ключевой компонентой, давайте разберёмся, почему.
В задачах по геометрии есть набор утверждений в качестве условия - заданы такие-то треугольники, окружности и т.д., и нужно доказать какое-то утверждение про заданные объекты. Для конструирования доказательств используется набор правил. На основе него работает не-ML-ный "symbolic deduction engine", пытающийся решить задачу. Сам по себе он уже решает 14/30 задач, что довольно круто для перебора. Это показывает, что наши мозги плохо заточены под геометрические задачи.
Ещё 11 задач приносит как раз ML, но как? В геометрических задачах часто используются "дополнительные конструкции" при решении - это когда мы сами вводим какой-то вспомогательный объект в задачу, который используется в доказательстве. Модель научили генерировать дополнительные конструкции, которые потом будет использовать символьный движок.
Отдельной программой сэмплировали наборы изначальных условий, для них генерировали доказательства всевозможных утверждений про заданные объекты, получился огромный датасет. Для конкретного доказанного факта смотрели - какие изначальные условия являются необязательными для него? Эти условия и будут размечены, как дополнительные конструкции. Далее на этом обучили LLM на их генерацию.
Думаю, что генерация огромного датасета синтетических задач станет основой создания нейросетевого математика. С нетерпением жду, когда её адаптируют под негеометрический домен. Однако, это не единственное, что сейчас нас останавливает от доказательства того, что P != NP, если такого математика вообще получится создать с помощью вручную спроектированного алгоритма.
@knowledge_accumulator
👍18🔥10🤔3💯1
Ухожу из Яндекса
Пришла пора делиться новостями! Завтра мой последний день работы в компании, и в честь этого подведу итоги прошедших ~3 лет.
Перед Яндексом я занимался ML-исследованиями в совершенно разных областях - NLP, RL и потом квантизации GAN-ов. После прихода сюда жизнь практически началась заново, на этот раз в качестве разработчика рекомендательных систем. Долгое время было тяжело писать нормальный код и вообще привыкать к хорошим инженерным практикам. Самую большую благодарность за терпение меня хочу выразить Диане и Мише, вы из меня сделали +- функционирующего работника 😁
После их ухода я перекочевал в команду к Кириллу, который обладает чёрным поясом по применению трансформеров в проде. Переняв эти навыки настолько, насколько смог, за примерно год мне удалось сыграть важную роль в 2 внедрениях оффлайн-модели в Маркете и Кинопоиске, а также во внедрении real-time трансформера в Маркете. Последнее было сущим кошмаром, надо сказать, но в итоге всё закончилось удачно.
Самое важное изменение, закрепившееся в голове в результате работы над продом - я перестал фокусироваться на технологии и начал фокусироваться на результате:
- Дебажить модель во время и после внедрения не менее важно, чем её разрабатывать.
- Чинить / добавлять исходные данные полезнее, чем долго думать над архитектурой.
- Налаживание процессов (например, регулярное применение оффлайн-модели) не нужно воспринимать как помеху "настоящей" работе, наоборот, отсутствие проблем в них важнее самой модели.
Желаю удачи всем, с кем работал в команде и над сервисами! Надеюсь, после моего ухода они будут развиваться ещё быстрее (правда, тогда это будет означать, что я только мешался).
Вооружившись всем этим опытом, я двигаюсь дальше и иду делать рекомендации в новом месте. Но про это расскажу в другом посте.
Пришла пора делиться новостями! Завтра мой последний день работы в компании, и в честь этого подведу итоги прошедших ~3 лет.
Перед Яндексом я занимался ML-исследованиями в совершенно разных областях - NLP, RL и потом квантизации GAN-ов. После прихода сюда жизнь практически началась заново, на этот раз в качестве разработчика рекомендательных систем. Долгое время было тяжело писать нормальный код и вообще привыкать к хорошим инженерным практикам. Самую большую благодарность за терпение меня хочу выразить Диане и Мише, вы из меня сделали +- функционирующего работника 😁
После их ухода я перекочевал в команду к Кириллу, который обладает чёрным поясом по применению трансформеров в проде. Переняв эти навыки настолько, насколько смог, за примерно год мне удалось сыграть важную роль в 2 внедрениях оффлайн-модели в Маркете и Кинопоиске, а также во внедрении real-time трансформера в Маркете. Последнее было сущим кошмаром, надо сказать, но в итоге всё закончилось удачно.
Самое важное изменение, закрепившееся в голове в результате работы над продом - я перестал фокусироваться на технологии и начал фокусироваться на результате:
- Дебажить модель во время и после внедрения не менее важно, чем её разрабатывать.
- Чинить / добавлять исходные данные полезнее, чем долго думать над архитектурой.
- Налаживание процессов (например, регулярное применение оффлайн-модели) не нужно воспринимать как помеху "настоящей" работе, наоборот, отсутствие проблем в них важнее самой модели.
Желаю удачи всем, с кем работал в команде и над сервисами! Надеюсь, после моего ухода они будут развиваться ещё быстрее (правда, тогда это будет означать, что я только мешался).
Вооружившись всем этим опытом, я двигаюсь дальше и иду делать рекомендации в новом месте. Но про это расскажу в другом посте.
👍71❤25🔥9🏆5🎉3🤮3😱2🫡2💩1🤡1
А что там про Foundational Model в роботике?
Начнём с того, у меня к физическим роботам интерес (пока что) ограниченный по ряду причин:
1) Роботы это не про решение интеллектуальных задач, а про ассистирование человеку в "бытовых" вопросах, и поэтому такого революционного влияния на мир, как "AGI", они не окажут. "AGI"-роботы тоже окажут, но дело тут в не роботах.
2) До недавних пор не было ощущения, что технология "домашних роботов-помощников" достижима в ближайшем будущем
В последнее время на глаза мне попадались статьи, ставящие под сомнение второй пункт, поэтому я решил об этом подумать. Для начала обсудим образ цели:
Если у нас будет робот со способностями, аналогичными ChatGPT-4, то это уже будет сильно более полезная технология, чем сама ChatGPT-4. Нам не требуется никакая "интеллектуальная" деятельность от робота, нам нужно, чтобы он делал вам кофе и готовил еду в вашей квартире, на которой он не обучался. Это аналогично умению ChatGPT-4 отвечать на какие-то вопросы и делать простые выводы в заданном контексте.
Что позволяет этому происходит на текущем уровне развития ML-алгоритмов? Прежде всего, колоссальный объём данных. Пространство текстов настолько плотно ими покрыто, что это позволяет возникнуть какой-то генерализации при работе с текстом. С роботами есть ряд проблем на этот счёт:
1) Пространство действий робота гораздо выше. Нам нужно не сгенерировать дискретные токены, а прикладывать силу к большому количеству точек в каждое мгновение. Может быть, подобная модель потребует ещё большего объёма данных, чем требуют LLM
2) Такие данные не генерируются естественным путём всем человечеством. Нужно городить специальные схемы для сбора большого количества данных, и пока неясно, хватит ли этого
С другой стороны, нам может помочь transfer learning. Пример RT-2 показывает, что каких-то результатов можно достичь, переиспользуя данные из других доменов, и технологии этого трансфера будут продолжать развиваться.
Кроме того, существует и эффект снежного кома - в случае поднятия интереса к теме и появления новых результатов в работу над датасетами / алгоритмами могут начать инвестировать миллиарды долларов, и это перестанет быть нишевой сферой, как в своё время NLP.
А вы что думаете? Напишите, чем вы бы заставили заниматься своего домашнего робота.
@knowledge_accumulator
Начнём с того, у меня к физическим роботам интерес (пока что) ограниченный по ряду причин:
1) Роботы это не про решение интеллектуальных задач, а про ассистирование человеку в "бытовых" вопросах, и поэтому такого революционного влияния на мир, как "AGI", они не окажут. "AGI"-роботы тоже окажут, но дело тут в не роботах.
2) До недавних пор не было ощущения, что технология "домашних роботов-помощников" достижима в ближайшем будущем
В последнее время на глаза мне попадались статьи, ставящие под сомнение второй пункт, поэтому я решил об этом подумать. Для начала обсудим образ цели:
Если у нас будет робот со способностями, аналогичными ChatGPT-4, то это уже будет сильно более полезная технология, чем сама ChatGPT-4. Нам не требуется никакая "интеллектуальная" деятельность от робота, нам нужно, чтобы он делал вам кофе и готовил еду в вашей квартире, на которой он не обучался. Это аналогично умению ChatGPT-4 отвечать на какие-то вопросы и делать простые выводы в заданном контексте.
Что позволяет этому происходит на текущем уровне развития ML-алгоритмов? Прежде всего, колоссальный объём данных. Пространство текстов настолько плотно ими покрыто, что это позволяет возникнуть какой-то генерализации при работе с текстом. С роботами есть ряд проблем на этот счёт:
1) Пространство действий робота гораздо выше. Нам нужно не сгенерировать дискретные токены, а прикладывать силу к большому количеству точек в каждое мгновение. Может быть, подобная модель потребует ещё большего объёма данных, чем требуют LLM
2) Такие данные не генерируются естественным путём всем человечеством. Нужно городить специальные схемы для сбора большого количества данных, и пока неясно, хватит ли этого
С другой стороны, нам может помочь transfer learning. Пример RT-2 показывает, что каких-то результатов можно достичь, переиспользуя данные из других доменов, и технологии этого трансфера будут продолжать развиваться.
Кроме того, существует и эффект снежного кома - в случае поднятия интереса к теме и появления новых результатов в работу над датасетами / алгоритмами могут начать инвестировать миллиарды долларов, и это перестанет быть нишевой сферой, как в своё время NLP.
А вы что думаете? Напишите, чем вы бы заставили заниматься своего домашнего робота.
@knowledge_accumulator
👍16❤5🔥2
Про компанию X, в которую иду делать рекомендации
К сожалению, более удачного каламбура не придумал на эту тему. Да, с конца февраля я Senior ML Engineer в том самом x.com!
Чрезвычайно рад тому, что всё срослось, поскольку здесь совпало многое, что я хотел бы видеть от своего места работы:
- Масштаб
Наверное, тут останавливаться не надо, сервисом пользуются сотни миллионов людей каждый день.
- Фокус на продукте
Теперь я работаю над одним продуктом, что позволит сильнее эмоционально вложиться в его улучшение. Раньше я был разработчиком в "инструментальных" командах, рассматривающих продукты, как своих "клиентов". Это не резонирует с моими взглядами, о которых говорил в позапрошлом посте.
- Небольшой размер
После массовых сокращений во всей компании работает всего ~1500 человек, что на порядок меньше Яндекса и тем более бигтеха. Уверен, только рекомендациями в YouTube или Spotify занимаются сотни людей, и в такой толкотне свободы действий никакой практически нет.
- Полезность для мира
Я полностью поддерживаю желание Маска создать платформу с высокой степенью свободы слова в противовес демпартийной цензуре, процветающей в сервисах бигтеха. Буду очень рад сделать всё возможное для успеха этого проекта вопреки атакам политических противников.
- Оффер
Помимо того, что он в целом крайне достойный, большой кусок составляют акции компании. Это крупная ставка, но сейчас люди сомневаются в успехе X, и есть неплохой шанс того, что в случае решения проблем всё выстрелит. Замечу, что сейчас компания стоит в 50 раз дешевле Meta и даже дешевле Slack.
- Буду работать вместе с хорошими знакомыми
Мне было бы очень страшно идти работать туда, где я никого не знаю. К счастью, в этот раз ситуация совсем иная.
- Антихайп
Моё внимание и интерес в целом в жизни привлекает наличие хейта, так он всегда сопровождает любую по-настоящему созидательную деятельность. В свою очередь, горячие темы, даже если они оправданы, вызывают небольшое отторжение. У такого bias есть и практический смысл - работать в одной из миллиардов LLM-команд и конкурировать с кучей инженеров может оказаться плохой карьерной стратегией, а вот продолжать работать над рекомендациями, реально приносящими кучу добавленной стоимости, в компании, которую недолюбливают другие инженеры - это мне по душе!
Напоследок добавлю, что есть желание больше писать в канале про свою работу, встречающиеся проблемы и решения, но мне ещё предстоит узнать, где проходит граница NDA. Так что, посмотрим!
Подписывайтесь на меня там, кстати!
К сожалению, более удачного каламбура не придумал на эту тему. Да, с конца февраля я Senior ML Engineer в том самом x.com!
Чрезвычайно рад тому, что всё срослось, поскольку здесь совпало многое, что я хотел бы видеть от своего места работы:
- Масштаб
Наверное, тут останавливаться не надо, сервисом пользуются сотни миллионов людей каждый день.
- Фокус на продукте
Теперь я работаю над одним продуктом, что позволит сильнее эмоционально вложиться в его улучшение. Раньше я был разработчиком в "инструментальных" командах, рассматривающих продукты, как своих "клиентов". Это не резонирует с моими взглядами, о которых говорил в позапрошлом посте.
- Небольшой размер
После массовых сокращений во всей компании работает всего ~1500 человек, что на порядок меньше Яндекса и тем более бигтеха. Уверен, только рекомендациями в YouTube или Spotify занимаются сотни людей, и в такой толкотне свободы действий никакой практически нет.
- Полезность для мира
Я полностью поддерживаю желание Маска создать платформу с высокой степенью свободы слова в противовес демпартийной цензуре, процветающей в сервисах бигтеха. Буду очень рад сделать всё возможное для успеха этого проекта вопреки атакам политических противников.
- Оффер
Помимо того, что он в целом крайне достойный, большой кусок составляют акции компании. Это крупная ставка, но сейчас люди сомневаются в успехе X, и есть неплохой шанс того, что в случае решения проблем всё выстрелит. Замечу, что сейчас компания стоит в 50 раз дешевле Meta и даже дешевле Slack.
- Буду работать вместе с хорошими знакомыми
Мне было бы очень страшно идти работать туда, где я никого не знаю. К счастью, в этот раз ситуация совсем иная.
- Антихайп
Моё внимание и интерес в целом в жизни привлекает наличие хейта, так он всегда сопровождает любую по-настоящему созидательную деятельность. В свою очередь, горячие темы, даже если они оправданы, вызывают небольшое отторжение. У такого bias есть и практический смысл - работать в одной из миллиардов LLM-команд и конкурировать с кучей инженеров может оказаться плохой карьерной стратегией, а вот продолжать работать над рекомендациями, реально приносящими кучу добавленной стоимости, в компании, которую недолюбливают другие инженеры - это мне по душе!
Напоследок добавлю, что есть желание больше писать в канале про свою работу, встречающиеся проблемы и решения, но мне ещё предстоит узнать, где проходит граница NDA. Так что, посмотрим!
Подписывайтесь на меня там, кстати!
👍79🔥35🎉10❤4🥴4💩3🤡2
Я обожаю детский труд
Не так давно у Артёма был пост про чувака, получившего в 19 лет PhD и ставшего в 20 лет Research Director в Stability AI. Помимо этого, не так давно наткнулся в X на общественность, бомбящую от видео с ~14-летним кассиром в Burger King. Считаю, что это прекрасная возможность обсудить детский труд.
Эта тема является одним из лидеров по степени промытости общественного сознания. Здесь страсть социалистов к запретам людям зарабатывать вошла в идеальный резонанс с человеческим наивным состраданием. Но давайте всё-таки попробуем разобраться, где же истина.
Начнём с того, что на поверхности. Во-первых, почти вся работа в 21 веке вне бедных стран не наносит физического вреда, и все разговоры о том, что ребёнок поработал в шахте и вырос больным, давно потеряли актуальность. Во-вторых, почему-то у людей в голове представление о детской работе, как о рабстве, но между детскими и взрослыми трудовыми отношениями нет никакой разницы - это двусторонний добровольный договор с правом выхода. Отношение к работе как к "эксплуатации" перекочевало в головы откуда-то из коммунизма, но в случае взрослых все нормальные люди понимают, что это не так.
Плюсы работы понятны - вы учитесь взаимодействовать с людьми и, собственно, работать. Вы зарабатываете свои деньги и учитесь ими распоряжаться, становитесь самодостаточным человеком. Нет ничего, что мешает начать это делать уже в 14 лет, конечно, если этого хочет сам человек.
Конечно, работа, которая требует специального обучения, может не быть доступна сразу. Но учиться её делать самостоятельно или в рамках каких-то курсов вполне легко. Даже, как в упомянутом примере, в теории, ничего не мешает учиться в универе не с 17, а с 10-12 лет. Но в малой доле профессий реально нужно несколько лет учиться для работы.
Ну, ладно, допустим, запретили мы людям работать до 18 лет. Что предлагается взамен? В большинстве школ происходит как раз настоящая эксплуатация - детей против воли собирают в компании людей, которых они не выбирали, и заставляют насильно изучать то, что им в основном неинтересно, и в результате такого "обучения" в голове остаётся ~0 навыков и информации, только покалеченная личность. Почти всё, чего так боятся в детском труде, происходит в реальности, но мало кто про это так сильно беспокоится.
Конечно, я не говорю, что всем людям нужно идти работать как можно раньше с ~12 лет, я говорю, что у них должно быть такое право (а у компаний должно быть право их не брать). В бедных семьях это возможность выправить финансовое положение, в особенности, по сравнению с тратой времени в государственной школе. А в части случаев, если человек уже в 10-14 знает, чего он хочет, это возможность не ждать много лет и сразу начать развиваться в своей сфере.
Расскажите, сколько лет своего детства вы потеряли в рамках школьной эксплуатации?
@knowledge_accumulator
Не так давно у Артёма был пост про чувака, получившего в 19 лет PhD и ставшего в 20 лет Research Director в Stability AI. Помимо этого, не так давно наткнулся в X на общественность, бомбящую от видео с ~14-летним кассиром в Burger King. Считаю, что это прекрасная возможность обсудить детский труд.
Эта тема является одним из лидеров по степени промытости общественного сознания. Здесь страсть социалистов к запретам людям зарабатывать вошла в идеальный резонанс с человеческим наивным состраданием. Но давайте всё-таки попробуем разобраться, где же истина.
Начнём с того, что на поверхности. Во-первых, почти вся работа в 21 веке вне бедных стран не наносит физического вреда, и все разговоры о том, что ребёнок поработал в шахте и вырос больным, давно потеряли актуальность. Во-вторых, почему-то у людей в голове представление о детской работе, как о рабстве, но между детскими и взрослыми трудовыми отношениями нет никакой разницы - это двусторонний добровольный договор с правом выхода. Отношение к работе как к "эксплуатации" перекочевало в головы откуда-то из коммунизма, но в случае взрослых все нормальные люди понимают, что это не так.
Плюсы работы понятны - вы учитесь взаимодействовать с людьми и, собственно, работать. Вы зарабатываете свои деньги и учитесь ими распоряжаться, становитесь самодостаточным человеком. Нет ничего, что мешает начать это делать уже в 14 лет, конечно, если этого хочет сам человек.
Конечно, работа, которая требует специального обучения, может не быть доступна сразу. Но учиться её делать самостоятельно или в рамках каких-то курсов вполне легко. Даже, как в упомянутом примере, в теории, ничего не мешает учиться в универе не с 17, а с 10-12 лет. Но в малой доле профессий реально нужно несколько лет учиться для работы.
Ну, ладно, допустим, запретили мы людям работать до 18 лет. Что предлагается взамен? В большинстве школ происходит как раз настоящая эксплуатация - детей против воли собирают в компании людей, которых они не выбирали, и заставляют насильно изучать то, что им в основном неинтересно, и в результате такого "обучения" в голове остаётся ~0 навыков и информации, только покалеченная личность. Почти всё, чего так боятся в детском труде, происходит в реальности, но мало кто про это так сильно беспокоится.
Конечно, я не говорю, что всем людям нужно идти работать как можно раньше с ~12 лет, я говорю, что у них должно быть такое право (а у компаний должно быть право их не брать). В бедных семьях это возможность выправить финансовое положение, в особенности, по сравнению с тратой времени в государственной школе. А в части случаев, если человек уже в 10-14 знает, чего он хочет, это возможность не ждать много лет и сразу начать развиваться в своей сфере.
Расскажите, сколько лет своего детства вы потеряли в рамках школьной эксплуатации?
@knowledge_accumulator
👍31👎22😁7🤡7🥴5❤4🤔3💯2🤨2🌚1🗿1
Model-Agnostic Meta-Learning [2017] - признанная классика мета-обучения
Давно у меня на канале не было почётных баянов.
Итак, напомню, что в мета-обучении у нас есть какое-то распределение задач p(T), и мы хотим уметь быстро на них обучаться. Для этого мы хотим посэмплировать задачи и как-то использовать эту информацию для "предобучения" алгоритма.
Отличие MAML от других работ по мета-обучению заключается в простоте. Мы не учим никакой "мета-алгоритм", не используем никаких дополнительных конструкций. Мы просто учим удачную инициализацию весов нейросети, из которой она быстро выучит новую задачу.
Итак, берём нашу архитектуру и какой-то вектор весов
1) Сэмплируем задачу из распределения p(T). Берём из неё K+1 батчей образцов
2) Инициализируем сетку вектором
3) С помощью
4) Считаем производную этой ошибки по изначальным параметрам
5) Обновляем вектор-инициализацию
Как можно заметить, применять результат на практике тоже элементарно - вам нужно просто инициализировать сетку мета-обученным вектором.
Благодаря этому, MAML не только стал топ-статьёй по цитированиям, но и присутствует как базовая опция в различных meta-learning библиотеках. Тем не менее, стоит понимать ключевые проблемы алгоритма, не позволяющие быть ему быть окончательным решением интеллектуального вопроса:
1) В схеме остаётся слишком много зафиксированных человеком элементов. Инициализация весов, которую мы мета-обучаем, составляет лишь малую часть всего обучения.
2) Мы мета-обучаем слишком много параметров. Я уже неоднократно писал, что для обучения обучаться (а не запоминания распределения задач) количество и разнообразие задач должно быть огромным по сравнению с размерностью мета-параметров. Тут это не так.
3) Обучение происходит засчёт дифференцирования сквозь весь процесс обучения, что плохо масштабируемо
Тем не менее, MAML это классика, это знать надо!
@knowledge_accumulator
Давно у меня на канале не было почётных баянов.
Итак, напомню, что в мета-обучении у нас есть какое-то распределение задач p(T), и мы хотим уметь быстро на них обучаться. Для этого мы хотим посэмплировать задачи и как-то использовать эту информацию для "предобучения" алгоритма.
Отличие MAML от других работ по мета-обучению заключается в простоте. Мы не учим никакой "мета-алгоритм", не используем никаких дополнительных конструкций. Мы просто учим удачную инициализацию весов нейросети, из которой она быстро выучит новую задачу.
Итак, берём нашу архитектуру и какой-то вектор весов
W
. Итерируемся, пока не надоест:1) Сэмплируем задачу из распределения p(T). Берём из неё K+1 батчей образцов
2) Инициализируем сетку вектором
W
. На K батчах делаем шаги градиетного спуска, получаем W'
3) С помощью
W'
считаем ошибку на тестовом батче4) Считаем производную этой ошибки по изначальным параметрам
W
5) Обновляем вектор-инициализацию
W
Как можно заметить, применять результат на практике тоже элементарно - вам нужно просто инициализировать сетку мета-обученным вектором.
Благодаря этому, MAML не только стал топ-статьёй по цитированиям, но и присутствует как базовая опция в различных meta-learning библиотеках. Тем не менее, стоит понимать ключевые проблемы алгоритма, не позволяющие быть ему быть окончательным решением интеллектуального вопроса:
1) В схеме остаётся слишком много зафиксированных человеком элементов. Инициализация весов, которую мы мета-обучаем, составляет лишь малую часть всего обучения.
2) Мы мета-обучаем слишком много параметров. Я уже неоднократно писал, что для обучения обучаться (а не запоминания распределения задач) количество и разнообразие задач должно быть огромным по сравнению с размерностью мета-параметров. Тут это не так.
3) Обучение происходит засчёт дифференцирования сквозь весь процесс обучения, что плохо масштабируемо
Тем не менее, MAML это классика, это знать надо!
@knowledge_accumulator
👍12🔥2💯1
Почему я собираюсь брать кредит на еду после переезда в Лондон
Мои родители в детстве внушили мне ненависть к кредитам. Аргументы были предельно логичные - во-первых, жить нужно по средствам, а во-вторых, в случае чего, если не вернёте, вам жопа. Я никогда в жизни даже не пытался узнать, как они работают, только предполагал. И вот недавно был предельно удивлён, когда узнал, что вся моя картина мира в этой области неверна. Давайте разберёмся.
Раньше я думал, что кредиты работают примерно так:
1) Вы берёте у банка фиксированную сумму денег
2) Для вас строят расписание возврата с процентной ставкой немного выше ставки по вкладам
3) Если вернёте вовремя, вы в небольшом минусе, иначе вас похищают и пытают коллекторы
Дальше надо оговориться - в разных странах и банках может быть по-разному, но вот как это, оказывается, видимо, работает в странах первого мира:
1) Вам дают кредитную карточку, и вы тратите с неё деньги в минус
2) Если вы вернёте деньги банку в срок, то вы не платите вообще никаких процентов.
3) Если вы продолбались по лимиту или времени, вас ждёт от 20% годовых (да, в долларах)
Главная аксиома в моей голове, оказавшаяся неверной - "банк зарабатывает проценты на каждом кредите". Но на самом деле банк заманивает большое количество клиентов и выходит в плюс благодаря тем, кто продолбался. Немного напоминает казино, но с другой структурой и шансами выигрыша.
То есть, если у вас гарантированно присутствует сумма денег, чтобы отдать все ваши долги, то для вас взятие кредита - это безопасно. Но зачем вообще это делать?
А всё дело в том, что банки не останавливаются на беспроцентном возврате. Они предлагают кэшбэк, мили и прочие бонусы для заманивания людей в это казино, таким образом, если всегда всё вовремя выплачивать, можно даже выходить в плюс на парочку процентов от своих трат.
Итак, это был результат моего предварительного ресёрча. Буду очень благодарен, если жители западного мира прокомментируют и укажут на недочёты в моём понимании. Вероятно, в СНГ банки работают иначе и там к кредитам действительно лучше не подходить на пушечный выстрел.
В скором времени планирую затестить кредитную систему в UK, взяв такую карточку, посмотрим, правда ли это так работает :)
P.S. Замечу, что крайне отрицательно отношусь к взятию денег под проценты и не собираюсь даже брать ипотеку, так как считаю покупку недвижимости плохой инвестицией.
@knowledge_accumulator
Мои родители в детстве внушили мне ненависть к кредитам. Аргументы были предельно логичные - во-первых, жить нужно по средствам, а во-вторых, в случае чего, если не вернёте, вам жопа. Я никогда в жизни даже не пытался узнать, как они работают, только предполагал. И вот недавно был предельно удивлён, когда узнал, что вся моя картина мира в этой области неверна. Давайте разберёмся.
Раньше я думал, что кредиты работают примерно так:
1) Вы берёте у банка фиксированную сумму денег
2) Для вас строят расписание возврата с процентной ставкой немного выше ставки по вкладам
3) Если вернёте вовремя, вы в небольшом минусе, иначе вас похищают и пытают коллекторы
Дальше надо оговориться - в разных странах и банках может быть по-разному, но вот как это, оказывается, видимо, работает в странах первого мира:
1) Вам дают кредитную карточку, и вы тратите с неё деньги в минус
2) Если вы вернёте деньги банку в срок, то вы не платите вообще никаких процентов.
3) Если вы продолбались по лимиту или времени, вас ждёт от 20% годовых (да, в долларах)
Главная аксиома в моей голове, оказавшаяся неверной - "банк зарабатывает проценты на каждом кредите". Но на самом деле банк заманивает большое количество клиентов и выходит в плюс благодаря тем, кто продолбался. Немного напоминает казино, но с другой структурой и шансами выигрыша.
То есть, если у вас гарантированно присутствует сумма денег, чтобы отдать все ваши долги, то для вас взятие кредита - это безопасно. Но зачем вообще это делать?
А всё дело в том, что банки не останавливаются на беспроцентном возврате. Они предлагают кэшбэк, мили и прочие бонусы для заманивания людей в это казино, таким образом, если всегда всё вовремя выплачивать, можно даже выходить в плюс на парочку процентов от своих трат.
Итак, это был результат моего предварительного ресёрча. Буду очень благодарен, если жители западного мира прокомментируют и укажут на недочёты в моём понимании. Вероятно, в СНГ банки работают иначе и там к кредитам действительно лучше не подходить на пушечный выстрел.
В скором времени планирую затестить кредитную систему в UK, взяв такую карточку, посмотрим, правда ли это так работает :)
P.S. Замечу, что крайне отрицательно отношусь к взятию денег под проценты и не собираюсь даже брать ипотеку, так как считаю покупку недвижимости плохой инвестицией.
@knowledge_accumulator
👍25🌚12❤4💯3😁1🐳1🗿1
Только AI поможет нам понять самих себя
Человеческий интеллект достаточно ограничен. Его узкое место - это способность оперировать большим количеством сущностей. Это уже сегодня видно по нашему отставанию в решении некоторых математических задач.
Но ещё труднее для нас анализировать живые организмы. Они не были спроектированы, лишь эволюционировали, опираясь на итоговый результат. Это ставит под сомнение фундаментальную возможность для нас понять, как устроены мы сами.
Мы вполне можем оказаться в ситуации (если уже не), когда исследуемую функцию в теле выполняет каша из большого количества частей, которую наш мозг просто не способен осознать, как он не способен осознать логику AlphaZero.
Именно в этот момент нам на помощь будут приходить системы типа AlphaFold. Только AI способен что-то понять в той мешанине, которую сотворила живая оптимизация. Обучая его делать полезные выводы из неинтепретируемых для нас данных, мы будем использовать его советы для победы над нейродегенеративными заболеваниями, даже не понимая, почему эти советы верны.
Такие сверхчеловеческие алгоритмы уже существует и применяются на практике. Рекомендательные системы пользуются непостижимой для нас логикой, чтобы взять большое количество информации о пользователе и выбрать для него товар / песню.
Мы обязательно изобретём такие системы для решения сложнейших задач - остановки старения, построения теории всего и многого другого.
Стоит заметить, что превосходство над человеком само по себе не представляет никакой экзистенциальной опасности - системы будут обучать решать конкретную задачу, и она не будет пытаться никого порабощать, как сегодня никого не порабощают рекомендательные системы.
Порабощать людей пока что стремятся только другие люди, во имя благих целей, конечно же. Лучше бояться этого.
@knowledge_accumulator
Человеческий интеллект достаточно ограничен. Его узкое место - это способность оперировать большим количеством сущностей. Это уже сегодня видно по нашему отставанию в решении некоторых математических задач.
Но ещё труднее для нас анализировать живые организмы. Они не были спроектированы, лишь эволюционировали, опираясь на итоговый результат. Это ставит под сомнение фундаментальную возможность для нас понять, как устроены мы сами.
Мы вполне можем оказаться в ситуации (если уже не), когда исследуемую функцию в теле выполняет каша из большого количества частей, которую наш мозг просто не способен осознать, как он не способен осознать логику AlphaZero.
Именно в этот момент нам на помощь будут приходить системы типа AlphaFold. Только AI способен что-то понять в той мешанине, которую сотворила живая оптимизация. Обучая его делать полезные выводы из неинтепретируемых для нас данных, мы будем использовать его советы для победы над нейродегенеративными заболеваниями, даже не понимая, почему эти советы верны.
Такие сверхчеловеческие алгоритмы уже существует и применяются на практике. Рекомендательные системы пользуются непостижимой для нас логикой, чтобы взять большое количество информации о пользователе и выбрать для него товар / песню.
Мы обязательно изобретём такие системы для решения сложнейших задач - остановки старения, построения теории всего и многого другого.
Стоит заметить, что превосходство над человеком само по себе не представляет никакой экзистенциальной опасности - системы будут обучать решать конкретную задачу, и она не будет пытаться никого порабощать, как сегодня никого не порабощают рекомендательные системы.
Порабощать людей пока что стремятся только другие люди, во имя благих целей, конечно же. Лучше бояться этого.
@knowledge_accumulator
👍23❤6🔥3💯1
Mastering Diverse Domains through World Models [2023] - как ещё можно быстро учить в RL
Главная проблема обучения RL-алгоритмов - это необходимое количество данных для обучения. В классических работах вроде DQN не пытаются обучать никакую модель среды, тем самым не используя часть доступной информации.
Я уже писал про EfficientZero - внука AlphaZero, делающего поиск по дереву предсказанных "скрытых состояний" среды. Сегодня поговорим про другой подход, называемый Dreamerv3.
В большом количестве RL-методов при обучении используются цепочки состояний - траектории, встреченные в реальной среде. На основе этих траекторий считаются различные RL-лоссы, и часто после сделанного шага обучения эти траектории выбрасываются, потому что перестают быть корректными с точки зрения алгоритма. Отсюда и низкая data-эффективность.
Dreamer решает данную проблему, полностью обучаясь на воображаемых траекториях, генерируемых текущей стратегией. Алгоритм состоит из 2 частей (см. картинки):
1) World Model Learning
Здесь мы обучаем энкодер наблюдения в вектор, декодер вектора в наблюдение, а также динамику мира - рекурретную сеть, предсказывающую следующее скрытое состояние по текущему скрытому состоянию, вектору наблюдения и сделанному действию. Обучают всё это на предсказание наград, концов эпизода, а также на восстановление наблюдения из скрытого вектора.
2) Actor Critic Learning
Имея на руках модель среды, мы можем генерировать те самые воображаемые траектории состояний вместе с действиями и полученными наградами. К ним применяется Actor-Critic лосс - один из базовых RL-ных способов обучения агента.
В результате, алгоритм не дотягивает по производительности до EfficientZero, но при этом проще устроен. Интересно, насколько все эти алгоритмы далеко от "теоретического" максимума скорости обучения, мне кажется, что ещё очень далеко. Но мы так и будем продолжать подбирать эвристики для существующих алгоритмов, ускоряющих сходимость, пока не начнём обучать весь RL-алгоритм целиком в виде одной модели.
@knowledge_accumulator
Главная проблема обучения RL-алгоритмов - это необходимое количество данных для обучения. В классических работах вроде DQN не пытаются обучать никакую модель среды, тем самым не используя часть доступной информации.
Я уже писал про EfficientZero - внука AlphaZero, делающего поиск по дереву предсказанных "скрытых состояний" среды. Сегодня поговорим про другой подход, называемый Dreamerv3.
В большом количестве RL-методов при обучении используются цепочки состояний - траектории, встреченные в реальной среде. На основе этих траекторий считаются различные RL-лоссы, и часто после сделанного шага обучения эти траектории выбрасываются, потому что перестают быть корректными с точки зрения алгоритма. Отсюда и низкая data-эффективность.
Dreamer решает данную проблему, полностью обучаясь на воображаемых траекториях, генерируемых текущей стратегией. Алгоритм состоит из 2 частей (см. картинки):
1) World Model Learning
Здесь мы обучаем энкодер наблюдения в вектор, декодер вектора в наблюдение, а также динамику мира - рекурретную сеть, предсказывающую следующее скрытое состояние по текущему скрытому состоянию, вектору наблюдения и сделанному действию. Обучают всё это на предсказание наград, концов эпизода, а также на восстановление наблюдения из скрытого вектора.
2) Actor Critic Learning
Имея на руках модель среды, мы можем генерировать те самые воображаемые траектории состояний вместе с действиями и полученными наградами. К ним применяется Actor-Critic лосс - один из базовых RL-ных способов обучения агента.
В результате, алгоритм не дотягивает по производительности до EfficientZero, но при этом проще устроен. Интересно, насколько все эти алгоритмы далеко от "теоретического" максимума скорости обучения, мне кажется, что ещё очень далеко. Но мы так и будем продолжать подбирать эвристики для существующих алгоритмов, ускоряющих сходимость, пока не начнём обучать весь RL-алгоритм целиком в виде одной модели.
@knowledge_accumulator
👍12❤4🔥1
Главное, что мы должны делать в такие моменты - это копить ненависть и перенаправлять её в продуктивное русло. Желаю вам научиться этому.
😢65🤡20👍11❤6👎6🤮6🤬1🥱1
Чё там в Лондоне
Пока у меня первые дни на новом рабочем месте и не до глубокомысленных рассуждений, скажу пару слов про Лондон.
Основополагающая особенность города - наличие большого количества обеспеченных людей, что создаёт массовый спрос на товары и услуги высокого уровня:
- Вы найдёте здесь много потрясающих ЖК, возле которых будет и фонтан, и огромная ТЦшка, всё вокруг будет очень красиво и безопасно, и при этом в получасе от центра. Заплатить за это придётся немало - не меньше 2к долларов в месяц за студию.
- Везде в супермаркетах огромное количество качественной готовой еды. Стоит это не особо дорого - долларов 5-8. Для хейтеров готовки типа меня это потрясающая возможность никогда не прикасаться к плите, при этом не мучаясь с доставкой и ожиданием в кафе.
- Количество развлечений и мероприятий зашкаливает - все воюют между собой за ваши лишние фунтики. Вам не будет здесь скучно, можно забивать свой график до отказа очень качественным досугом на любой вкус. Хорошей еды в ресторанах полно - но это уже от 20 долларов.
Если вы не можете это всё себе позволить - придётся идти на большие компромиссы, поэтому, без хорошего дохода / оффера тут делать нечего.
Помимо всего этого, после жизни в РФ и года скитаний по миру в глаза бросается комфорт легальной принадлежности к экономике первого мира - когда у тебя есть нормальное резиденство, постоянный адрес и т.д., можно завести нормальный счёт в банке и у брокера, заказывать амазон, посылки, и твоя квартира найдётся прямо в выпадающем списке при вводе индекса - больше никакой головной боли от попытки понять, что такое Address Line 1/2, как правильно написать транслитом твою улицу.
Конечно, в UK есть свои минусы, главный лично для меня - это, естественно, огромные налоги (около 40%), ну и от моего политического идеала эта страна далека. Однако, на текущий момент я очень доволен той жизненной ситуацией, которая складывается.
А на этом пока всё, телеграм уменьшил максимальную длину постов! Если хотите больше узнать про что-нибудь, пишите в комментариях.
Пока у меня первые дни на новом рабочем месте и не до глубокомысленных рассуждений, скажу пару слов про Лондон.
Основополагающая особенность города - наличие большого количества обеспеченных людей, что создаёт массовый спрос на товары и услуги высокого уровня:
- Вы найдёте здесь много потрясающих ЖК, возле которых будет и фонтан, и огромная ТЦшка, всё вокруг будет очень красиво и безопасно, и при этом в получасе от центра. Заплатить за это придётся немало - не меньше 2к долларов в месяц за студию.
- Везде в супермаркетах огромное количество качественной готовой еды. Стоит это не особо дорого - долларов 5-8. Для хейтеров готовки типа меня это потрясающая возможность никогда не прикасаться к плите, при этом не мучаясь с доставкой и ожиданием в кафе.
- Количество развлечений и мероприятий зашкаливает - все воюют между собой за ваши лишние фунтики. Вам не будет здесь скучно, можно забивать свой график до отказа очень качественным досугом на любой вкус. Хорошей еды в ресторанах полно - но это уже от 20 долларов.
Если вы не можете это всё себе позволить - придётся идти на большие компромиссы, поэтому, без хорошего дохода / оффера тут делать нечего.
Помимо всего этого, после жизни в РФ и года скитаний по миру в глаза бросается комфорт легальной принадлежности к экономике первого мира - когда у тебя есть нормальное резиденство, постоянный адрес и т.д., можно завести нормальный счёт в банке и у брокера, заказывать амазон, посылки, и твоя квартира найдётся прямо в выпадающем списке при вводе индекса - больше никакой головной боли от попытки понять, что такое Address Line 1/2, как правильно написать транслитом твою улицу.
Конечно, в UK есть свои минусы, главный лично для меня - это, естественно, огромные налоги (около 40%), ну и от моего политического идеала эта страна далека. Однако, на текущий момент я очень доволен той жизненной ситуацией, которая складывается.
А на этом пока всё, телеграм уменьшил максимальную длину постов! Если хотите больше узнать про что-нибудь, пишите в комментариях.
👍41🔥5❤4👎2🤡1