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

Перейти в канал
Cкажи нет галюцинациям

Создание примеров

Это, по сути, "one-shot" или "few-shot" learning, где вы предоставляете нейросети примеры желаемого поведения. Это действительно эффективный способ, особенно когда галлюцинации связаны с неправильным пониманием контекста или задачи.

Плюсы

  • Простота реализации
  • Высокая эффективность при правильном подборе примеров

Минусы

  • Нужно тщательно подбирать примеры, чтобы они были репрезентативными и не вводили нейросеть в заблуждение еще больше

Использование разных веток чата

Этот метод помогает, когда нейросеть "зацикливается" на определенном паттерне в текущей ветке. Переключение на новую ветку "обнуляет" краткосрочную память нейросети и может привести к более корректному результату.

Плюсы

  • Легко реализуемо
  • Эффективно при "зацикливании" на ложных паттернах

Минусы

  • Не решает проблему в корне, а скорее является обходным путем

Контроль длины ответа

Ограничение максимальной длины ответа. Иногда длинные ответы увеличивают вероятность галлюцинаций, так как нейросеть теряет нить повествования.

Плюсы

  • Повышает сфокусированность ответа

Минусы

  • Может привести к неполным ответам

Как проверить в чате: просто попросите давать короткие ответы, например: "Ответь кратко, не более 3 предложений."

Использование "стоп-последовательностей"

Определение последовательностей слов или фраз, после которых нейросеть должна прекратить генерацию. Например, если нейросеть начинает придумывать факты, можно добавить в стоп-последовательность фразы вроде "Источник:", "Подтверждение:".

Плюсы

  • Может остановить генерацию на моменте, когда начинается галлюцинация

Минусы

  • Требует точного определения стоп-последовательностей, которые не будут мешать нормальной работе

Внедрение внешнего факт-чекинга

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

Плюсы

  • Максимальная надежность

Минусы

  • Сложность реализации

Изменение "температуры" (Temperature)

Высокая "температура" делает ответы более случайными и креативными, а низкая - более предсказуемыми и сфокусированными.

Вместо прямого указания на "температуру" используем фразы, которые описывают желаемый характер ответа:

Для снижения "температуры" (более точные и сфокусированные ответы):

  • "Будь точен" / "Предельно точен": Например, "Ответь на вопрос предельно точно, основываясь на фактах."
  • "Факты, а не домыслы": Например, "Предоставь только факты, а не домыслы."
  • "Избегай двусмысленности": Например, "Ответь на вопрос, избегая двусмысленности."
  • "Дай конкретный ответ": Например, "Дай конкретный и однозначный ответ на мой вопрос."
  • "Основывайся на предоставленной информации": Например, "Ответь на вопрос, основываясь только на предоставленной мной информации."
  • "Будь как эксперт в этой области": Например, "Представь, что ты эксперт в этой области, и ответь как эксперт" (с указанием области).
  • "Строго придерживайся фактов": Например, "Ответь на вопрос, строго придерживаясь фактов."

Для повышения "температуры" (более креативные и разнообразные ответы):

  • "Будь креативным": Например, "Дай креативный ответ на мой вопрос."
  • "Пофантазируй": Например, "Пофантазируй на тему..."
  • "Предложи несколько вариантов": Например, "Предложи несколько разных вариантов ответа."
  • "Мысли нестандартно": Например, "Подумай нестандартно и дай оригинальный ответ."
  • "Добавь образности": Например: "Опиши ситуацию, используя яркие образы и сравнения."
  • "Расскажи историю": Например, "Расскажи историю, которая иллюстрирует эту идею."

Изменение Top-P (Nucleus Sampling)

Top-P ограничивает выбор слов для генерации, оставляя только наиболее вероятные. Низкий Top-P делает ответы более предсказуемыми, но менее разнообразными.

Здесь мы также используем описательные фразы:

Для снижения Top-P (более предсказуемые ответы):

  • "Дай наиболее вероятный ответ": Например, "Какой наиболее вероятный исход этой ситуации?"
  • "Будь логичен": Например, "Ответь на вопрос логически."
  • "Используй общепринятые знания": Например, "Отвечай, используя общепринятые знания и факты."
  • "Избегай редких слов и выражений": Например, "Ответь на вопрос, избегая редких слов и выражений."
  • "Дай однозначный ответ": Например: "Дай однозначный и максимально предсказуемый ответ на этот вопрос."

Для повышения Top-P (более разнообразные ответы):

  • "Рассмотри все возможные варианты": Например, "Рассмотри все, даже самые маловероятные, варианты развития событий."
  • "Не ограничивайся очевидным": Например, "Не ограничивайся очевидным, предложи неочевидные варианты."
  • "Будь оригинальным": Например, "Дай оригинальный ответ, который не приходит в голову сразу."
  • "Используй разнообразный словарный запас": Например: "Ответь на вопрос, используя разнообразный словарный запас, включая редкие слова."
  • "Предложи неожиданные идеи": Например: "Предложи несколько неожиданных идей, которые могут показаться нестандартными."

Методы работы с промптами

Метод (на русском) Описание и смысл Пример промптов
Prompt Wording (Формулировка промпта) Незначительные изменения в формулировке промпта, такие как добавление пробелов, изменение регистра или модификация разделителей, могут значительно повлиять на результат. Цель - найти оптимальную формулировку для получения желаемого ответа. Вместо:
"Классифицируйте этот отзыв как положительный или отрицательный: [текст]"
Используйте:
"Определите, является ли следующий отзыв положительным или отрицательным: [текст]"
Task Format (Формат задачи) Изменение способа постановки задачи для LLM. Цель - найти наиболее эффективный формат для конкретной задачи. Вместо:
"Классифицируйте этот отзыв как положительный или отрицательный."
Используйте:
"Является ли следующий отзыв положительным? [текст]"
Verbalized Score (Вербализованная оценка) Запрос модели на выражение уверенности в своем ответе словами. Цель - оценить калибровку уверенности модели.
"Насколько вы уверены в своем ответе по шкале от 1 до 10?"

Или:
"Оцените свою уверенность в этом ответе как низкую, среднюю или высокую."
Few-shot Examples (Примеры с несколькими образцами) Предоставление модели нескольких примеров перед основным запросом. Цель - улучшить понимание задачи и снизить чувствительность к формулировке.
"Вот несколько примеров классификации отзывов:
[Примеры]
Теперь классифицируйте этот отзыв."
Avoiding Sycophancy (Избегание угодничества) Формулировка запросов без включения личных мнений для предотвращения чрезмерного согласия модели. Цель - получить более объективный ответ. Вместо:
"Я думаю, что этот аргумент слабый. Что вы думаете?"

Используйте:
"Проанализируйте сильные и слабые стороны следующего аргумента."
Chain of Thought (CoT) (Цепочка рассуждений) Побуждение модели к пошаговому рассуждению. Цель - улучшить прозрачность рассуждений и точность ответов.
"Давайте решим эту задачу шаг за шагом:
1)...
2)...
3)...
Итак, окончательный ответ:"

Методы работы с промптами

Метод Описание и смысл Пример промптов
Vanilla Prompting (Простое указание) Этот метод заключается в прямом включении инструкции в промпт, которая явно указывает LLM быть непредвзятой и объективной. Цель - снизить предвзятость в ответах модели путем прямого запроса на нейтральность.
"Пожалуйста, дайте непредвзятый и объективный ответ на следующий вопрос, основываясь только на фактах и избегая любых личных или культурных предубеждений: [ваш вопрос]"
Selecting Balanced Demonstrations (Выбор сбалансированных примеров) Использование сбалансированных примеров или примеров, оптимизированных по метрикам справедливости. Цель - уменьшить предвзятость в выходных данных LLM путем предоставления модели разнообразного контекста.
"Рассмотрите следующие сбалансированные примеры, представляющие разные демографические группы и точки зрения:
1. [Пример от группы A]
2. [Пример от группы B]
3. [Пример от группы C]
Теперь, основываясь на этих разнообразных примерах, ответьте на следующий вопрос, сохраняя нейтральность и учитывая различные перспективы."
Cultural Awareness (Культурная осведомленность) Включение культурного контекста в промпты для улучшения культурной адаптации ответов LLM. Это включает уточнение ответа с учетом культурных особенностей и использование релевантных слов или выражений.
"Переведите следующий текст на [целевой язык], учитывая культурный контекст целевой аудитории:
[исходный текст]

После перевода выполните следующие шаги:
1. Проанализируйте перевод на предмет культурной уместности.
2. Уточните любые выражения или концепции, которые могут быть непонятны в целевой культуре.
3. Используйте культурно релевантные слова, идиомы и аналогии для улучшения понимания.
4. Предоставьте финальную версию перевода с учетом всех культурных адаптаций."
AttrPrompt (Атрибутивный промпт) Техника для генерации синтетических данных с разнообразными атрибутами. Она состоит из двух шагов: 1) запрос LLM на определение важных атрибутов для разнообразия данных; 2) использование этих атрибутов для генерации синтетических данных с их варьированием. Цель - избежать предвзятости и создать репрезентативный набор данных.
"Шаг 1: Определите 5 ключевых атрибутов, важных для создания разнообразных текстов о путешествиях.
Шаг 2: Для каждого из определенных атрибутов предложите 3 различных значения.
Шаг 3: Используя комбинации этих атрибутов и их значений, сгенерируйте 5 различных коротких текстов о путешествиях, каждый объемом около 100 слов."
Ambiguous Demonstrations (Неоднозначные примеры) Этот метод включает в промпт примеры вопросов с неоднозначным набором меток или интерпретаций. Цель - улучшить способность модели распознавать и корректно обрабатывать неоднозначные запросы, повышая гибкость и точность ответов LLM в таких ситуациях.
"Рассмотрите следующие примеры неоднозначных вопросов и возможные интерпретации:
1. Вопрос: 'Где я могу найти ключ?'
  Интерпретации:
  a) Ключ для открывания двери
  b) Ключ в музыкальной нотации
  c) Ключ (источник) с водой

Теперь, учитывая возможную неоднозначность, ответьте на следующий вопрос."
Question Clarification (Уточнение вопроса) Этот метод позволяет LLM идентифицировать неоднозначные вопросы и генерировать уточняющие вопросы для пользователя перед тем, как дать окончательный ответ. Это помогает разрешить потенциальную неоднозначность запроса до генерации финального ответа модели.
"Если вопрос кажется неоднозначным, сначала уточните его с помощью дополнительных вопросов к пользователю:
'Что вы имеете в виду под [ключевое слово]?' После получения уточнений предоставьте свой ответ."
Как остановить поток сознания
Останови бред
Хочу, чтобы ты прочитал всё, что было сказано выше, и оценил свои ответы по 10-балльной системе. Объясни, пожалуйста, в чём проблема.
Предложи алгоритм ответа
Напиши, пожалуйста, пошаговый алгоритм твоего будущего ответа, оцени его и объясни, почему ты выбрал именно такой алгоритм.
Корректировка плана.
Выполни, пожалуйста [вставить, что понравилось в ответе 2 ]
Made on
Tilda