Литмир - Электронная Библиотека
Содержание  
A
A

The Post notes that the denomination, which claims 12.5 million members, was in the early 20th century the “largest Protestant denomination in the U. S.,” but that it has been shrinking in recent decades. The new split will be the second in the churchs history. The first occurred in 1968, when roughly 10 percent of the denomination left to form the Evangelical United Brethren Church. The Post notes that the proposed split “comes at a critical time for the church, which has been losing members for years,” which has been “pushed toward the brink of a schism over the role of LGBTQ people in the church.” Gay marriage is not the only issue that has divided the church. In 2016, the denomination was split over ordination of transgender clergy, with the North Pacific regional conference voting to ban them from serving as clergy, and the South Pacific regional conference voting to allow them.]

GPT-3 оказалась способна не только генерировать тексты (в том числе стихи, шутки и литературные пародии), но и исправлять грамматические ошибки, вести диалоги и даже (ВНЕЗАПНО!) писать более-менее осмысленный программный код. Множество интересных применений GPT-3 можно найти на сайте независимого исследователя Гверна Бренуэна. Бренуэн, развивая идею, высказанную в шуточном твите Андрея Карпатого, задаётся интересным вопросом: не являемся ли мы свидетелями появления новой парадигмы программирования?

Вот текст исходного твита Карпатого: «Мне нравится идея Программного обеспечения 3.0 😂. Программирование переходит от подготовки датасетов к подготовке запросов, позволяющих системе метаобученияпонятьсуть задачи, которую она должна выполнить. ЛОЛ» [Love the idea for Software 3.0 😂. Programming moving from curating datasets to curating prompts to make the meta learner “get” the task its supposed to be doing. LOL][2569].

Развивая идею Карпатого, Бренуэн пишет:

Нейронная сеть GPT-3 настолько огромна с точки зрения мощности и набора [использованных для обучения] данных, что демонстрирует качественно иное поведение: вы не применяете её к фиксированному набору задач, представленных в обучающем датасете, что требует повторного обучения модели на дополнительных данных, если вы хотите решить новую задачу (именно так надо переучивать GPT-2); вместо этого вы взаимодействуете с моделью, выражая любую задачу в виде описаний, запросов и примеров на естественном языке, подстраивая текст затравки [prompt], подаваемой на вход модели, до тех пор, пока она не «поймёт» и не научится на метауровне решать новую задачу, основываясь на высокоуровневых абстракциях, которые она выучила во время предобучения. Это принципиально новый способ использования модели глубокого обучения, и его лучше рассматривать как новый вид программирования, где затравка теперь является «программой», которая программирует GPT-3 для выполнения новых задач. «Затравочное программирование» похоже не столько на обычное программирование, сколько на попытку научить суперинтеллектуального кота освоить новый трюк: вы можете попросить его выполнить трюк, и иногда он выполняет его идеально, что делает ещё более неприятной ситуацию, когда в ответ на запрос он сворачивается, чтобы вылизать свою задницу, при этом вы будете понимать, что проблема не в том, что он не может, а в том, что он не хочет[2570].

Заголовок статьи, рассказывающей о модели GPT-3, звучит следующим образом: «Языковые модели — ученики, способные учиться всего на нескольких примерах» (Language Models are Few-Shot Learners). Что в данном случае имеется в виду? Возьмём для примера следующий текст: «русский: яблоко, английский: apple; русский: кошка, английский: cat; русский: дерево, английский: tree; русский: стол, английский:» и используем его в качестве затравки для GPT-3. Какое продолжение сгенерирует модель? Очевидно, что разумным продолжением такого текста является слово table, являющееся переводом на английский язык русского слова «стол». Оказывается, что GPT-3 способна «понять» это и сгенерировать правильное продолжение текста, опираясь всего на несколько примеров, помещённых в затравку. Способ обучения модели на крайне малом количестве примеров принято обозначать термином few-shot learning (обучение всего на нескольких примерах). Правда, если подумать, то указание примеров в затравке сложно считать полноценным обучением (learning) модели, ввиду чего некоторые исследователи стали называть такой подход few-shot prompting (составление затравки или запроса, содержащего небольшое количество примеров) или просто «натаскивание» [priming].

Удивительно, но применение этого метода позволяет использовать модель для решения огромного количества интеллектуальных задач: нужно лишь сформулировать задачу в виде текста, состоящего из вопросов и ответов.

Конечно, многие задачи GPT-3 решить таким образом не может, но всё же полученные результаты стали серьёзным шагом в направлении создания универсальных систем искусственного интеллекта. Более того, модели, подобные GPT-3, способны решать некоторые задачи в ещё более экстремальных условиях: когда затравка и вовсе не содержит ни одного примера! Такой способ называется zero-shot learning (обучение при отсутствии примеров) или даже, если пожелаете, zero-shot prompting — то есть вы можете написать в затравке «русский: стол, английский:» и надеяться, что модель «догадается», что правильным продолжением будет table. Оказывается, что иногда и этот подход работает![2571]

Конечно, никто не мешает использовать для GPT-3 и классический для предобученных моделей подход, заключающийся в дообучении [fine-tuning] модели на целевых данных в течение ограниченного числа шагов и с небольшим значением параметра скорости обучения. Но в случае версий модели с достаточно большим числом параметров такой подход может оказаться вычислительно затратным, а иногда и вовсе невозможным в отсутствие дорогого специализированного оборудования. Возможным решением может стать обучение, затрагивающее не всё множество весов модели, а лишь их некоторую часть. Этого можно добиться путём «заморозки» части слоёв модели или использования адаптеров — новых нейросетевых блоков, вставляемых между слоями предобученной сети, веса которой при этом остаются неизменными[2572], [2573]. Именно на этом подходе основан популярный в наши дни метод LoRA (Low-Rank Adaptation, Низкоранговая адаптация)[2574].

Интересно, что иногда ограничение числа подстраиваемых в ходе дообучения параметров может приводить к улучшению результатов модели при решении целевой задачи. Например, авторы работы «Воспитайте ребёнка в большой языковой модели: на пути к эффективному и обобщаемому дообучению» [Raise a Child in Large Language Model: Towards Effective and Generalizable Fine-tuning][2575] разработали подход, позволяющий выбирать подсеть большой сети, наиболее важную для дообучения модели под конкретную задачу. Иногда специалисты в области машинного обучения предпочитают использовать и другие, более экономные, чем полноценное дообучение модели, методы, такие как ансамблирование [ensembling][2576], пробинг («зондирование») [probing][2577], [2578], [2579], [2580], заморозку слоёв [layer freezing][2581] или подстройку затравки [prompt tuning, prefix tuning, p-tuning][2582], [2583], [2584], [2585].

вернуться

2569

Karpathy A. (2020) / Twitter // https://twitter.com/karpathy/status/1273788774422441984

вернуться

2570

Branwen G. (2020). GPT-3 Creative Fiction // https://www.gwern.net/GPT-3

вернуться

2571

Reynolds L., McDonell K. (2021). Prompt Programming for Large Language Models: Beyond the Few-Shot Paradigm // https://arxiv.org/abs/2102.07350

вернуться

2572

Rebuffi S.-A., Bilen H., Vedaldi A. (2017). Learning multiple visual domains with residual adapters // https://arxiv.org/abs/1705.08045

вернуться

2573

Houlsby N., Giurgiu A., Jastrzebski S., Morrone B., de Laroussilhe Q., Gesmundo A., Attariyan M., Gelly S. (2019). Parameter-Efficient Transfer Learning for NLP // https://arxiv.org/abs/1902.00751

вернуться

2574

Hu E. J., Shen Y., Wallis P., Allen-Zhu Z., Li Y., Wang S., Wang L., Chen W. (2021). LoRA: Low-Rank Adaptation of Large Language Models // https://arxiv.org/abs/2106.09685

вернуться

2575

Xu R., Luo F., Zhang Z., Tan C., Chang B., Huang S., Huang F. (2021). Raise a Child in Large Language Model: Towards Effective and Generalizable Fine-tuning // https://arxiv.org/abs/2109.05687

вернуться

2576

Duan Z., Zhang H., Wang C., Wang Z., Chen B., Zhou M. (2021). EnsLM: Ensemble Language Model for Data Diversity by Semantic Clustering / Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing (Volume 1: Long Papers), pp. 2954—2967 // https://doi.org/10.18653/v1/2021.acl-long.230

вернуться

2577

Conneau A., Kruszewski G., Lample G., Barrault L., Baroni M. (2018). What you can cram into a single vector: Probing sentence embeddings for linguistic properties // https://arxiv.org/abs/1805.01070

вернуться

2578

Şahin G. G., Vania C., Kuznetsov I., Gurevych I. (2019). LINSPECTOR: Multilingual Probing Tasks for Word Representations // https://arxiv.org/abs/1903.09442

вернуться

2579

Kim N., Patel R., Poliak A., Wang A., Xia P., McCoy R. T., Tenney I., Ross A., Linzen T., Durme B. V., Bowman S. R., Pavlick E. (2019). Probing What Different NLP Tasks Teach Machines about Function Word Comprehension // https://arxiv.org/abs/1904.11544

вернуться

2580

Shi X., Padhi I., Knight K. (2016). Does String-Based Neural MT Learn Source Syntax? / Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing, pp. 1526—1534 // https://doi.org/10.18653/v1/D16-1159

вернуться

2581

Lee J., Tang R., Lin J. (2019). What Would Elsa Do? Freezing Layers During Transformer Fine-Tuning // https://arxiv.org/abs/1911.03090

вернуться

2582

Li X. L., Liang P. (2021). Prefix-Tuning: Optimizing Continuous Prompts for Generation // https://arxiv.org/abs/2101.00190

вернуться

2583

Liu X., Zheng Y., Du Z., Ding M., Qian Y., Yang Z., Tang J. (2021). GPT Understands, Too // https://arxiv.org/abs/2103.10385

вернуться

2584

Lester B., Al-Rfou R., Constant N. (2021). The Power of Scale for Parameter-Efficient Prompt Tuning // https://arxiv.org/abs/2104.08691

вернуться

2585

Конодюк Н. (2021). Управляем генерацией ruGPT-3: библиотека ruPrompts / Хабр, 17 декабря 2021 // https://habr.com/ru/company/sberdevices/blog/596103/

271
{"b":"936964","o":1}