Как стать автором
Обновить

Комментарии 10

При генерации картинок для диффузионных моделей существуют LoRa - мини нейронки, которые применяются как "стили". Существуют ли такие для текстогенераторов? Например, написать "в стиле Гоголя". Т.е. не просто натренировать сеть на корпусе произведений Гоголя, но применить "стилистику" к большой модели при генерации текста.

Такие лоры есть, буквально так же и называются, LoRa. Однако нельзя просто взять и засунуть в него текст для обучения. Подготовка датасета тут куда более замороченная, чем разметка картинок. Понадобится немножко писать скрипты для подготовки и грамотно расписывать инструкции. Ну и требования к железу тут ещё жирнее.

Про железо это вы точно подметили, ещё как "пожирнее"), так как модели и данные могут быть огромными, поэтому будут нужны реально мощные компьютеры или доступ к большим сервакам.

Статья LoRA изначально была написана для трансформеров, и сейчас является самым популярным методом файнтюнинга LLM (больших языковых сетей)

Да, вы правы, LoRA помогает понять, какой вклад вносит каждый слой трансформера в вычисление результата модели, что позволяет оптимизировать процесс обучения и файнтюнинга. Этот метод приводит к высокой точности в задачах, которые связаны с обработкой естественного языка. И при этом не требуется огромное количество ресурсов.

Ещё можно добавить, что LoRA помогает избежать проблемы переобучения, которая часто возникает при файнтюнинге LLM. Это происходит потому, что LoRA оптимизирует только те слои модели, которые имеют наибольшее влияние на результат, а не все слои сразу.

К ответам на предыдущие комментарии добавлю, что да, есть способы создания текста в определенном стиле, подобные тому, как LoRa используются для стилей в изображениях. Эти методы помогают применить стиль к тексту, созданному LLM. Например, вы можете написать тот же текст "в стиле Гоголя", не просто обучив модель на его книгах, но и научив ее имитировать его уникальный способ письма. Тут действительно нужно будет заморочиться с подготовкой датасета, плюс этот процесс требует специальных приемов обработки данных и инструкций для модели. Ещё можно добавлять определенные маркеры или указания в процессе генерации текста, чтобы указать модели, какой стиль нужно эмулировать. Это и позволит создавать тексты, которые соответствуют требуемому стилю, даже если модель была обучена на разнообразных данных.

Самое интересное в истории с рекурентными сетями и трансформерами - это то, что математики так и не поняли, что делали не так и что сделали так.

20 лет развлекухи с рекурентостью было протрачено в предположении, что язык представляет собой последовательную конструкцию.

Однако для всех технарей, кроме тех, что пришли из математики и лингвистики, очевидно, что качеством последовательности обладает не сам язык, а лишь канал связи. Мы не можем передать целостный образ "наложением рук", мы вынуждены понижать его размерность, сериализировать его. Затем получатель, уже в своей голове, развернёт сериализированный пакет обратно в топологическую картинку.

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

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

Т.е., то, что фраза имеет пространственную топологию: начало, конец, близость и т.п. - это не шум. А вот то, что мы её принимаем постепенно - это шум, который только лишь мешает. Собственно, работы по RNN - это ни что иное, как попытка приоритетно обрабатывать этот самый шумовой компонент.

Благодарю за такой развернутый комментарий. Интересная мысль! Действительно, история с рекурентными сетями и трансформерами показывает, что понимание процесса обработки языка эволюционирует. Пришло осознание, что язык - это не просто последовательность слов, а сложная система коммуникации. Механизм внимания в трансформерах помогает увидеть текст целиком, без лишнего шума, и выделить смысловую ценность. В итоге, работа с трансформерами - это шаг вперед в понимании, как компьютеры могут обрабатывать язык на более глубоком уровне.

Интересная статья! Не знаю почему, но мало кто сейчас говорит о сути проблемы реккуретных нейронных сетей при объяснении архитектуры трансформер. Вся информация о входных данных в реккурентных нейронных сетях сохраняется в одном единственном векторе скрытого состояния - очевидно, что он физически не в состоянии сохранить всю входную информацию - проиходит ее потеря.

Архитектура трансформер же предлагает очень простое и логичное решение - хранить всю информацию целиком и позволить нейронной сети-декодеру в нужный момент самой забирать необходимую ей информацию по её усмотрению. Таким образом информация сохраняется в 100% объёме, а не сжимается в один вектор, как в случае с реккурентными нейронными сетями.

Спасибо! Дааа, трансформеры - это настоящий космос в нейросетях, особенно когда речь идет о обработке последовательностей данных. Они не просто хранят всю инфу и дают доступ к ней по запросу, но еще и могут параллельно обрабатывать данные, что просто круто, особенно когда дело касается больших объемов информации.

Еще трансформеры умеют не только с естественным языком работать, но и с другими вещами, типа CV (компьютерного зрения), но это уже ViT, музыкального анализа, создания изображений - короче, везде, где нужно разгребать данные)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории