Шрифт:
Интервал:
Закладка:
Вообще концепция, сочетающая предобучение при помощи методов самообучения [self-supervised learning] с последующим дообучением под целевую [downstream] задачу стала наиболее популярным способом применения больших трансформерных моделей. Для предобучения обычно привлекаются огромные массивы информации (чаще всего собранной в интернете) и гигантские вычислительные мощности. Обучение модели решению задач вроде предсказания следующего токена приводит к тому, что в её весах находят отражение особенности структуры данных, их внутренних взаимосвязей. Например, в свёрточной сети, обученной распознавать котиков на фотографиях, можно обнаружить нейроны, активирующиеся при наличии глаз на предъявленной картинке. Аналогично большая трансформерная модель, обученная предсказывать продолжение текста, скорее всего, будет содержать нейроны, активация которых будет происходить при упоминании в тексте существа с глазами: ведь такой нейрон может быть полезен, чтобы угадать — может ли в продолжении текста быть сказано, что существо зажмурилось, моргнуло или увидело что-либо. Выученные моделью на этапе предобучения представления (абстракции, аналогии) могут быть успешно переиспользованы при решении самых разных задач. Если целевой задачей модели является определение, встречается ли в тексте упоминание рыжих пушистых существ с глазами, то на этапе дообучения сеть сможет связать между собой активации «нейронов глазастости», «нейронов рыжести» и «нейронов пушистости». При этом вам не нужна будет огромная обучающая выборка с положительными и отрицательными примерами, благодаря тому что при дообучении сеть будет опираться на уже имеющиеся у неё представления. Это напоминает процесс обучения людей, когда в ходе детских игр, школьных и институтских занятий да и в целом в процессе ежедневного взаимодействия с окружающим миром мы формируем представления о нём, которые потом успешно переиспользуем, сталкиваясь с различными жизненными задачами. Фактически, обучаясь предсказывать продолжение огромного количества самых разнообразных текстовых фрагментов, модель формирует в своих синаптических весах своеобразную статистическую картину мира: набор вероятностных распределений, отражающих сведения о различных объектах и явлениях, их свойствах и взаимосвязях.
На что же способны такие гигантские модели[2536], как GPT-2-xlarge? Эта модель установила новые SOTA-результаты для семи из восьми использованных для тестов текстовых корпусов без какого-либо дообучения.
Итак, у авторов в руках оказалась мощная модель, способная оценивать для каждого токена из словаря вероятность того, что именно этот токен будет продолжением некоторой последовательности. Как можно использовать её для генерации самой последовательности? Казалось бы, достаточно на каждом шаге генерации просто выбирать наиболее вероятный с точки зрения модели токен. Такой подход называют жадным [greedy]. Проблема жадного подхода заключается в том же, в чём заключается проблема жадности вообще. В моменте он позволяет максимизировать результат, но на более длинном промежутке времени может привести к далеко не оптимальному итогу. То есть «схватившись» за наиболее вероятный токен на первом шаге генерации, такой метод может столкнуться с тем, что на следующем шаге у него не будет хороших кандидатов, в результате чего вся последовательность окажется не такой хорошей, как в случае, когда выбор первого токена был бы не таким жадным. Другой крайностью по отношению к жадному методу является метод полного перебора. Мы можем рассмотреть все варианты первого токена генерируемой последовательности, для каждого из них, в свою очередь, рассмотреть все варианты второго токена и так далее. В теории такой метод может позволить нам найти самое вероятное продолжение последовательности, однако на практике вычислительные затраты в случае более-менее длинной последовательности будут неприемлемыми. Действительно, если мы генерируем последовательность из одного токена, то нам необходимо будет изучить около 50 000 вариантов (по одному варианту на каждый токен в словаре), для двух — 50 000 × 50 000, то есть 2,5 млрд и так далее. Разумным компромиссом между этими двумя подходами являются методы, которые на каждом шаге генерации каким-либо образом ограничивают количество рассматриваемых вариантов. Например, если на каждом шаге мы будем оставлять только N наиболее перспективных вариантов, то на каждом шаге генерации нам потребуется рассмотреть лишь N × 50 000 возможностей. То есть мы на первом шаге рассматриваем 50 000 вариантов, оставляем из них N лучших, затем смотрим для каждого из них 50 000 возможных продолжений, оставляем из полученных последовательностей из двух токенов N лучших и так далее. Такой метод называется методом лучевого поиска [beam search]. Он получил такое название, потому что, подобно лучу прожектора, выхватывает из гигантского поискового дерева небольшую его часть, при этом число N называется шириной луча. Существуют и другие, более сложные алгоритмы поиска, в которых число вариантов на каждом шаге генерации не фиксировано. К их числу относится, например, ядерное семплирование [nucleus sampling][2537], применяемое во многих современных реализациях GPT-2.
Давайте посмотрим на образец «творчества» GPT-2, приводимый авторами оригинального исследования.
«Затравка» (текст, написанный человеком, в качестве начала генерируемой истории):
Шокирующим открытием стало обнаружение учёным стада единорогов, живущих в отдалённой, ранее не исследованной долине, в Андах. Ещё более удивительным для исследователей стало то, что единороги прекрасно говорили по-английски. [In a shocking finding, scientist discovered a herd of unicorns living in a remote, previously unexplored valley, in the Andes Mountains. Even more surprising to the researchers was the fact that the unicorns spoke perfect English.]
Продолжение текста от GPT-2:
Учёный назвал популяцию в честь их характерного рога единорогами Овидия. Эти серебристо-белые единороги с четырьмя рогами были ранее неизвестны науке.
Теперь, спустя почти два столетия, тайна того, что вызвало это странное явление, наконец разгадана.
Доктор Хорхе Перес, биолог-эволюционист из Университета Ла-Паса, и несколько его компаньонов исследовали Анды, когда обнаружили небольшую долину, в которой не было других животных или людей. Перес заметил, что в долине бил естественный фонтан, окружённый двумя пиками из камня и серебряного снега.
Затем Перес и остальные спустились дальше в долину. «К тому времени, когда мы достигли вершины одного пика, вода стала голубой, а сверху обнаружилось несколько кристаллов», — сказал Перес.
Перес и его друзья были поражены, увидев стадо единорогов. Этих существ можно было разглядеть с воздуха без особого труда — они были так близко, что можно было коснуться их рогов.
Исследуя этих странных существ, учёные обнаружили, что эти существа также говорят на довольно распространённой версии английского языка. Перес заявил: «Например, мы видим, что у них общий „язык“, что-то вроде диалекта или диалектики».
Доктор Перес полагает, что единороги, возможно, происходят из Аргентины, где эти животные считались потомками потерянной человеческой расы, которая обитала там до прибытия людей в эти части Южной Америки.
Хотя их происхождение до сих пор неясно, некоторые полагают, что, возможно, существа были созданы, когда человек и единорог встретились друг с другом во времена, предшествовавшие человеческой цивилизации. По словам Переса, «в Южной Америке подобные инциденты встречаются