я не согласен в корне с тем, что умножение не сильно сложнее сложения. если модели дать возможность писать промежуточные вычисления, делая подсчёт столбиком, то она справится (затрудняюсь оценить процент успешных ответов, от балды скажу что значимо больше нуля, но не такой высокий).
причина в том как это работает с точки зрения слоёв внутри модели. Сложение операция поразрядная, и её легко internalize (интернализировать?). Не нужно смотреть на все цифры сразу и держать в голове кучу контекста. Умножение же не подпадает под это требование, даже чтобы написать первую цифру понадобится сразу перемножить все разряды и просуммировать 2 числа.
Про вычитание — два комментария: 1) мой пример (как и пример опенаи) делает акцент на том, что в обоих числах одинаково разрядов, и мб поэтому тут так не работает
2) это может быть другой навык ¯\_(ツ)_/¯ я не видел его анализа, было бы интересно посмотреть, выучивается ли что-то по другому, и вообще какой модель видит связь этих двух операций.
То есть, не через тысячи примеров сложения разных чисел?
не знаю ¯\_(ツ)_/¯
в теории, есть какой-то датасет меньшего размера, чем использовали авторы, который позволяет добиться такого же эффекта. Мб там хватит всего 1000 примеров для сложения трёхзначных чисел, повторить 100'000 раз (эпохи обучения) — и снова «щелкнет», выучится алгоритм.
Есть ли работы в этом направлении?
я бы сказал, что более всего на это похожа генерация синтетики через использование Verifier (для математики это калькулятор, для кода это тесты, для задач общего типа это может быть отдельная LLM, которая ищет проблемы с ответом, и даёт фидбек). Дообучение на этой синтетике улучшает навык модели.
Затрудняюсь ответить, мне кажется пока теоретической базы и наработанных примеров мало, чтобы сделать такую систему. Не уверен, что в ближайшие полтора-два года стоит ждать.
Чем мне нравятся LLM — так это то что они не додумаются к статье, где показываются примеры со сложением, приводить как контр-аргумент умножение. Это прям ух, реально прорыв в области интеллекта.
Только ручками и с пониманием, что конкретно искать — вот как раз для сложения так и сделали. То есть можно посмотреть на веса и разобраться, какое преобразование данных они делают (например, поворот вектора в пространстве).
Потому что он не могут просто взять и разработать его. Почему Роскосмос не возьмёт и просто не разработает полный аналог Starship? Потому что это охренеть как сложно и с инженерной точки зрения, и с научной, и с временной.
примерно так, но, как указал в статье, там сжатие и разжатие совсем по другому представлены, ибо решается задача предсказания следующего слова по всем предыдущим.
это сложно объяснить, если человек не знаком с концепцией эмбеддинга и основами машинного обучения. Тут не пальцах так просто не показать, всё что мог изложить - отобожено в статье.
An interesting connection to the neuroscience literature is the work on hippocampal replay that examines how the brain replays recent experiences when an animal rests or sleeps. Replaying recent experiences plays an important role in memory consolidation [68] — where hippocampus-dependent memories become independent of the hippocampus over a period of time [67]. As Foster [68] puts it, replay is “less like dreaming and more like thought”. We invite readers to read Replay Comes of Age [68] for a detailed overview of replay from a neuroscience perspective with connections to theoretical reinforcement learning.
Memory Consolidation[link] Authors, W., 2017. Wikipedia.
Глобально мысль очень правильная, и уже ведется работа в сторону аналога AlphaGo для LLM — когда мы при генерации пишем не 1 предложение, а 1000 — и потом переранжируем их по успешности (оценка этой же или другой модели). Далее для, скажем, топ-10 самых перспективных генераций делаем еще по 1000 вторых предложений, и тд. Чуть более подробно можно глянуть в моей лекции вот тут (https://youtu.be/tJ1xjP17OZs?t=3049 кинул таймкод, но советую канеш всё глянуть), и в этом же ключе как proof-of-concept рекомендую мою предыдущую статью на хабре https://habr.com/ru/companies/ods/articles/781138/
Вот (внутри есть ссылка на Arxiv, если так удобнее). Добавлю ещё в блогпост.
не понял этого тезиса(
я не согласен в корне с тем, что умножение не сильно сложнее сложения. если модели дать возможность писать промежуточные вычисления, делая подсчёт столбиком, то она справится (затрудняюсь оценить процент успешных ответов, от балды скажу что значимо больше нуля, но не такой высокий).
причина в том как это работает с точки зрения слоёв внутри модели. Сложение операция поразрядная, и её легко internalize (интернализировать?). Не нужно смотреть на все цифры сразу и держать в голове кучу контекста. Умножение же не подпадает под это требование, даже чтобы написать первую цифру понадобится сразу перемножить все разряды и просуммировать 2 числа.
Про вычитание — два комментария:
1) мой пример (как и пример опенаи) делает акцент на том, что в обоих числах одинаково разрядов, и мб поэтому тут так не работает
2) это может быть другой навык ¯\_(ツ)_/¯ я не видел его анализа, было бы интересно посмотреть, выучивается ли что-то по другому, и вообще какой модель видит связь этих двух операций.
Каждый раз всё глубже и глубже. В следующей статье будем разбирать оптимизации batch mat mul.
не знаю ¯\_(ツ)_/¯
в теории, есть какой-то датасет меньшего размера, чем использовали авторы, который позволяет добиться такого же эффекта. Мб там хватит всего 1000 примеров для сложения трёхзначных чисел, повторить 100'000 раз (эпохи обучения) — и снова «щелкнет», выучится алгоритм.
я бы сказал, что более всего на это похожа генерация синтетики через использование Verifier (для математики это калькулятор, для кода это тесты, для задач общего типа это может быть отдельная LLM, которая ищет проблемы с ответом, и даёт фидбек). Дообучение на этой синтетике улучшает навык модели.
Затрудняюсь ответить, мне кажется пока теоретической базы и наработанных примеров мало, чтобы сделать такую систему. Не уверен, что в ближайшие полтора-два года стоит ждать.
Чем мне нравятся LLM — так это то что они не додумаются к статье, где показываются примеры со сложением, приводить как контр-аргумент умножение. Это прям ух, реально прорыв в области интеллекта.
Пример из статьи работает в АПИ. Ответ (удивительно!) снова правильный.
Скрытый текст
У этого механизма есть название — Гроккинг, его можно отследить, от много где наблюдался, но до коцна ещё не изучен.
Как ты понимаешь, писать ещё 30 минут в конце под объяснение я не стал. Мб будет во второй-третьей части :)
Только ручками и с пониманием, что конкретно искать — вот как раз для сложения так и сделали. То есть можно посмотреть на веса и разобраться, какое преобразование данных они делают (например, поворот вектора в пространстве).
Ой, Мистер Кук, простите, не узнал. Наверное, вам и вправду виднее.
Потому что он не могут просто взять и разработать его. Почему Роскосмос не возьмёт и просто не разработает полный аналог Starship? Потому что это охренеть как сложно и с инженерной точки зрения, и с научной, и с временной.
примерно так, но, как указал в статье, там сжатие и разжатие совсем по другому представлены, ибо решается задача предсказания следующего слова по всем предыдущим.
есть оригинальный код world models https://github.com/hardmaru/WorldModelsExperiments и чуть более свежая реимплементация на торче https://github.com/ctallec/world-models , но вообще для энк-дек (VAE) можно погуглить что-то отдельно, вещь старая и популярная.
это сложно объяснить, если человек не знаком с концепцией эмбеддинга и основами машинного обучения. Тут не пальцах так просто не показать, всё что мог изложить - отобожено в статье.
Memory Consolidation [link] Authors, W., 2017. Wikipedia.
Replay Comes of Age [link] Foster, D.J., 2017. Annual Review of Neuroscience, Vol 40(1), pp. 581-602. DOI: 10.1146/annurev-neuro-072116-031538
Читал про пельмени?
на смартфоне нужно зайти в режим голосового ассистента и начать промптить модель про урок по изучению языка
:not bad: и добавить нечего
Безработный я, который потратил на рисерч, планирование, сбивку и вычитку больше недели почти фуллтайм работы:
Глобально мысль очень правильная, и уже ведется работа в сторону аналога AlphaGo для LLM — когда мы при генерации пишем не 1 предложение, а 1000 — и потом переранжируем их по успешности (оценка этой же или другой модели). Далее для, скажем, топ-10 самых перспективных генераций делаем еще по 1000 вторых предложений, и тд. Чуть более подробно можно глянуть в моей лекции вот тут (https://youtu.be/tJ1xjP17OZs?t=3049 кинул таймкод, но советую канеш всё глянуть), и в этом же ключе как proof-of-concept рекомендую мою предыдущую статью на хабре https://habr.com/ru/companies/ods/articles/781138/