Метрики Оцінювання для Генеративного ШІ
Свайпніть щоб показати меню
Оцінювання генеративних моделей відрізняється від оцінювання дискримінативних моделей, які базуються на метриках точності. Оскільки генеративні моделі створюють багато коректних результатів, їх необхідно оцінювати за якістю, різноманітністю та релевантністю. У цьому розділі представлено основні метрики, які використовуються як у дослідженнях, так і в індустрії для оцінки генеративних моделей за перцептивними, статистичними та орієнтованими на людину критеріями.
Оцінювання моделей для зображень (GAN, VAE, Diffusion)
Перцептивні та статистичні методи оцінювання зазвичай застосовуються до генеративних моделей зображень. Вони допомагають вимірювати, наскільки реалістичними, різноманітними та добре розподіленими є згенеровані результати порівняно зі справжніми зображеннями.
Inception Score (IS)
Кількісна оцінка чіткості та різноманітності згенерованих зображень за допомогою впевненості класифікації попередньо натренованої моделі Inception.
IS=exp(Ex[DKL(p(y∣x)∣∣p(y))])де:
- p(y∣x) — умовний розподіл міток для зображення x
- p(y) — маргінальний розподіл класів.
from torchmetrics.image.inception import InceptionScore
inception = InceptionScore()
inception.update(imgs)
inception.compute()
Fréchet Inception Distance (FID)
Вимірювання схожості між розподілами справжніх і згенерованих зображень за допомогою ознакних векторів.
FID=∣∣μr−μg∣∣2+Tr(Σr+Σg−2(ΣrΣg)1/2)де:
- μ та Σ — середнє значення та коваріація ознакних представлень.
- Tr() означає слід матриці — це сума діагональних елементів. Слід допомагає кількісно оцінити, наскільки відрізняються розподіли ознак за їх розкидом або формою.
from pytorch_fid import fid_score
fid = fid_score.calculate_fid_given_paths(["real_images", "generated_images"], batch_size=50, device="cuda", dims=2048)
print("FID:", fid)
LPIPS
Порівняння візуальної схожості між зображеннями за допомогою ознак глибоких нейронних мереж.
import lpips
loss_fn = lpips.LPIPS(net='alex')
distance = loss_fn(img1, img2)
print("LPIPS Distance:", distance.item())
Оцінювання текстових моделей (Transformers, GPT, BERT)
Оцінювання моделей генерації мови за якістю, зв'язністю та релевантністю із застосуванням статистичних, семантичних і суб'єктивних метрик.
BLEU / ROUGE / METEOR
Порівняння n-грамної схожості між згенерованим і еталонним текстом.
BLEU=BP⋅exp(n=1∑Nwnlogpn)де:
- pn — точність для n-грам
- BP — штраф за стислість.
from nltk.translate.bleu_score import sentence_bleu
reference = [['the', 'cat', 'is', 'on', 'the', 'mat']]
candidate = ['the', 'cat', 'sat', 'on', 'the', 'mat']
score = sentence_bleu(reference, candidate)
print("BLEU Score:", score)
BERTScore
Вимірювання семантичної схожості за допомогою контекстуальних ембеддінгів. Використання косинусної схожості між контекстуальними ембеддінгами з агрегуванням precision/recall/F1.
from bert_score import score
cands = ["A cat sits on the mat."]
refs = ["The cat is on the mat."]
P, R, F1 = score(cands, refs, lang='en')
print(f"BERTScore F1: {F1.mean().item():.4f}")
Відповідність підказці
Вимірювання відповідності вихідних даних вхідним підказкам, особливо в моделях, налаштованих на виконання інструкцій.
Ручне порівняння підказок із результатами або використання моделей оцінки схожості, таких як CLIP чи BERT.
Оцінювання мультимодальних моделей (наприклад, DALL·E, Stable Diffusion)
Мультимодальні моделі потребують оцінки відповідності між модальностями, такими як зображення та текст.
CLIPScore
Обчислення схожості між векторними представленнями зображення та текстової підказки.
CLIPScores=cos(fimage, ftext)де f — це векторні представлення для кожної модальності.
import torch
import clip
from PIL import Image
model, preprocess = clip.load("ViT-B/32")
image = preprocess(Image.open("generated.jpg")).unsqueeze(0)
text = clip.tokenize(["A dog playing in the snow"])
with torch.no_grad():
image_features = model.encode_image(image)
text_features = model.encode_text(text)
similarity = torch.cosine_similarity(image_features, text_features)
print("CLIPScore:", similarity.item())
Відповідність зображення запиту
Оцінка того, наскільки згенеровані зображення відповідають своїм умовним запитам.
Використання CLIP або ручної анотації для оцінки візуально-текстової відповідності.
Оцінка людиною
Попри розвиток автоматизованих метрик, оцінка людиною залишається необхідною для суб'єктивних або творчих завдань. Багато результатів генерації, особливо в мистецтві, розповіданні історій чи дизайні, потребують людського судження для визначення їхньої змістовності, оригінальності та привабливості. Такі методи дають тонкі інсайти, які часто не враховують автоматизовані метрики.
A/B тестування та тьюрингоподібні підходи
Запит користувачів щодо вибору кращого або більш реалістичного результату з двох варіантів.
- Приклад із практики: у пайплайні RLHF для GPT-3 від OpenAI краудворкерам показували декілька завершень моделі та просили ранжувати або обирати найбільш корисний чи реалістичний варіант. Цей зворотний зв'язок безпосередньо впливав на формування моделей винагороди для подальшого донавчання.
Відповідність результату запиту
Суб'єктивна оцінка того, наскільки результат відповідає заданому запиту.
- Приклад із практики: під час RLHF-навчання для InstructGPT анотатори оцінювали завершення для запиту на кшталт «Напишіть ввічливий лист із відмовою від пропозиції роботи». Оцінки людей визначали, які результати відповідали намірам і стилю користувача.
Шкали оцінювання
Збір оцінок за шкалою (наприклад, 1–5) для реалістичності, зв'язності або креативності.
- Приклад із практики: під час оцінювання Claude від Anthropic дослідники збирали оцінки у вигляді зірок (1–5) за корисність, чесність і нешкідливість згенерованих відповідей у діалозі, що сприяло досягненню цілей вирівнювання моделі.
Оцінювання за допомогою краудсорсингу
Використання платформ на кшталт MTurk для збору різноманітних думок. Забезпечення узгодженості оцінювачів.
- Реальний приклад: Google застосовував масштабний краудсорсинг для оцінки якості чат-бота LaMDA за такими критеріями, як осмисленість і конкретність, агрегуючи тисячі оцінок користувачів.
Використання гібриду автоматичних та орієнтованих на людину оцінювань для отримання повнішого уявлення про ефективність генеративної моделі. Людський аналіз допомагає перевірити надійність метрик і виявити приховані випадки збоїв, які не відображаються у числових показниках. Для критичних застосувань поєднання кількох людських оцінювачів і обчислення міжоцінювальної надійності (наприклад, коефіцієнт каппа Коена) може підвищити стійкість результатів.
Підсумок
Ці стратегії оцінювання є незамінними для ітеративної розробки моделей та прийняття рішень щодо їх впровадження. Поєднання об'єктивних метрик із людським зворотним зв'язком допомагає розробникам збалансувати реалістичність, креативність, різноманітність і відповідність намірам користувача або вимогам завдання. Ефективне оцінювання гарантує, що генеративні моделі ШІ працюють не лише технічно добре, а й відповідають реальним сценаріям використання та очікуванням людей.
1. Яка з наступних метрик оцінювання в основному використовується для вимірювання різноманітності згенерованих зображень у генеративних змагальних мережах (GANs)?
2. Яке основне призначення Fréchet Inception Distance (FID) при оцінюванні генеративних моделей?
3. Яка метрика зазвичай використовується для оцінки семантичної схожості між згенерованим текстом і еталонним текстом?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат