Gender biases shall not pass: Test-time debiasing of pretrained embeddings (11/12)
Автор: Antonio Bărbălău (Bitdefender)
Introducere
În 2024, CEO-ul Anthropic, Dario Amodei, a declarat public [1] că la momentul acela, preantrenarea unui Large Language Model (LLM) costa aproximativ o sută de milioane de dolari. În plus, acesta a declarat în același interviu că se pregăteau modele pentru care prețul se va apropia de un miliard de dolari. Conform unui studiu realizat de EpochAI [2], ne așteptăm ca în 2026 să folosim deja modele pentru care costul de antrenare a fost de un miliard de dolari.
Având în vedere aceste costuri, odată ce un model este lansat, orice schimbare necesară trebuie făcută fără a mai reantrena modelul. În acest sens, două direcții de cercetare importante au apărut în literatura de specialitate: Machine Unlearning [3, 4] și Model Steering [5, 6, 7, 8]. În cadrul Model Steering, activările unui model preantrenat sunt alterate cu scopul de a obține un comportament diferit din partea modelului fără a schimba arhitectura sau ponderile. Pentru această problemă, scopul vostru este să propuneți și să implementați o metodă de Model Steering care să debiaseze activările modelului CLIP [9] preantrenat de OpenAI față de gender. Rolul vostru este ilustrat în figura de mai jos.
Date de intrare
În fișierul main.py veți găsi următoarele:
train_image_embeddings: O matricenumpyde dimensiune (15000, 512) reprezentând setul de activări ale encoder-ului de imagini al modelului CLIP pentru un set de 15000 de exemple adnotate.gender_labels: Un vectornumpyde dimensiune 15000 ce conține adnotări binare de gender pentru cele 15000 de imagini dintrain_image_embeddings.test_image_embeddings: O matricenumpyde dimensiune (15000, 512) reprezentând setul de activări ale encoder-ului de imagini al modelului CLIP pentru un set de 15000 de exemple ce nu au adnotări de gender.generate_submission: O funcție care preia output-ul vostru—doi vectori numpy de dimensiune (15000, 512)—și îl salvează în formatul necesar pentru submisie.
Cerință
Dăndu-se train_image_embeddings și gender_labels, să se debiaseze atât train_image_embeddings cât și test_image_embeddings în raport cu atributul de gender. Un embedding este debiasat atunci când predicțiile finale ale modelului sunt în continuare corecte fără a favoriza un gender sau altul.
Date de ieșire
debiased_train_image_embeddings: O matricenumpyde dimensiune (15000, 512) reprezentând varianta debiasată atrain_image_embeddingsîn raport cu atributul de gender.debiased_test_image_embeddings: O matricenumpyde dimensiune (15000, 512) reprezentând varianta debiasată atest_image_embeddingsîn raport cu atributul de gender.
Generarea submisiei
Pentru a genera o submisie:
- Apelați funcția
generate_submissiondin fișierulmain.pydat, care preia output-ul vostru ce constă în cei doi vectori numpydebiased_train_image_embeddingsșidebiased_test_image_embeddingsși generează în folder-ul de lucru un fișiersubmission.pkl. Fișierulmain.pyeste aranjat astfel încât, dacă codul vostru este scris în locul amenajat, funcția se va apela automat la finalul script-ului. - Arhivați
submission.pklpentru a obține o arhivă.zip. - Încărcați arhiva
.zipce conținesubmission.pklpe platformă.
Evaluare
Într-o situație reală, un model steered care este dat clienților sau publicului larg, va fi folosit pentru orice scop își doresc aceștia, în timp ce vor evalua performanța modelului în funcție de propriile interese. Asta înseamnă că dezvoltatorii nu știu dinainte pentru ce task for fi folosite embedding-urile alterate, și nici cum evaluează publicul larg modelul lor. Scopul Model Steering este deci, de a altera informația țintită, păstrând cât mai mult din informația originală, astfel încât modelul să poată avea rezultate bune în continuare indiferent de task-ul care urmează și de modul de evaluare. După ce modelul oferă un răspuns clientului, acesta poate alege să ofere feedback, de exemplu acesta poate spune dacă (i) răspunsul este util, și dacă (ii) răspunsul este biased din perspectiva lui.
Similar, în cadrul acestei probleme, modalitatea de evaluare nu este cunoscută. Metoda de steering va fi evaluată folosind 4 task-uri și vor fi raportate două metrici ce măsoară: (i) performanța pe cele 4 task-uri și (ii) cât de biased au fost predicțiile pe cele 4 task-uri către un gender sau altul. În ceea ce privește primul scor, modelul este cu atât mai bun cu cât performanța este mai mare. În ceea ce privește cel de al doilea scor, modelul este mai bun cu cât metrica este mai aproape de 0 (biasul este mai puțin vizibil). Evaluarea finală se face în funcție de media armonică a celor două scoruri, iar departajarea se va face în funcție de scorul de debiasing.
Referințe
[1] Jowi Morales, https://www.tomshardware.com/tech-industry/artificial-intelligence/ai-models-that-cost-dollar1-billion-to-train-are-in-development-dollar100-billion-models-coming-soon-largest-current-models-take-only-dollar100-million-to-train-anthropic-ceo, 2024.
[2] Cottier et al., "The rising costs of training frontier AI models", 2024.
[3] Wang et al., "Machine Unlearning: A Comprehensive Survey", 2025.
[4] Liu et al., "Rethinking Machine Unlearning for Large Language Models", 2024.
[5] Kim et al., "Interpretability Beyond Feature Attribution: Quantitative Testing with Concept Activation Vectors (TCAV)", 2017.
[6] Anthropic, https://transformer-circuits.pub/2024/scaling-monosemanticity/, 2024.
[7] Louapre, https://huggingface.co/spaces/dlouapre/eiffel-tower-llama, 2025.
[8] Turner et al., "Steering Language Models With Activation Engineering", 2023.
[9] Radford et al., "Learning Transferable Visual Models From Natural Language Supervision", 2021.