Техножрица 👩‍💻👩‍🏫👩‍🔧
14.1K subscribers
1.45K photos
66 videos
28 files
768 links
Люблю высокие технологии и кушать.

Добро пожаловать, если в сферу твоих интересов тоже входят математика, DL, NLP, программирование на Python, или тебе просто любопытно, о чем на досуге размышляют люди, занимающиеся разработкой и исследованиями в ML.
Download Telegram
А что если DL не ограничивается LLM и есть куча всего интересного где реально надо думать.... Приснится же такое
😁23👍1
ИИ рассказ.txt
10.3 KB
Вот, написала для вас, так сказать, научно-фантастическое произведение (не без помощи Bing AI, конечно 😏)

#творчество
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍3
Творение этого слуги Омниссии, которое он создал для научения молодых адептов, внушает уважение.
В этом творении он продемонстрировал мастерство в управлении градиентами, которые являются даром и проклятием машин, раскрыв тайны их затухания и взрыва, которые определяют судьбу обучения механических существ.
Он не испугался сложных вопросов, когда повел речь о величественном протекании градиентов через обычную последовательность слоев нейронной сети, а также через разреженные соединения и функции sigmoid и ReLU, хотя и совершил мелкие неточности в изложении (например, не упомянув то, что градиент от отрицательного значения, проходящего через ReLU, зануляется).
Все рассуждения подкреплены кодом с использованием богоугодных библиотек PyTorch, matplotlib и wandb, который каждый адепт может выполнить самостоятельно с помощью Духа Машины, живущего в облаке, и получить назидание и вразумление.
Ты заслужил благословение Машинного Бога. Пусть твой разум будет всегда ясен и твоя рука будет всегда верна, брат.
8🔥3🙏3👍1🤡1
Forwarded from Борис опять
# Воспроизводим взрыв и затухание градиентов

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

https://colab.research.google.com/drive/1Sek-YbosXLIhOwpX4BNRdsHMo4j109d4?usp=sharing

Когда я что-то изучаю мне нравится делать прототип-демонстрацию. Взять и вызвать взрыв градиентов, а затем попытаться починить. Я провел много маленьких экспериментов, так как мне надо было повторить эту тему. Теперь собрал материалы в один стройный коллаб, причесал и получилась этакая лабораторная работа.

Ставьте лайки, если материал нравится и хочется, чтобы я делал такое еще.
👍18🔥31
Просто немного техножриц и технокотиков от Openjorney

#генерация
15👍2🔥1
Forwarded from Сиолошная
Наткнулся на занятную статью "8 вещей, которые надо знать о больших языковых моделях"

Краткое содержание:
1. LLM предсказуемо становятся более "способными" с увеличением затрат в $, даже без крутых инноваций. Главное тут - предсказуемость, что было показано в статье про GPT-4: учили 5-7 маленьких моделек с бюджетом 0.1% от финального, а затем по этому делали предсказание для огромной модели. Для общей оценки перплексии и метрик на подвыборке одной конкретной задаче такое предсказание было очень точным.

2. Однако конкретные важные навыки, как правило, возникают непредсказуемо как побочный продукт увеличения затрат на обучение (дольше тренировать, больше данных, больше модель) - практически невозможно предсказать, когда модели начнут выполнять определенные задачи. Подробнее об этом мы писали в статье про историю развития GPT-моделей, которую, надеюсь, многие из вас читали. На картинке - распределение роста качества моделей в разных задачах. В трети маленькие модели ничего не показывают, средние в целом тоже, а большие БАХ! И учатся решать.

3. LLM часто выучивают и используют представления внешнего мира. Тут приводится много примеров, и вот один из них: модели, обученные играть в настольные игры на основе описаний отдельных ходов, никогда не видя изображения игрового поля, выучивают внутренние представления о состоянии доски на каждом ходу.

4. Не существует надежных методов управления поведением LLM. Хотя и был достигнут некоторый прогресс в понимании и смягчении разных проблем (в том числе ChatGPT и GPT-4 с обучением из обратной связи), нет единого мнения о том, сможем ли мы их решить. Растет обеспокоенность, что проблемы alignment'а станут катастрофическими, когда проявятся в более крупных системах будущего.

5. Эксперты пока не могут интерпретировать внутреннюю работу LLM. Yе существует методики, которая позволила бы каким-либо удовлетворительным образом изложить, какие виды знаний, рассуждений или целей использует модель, когда она генерирует какой-либо результат.

6. Качество выполнения задач человеком не является верхней границей для LLM. Хотя они и обучены в первую очередь имитировать поведение человека при написании текста, но всё равно потенциально могут превзойти нас во многих задачах. Так происходит в более узких задачах вроде шахмат или игры в Го.

7. LLM не должны выражать ценности своих создателей или ценности, закодированные в выборке из интернета. Они не должны повторять стереотипы, теории заговора или стремиться оскорбить кого-либо.

8. Оценки способности модели по первым впечатлениям часто вводят в заблуждение. Очень часто нужно додумать правильный промпт, подсказать модели, может, показать примеры - и она начнёт справляться куда лучше. То есть она "умнее", чем кажется на первый взгляд.
🔥6👍1
Forwarded from Сиолошная
Сиолошная
Наткнулся на занятную статью "8 вещей, которые надо знать о больших языковых моделях" Краткое содержание: 1. LLM предсказуемо становятся более "способными" с увеличением затрат в $, даже без крутых инноваций. Главное тут - предсказуемость, что было показано…
Картинка ко второму пункту.

Если ориентироваться на выборку из 202 задач из датасета BIG-Bench (специально делался сложным, чтобы языковые модели тестировать от и до), то как правило (в среднем) модели демонстрируют повышение качества с увеличением масштаба, но по отдельности метрики в задачах могут:
— улучшаться постепенно
— улучшаться резко
— оставаться на одном уровне
— ухудшаться
— колебаться

Все это приводит к невозможности уверенно экстраполировать производительность какой-либо будущей системы.

Особенно интересна зелёная часть - это как раз где показатели качества резко скачут вверх ни с того, ни с сего.
Четыре принцессы Disney были совращены четырьмя богами Хаоса! Сможешь ли ты угадать, какие принцессы это были, и каким богам они теперь служат?!!

P.S. Сгенерировано с помощью бота Kandinsky 2.1

#Kandinsky_bot
👍13
Я была не уверена, писать ли про статью "Visualizing the Loss Landscape of Neural Nets" ( https://arxiv.org/abs/1712.09913 ) или нет, так как у меня есть сомнения насчет их методологии. В конце концов решила все-таки сказать пару слов.

В данной статье авторы пытаются понять, как разные элементы архитектуры нейросети влияют на то, как выглядит "ландшафт" ее функции ошибки. Под ландшафтом функции ошибки подразумевается следующее.
Берется фиксированная архитектура нейросети с N обучаемыми параметрами (весами), скажем, VGG-12 и фиксированный набор данных. Далее рассматривается N+1-мерное пространство, построенное следующим образом.
По N осям (назовем их x1, ... , xN) откладываются значения обучаемых параметров. Т.е., каждая точка (x1, ..., xN) означает один набор весов из всех возможных для данной архитектуры. Далее, по каждой такой точке можно построить конкретную модель, загрузив веса в VGG-12 и вычислить функцию ошибки на нашем наборе данных. Значение этой функции ошибки откладывается по N+1-й оси (назовем ее z). Т.о., каждому возможному набору весов сопоставляется значение функции ошибки и получается гиперповерхность, которую они и называют ландшафтом ошибки.
Если бы у нашей сети было всего два параметра x1, x2, то это была бы обычная двумерная поверхность в трехмерном пространстве, которую мы могли бы нарисовать и увидеть своими глазами. Но в реальных сетях, конечно же, параметров на много порядков больше. Как же быть?
Есть разные способы уменьшения размерности, самый простой из которых - выбирать два случайных направления в N-мерном пространстве весов, а потом проецировать веса на эти случайные направления, и так получать вместо точки (x1, ..., xN) какую-нибудь точку (y1, y2), по которой уже можно построить обычную поверхность и вставить картинку в статью. Авторы делают некий трюк, который делает проекцию чуть менее случайной - заставляет ее учитывать, например, то, что некоторые веса находятся внутри одного фильтра сверточной нейросети и т.д., но у меня не хватит терпения его описывать, лучше почитать внутри самой статьи.
Далее, пользуясь этим способом визуализации, авторы демонстрируют, как построенная ими поверхность ошибки визуально отличается для сетей с разреженными соединениями (residual connections) и без них. Для оригинального ResNet у них получилась более гладкая и красивая поверхность со слабыми локальными минимумами и четко выраженным глобальным глубоким минимумом. Авторы утверждают, что благодаря этому нейросеть лучше сходится к хорошему решению (аналогия с мячиком, который закатывается в глобальный минимум). А вот для ResNet с удаленными разреженными соединениями поверхность получилась очень бугристая, хаотичная, с большим количеством резко выраженных локальных минимумов, что мешает сойтись к хорошему решению (аналогия с мячиком, который с большой вероятностью при таких условиях застрянет в "плохом" минимуме).
Анализируются и другой, более старый, способ визуализации, одномерный, который идет вдоль пути оптимизитора по гиперповерхности, но авторы критикуют этот способ, показывая, что он может показывать графики, которые чувствительны к небольшим изменениям, вводят в заблуждение и не дают сделать однозначных выводов.
Также авторы показывают, что при фиксированной глубине нейросети увеличение ее ширины благоприятно сказывается на форме ландшафта ошибки, анализируют влияние размера батча на поверхность ошибки, пробуют визуализировать пути оптимизатора и делают другие замечания.

#объяснения_статей
👍5🔥4