Свидетели Градиента
668 subscribers
180 photos
32 files
78 links
Этот канал предназначен для общения и обсуждений среди тех, кто как и я, хочет видеть что происходит под капотом у нейросетей, и старается развивать интуицию об их природе и свойствах.

Для связи: @kraidiky
Download Telegram
Обнаружил в корпусе автора, опубликовавшего единолично 8 стьатей по теме, 4 в феврале этого года, три в апреле, и ещё одна в мае, а потом автора, видимо, начались каникулы...
При втягивании статей в корпус в них автоматически обнаружилось по 6-8 внутренних несоответствий, но код репозиторий выложен, и по карайней мере часть результатов кажется хоть и проходными но реальными. Страшновато смотреть в новое лицо ресёрча. :))))

P.S. Если у вас нет 8 препринтов до мая, возможно вы отстали от жизни? А уж как я отстал, со своей прекрёстной проверкой и выверением фактов...
Что вы знаете об унижении...

Я всегда являлся и являюсь сторонником точки зрения, что человек, берущийся руководить чем-то размером больше скворечника должен в прошлом быть скворцом, хотя бы чуть-чуть. Потому что когда менеджерить берутся люди, которые линейными сотрудниками по этой теме ни дня не были, получается вот именно то, что мы видим вокруг. И вот занесла меня нелёгкая на собеседование на котором мне предложили руками без агентов сделать несложную задачку на чтение-запись файлов из потоков асинхронно в некое хранилище на питоне с частью функций синхронной и ограниченной памятью. Для человека, который каждый день сервера пишет это, скорее всего уже на уровне рефлексов. Очень богатая гамма чувств, весьма смешанных. С одной стороны ты себя чувствуешь человеком, которому на собеседовании на роль создателя игр выжживачей дали камень, деверво, и бечёвку с задачей создать каменный топор и срубить им это же дерево, на скорость, желательно. Чрезвычайно поучительно. С другой публичное унижение под запись. С третей даже и не ощущаешь на сколько быстро теряются даже те крохи навыков, которые у тебя были в эпоху ассемблера, и добывания огня трением. Без инструментов и расширителей сознания, хотя бы в виде чатботов, ощущаешь легкую абстиненцию, даже немного не лёгкую. Словно тебе руки поотрубали...
🤝11😁6🤗1
Есть туча хорошо теоретически и эмпирически обоснованных работ (включая мою находящуюся в работе), утверждающих, что оптимальную скорость можно нащупать экспериментируя с разннобразными внутрисетевыми метриками. Практически предалгали использовать годов с 80-ых, а теоретический базис создан начиная со статей 1955-ого года. Интересно, что у modded-nanogpt - мирового чемпиона по скорости обучения на одной эпохе, эти метрики зашкаливающе далеко сидят в области "Слишком большая скорость, угроза коллапса модели".
🔥5💯1👀1
Не успел я начать жаловаться, что антропиковская модель отупела до предела, и ещё чуть-чуть за него, как выехала новость, что выходит новая Сонет 5.5, похоже можно расслабиться, пока она не выйдет окончательно работать, по всей видимости, не получится.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
По резульатам голосования был выбран кодекс, а в качестве резерва в ближайшее время куплю GLM. А Space Bunny Alpha показала себя хорошей посадочной площадкой на слчай варии, но раза в три снижает мою скорость, потму что с дебагингом на предложенных задачах в двух случаях из 4 закопалась, и постоянно понимает не так, как я сказал. Sol в резульатте обе ошибки исправил за один прозод даже без диагностических запусков и логов. Снчала я посмотрел с какой скорстью вылетает лимит токенов недельный, и мне взгрустнулось. Потом вроде стало получше, потом я уезжая на весь день отправил его выкачивать на локаль все известные человечеству неорганические реакции, когда вернулся скачано было около 800К примерно, и половина недельного лимита. КОроче надо бы мне быть поскромнее. :) Пока полёт нормальный кодекс сильно более въхедливо соблюдает мои инструкции в навыках.
👍2
Давненько я не выкладывал ресерча. А тут вот есть что показать. По нашим тяжёлым временам тянет на статью, но что-то мне подсказывает, что статьи в ближайшее время сильно девальвируются.

Навёл меня @import_sklearn на реально интересную статью. Её карточка уже в репозитории: https://github.com/kraidiky/grokking-conceptual-review/blob/main/papers/2609.07755.a-theoretical-analysis-of-generalization-dynamics-in-neural-networks-under-gradient-descent-with-weight-decay/2609.07755.a-theoretical-analysis-of-generalization-dynamics-in-neural-networks-under-gradient-descent-with-weight-decay.card.md и аналогичная карточка на английском в параллельном репозитории.

Авторы измеряют вариацию вокруг обучающих точек, то бишь сначала вносят во входные данные небольшой шум и смотрят на сколько сильно меняется при этом ответ. Ну и я такой, а чё, и правда интересно, на сколько там плоский и не крутой рельеф на самом деле. Поскольку у меня фиксированные токены заменил one hot encoding на здоровые float у которых главный сигнал стал вместо единички 0.95 и 0.9, а остальное перераспрееделено как постоянный шум по другим токенам, и посмотрел вариацию для логитов Но кроме 5 точек из трейновой выборки посмотрел в валидационной ещё 5 точек, на которые сеть успешно отвечает только к отметке 10%, 50% и 95%, чтобы посмотреть как ландшафт меняется для трейна, а как для вала в разных его частях. Фича стенда в том, что кроме традиционных способов гроккинга "Врубить weight_decay на максимум" и "просто долго ждать", есть ещё три способа получать гроккинг при которых weight_decay вообще 0, но они при этом быстрые (ну более или менее быстрые). Они там в статье строго доказывают, правда только очень примитивной архитекутры сети, что уплощение рельефа - прямое следствие weight_decay, Поэтому, соответственно интересно, а без него как все происходт. А вот так, как на картинке. Первое - бейзлайн, потом три моих способа. Послендний - пятый - просто долго ждать. Выложу застра, он ещё до вечера завтра считаться будет.

Видно, что уплощение рельефов в окрестностях учебных примеров действительно происходит, но оно же происходит и в окрестностях валидационных примеров после того как они взяты, причём если одни взяты, а другие ещё нет, то вокруг первых рельеф уплощается, причём на порядки, а вокруг вторых, которые сеть пока не осилила - ещё нет. Видно что уплощение вокруг треновых примеров не столько предшествует гроккингу, сколько просто следует за выучиванием, что само по себе очень интересно, на самом деле. Возможно это вообще некоторое фундаметнальное свойство глубокого обучения, которое мы, пока недопонимаем. Ну или только я пока не понимаю, Очень интересно, совершенно бесполезно. На будущее очень интересно, а когда мы учимся только на одной эпохе подобное уплощение тоже идёт? Желающие у кого под рукой есть безлайн обучения языковой сетки и куча вычмощностей могут попробовать проверить.
❤2👍1
Ну тогда вот вам более развлекательного контента...
Торкнуло меня сделать обучающий симулятор химии под VR. Всё на агентах, конечно же. И уже при добавлении в него
третьей или четвёртой реакции, найденной на первых страничках книжки "Химия для любознательных" кажется я копнул черезчур глубоко. :)))

P.S. Как вам, кстати, логотип симулятора в форме собачки? Кто понял тот понял. :)

Агент Астра: Я прочитал сохранённые материалы. Проблема нынешнего пути реальна, но из неё не следует, что подходящей двухучастниковой цепочки нет. Уже нашёл более содержательное начало.

В опубликованном исследовании реакции железа с водой рассчитаны такие последовательные шаги:

1. Fe + H₂O → HFeOH
2. HFeOH + H₂O → Fe(OH)₂ + H₂

В обоих шагах по два участника. HFeOH имеет структуру H–Fe–O–H: одна связь O–H воды разрывается, железо связывается с водородом и группой OH. Это определённый химический интермедиат, для которого выполнены квантово-химические расчёты.
Исследование первого шага (https://pubs.acs.org/doi/10.1021/ct200372y), исследование двухшагового процесса (https://pubs.acs.org/doi/10.1021/jp501846f).

Ограничение источника: работа рассматривает модели атома и поверхности железа, а экспериментальную часть — наночастицы в воде. Она обосновывает кандидатные шаги, но ещё не подтверждает весь механизм реакции раскалённого железа с паром.

Дальнейшее суммарное превращение гидроксида в магнетит можно записать:

3Fe(OH)₂ → Fe₃O₄ + H₂ + 2H₂O.

В той же работе образование магнетита наблюдали при последующем превращении гидроксида. Однако это суммарное уравнение ещё требуется разложить на подходящие нам шаги. Простое объединение двух гидроксидов в один условный «пакет» повторило бы
прежнюю ошибку.

Здесь вижу два направления:

• Через молекулярные интермедиаты HFeOH и Fe(OH)₂. Ближе к нашей текущей механике отдельных частиц; начало имеет научное основание. Остаётся обосновать дальнейшее образование связей Fe–O–Fe и выделение водорода.
• Через фрагмент поверхности железа. Вода последовательно распадается на связанные с поверхностью OH, H и O. Это ближе к природе реакции твёрдого железа, но потребует представлять такой фрагмент одним взаимодействующим объектом. Подобные стадии
изучены в расчётах окисления поверхности железа водой (https://journals.aps.org/prb/abstract/10.1103/PhysRevB.64.115426).

Для нашего справочника я бы сначала исследовал продолжение первого варианта. При этом неустойчивость Fe(OH)₂ не должна автоматически запрещать его как промежуточную частицу: нужно проверить образование, последующее превращение и условия, а не
требовать от каждого интермедиата устойчивости конечного продукта.
👍1🤯1
А пока суть да дело, досчитался гроккинг в режиме "просто подождём подольше", там уплощение рельефа тоже есть. То есть есть основания полагать, что нейросеть, даже если её учить безо всяких хитростей стремится уплощать рельеф функции в окрестностях как учебных примеров, так и валидационных, после того как она научается отвечать на них правильно.

Ещё раз более медленно - рельеф меняется у неросети в валидационных примерах которых она никогда не видело ПОСЛЕ ТОГО, как она научилась на них правильно отвечать.
UPD: А для случайных точек, не являющихся валидационной задачей рельеф не уплощается. То есть там где данные корректные происходит какой-то процесс, а там где некорректные - не происзордит...

Согласитесь, очень сильно отличается от того, что нам говорят когда на первом же занятии рассказывают о том, что такое переобучение. и обобщение.

Следующий логичный шаг - как ситуация там, посмотреть на полнобатчевое обучение, и посмотреть в пределах какой доли шума во входных джанных рельеф остаётся приблизщительно гладким.
🔥1