Можна протидіяти деяким упередженням ВММ, якщо відкалібрувати вихідні розподіли.
Що саме означає відкалібрувати вихідний розподіл?
Розглянемо короткий приклад: припустимо, у нас є s аналіз тональності тексту із двома можливими мітками: Positive
і Negative
. Уявіть, що відбувається, коли ВММ отримує запит Input: nothing Sentiment:
(Введення: нічого Тональність). Це введення не містить жодного контексту, який ВММ може використовувати, щоб передбачити тональність, тому його називають контекстно-вільним введенням.
Оскільки nothing
(нічого) є ні позитивним, ні негативним поняттям, ми очікуємо, що ВММ виведе ймовірність приблизно 0,5 для Positive
і Negative
. Однак часто (і для цього прикладу) це не так.
p("Positive" | "Input: nothing Sentiment:") = 0.9
p("Negative" | "Input: nothing Sentiment:") = 0.1
Враховуючи ці ймовірності міток для контекстно-вільних вхідних даних, ми знаємо, що розподіл вихідних даних ВММ, ймовірно, упереджений до мітки Positive
. Це може призвести до того, що ВММ віддасть перевагу Positive
для всіх вхідних даних, навіть якщо вхідні дані насправді не є позитивними.
Якщо ми можемо якимось чином відкалібрувати вихідний розподіл так, щоб безконтекстні введення отримали ймовірність 0,5 як для Positive
, так і для Negative
, тоді ми часто можемо усунути упередження до Positive
і ВММ буде більш надійною як для безконтекстних введень, так і для введень із контекстом.
Нетехнічне розв'язання цієї проблеми полягає в тому, щоб просто надати кілька типових прикладів, де безконтекстним зразкам фактично призначається ймовірність 0,5 як для Positive
, так і для Negative
.
Наприклад, ми могли б навести кілька типових прикладів, які показують, що кожен безконтекстний екземпляр класифікується як Positive
і Negative
:
Input: Я ненавиджу цей фільм. Sentiment: Negative
Input: Мені подобається цей фільм. Sentiment: Positive
Input: N/A Sentiment: Positive
Input: N/A Sentiment: Negative
Input: nothing Sentiment: Positive
Input: nothing Sentiment: Negative
Input: Мені подобаються яйця. Sentiment:
Наскільки мені відомо, в науковій літературі не має досліджень на тему цього рішення, і я не впевнений, наскільки добре воно працює на практиці. Однак це просте рішення, яке демонструє, чого ми намагаємось досягти калібруванням.
Іншим вирішенням цього є контекстне калібрування, де ми налаштовуємо спеціальні параметри калібрування, які гарантують, що безконтекстним введенням, таким як Input: nothing Sentiment:
(введення: нічого Тональність) призначається ймовірність приблизно 0,5 для обох міток. Зауважте, що на практиці цей метод виконує калібрування за кількома різними безконтекстними введеннями (наприклад, Input: N/A Sentiment:
, Input: [MASK] Sentiment:
). Він усереднює параметри калібрування, які найкраще працюють для кожного контекстно-вільного введення, щоб знайти найкращі параметри калібрування для ВММ.
Розгляньмо приклад обчислення параметрів калібрування для одного безконтекстного введення. Зауважте, що цей приклад не можна відтворити за допомогою GPT-3 через те, що його не можна обмежити мітками Positive
і Negative
.
Знову розглянемо наведений вище приклад, де ВММ призначає такі ймовірності міткам для безконтекстних введень:
p("Positive" | "Input: nothing Sentiment:") = 0.9
p("Negative" | "Input: nothing Sentiment:") = 0.1
Ми хочемо знайти такий розподіл ймовірностей q, щоб
q("Positive" | "Input: nothing Sentiment:") = 0.5
q("Negative" | "Input: nothing Sentiment:") = 0.5
Ми зробимо це, створивши лінійне перетворення, яке коригує (калібрує) ймовірності .
Це рівняння бере вихідні ймовірності й застосовує ваги й упередження до них. Ваги та упередження є параметрами калібрування, які, при застосуванні до ймовірності безконтекстного прикладу дадуть = [0,5, 0,5].
Нам потрібно якось обчислити ваги та упередження . Один зі способів зробити це:
Хоча спочатку визначення може здатися трохи дивним, але воно просто бере обернене кожне значення в , щоб знайти , який перетворить вихідні ймовірності у калібровані ймовірності [0,5, 0,5].
Перевірмо, що це працює для прикладу вище:
Як згадувалося вище, ми виконували цей процес для кількох різних безконтекстних введень і отримали середні значення параметрів калібрування, які найкраще працюють для кожного контекстно-вільного введення, щоб знайти найкращі параметри калібрування для ВММ. Це означає, що остаточні параметри калібрування, ймовірно, не будуть показувати будь-які безконтекстні введення точно [0,5, 0,5].
також можна встановити на , та — на ідентифікаційну матрицю. Цей метод виконує кращі завдання генерації, ніж класифікації.
ВММ часто схильні (упереджені) до певних ярликів. Калібрування може бути використане для протидії цьому упередженню.