added techniques ru pages
parent
981fde1fc0
commit
44f7de12b9
|
@ -0,0 +1,5 @@
|
|||
# Техники промптинга
|
||||
|
||||
На данном этапе уже становится очевидным, что улучшение формулировки запросов помогает достичь лучших результатов в различных задачах. Вот основная идея, стоящая за техниками промптинга.
|
||||
|
||||
Хотя базовые примеры были интересными, в этом разделе мы рассмотрим более продвинутые техники формулировки запросов, которые позволяют нам решать более сложные и интересные задачи.
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"zeroshot": "Zero-shot Prompting",
|
||||
"fewshot": "Few-shot Prompting",
|
||||
"cot": "Chain-of-Thought Prompting",
|
||||
"consistency": "Self-Consistency",
|
||||
"knowledge": "Generate Knowledge Prompting",
|
||||
"ape": "Automatic Prompt Engineer",
|
||||
"activeprompt": "Active-Prompt",
|
||||
"dsp": "Directional Stimulus Prompting",
|
||||
"react": "ReAct",
|
||||
"multimodalcot": "Multimodal CoT",
|
||||
"graph": "Graph Prompting"
|
||||
}
|
||||
|
|
@ -0,0 +1,109 @@
|
|||
# Few-Shot Prompting
|
||||
|
||||
Большие языковые модели продемонстрировали впечатляющие возможности zero-shot промптинга, однако они все еще ограничены в более сложных задачах при использовании zero-shot настроек. Few-shot промптинг может использоваться в качестве техники для обеспечения контекстного обучения, когда мы предоставляем демонстрации в запросе, чтобы направить модель на более высокую производительность. Демонстрации служат в качестве контекста для последующих примеров, в которых мы хотим, чтобы модель генерировала ответ.
|
||||
|
||||
Согласно исследованию [Touvron et al. 2023](https://arxiv.org/pdf/2302.13971.pdf), few-shot свойства впервые появились, когда модели были масштабированы до достаточного размера [(Kaplan et al., 2020)](https://arxiv.org/abs/2001.08361).
|
||||
|
||||
Давайте продемонстрируем few-shot на примере, представленном в [Brown et al. 2020](https://arxiv.org/abs/2005.14165). В данном примере задача состоит в правильном использовании нового слова в предложении.
|
||||
|
||||
*Запрос:*
|
||||
```
|
||||
A "whatpu" is a small, furry animal native to Tanzania. An example of a sentence that uses
|
||||
the word whatpu is:
|
||||
We were traveling in Africa and we saw these very cute whatpus.
|
||||
To do a "farduddle" means to jump up and down really fast. An example of a sentence that uses
|
||||
the word farduddle is:
|
||||
```
|
||||
|
||||
*Результат:*
|
||||
```
|
||||
When we won the game, we all started to farduddle in celebration.
|
||||
```
|
||||
|
||||
Мы можем наблюдать, что модель каким-то образом научилась выполнять задачу, предоставив ей всего один пример (так называемый 1-shot). Для более сложных задач мы можем экспериментировать с увеличением количества демонстраций (например, 3-shot, 5-shot, 10-shot и т. д.).
|
||||
|
||||
Следуя результатам исследования [Min et al. (2022)](https://arxiv.org/abs/2202.12837), вот несколько дополнительных советов о демонстрациях/примерах при использовании few-shot промптинга:
|
||||
|
||||
- "пространство меток и распределение входного текста, заданного демонстрациями, оба являются важными (независимо от того, являются ли метки правильными для отдельных входов)"
|
||||
- формат, который вы используете, также играет ключевую роль в производительности. Даже если вы используете случайные метки, это гораздо лучше, чем отсутствие меток вообще.
|
||||
- дополнительные результаты показывают, что выбор случайных меток из реального распределения меток (вместо равномерного распределения) также помогает.
|
||||
|
||||
Давайте попробуем несколько примеров. Давайте сначала попробуем пример со случайными метками (то есть метки "Negative" и "Positive" случайным образом присваиваются входным данным):
|
||||
|
||||
*Запрос:*
|
||||
```
|
||||
This is awesome! // Negative
|
||||
This is bad! // Positive
|
||||
Wow that movie was rad! // Positive
|
||||
What a horrible show! //
|
||||
```
|
||||
|
||||
*Результат:*
|
||||
```
|
||||
Negative
|
||||
```
|
||||
|
||||
Мы все равно получаем правильный ответ, даже если метки были случайно выбраны. Обратите внимание, что мы также сохраняем формат, что также полезно. Фактически, с дальнейшими экспериментами, кажется, что новые модели GPT, с которыми мы экспериментируем, становятся более устойчивыми даже к случайным форматам. Например:
|
||||
|
||||
*Запрос:*
|
||||
```
|
||||
Positive This is awesome!
|
||||
This is bad! Negative
|
||||
Wow that movie was rad!
|
||||
Positive
|
||||
What a horrible show! --
|
||||
```
|
||||
|
||||
*Результат:*
|
||||
```
|
||||
Negative
|
||||
```
|
||||
|
||||
В данном случае нет последовательности формата, но модель все равно предсказала правильную метку. Однако нам нужно провести более подробный анализ, чтобы убедиться, что это справедливо для различных и более сложных задач, включая различные вариации запросов.
|
||||
|
||||
### Ограничения few-shot промптинга
|
||||
|
||||
Стандартный few-shot промптинг хорошо работает для многих задач, но это все еще несовершенная техника, особенно при работе с более сложными задачами рассуждения. Давайте продемонстрируем, почему это так. Вы помните предыдущий пример, в котором мы предложили следующую задачу:
|
||||
|
||||
```
|
||||
The odd numbers in this group add up to an even number: 15, 32, 5, 13, 82, 7, 1.
|
||||
|
||||
A:
|
||||
```
|
||||
|
||||
Если мы повторим этот пример, модель выводит следующее:
|
||||
|
||||
```
|
||||
Yes, the odd numbers in this group add up to 107, which is an even number.
|
||||
```
|
||||
|
||||
Это неправильный ответ, что подчеркивает ограничения таких систем и необходимость более продвинутой техники формулировки запросов.
|
||||
|
||||
Давайте попробуем добавить несколько примеров, чтобы посмотреть, улучшит ли few-shot промптингрезультаты.
|
||||
|
||||
*Запрос:*
|
||||
```
|
||||
The odd numbers in this group add up to an even number: 4, 8, 9, 15, 12, 2, 1.
|
||||
A: The answer is False.
|
||||
|
||||
The odd numbers in this group add up to an even number: 17, 10, 19, 4, 8, 12, 24.
|
||||
A: The answer is True.
|
||||
|
||||
The odd numbers in this group add up to an even number: 16, 11, 14, 4, 8, 13, 24.
|
||||
A: The answer is True.
|
||||
|
||||
The odd numbers in this group add up to an even number: 17, 9, 10, 12, 13, 4, 2.
|
||||
A: The answer is False.
|
||||
|
||||
The odd numbers in this group add up to an even number: 15, 32, 5, 13, 82, 7, 1.
|
||||
A:
|
||||
```
|
||||
|
||||
*Результат:*
|
||||
```
|
||||
The answer is True.
|
||||
```
|
||||
|
||||
Это не сработало. Кажется, что few-shot промптинга недостаточно для получения надежных ответов на этот тип задач рассуждения. Приведенный выше пример предоставляет базовую информацию о задаче. Если взглянуть поближе, то задача, которую мы представили, включает несколько более сложных шагов рассуждения. Другими словами, возможно, будет полезно разбить проблему на шаги и продемонстрировать их модели. Недавно [CoT prompting](https://arxiv.org/abs/2201.11903) стал популярным для решения более сложных задач арифметики, здравого смысла и символического рассуждения
|
||||
|
||||
В целом, предоставление примеров полезно для решения некоторых задач. Когда zero-shot и few-shot промптингов недостаточны, это может означать, что то, что было изучено моделью, недостаточно для успешного выполнения задачи. В таком случае рекомендуется начать думать о настройке модели или экспериментах с более продвинутыми техниками формулировки запросов. Далее мы расскажем о одной из популярных техник формулировки запросов, называемой цепочкой мыслей (chain-of-thought prompting), которая получила большую популярность.
|
|
@ -0,0 +1,23 @@
|
|||
# Zero-Shot Prompting
|
||||
Большие языковые модели (LLMs), такие как GPT-3, настроены на следование инструкциям и обучаются на больших объемах данных, поэтому они способны выполнять некоторые задачи "нулевой разметки".
|
||||
|
||||
Мы протестировали несколько примеров нулевой разметки в предыдущем разделе. Вот один из примеров, которые мы использовали:
|
||||
|
||||
Запрос:
|
||||
```
|
||||
Classify the text into neutral, negative or positive.
|
||||
|
||||
Text: I think the vacation is okay.
|
||||
Sentiment:
|
||||
```
|
||||
|
||||
Результат:
|
||||
```
|
||||
Neutral
|
||||
```
|
||||
|
||||
Обратите внимание, что в данном запросе мы не предоставили модели никаких примеров текста с их классификациями, однако LLM уже понимает "настроение" - это возможности нулевой разметки в действии.
|
||||
|
||||
Тюнинг инструкций показал улучшение в нулевом обучении [Wei et al. (2022)](https://arxiv.org/pdf/2109.01652.pdf). Тюнинг инструкций (Instruction tuning) представляет собой концепцию донастройки моделей на наборах данных, описанных с помощью инструкций. Более того, был применен RLHF (усиление обучения на основе обратной связи от человека) [RLHF](https://arxiv.org/abs/1706.03741) для масштабирования тюнинга инструкций, при котором модель настраивается на лучшее соответствие предпочтениям людей. Это недавнее развитие позволяет моделям, таким как ChatGPT, проявлять такие возможности. Мы рассмотрим все эти подходы и методы в следующих разделах.
|
||||
|
||||
Когда Zero-Shot промптинг не работает, рекомендуется предоставить демонстрации или примеры в запросе, что приводит к few-shot промптингу. В следующем разделе мы это продемонстрируем.
|
Loading…
Reference in New Issue