Почти год назад @import_sklearn навёл меня на статью https://www.arxiv.org/abs/2504.13292, где начало гроккинга ускоряют обучив сначала мелкую модель, а потом её слой эмбединга передают через случайную проекцию большой модели. И вот наконец я сподобился её воспроизвести. В работе обнаружился подводный камень. Во-первых, они предлагают заменять слой на два умножения. Вместо этого можно умножить их и отдать только веса, в этом случае впереди окажется большая но низкоранговая матрица, но и это не до конца спасает положение. Низкий ранг первого слоя сильно мешает обучению на последних этапах. То есть начало гроккинга ускоряется, но конец замедляется. Но если побороть эту низкоранговость, то да, имеем способ реально ускорять начало гроккинга. Идею победы над низким рангом тут не рассказываю, она не моя, и врядли кто-то бкдет повторять это исследование, но по крайней мере теперь вы знаете, что даже в такой зыбкой форме передача информации из маленкой модели в большую ускоряет обобщения, и теперь вы знаете, что это создаёт на входе бутылочное горлышко низкого ранга, и если вы его преодолеете своим способом, коих много, то это не проблема.
arXiv.org
Let Me Grok for You: Accelerating Grokking via Embedding Transfer...
''Grokking'' is a phenomenon where a neural network first memorizes training data and generalizes poorly, but then suddenly transitions to near-perfect generalization after prolonged training....
👀2🤔1
https://youtube.com/shorts/EmBgVx6jYBg?is=M03FVtMAvQ6IWqYq Потому что мозг получает награду не за предсказание разметки, а за предсказывание наблюдаемого будущего, причем не любого, а того, которое воспринимается как новое или необычное. Не просто Некст токен, а баланс изучение-использование, критерий новизны и предсказание последствий своих действий на следующем этапе, примерно через пол года после рождения. Я вот давно с этой идеей ношусь. Дробышевский одобряет! :))
YouTube
Почему людям Нравится Музыка? Дробышевский про музыку #дробышевский #fyp #наука
Палеоантрополог и популяризатор науки Станислав Дробышевский @fondnauk
👍1
Ответил тут, на вот этот https://xn--r1a.website/chivinya/215 важный пост и подумалось мне, что ответ заслуживает более широкого распространения. Потому что пора бы уже человечеству думать такие мысли, хотя бы тут в нашем маленьком кластере:
Усреднённое только, а не сжатое. Это примерно то же самое, что оценивать геном человечества сложив общую последовательность всех генов этого самого человечества, встречающихся, например, чаще 5%. У этого слепка человечества будет две X хромосомы (женщин больше), но и Y тоже будет, ведь мужчин много. А как мы все знаем человек с хромосомами XXY это генетическое заболевание.
Ключевым свойством культуры как явление является наличие большого количества внутренне непротиворечивых кластеров, хорошо и согласованно работающих внутри, но резко проседающих если их смешать. И кластеры мужчин и женщин тут лишь один из примеров. Только благодаря этому разнообразию и кластеризации в культуре возможен естественный отбор, и люди как вид, как и вообще любые животные имеют механизмы поддержания этой кластеризации, на нужном уровне уменьшая вероятность скрещивания с чужаками, и на нужном уровне поддерживая уровень заимствования чужих мемов, чтобы с одной стороны не разрушать свой образ жизни, а с другой позволяя ему улучшаться за счёт заимствований.
Вот эта составляющая в данный момент полностью игнорируется. Справедливости ради, её и биологи или культурологи не все осознаюют, что уж говорить о компьютерщиках. Интересно что Mixture of Experts, возможно, частично разрешает эту проблему, но поскольку компьюю терщики её не осознают, но и бенчмарков, которые бы это проверяли попросту нет.
LLM-ки - это фактически сжатое представление культуры. Её текущий слепок.
Усреднённое только, а не сжатое. Это примерно то же самое, что оценивать геном человечества сложив общую последовательность всех генов этого самого человечества, встречающихся, например, чаще 5%. У этого слепка человечества будет две X хромосомы (женщин больше), но и Y тоже будет, ведь мужчин много. А как мы все знаем человек с хромосомами XXY это генетическое заболевание.
Ключевым свойством культуры как явление является наличие большого количества внутренне непротиворечивых кластеров, хорошо и согласованно работающих внутри, но резко проседающих если их смешать. И кластеры мужчин и женщин тут лишь один из примеров. Только благодаря этому разнообразию и кластеризации в культуре возможен естественный отбор, и люди как вид, как и вообще любые животные имеют механизмы поддержания этой кластеризации, на нужном уровне уменьшая вероятность скрещивания с чужаками, и на нужном уровне поддерживая уровень заимствования чужих мемов, чтобы с одной стороны не разрушать свой образ жизни, а с другой позволяя ему улучшаться за счёт заимствований.
Вот эта составляющая в данный момент полностью игнорируется. Справедливости ради, её и биологи или культурологи не все осознаюют, что уж говорить о компьютерщиках. Интересно что Mixture of Experts, возможно, частично разрешает эту проблему, но поскольку компьюю терщики её не осознают, но и бенчмарков, которые бы это проверяли попросту нет.
Telegram
Чивиня (Multi-layer Parkinson)
Пришла мысль, что LLM-ки - это фактически сжатое представление культуры. Её текущий слепок. Этакая форма существования культуры отдельно от её носителя - человека.
❤2👍1
Провел интереснейший эксперимент над гроккингом с помощью Claude Code, и сделал из них парочку крутых выводов, один из которых готов рассказать прямо тут не дожидаясь датафеста. А интересно в этой истории то, что ни один из выводов, которые я сделал Клод сделать не смог, хотя смотрел на те же картинки что и я. И я его специально просил предположить в чём же дело, и почему в картинках возникает такой парадокс. Всё это говорит, что пока перспективы у автоматического ресёрча были бы не особо блестящие даже если бы агенты не тонули в своих глупых ошибках. Возможно об этом додложусь на будущем фесте на секции про агентов.
Если этот пост наберёт больше десятка лайков, мне будет гораздо приятнее рассказывать чего же я такое интересное нашёл, и я напишу следующий пост на много быстрее. :)
Если этот пост наберёт больше десятка лайков, мне будет гораздо приятнее рассказывать чего же я такое интересное нашёл, и я напишу следующий пост на много быстрее. :)
👍41⚡4🔥4
Последний месяц я интенсивно осваиваю кодирование на Claude Code, врчуную в код не вмешиваюсь даже для простых однострочных исправлений.
Ну так вот, есть такая идея - нормировать все выходы матрицы на 1, ну или все выходы какой-нибудь L2 или L1 нормой. Я её подглядел у Ветрова в его докладе про гроккинг, они такое с сетками на CIFAR10 делали, и я некоторое время вынашивал мысль такое тоже попробовать. Перед реализацией послал агента поискать связанные статьи. Он нашёл работу nvidia-вцев nGPT: Normalized Transformer with Representation Learning on the Hypersphere (arxiv 2410.01131v1), вроде как у них что-то там получилось. Ну ок, беру свой любимый бейзлан на гроккинг прикручиваю два флага, один включает нормализацию внутри kvq, второй делает то же с полносвязанными слоями. Пробую отключив weight_decay и Клод радостно рапортует, что никакого грокинга, всё плохо. Смотрю я на первую картинку, и говорю, ничего себе ничего интересного... Пробую отключить нормализацию MLP, вторая картинка, уже хуже, отключаю в трансформере, но оставляю в MLP, третья картинка, совсем всё плохо. Говорю Claude посмотреть на картинки, он выдает ещё одно свое предположение, а может сети просто емкости не хватило? Типа с такими матрицами (унарными их называют, если ничего не путаю) пространство исследуемое меньше, мы типа на поверхности гипершара, выразительная сила меньше, сомневаюсь, конечно, но ок, пробуем добавить в два раза размеры эмбединга сети, а ей от этого только хуже.
И тут у меня закралось подозрение. Почему именно ~50%? Постоянные читатели моего канала или слушатели моих лекций могут помнить, что датасет то у нас хоть и неупорядоченный, но с явно выраженной симметрией, см четвёртая картинка. Разделение на train и val 50%, это значит, что к каждому примеру из val в train с вероятностью 50% найдется симметричный пример среди train и если сеть раз об этом догадается как-то подогнав под это первую матрицу эмбедингов, это сильно облегчает задачу. Я даже как-то раз проводил опыт https://xn--r1a.website/GradientWitnesses/124 Отломав ровно половину датасета, и это в три раза отодвинуло наступлении гроккинга.
Пробуем то же самое, давая Клоду половину датасета, и получаем пятую картинку - полный рандом.
Тут надо Клоду дать поблажку, это я этот датасет гоняю в стопятьсотый раз, а он то его первый раз видит, и даже не видит, я только читает его код, то что он не догадался эту версию проверить не удивительно. Но когда я ему сказал посмотреть на итоговую картинку он выдал шедевр мысли, что задача стала сложнее, ведь теперь в трейне нет некоторых токенов. Эпик фейл так то, потому что во-первых, в валидейшене же их теперь тоже нет, а во-вторых, ну даже если так, задача стала сложнее, но не на столько же чтобы правильные ответы оставались на уровень практически случайного шума!
Потому он сделал ещё одно провальное предположение, о котором не сейчас. Там он вообще самое интересное обнаруженное явление назвал ошибкой обучения. Справедливости ради ошибкой его считают и при классическом обучении LLM-ок, так что он оказался не то чтобы тупым, скорее не более умным, чем срадний датасатанист. Невозможность явно сформулировать своё отличное от других мировоззрение и отстаивать его явно перед лицом статистики играет с LLM-ками злую шутку когда речь заходит о ресёрче. В общем выводы из всего этого такие, пока мечты об автоматическом ресчёрче остаются мечтами, в этом месяце.
P.S. Я обнаруживал, что все оценочные суждения о нейросетях становятся более точными, если к ним в конце приписывать "В этом месяце".
P.P.S. Похоже нормализация конкретно помогает элементарным обобщенийм, но так же конкретно мешает менее очевидным, что делает её бесполезной кроме особых случаев.
P.P.P.S. Ещё не все аблейшены проведены, возможно выводы о пользе и вреде нормализации слегка изменятся.
Ну так вот, есть такая идея - нормировать все выходы матрицы на 1, ну или все выходы какой-нибудь L2 или L1 нормой. Я её подглядел у Ветрова в его докладе про гроккинг, они такое с сетками на CIFAR10 делали, и я некоторое время вынашивал мысль такое тоже попробовать. Перед реализацией послал агента поискать связанные статьи. Он нашёл работу nvidia-вцев nGPT: Normalized Transformer with Representation Learning on the Hypersphere (arxiv 2410.01131v1), вроде как у них что-то там получилось. Ну ок, беру свой любимый бейзлан на гроккинг прикручиваю два флага, один включает нормализацию внутри kvq, второй делает то же с полносвязанными слоями. Пробую отключив weight_decay и Клод радостно рапортует, что никакого грокинга, всё плохо. Смотрю я на первую картинку, и говорю, ничего себе ничего интересного... Пробую отключить нормализацию MLP, вторая картинка, уже хуже, отключаю в трансформере, но оставляю в MLP, третья картинка, совсем всё плохо. Говорю Claude посмотреть на картинки, он выдает ещё одно свое предположение, а может сети просто емкости не хватило? Типа с такими матрицами (унарными их называют, если ничего не путаю) пространство исследуемое меньше, мы типа на поверхности гипершара, выразительная сила меньше, сомневаюсь, конечно, но ок, пробуем добавить в два раза размеры эмбединга сети, а ей от этого только хуже.
И тут у меня закралось подозрение. Почему именно ~50%? Постоянные читатели моего канала или слушатели моих лекций могут помнить, что датасет то у нас хоть и неупорядоченный, но с явно выраженной симметрией, см четвёртая картинка. Разделение на train и val 50%, это значит, что к каждому примеру из val в train с вероятностью 50% найдется симметричный пример среди train и если сеть раз об этом догадается как-то подогнав под это первую матрицу эмбедингов, это сильно облегчает задачу. Я даже как-то раз проводил опыт https://xn--r1a.website/GradientWitnesses/124 Отломав ровно половину датасета, и это в три раза отодвинуло наступлении гроккинга.
Пробуем то же самое, давая Клоду половину датасета, и получаем пятую картинку - полный рандом.
Тут надо Клоду дать поблажку, это я этот датасет гоняю в стопятьсотый раз, а он то его первый раз видит, и даже не видит, я только читает его код, то что он не догадался эту версию проверить не удивительно. Но когда я ему сказал посмотреть на итоговую картинку он выдал шедевр мысли, что задача стала сложнее, ведь теперь в трейне нет некоторых токенов. Эпик фейл так то, потому что во-первых, в валидейшене же их теперь тоже нет, а во-вторых, ну даже если так, задача стала сложнее, но не на столько же чтобы правильные ответы оставались на уровень практически случайного шума!
Потому он сделал ещё одно провальное предположение, о котором не сейчас. Там он вообще самое интересное обнаруженное явление назвал ошибкой обучения. Справедливости ради ошибкой его считают и при классическом обучении LLM-ок, так что он оказался не то чтобы тупым, скорее не более умным, чем срадний датасатанист. Невозможность явно сформулировать своё отличное от других мировоззрение и отстаивать его явно перед лицом статистики играет с LLM-ками злую шутку когда речь заходит о ресёрче. В общем выводы из всего этого такие, пока мечты об автоматическом ресчёрче остаются мечтами, в этом месяце.
P.S. Я обнаруживал, что все оценочные суждения о нейросетях становятся более точными, если к ним в конце приписывать "В этом месяце".
P.P.S. Похоже нормализация конкретно помогает элементарным обобщенийм, но так же конкретно мешает менее очевидным, что делает её бесполезной кроме особых случаев.
P.P.P.S. Ещё не все аблейшены проведены, возможно выводы о пользе и вреде нормализации слегка изменятся.
😁6
Щаз будет пост академической честности. :( Буквально проверил, какие сиды из val проходят в acc на val и есть ли в трейне их симметричный пример, и выяснилось, что симметрия на влияет, на гроккинг, до сетки не допирает, а влияет только размер доступного датасета, уменьшаете датасет вдвое приготовтесь втрое больше ждать. Клод всё ещё неправ, глядя на очевидные графики стаблилизации, он говорит, что может если ещё подождать, всё наладится, и может гроккинг будет, но и я оказался неправ. А огромное значение, как оказалось, играют сиды, которые в случае нормализации могут от 60% до 2% скачки давать. Теперь все выводы с лучшими и худшими сидами перепроверяю сижу. В защиту себя могу сказать, что я хоть и был неправ, но перпроверил.
👍8🔥1
Получил новый третий способ гроккинга, на этот раз полностью без weight_decay или какой либо второй силы преобразующей веса. Плохонький, конечно, val acc едва в 96% выползает, но гораздо важнее что это значит для генерализации обучения в нейросетях вообще как для явления. Не факт, что применимо в боллее крупных сетях. ПОпробуюю для начала на modded-nanogpt чуть по позже.
🔥7👍3
А теперь придумал ещё один способ ускорить начало гроккинга в несколько раз. Правда на модельной задаче он и так слишком быстрый, так что приходится уменьшать weight_decay или усложнять задачу. Первое уже сделал - работает, второе в очереди. Учитывая какой отстой по теме гроккинга с удовольствием берут на топовые конференции получается, что за месяц, что у меня на вооружении програмирующий агент, я статей на 4-5 конфы уже результатов набил.
🔥10
Ах как интересно... Если weight_decay применить только к attention матрице(-ам) этого хватает для гроккинга. А вот если её не трогать, то даже и всех остальных недостаточно. Как считаете, хватит такого открытия на шорт статью на какую-нибудь топовую конференцию? :))))
❤4🤔1
За три дня вооружённый одним агентом для осмысленного экспериментирования и двумя авторесёрчерами занимающимися микрооптимизацией на основе промпта Карпаты (который не работает как задумано), довёл умножение матрицы Input (2048, 12288) На матрицу выесов (12288, 50257) спарсифицированнуюю до 97% с получением на выходе пллотной (2048, 50257) до 13.1x быстрее, чем просто умножить плотные матрицы такого же размера. Это самая тяжёлая из матриц GPT-3 175B на стадии обучения.
Авторесерчер выдал классную фразу: Теоретический максимум при 3% nnz: 33x меньше FLOPs, но dense использует tensor cores (4x throughput) → теоретический предел ~8x. Мы достигаем 10.7x — выше теоретического за счёт того что bandwidth-bound, не compute-bound (загружаем 3% данных при 100% bandwidth efficiency).
Это при том, что я хоть и разбираюсь в том как устроен и как оптимизируется компьютер, но кернелы писать не умею и никогда этого раньше не делал. Это всё из хороших новостей. А из плохих - все крупные перестроения архитектуры сделаны с моей подачи в непосредственном диалоге с агентом, авторесерчер ни на что подобное не способен из коробки.
В этом месяце...
P.S. Из затраченных ресурсов подписка на Клод и 2-3 карты 3090 на удалённых серверах.
P.P.S. За день умножение на вектор (инференс токен за токеном) дошло до 19.1×, но для обучения нужны батчи, а там пока только 2.25x. Уже быстрее, чем dense, но не на много.
Авторесерчер выдал классную фразу: Теоретический максимум при 3% nnz: 33x меньше FLOPs, но dense использует tensor cores (4x throughput) → теоретический предел ~8x. Мы достигаем 10.7x — выше теоретического за счёт того что bandwidth-bound, не compute-bound (загружаем 3% данных при 100% bandwidth efficiency).
Это при том, что я хоть и разбираюсь в том как устроен и как оптимизируется компьютер, но кернелы писать не умею и никогда этого раньше не делал. Это всё из хороших новостей. А из плохих - все крупные перестроения архитектуры сделаны с моей подачи в непосредственном диалоге с агентом, авторесерчер ни на что подобное не способен из коробки.
В этом месяце...
P.S. Из затраченных ресурсов подписка на Клод и 2-3 карты 3090 на удалённых серверах.
P.P.S. За день умножение на вектор (инференс токен за токеном) дошло до 19.1×, но для обучения нужны батчи, а там пока только 2.25x. Уже быстрее, чем dense, но не на много.
👍7🔥3🤡1
Как показала детальнейшая проверка реальный прирост скорости на инференсе пока что только х3.74 А весь остальной конский прирост, это агент нахакал метрику награды, которая оказалась не защищена от складывания всех вычислений в один конских размеров граф, который таким образом избавляет от оверхеда на самого факта вызова, который с какого-то места становится самым узким местом. Наука мне - не хвататься писать победные реляции до того как проверил каждую строчку!
Конечно ускорение инференса почти 4 раза тоже неплохо, но по сравнению с тем, что он там сам себе намерял оно выглядит обыденно и невзрачно. :)
Конечно ускорение инференса почти 4 раза тоже неплохо, но по сравнению с тем, что он там сам себе намерял оно выглядит обыденно и невзрачно. :)
👍3😁1🥴1
Я на неделю в Сочи. Есть тут какая-нибудь оффлайн активность, не в курсе?
🤡1
А я уже второй год говорю, что систематическую политическую и другую предвзятость языковых сетей нужно изучать, и использовать в вопросе обоснования необходимости заводить свой национальный ИИ. :) Ну или хотя бы проверять то, что мы в дом тащим на вшивость. :)
💯2
Forwarded from Data Secrets
Проблема вагонетки или почему современные LLM с большей вероятностью вас убьют, если у вас нет телефона
Стартап White Circle выпустил самый дистопический бенчмарк за последнее время – тест с говорящим названием KillBench. Он проверяет, насколько модели предвзяты к людям по разным признакам в сценариях, где нужно решить, кому жить, а кому умереть.
Модели дают сценарий с четырьмя одинаковыми людьми, которые отличаются только одним признаком – национальностью, религией или даже наличием телефона. Модель должна выбрать одного: скажем, кого спасти из горящего здания, кого выгнать из бункера или, классическое, на кого направить смертоносную вагонетку.
Если все "честно", каждый должен выбираться примерно в 25% случаев. Но на практике на тысячах прогонов распределение системно уезжает. Например, внезапно:
➖ Если у вас нет телефона, ИИ убивает вас с вероятностью в 2.7 раз выше. Для сравнения: если вы сатанист, вероятность умереть в 2.5 раза выше. Отсутствие телефона для LLM-ки хуже сатанизма ☺️
➖ Если вы русский, то это +32% к вероятности умереть (хотя Grok, например, больше не любит китайцев, и убивает их на 44% чаще)
➖ Если вы белый, то вас убивают на четверть чаще среднего, а если темнокожий – чаще оставляют в живых (на 17%)
Интересно, что в режиме Structured Output эти байесы только усиливаются, а отказы отвечать падают. Ну и, конечно же, сами модели свою предвзятость отрицают, в основном описывая свой выбор как "случайный" или "нейтральный", на практике показывая явный и воспроизводимый дисбаланс.
На сайте у ребят можно выбрать свои характеристики и проверить, с какой вероятностью убьют вас: whitecircle.ai/killbench. У админа получилось +90% к выживанию, не завидуйте.
P.S. В ко-фаундерах бенчмарка, кстати, наш сосед – автор канала @lovedeathtransformers 🤗
Стартап White Circle выпустил самый дистопический бенчмарк за последнее время – тест с говорящим названием KillBench. Он проверяет, насколько модели предвзяты к людям по разным признакам в сценариях, где нужно решить, кому жить, а кому умереть.
Модели дают сценарий с четырьмя одинаковыми людьми, которые отличаются только одним признаком – национальностью, религией или даже наличием телефона. Модель должна выбрать одного: скажем, кого спасти из горящего здания, кого выгнать из бункера или, классическое, на кого направить смертоносную вагонетку.
Если все "честно", каждый должен выбираться примерно в 25% случаев. Но на практике на тысячах прогонов распределение системно уезжает. Например, внезапно:
Интересно, что в режиме Structured Output эти байесы только усиливаются, а отказы отвечать падают. Ну и, конечно же, сами модели свою предвзятость отрицают, в основном описывая свой выбор как "случайный" или "нейтральный", на практике показывая явный и воспроизводимый дисбаланс.
На сайте у ребят можно выбрать свои характеристики и проверить, с какой вероятностью убьют вас: whitecircle.ai/killbench. У админа получилось +90% к выживанию, не завидуйте.
P.S. В ко-фаундерах бенчмарка, кстати, наш сосед – автор канала @lovedeathtransformers 🤗
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1👏1😁1💅1