Свидетели Градиента – Telegram
Свидетели Градиента
488 subscribers
128 photos
29 files
61 links
Этот канал предназначен для общения и обсуждений среди тех, кто как и я, хочет видеть что происходит под капотом у нейросетей, и старается развивать интуицию об их природе и свойствах.

Для связи: @kraidiky
Download Telegram
Минутка юмора...

По мнению валидационной выборки ImageNet из соревнования ImageNet Object Localization Challenge на этой фотографии изображено 14 маленьких факелов пламени.
😱7🥴3
image_2024-09-23_21-11-25.png
968.6 KB
Я сделал это! И результат расследования нифига не радует... tensor(0.7348) - Это уже в пределах особенностей декодера jpeg от желаемого 73.454

И теперь мне придётся пересчитывать все свои результаты ради того чтобы вернуть безупречность своим предыдущим данным и выводам.

Потому что чем для вас отличаются две вот эти картинки? На первый взгляд ничем, я, по крайней мере, на взгляд отличить не могу, даже с применением стереотехник, но они отличаются степенью сжатия jpeg-а, и MobileNetV4 классифицирует их по разному. И это всё, что нужно знать про устойчивость современных CV сетей...

P.S. Чуть не забыл у Телеграмма снять галочку "Сжать изображение", а то ещё и Телеграм бы досыпал своих артефактов в нашу и так безрадостную картину...
P.P.S. Справа: Линь - 0.8561, Осётр - 0.0645, Игуана - 0.0105, Слева: Осётр - 0.3995, Линь - 0.1318, Комодский варан - 0.1293
😱4👍2😢1
Подготовка данных как в лучших домах ландона и парижу...
Поскольку скомпрометирован оказался мой датасет, тащу себе домой официальнейший имиджнет скачаный отсюда: https://www.kaggle.com/c/imagenet-object-localization-challenge
Эпоха на четверть длиннее, но чем не пожертвуешь ради воспроизводимости. В какой-то момент пайплан ломается. Трачу пол дня чтобы понять в чём дело, оказывается, среди картинок присутствуют серые картинки с одним цветовым каналом. Прикиньте дебагать и исправлять ошибку когда каждый тестовый запуск занимает до часа времени. Ну ок, добавлю expand до трёх каналов. Запускаю, уезжаю. по делам. Возвращаюсь, опять всё лежит. На этот раз ломается NVIDIA-вский декодер JPEG-а в видеопамяти с невразумительной ошибкой. Опять обмазываюсь логами. Напоминаю, каждый тестовый запуск матожидание пол часа. Пофиг, втыкаю try и в случае exception-a гружу традиционным PIL-ом. Падает. Хотя не должно бы.Добавляем логов, выясняется, что у картинки 4 цветовых канала, "чё?" спрашивается в задачнике. Предположите в чём подвох прежде чем читать дальше.
.
.
.
.
.
Смотрим свойства, а там реально 4 канала. Расширение картинки JPEG, а внутри лежит PNG.

Вот, почему так ценятся хорошие бейзлайны, в которых уже всё худо-беджно работает. Если бы оно ещё не так медленно работало...
😁4👍1
О пользе двухсторонних логарифмических графиков, которые входят в библиотечку и о которых я буду рассказывать на на датафесте в Н-ске через две недели.

Здесь по горизонтали скорость обучения - lr, а по вертикали - как изменится loss и accuracy на валидейшене после одного единственного шага градиентного спуска на основе градиентов, вычисленных на всём ImageNet. Сеть - уже обученная MobileNetV4. Невооружённым взглядом виден диапазон скоростей, в котором сеть можно эффективно доучивать, видно, что скорость больше определённой разваливает сеть в клочья, и ещё одно малоизвестное явление - скорость ниже определённой так же портит loss. Я прадполагаю это потому что из-за дискретности float32 слишком малое изменение весов и-за неизбежных округлений создаёт шума больше пользы.

Все оси логарифмические, но на график искусственно прилеплен 0 и удобно отображаются как положительные так и отрицательные значения в одинаковом масштабе.
Единственное что плохо - из-за того же логарифмического масштаба требуется задумываться чтобы понимать на сколько на самом деле одно значение хуже другого.

Отдельное интересное - то на сколько loss портят слишком маленькие значения скорости. Но при обучении батчами такое явление не на столько явно себя проявляет.

Готовьтесь качать библиотечку и напихивать двусторонние логарифмические графики всюду. :) Здесь в канале она будет выложена несколько раньше феста.
🔥9👍1👀1
Быть зрячим лучше, чем просто знать правильный ответ. (с) Я

В продолжение предыдущего поста. Часто рекомендуют подирать гиперпараметры для обучения запуская полный цикл. Даже не учитывая того, что это безумно дорого, начнём с того, что на разных этапах обучения наиболее удачные параметры могут драматически, порой, на порядки отличаться. Самый простой пример, который я показывал на прошлом сибирском датафесте - если вы имеете какие-то проблемы с протеканием градиентов или вообще обобщениями на начальном этапе вам может потребоваться довольно большая скорость, но как только первоначальные проблемы преодолены оптимальная скорость оказывается ниже как минимум на порядок. Опять же скорость хорошо подходящая для среднего этапа где сеть имеет явно выраженный тренд к которому идёт, оказывается совершенно не подходящей для ситуации когда она оказывается мечащейся в лабиринте на поздних этапах. Возможный выход проверять скорость и иногда подправлять вручную. (Хотя Монашев (Multi-layer Parkinson) тут недавно полностью автоматически корректировал скорость на каждой эпохе похожим способом и добился результатов на которые я уже несколько месяцев медитирую).

Для этого можно прогонять не всё обучение, а только небольшой кусочек. Например, На первой картинке из прошлого поста всего 1/24 от всего имиджнета, а на картинках в этом посте вообще 1/120 файнтюна батчами, но картина более чем очевидна. Причём глядя на неё вы можете предпринять уже более длинные эксперименты, например на скоростях 5e-6, которая не сильно задевает accuracy но уже предсказуемо давит на loss или скорость 1е-4 на которой loss даёт уже практически максиммальное снижение, но в acc творится что-то нехорошее. Но есть ещё один хитрый трюк. Оптимальную скорость порой трудно обнаружить, на графике, потому что изменения уже микроскопические, но скорость на которой сеть разваливается всегда видна хорошо, и легко автоматически детектируется, даже в довольно экстримальных экспериментах. Например на второй картинке adamw(weight_decay=20) против 0.01 по умолчанию, и обычно оптимальная скорость находится от этой точки разрушения сети на примерно одинаковом расстоянии в 0.75-1 порядок. И никакая интуиция не подскажет вам на какой скорости сеть таким образом учить можно, а на какой уже нельзя.

P.S. Иногда можно специально повышать скорость до недобрых значений чтобы вызывать структурные перестроения в сети и получить эффект "отжига". Но даже в этом случае удобно видеть какая скорость на данном этапе обучения является скоростью разрушения и какая скоростью отжига.
5_Влад_Голощапов,_Чем_не_является_гроккинг,_демонстрирую_библиотечку.pptx
2.1 MB
ВНИМАНИЕ!!! Првильная ссылка на библиотечку: https://gitverse.ru/kraidiky/in_sight
Вечером перевыложу.

Отвыступался на Data Fest Siberia 2024. Записи обещали начать публиковать в обозримом будущем. Пока вот презентация битблиотечки. Пока я её на PyPi её корректно не выложил, так что пока пользоваться методом копирования папки in_sight в свой проект. Но скоро уже будет всё как в лучших домах ландона и парижу. Комментарии и особенно pull request-ы приветствуются.
9👍4👏1
Раньше был такой вариант в анкетах: знание английского со словарём.
Вот сейчас появилось новое: Знание чего угодно, например незнакомой операционной системы с чатгпт. Тоесть впринципе не знаешь, но с интеллектуальным советчиком и с пивом - потянет.
👍4🥴3💯1
6_Влад_Голощапов,_Умный_неструктурированный_прунинг_и_пределы_сжимаемости.pptx
1 MB
Ну, над библиотекой пока так и не поработал, но вот вам презенташка моего второго доклада, которую я забыл выложить сразу после мероприятия...
👍3
Чутка поменял интефейс TrajectoryProjector-а по заявким читателей библиотечки, и реализовал режим, когда матрица проецирования каждый раз генерится с нуля по сиду. Подходит для больших моделей, занимающих прорву памяти, но дёргать её надо не раз в батч, а реже, потому что оверхед на генерацию матрицы. Соответственно случайные колебания траектории будут казаться во столько же раз более плавными, во сколько реже станут вызовы.
👍1
Математика, это такая эвристика, позволяющая делать о нейросетях предположения более полезные чем случаные.
😁8💯1
https://youtu.be/N7Pbwn0qNWk?si=jp8Ya7TwCAQjVLUK&t=1542
Ну, кстати, да, когда я слышу про угрозу человечеству от искусственного интеллекта, то каждый раз хочется сказать, что есть вещи то, как бы, и по страшнее. И это далеко не ядерные бомбы. Правда меня уверяют со ссылками на статьи, что мозг в данный момент снова увеличивается. Хотелось бы на это надеяться, но ожидаем худшего.
Слушал по дороге на работу и с работы кодкаст ЛеКуна у Лекса Фридмана. Много интересного. И про алгоритм жапа (JAPA) и про внутренние представления, и про предиктивные сети как путь в светлое будущее, и про многое другое. В большинстве случаев я с ним согласен, и пришёл к тем же идеям и оценкам. Разница между нами в том, что я пришлё к пасконной мужицкой чуйкой, а он потратил на их развитие десяток или даже десятки лет и чудовищные фейсбучные бюджеты.
https://www.youtube.com/watch?v=5t1vTLU7s40
👍4😁4🤡2🤮1💩1
Там где ЛеКун начинает говорить про безопасность ИИ может показаться, что он несёт фигню, потому что в качестве примера он приводит Путина и явно в навязываемом пропагандой качестве. Но если вдумчиво послушать его, то вообще-то он говорит всё правильно. И предлагаемые и реально проводимые им меры по открытию знаний и моделей в опенсорс реально помогают нашей общей безопсности.
Надо только держать в голове, что страна аутсайдер, которая может, и уже пытается злоупотребить ИИ таим способом это США, а компании, которые могут попытаться злоупотребить контролем за инфраструктурой для ИИ это в том числе и его фейсбук, который уже ловили на попытках теневого бана мнений о вакцинах далеко за пределами фильтрации фриков. Но его компания и он лично долго и последовательно многое делает для того чтобы мы могли защищаться в том числе и от его и его компании.

Такой вот свой среди чужих. Отмечу, что Лекс Фридман видимо отлично понимает эту "фигуру умолчания" и видимо поэтому сиронизировал про ИИ с сильным русским акцентом. Он просто сам же тоже русскоязычный, и я подозреваю, что в его английском это могут заметить нэйтивы. Но не форсил тему, что было бы не очень уместно.
🤡5👍2🔥2🤔21💩1💊1
Кто-нибудь знает у кого чатгпт мог подглядеть этот пример? Ну то есть, я знаю зачем для bias-ов делать другую lr чем для остальной модели, но среди других людей тех, кто это понимает сам, не после прослушивания одного из моих докладов на этут тему я не встречал. Они наверняка есть, но видимо скрывают. :)

Так что если бы вы также сделали - и услышали эту идею не от меня - поделитесь откуда.
Говорят, время отведённое лидерам на то чтобы воспользоваться своим монопольным положением стремительно заканчивается. Если это правда, это очень хорошая новость для человечества, но не очень хорошая для капитализации всех, кроме разработчиков инфраструктуры.
3
Forwarded from Data Secrets
Американо-китайская комиссия по мониторингу экономики и безопасности дала конкрессу США двусмысленные рекомендации по поводу AGI

12 членов независимого совета в конце каждой осени публикуют отчет, в котором обозначают свои рекомендации конгрессу. В этом году первым же пунктом отчета оказалась фраза:

"Учредить и профинансировать подобную Манхэттенскому проекту программу, направленную на разработку и достижение AGI"


Фигурирование в тексте про ИИ упоминания проекта по военной разработке ядерного оружия, конечно, немного пугает, но интересно также, что Манхэттенский проект не в первый раз за последний месяц всплывает в медиапространстве ИИ-новостей. Недавно также были опубликованы письма из переписки Альтмана и Маска, в которых выясняется, что еще с 2015 года создание «Манхэттенского проекта для ИИ» – настоящая мечта Альтмана.

Есть ли тут связь?
🤔2
Ещё недавно об этом прямым текстом говорил только Дарио Амодеи (Anthropic) и вот мало по малу в своих тайных мечтах признаваться начали и другие лидеры.
Выложили записи моих докладов. Галопом, конечно, как обычно, зато много и от души.
https://www.youtube.com/watch?v=pmHkDKPg0WM
https://www.youtube.com/watch?v=Q8H5ijMxhlA
Если хотите лайкнуть, лучше репостните, а потом уже лайкайте. Если хотите сказать, что это полезно - лучше сначала попробуйте воспользоваться, и потом расскажите что получилось. Польза будет и вам и мне.
🔥10👍1🙏1
Встретившись с несколькими подписчиками своего канала на выходных, я с удивлением узнал, что свежевыложенных докладов они ещё не посмотрели.

Первый из двух докладов вы можете прямо буквально применять в своей работе прямо с сегодняшнего дня, скачав готовый код, или за максимум день воспроизвестми его по показанным там идеям. Не откладывйте апгрейд своих рабочих инструментов до когда-нибудь, начните прямо сейчас!
😁5👍1🔥1