LLMs Нулевая/малошаговая Подсказка – CodesCode

Техники провокации упрощают развертывание, позволяя моделям обобщаться без помеченных данных (нулевой сброс) или быстро адаптироваться с несколькими примерами (небольшой вариант).

Сила LLM-моделей стала новым трендом в среде искусственного интеллекта. Ранние пользователи стремятся к различным генеративным решениям по искусственному интеллекту, таким как GPT 3.5, GPT 4 и BARD, для разных случаев использования. Они были использованы для решения задач вопросов и ответов, творческого написания текстов и критического анализа. Поскольку эти модели обучаются на задачах, таких как предсказание следующего предложения в большом разнообразии корпусов, ожидается, что они отлично подходят для генерации текста.

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

Что такое подсказка?

Давайте начнем с определения LLM-моделей. Большая языковая модель, или LLM, – это система глубокого обучения, построенная на нескольких слоях трансформаторов и нейронных сетях прямого распространения, которая содержит сотни миллионов или даже миллиарды параметров. Они обучаются на огромных наборах данных из разных источников и предназначены для понимания и генерации текста. Некоторые примеры применений включают перевод языка, краткое изложение текста, вопросы и ответы, генерацию контента и многое другое. Существуют различные типы LLM-моделей: только-кодировщик (BERT), кодировщик + декодер (BART, T5) и только-декодер (PALM, GPT и т. д.). LLM-модели с компонентом декодера называются генеративными LLM-моделями; это относится к большинству современных LLM-моделей.

Если вы скажете генеративной LLM-модели выполнить задачу, она сгенерирует соответствующий текст. Однако как мы даем указание генеративной LLM-модели выполнить определенную задачу? Это просто – мы даем ей письменную инструкцию. LLM-модели были разработаны для ответа на пользователей на основе инструкций, или подсказок. Вы использовали подсказки, если взаимодействовали с LLM-моделью, например, с ChatGPT. Подсказка заключается в упаковке нашей цели в запрос на естественном языке, который заставит модель вернуть желаемый ответ (пример: рисунок 1; источник: Chat GPT).

Рисунок 1

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

Нулевая подсказка

Нулевая подсказка – это конкретный сценарий нулевого обучения, уникальный для генеративных LLM-моделей. В нулевой подсказке мы не предоставляем модели размеченные данные и ожидаем, что модель сработает в полностью новой задаче. Например, используйте ChatGPT для нулевой подсказки в новых задачах, предоставив соответствующие инструкции. LLM-модели могут адаптироваться к неизвестным проблемам, потому что они понимают содержание из разных источников. Давайте рассмотрим несколько примеров.

Вот пример запроса для классификации текста на позитивный, нейтральный и негативный классы эмоций.

Рисунок 2

Примеры твитов

Примеры твитов взяты из набора данных эмоциональной окраски американских авиалиний в Twitter. Набор данных состоит из твитов с обратной связью по разным авиалиниям, помеченных как позитивные, нейтральные или негативные. На рисунке 2 (источник: ChatGPT) мы предоставили имя задачи, то есть классификация эмоциональной окраски, классы, то есть позитивные, нейтральные и негативные, текст и подсказку для классификации. Обратная связь об авиакомпании на рисунке 2 является положительной и высоко оценивает опыт полета с авиакомпанией. ChatGPT корректно классифицировал эмоциональную окраску отзыва как позитивную, демонстрируя способность ChatGPT обобщать на новую задачу.

Рисунок 3

Рисунок 3 выше показывает Chat GPT с нулевым обучением на другом примере, но с негативной эмоциональной окраской. Chat GPT вновь правильно предсказывает эмоциональную окраску твита. Хотя мы показали два примера, где модель успешно классифицирует текст отзыва, есть несколько граничных случаев, когда даже передовые LLM-модели терпят неудачу. Например, давайте посмотрим на пример ниже на рисунке 4. Пользователь жалуется на качество питания с авиакомпанией, но Chat GPT неверно определяет эмоциональную окраску как нейтральную.

Рисунок 4

В таблице ниже можно увидеть сравнение нулевой подсказки с производительностью модели BERT на наборе данных Twitter Sentiment. Мы рассмотрим метрики точность, F1-оценку, точность и полноту. Оценим производительность нулевой подсказки на случайно выбранном подмножестве данных из набора данных эмоциональной окраски авиалиний для каждого случая и округлим числа производительности до ближайших целых чисел. Нулевая подсказка имеет более низкие, но неплохие показатели производительности для каждой метрики оценки, показывая, насколько мощным может быть использование подсказок. Числа производительности были округлены до ближайших целых чисел.

Модель Точность F1-мера Точность Полнота
Уточненный BERT 84% 79% 80% 79%
Чат GPT (Нулевой эксперимент) 73% 72% 74% 76%

Много-шотное провоцирование

В отличие от нулевого эксперимента, много-шотное провоцирование включает предоставление нескольких размеченных примеров в запросе. Это отличается от традиционного много-шотового обучения, которое предполагает настройку LLM с использованием нескольких образцов для новой проблемы. Этот подход уменьшает зависимость от больших размеченных наборов данных, позволяя моделям быстро адаптироваться и предсказывать точные результаты для новых классов с помощью небольшого количества размеченных образцов. Этот метод полезен, когда сбор значительного количества размеченных данных для новых классов занимает время и усилия. Вот пример (Рисунок 5) много-шотного провоцирования:

Рисунок 5

Много-шот vs. Нулевой эксперимент

На сколько много-шотное провоцирование улучшает производительность? В то время как много-шотовые и нулевые эксперименты показали хорошие результаты на примерах из воспоминаний, много-шотное провоцирование имеет более высокую общую производительность, чем нулевой эксперимент. Как показывает таблица ниже, мы можем улучшить точность решаемой задачи, предоставив несколько высококачественных примеров и образцов граничных и важных случаев при провоцировании моделей Генеративного искусственного интеллекта. Производительность улучшается с использованием много-шотового обучения (10, 20 и 50 примеров). Производительность для много-шотного провоцирования была оценена на случайной подвыборке данных из набора данных о настроении авиалиний для каждого случая, и показатели производительности округлены до ближайшего целого числа.

Модель Точность F1-мера Точность Полнота
Уточненный BERT 84% 79% 80% 79%
Чат GPT (Много-шот 10 примеров) 80,8% 76% 74% 79%
Чат GPT (Много-шот 20 примеров) 82,8% 79% 77% 81%
Чат GPT (Много-шот 30 примеров) 83% 79% 77% 81%

Исходя из показателей оценки в таблице выше, много-шотовые методы превосходят нулевой эксперимент на 10% по точности, на 7% по F1-мере и достигают сопоставимой производительности с моделью уточненного BERT. Еще одним важным наблюдением является то, что после 20 примеров улучшение замедляется. Пример, который мы рассмотрели в нашем анализе, представляет собой конкретный случай использования модели Чат GPT на наборе данных о настроении авиалиний в Twitter. Давайте рассмотрим другой пример, чтобы понять, распространяются ли наши наблюдения на другие задачи и модели Генеративного искусственного интеллекта.

Языковые модели: Много-шотные обучающиеся модели

Ниже (Рисунок 6) приведен пример из исследований, описанных в статье “Языковые модели – много-шотовые обучающиеся модели“, сравнивающий производительность много-шотовых, одно-шотовых и нулевых моделей с GPT-3. Производительность измеряется на базовом тесте LAMBADA (предсказание целевого слова) в различных много-шотовых условиях. Особенность LAMBADA заключается в оценке способности модели обрабатывать долгосрочные зависимости в тексте, когда значительное расстояние разделяет информацию от ее соответствующего контекста. Много-шотовое обучение превосходит нулевое обучение на 12,2 пп по точности.

Рисунок 6

В другом примере, описанном в вышеупомянутой статье, сравнивается производительность GPT-3 при различном количестве примеров, предоставленных в запросе, с уточненной моделью BERT на тесте SuperGLUE. SuperGLUE считается ключевым тестом для оценки производительности на задачах машинного обучения по пониманию языка. На графике (Рисунок 7) видно, что первые восемь примеров оказывают наибольшее влияние. При добавлении большего количества примеров для много-шотового провоцирования мы сталкиваемся с преградой, где нам нужно экспоненциально увеличивать количество примеров, чтобы увидеть заметное улучшение. Мы отчетливо видим, что те же наблюдения, что и в нашем примере классификации настроений, воспроизводятся.

Рисунок 7

Zero-shot следует рассматривать только в сценариях, где отсутствуют размеченные данные. Если у нас есть несколько размеченных примеров, мы можем достичь больших успехов в производительности с использованием few-shot по сравнению с zero-shot. Одним из очевидных вопросов является то, насколько хорошо эти техники работают по сравнению с более сложными техниками, такими как fine-tuning. В последнее время было разработано несколько хорошо разработанных техник fine-tuning для LLM, и их стоимость использования также значительно снизилась. Почему бы просто не донастроить свои модели? В следующих разделах мы более подробно рассмотрим сравнение техник формулирования с применением моделей, прошедших fine-tuning.

Формулировка с применением few-shot против fine-tuning

Основным преимуществом формулировки с применением generative LLM является простота реализации подхода. Соберите несколько размеченных примеров и подготовьте подсказку, запустите рекурсию, и мы готовы. Даже с несколькими современными инновациями, fine-tuning довольно громоздок в реализации и требует много времени и ресурсов для обучения. Для нескольких конкретных случаев мы можем использовать различные интерфейсы generative LLM, чтобы получить результаты. Для вывода на более крупный набор данных код будет выглядеть так:

import osimport openaimessages = []# Примеры с разметкой для Chat GPTfew_shot_message = ""# Укажите задачуfew_shot_message = "Задача: классификация настроения \n"# Укажите классыfew_shot_message += "Классы: позитивный, негативный \n"# Добавьте контекстfew_shot_message += "Контекст: Мы хотим классифицировать настроение отзывов на отели \n"#Добавьте размеченные примерыfew_shot_message += "Размеченные примеры: \n"for labeled_data in labeled_dataset:    few_shot_message += "Текст: " + labeled_data["text"] + "\n";    few_shot_message += "Метка: " + labeled_data["label"] + "\n"# Вызовите API OpenAI для ChatGPT, предоставив few-shot примерыmessages.append({"role": "user", "content": few_shot_message})chat = openai.ChatCompletion.create(            model="gpt-3.5-turbo", messages=messages        )for data in unlabeled_dataset:    # Добавьте текст для классификации    message = "Текст: " + data + ", "        # Добавьте подсказку    message += "Подсказка: Классифицируйте данный текст в одну из категорий настроения."    messages.append({"role": "user", "content": message})        # Вызовите API OpenAI для ChatGPT для классификации    chat = openai.ChatCompletion.create(            model="gpt-3.5-turbo", messages=messages        )    reply = chat.choices[0].message.content    print(f"ChatGPT: {reply}")    messages.append({"role": "assistant", "content": reply})

Еще одним ключевым преимуществом few-shot перед fine-tuning является количество данных. В задаче классификации настроения американских авиалиний в Twitter, fine-tuning с BERT был выполнен с использованием более 10 000 примеров, в то время как формулировка с применением few-shot требовала всего 20-50 примеров, чтобы достичь схожей производительности. Однако переносятся ли эти успехи в производительности на другие задачи обработки языка? Рассмотренный нами пример классификации настроения является очень конкретным случаем использования. Производительность формулировки с применением few-shot не будет достаточной для модели, прошедшей fine-tuning, в каждом примере использования. Однако он показывает сходную/лучшую способность во множестве различных языковых задач. Для демонстрации силы формулировки с использованием few-shot мы провели сравнение производительности с SOTA и прошедшим fine-tuning моделями языка, такими как BERT, на задачах стандартизированного понимания языка, перевода и QA-бенчмарков в следующих разделах.

Понимание языка

Для сравнения производительности few-shot и fine-tuning задач понимания языка мы рассмотрим бенчмарк SuperGLUE. SuperGLUE является бенчмарком понимания языка, включающим задачи классификации, сходства текста и вывода естественного языка. Модели, используемые для сравнения, – это fine-tuned модель BERT large и fine-tuned модель BERT++, а также использовано generative LLM GPT-3. Графики на рисунках (рисунок 8 и рисунок 9) ниже показывают формулировку с применением few-shot с достаточно большими размерами generative LLM, и примерно 32 примера few-shot достаточно, чтобы превзойти fine-tuned модели BERT++ и BERT large. Прирост точности по сравнению с BERT large составляет около 2,8 пунктов, демонстрируя мощность few-shot при использовании generative LLM.

Рисунок 8
Рисунок 9

Переводы

В следующей задаче мы сравним производительность few-shot и fine-tuning на задачах перевода. Мы рассмотрим бенчмарк BLUE, также известный как Bilingual Evaluation Understudy (BLEU). BLEU вычисляет оценку в диапазоне от 0 до 1, где более высокая оценка указывает на более высокое качество перевода. Основная идея BLEU заключается в сравнении сгенерированного перевода с одним или несколькими опорными переводами и измерении степени, в которой сгенерированный перевод содержит похожие n-граммы, как и опорные переводы. Модели, используемые для сравнения, – это XLM, MASS и mBART, а также использовано generative LLM GPT-3.

Как показано в таблице на рисунке (Рисунок 10) ниже, подача сигнала с небольшим количеством примеров с помощью LLM с генерацией достаточна, чтобы превзойти XLM, MASS, многоязычный BART и даже SOTA для разных задач перевода. Few-shot GPT-3 превосходит предыдущую неуправляемую работу по нейронному машинному переводу на 5 BLEU при переводе на английский язык, отражая его сильные стороны как модели перевода на английский язык. Однако важно отметить, что модель показала плохие результаты при выполнении определенных задач перевода, таких как английский-румынский, что подчеркивает ее недостатки и необходимость оценки производительности на каждом конкретном случае.

Рисунок 10

Вопросно-ответная система

На последней задаче мы сравним производительность few-shot и fine-tuning в задачах вопросно-ответной системы. Название задачи говорит само за себя. Мы рассмотрим три ключевые точки отсчета для задачи QA: PI QA (вопросы и ответы к процедурной информации), Trivia QA (фактические знания и ответы на вопросы) и CoQA (беседующая вопросно-ответная система). Сравнение проводится с использованием SOTA для моделей fine-tuned, а используемая генеративная LLM – GPT-3. Как показано на графиках на рисунках (Рисунок 11, Рисунок 12 и Рисунок 13) ниже, подача сигнала с небольшим количеством примеров на генеративные LLM достаточна, чтобы обойти SOTA для PIQA и Trivia QA. Модель не смогла превзойти SOTA для CoQA, но точность была достаточно схожей.

Рисунок 11
Рисунок 12
Рисунок 13

Ограничения моделирования

Многочисленные примеры и случаи изучения, представленные выше, ясно демонстрируют, как few-shot может стать предпочтительным решением по сравнению с fine-tuning для нескольких языковых задач машинного обучения. В большинстве случаев few-shot техники показали лучшие или приближенные результаты по сравнению с моделями языковой модели fine-tuned. Однако следует отметить, что в большинстве узкоспециализированных случаев предварительное обучение в определенной области будет гораздо эффективнее, чем fine-tuning и, соответственно, техники обработки. Это ограничение невозможно решить на уровне разработки сигнала и потребует существенных успехов в развитии обобщенных LLM.

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

Наконец, использование обобщенных LLM-моделей, таких как Chat GPT и GPT-4, представляет более высокие риски для конфиденциальности, чем модели с fine-tuning или узкоспециализированными моделями, для которых мы можем построить свой экземпляр модели. Это вызывает опасения, особенно для случаев использования, зависящих от собственных или конфиденциальных пользовательских данных.

Выводы

Техники обработки стали мостом между LLM-моделями и практическими языковыми задачами на базе машинного обучения. Техника zero-shot, не требующая предварительно размеченных данных, показывает потенциал этих моделей для обобщения и адаптации к новым проблемам. Однако она не достигает схожей или лучшей производительности по сравнению с fine-tuning. Многочисленные примеры и сравнение производительности на бенчмарках показывают, что few-shot prompting предлагает убедительную альтернативу fine-tuning для широкого спектра задач. Представляя несколько размеченных примеров внутри сигналов, эти техники позволяют моделям быстро адаптироваться к новым классам с минимальным количеством размеченных данных. Кроме того, данные о производительности, перечисленные в представленных выше разделах, подтверждают, что переход существующих решений к использованию few-shot prompting с генеративными LLM-моделями является ценной инвестицией. Проведение экспериментов с описанными в этой статье подходами значительно повысит вероятность достижения ваших целей при использовании техник обработки.

Основные выводы

  • Техники обработки позволяют использовать модели на практике: Техники обработки – это мощный мост между генеративными языковыми моделями и практическими задачами машинного обучения на основе языка. Техника zero-shot позволяет моделям обобщаться без размеченных данных, а few-shot использует несколько примеров для быстрой адаптации. Эти техники упрощают развертывание, предоставляя путь для эффективного использования.
  • few-shot производит лучшие результаты по сравнению со zero-shot: few-shot предлагает лучшую производительность, предоставляя LLM модели целевое руководство через размеченные примеры. Это позволяет модели использовать свои предварительно обученные знания, одновременно получая выгоду от минимального количества примеров, связанных с конкретной задачей, что приводит к более точным и релевантным ответам для данной задачи.
  • few-shot prompting конкурирует с fine-tuning: few-shot представляет собой многообещающую альтернативу fine-tuning. few-shot достигает схожей или лучшей производительности в области классификации, понимания языка, перевода и вопросно-ответных задач, предоставляя размеченные примеры внутри сигналов. Он особенно успешен в сценариях с ограниченным количеством размеченных данных.
  • Ограничения и соображения: Несмотря на многочисленные преимущества генеративных LLM-моделей и техник обработки, предварительное обучение в специализированной области все еще представляет некий путь для специализированных задач. Кроме того, риски конфиденциальности, связанные с обобщенными генеративными LLM-моделями, подчеркивают необходимость осторожной обработки конфиденциальных данных.

Leave a Reply

Your email address will not be published. Required fields are marked *