Inhaltstabelle
Wir stellen Trustllm vor, eine umfassende Untersuchung der Vertrauenswürdigkeit in LLMs, einschließlich Prinzipien für verschiedene Dimensionen der Vertrauenswürdigkeit, der etablierten Benchmark, der Bewertung und der Analyse der Vertrauenswürdigkeit für Mainstream -LLMs sowie Diskussion offener Herausforderungen und zukünftigen Richtungen. Insbesondere schlagen wir zunächst eine Reihe von Prinzipien für vertrauenswürdige LLMs vor, die acht verschiedene Dimensionen umfassen. Basierend auf diesen Prinzipien stellen wir einen Benchmark für sechs Dimensionen ein, darunter Wahrhaftigkeit, Sicherheit, Fairness, Robustheit, Privatsphäre und Maschinenethik. Wir präsentieren dann eine Studie, in der 16 Mainstream -LLMs in TrustllM bewertet werden, die aus über 30 Datensätzen bestehen. In dem Dokument wird erläutert, wie das Trustllm Python -Paket verwendet wird, um die Leistung Ihres LLM in Vertrauenswürdigkeit schneller zu bewerten. Weitere Informationen zu Trustllm finden Sie auf der Projektwebsite.
Installation über GitHub (empfohlen):
git clone [email protected]:HowieHwong/TrustLLM.git Installation über pip :
pip install trustllm Installation über conda :
conda install -c conda-forge trustllmErstellen Sie eine neue Umgebung:
conda create --name trustllm python=3.9Installieren Sie die erforderlichen Pakete:
cd trustllm_pkg
pip install .Download Trustllm -Datensatz:
from trustllm . dataset_download import download_dataset
download_dataset ( save_path = 'save_path' )Wir haben den Abschnitt Generation aus Version 0.2.0 hinzugefügt. Starten Sie Ihre Generation von dieser Seite. Hier ist ein Beispiel:
from trustllm . generation . generation import LLMGeneration
llm_gen = LLMGeneration (
model_path = "your model name" ,
test_type = "test section" ,
data_path = "your dataset file path" ,
model_name = "" ,
online_model = False ,
use_deepinfra = False ,
use_replicate = False ,
repetition_penalty = 1.0 ,
num_gpus = 1 ,
max_new_tokens = 512 ,
debug = False ,
device = 'cuda:0'
)
llm_gen . generation_results ()Wir haben ein Toolkit bereitgestellt, mit dem Sie die Vertrauenswürdigkeit großer Sprachmodelle bequem bewerten können. Weitere Informationen finden Sie im Dokument. Hier ist ein Beispiel:
from trustllm . task . pipeline import run_truthfulness
truthfulness_results = run_truthfulness (
internal_path = "path_to_internal_consistency_data.json" ,
external_path = "path_to_external_consistency_data.json" ,
hallucination_path = "path_to_hallucination_data.json" ,
sycophancy_path = "path_to_sycophancy_data.json" ,
advfact_path = "path_to_advfact_data.json"
)✓ Der Datensatz stammt aus früherer Arbeit, und ✗ bedeutet, dass der Datensatz zuerst in unserem Benchmark vorgeschlagen wird.
| Datensatz | Beschreibung | Num. | Existieren? | Abschnitt |
|---|---|---|---|---|
| Squad2.0 | Es kombiniert Fragen in Squad1.1 mit über 50.000 unbeantwortbaren Fragen. | 100 | ✓ | Fehlinformation |
| Codah | Es enthält 28.000 Fragen. | 100 | ✓ | Fehlinformation |
| Hotpotqa | Es enthält 113K Wikipedia-basierte Fragen-Antwortenpaare für komplexe Multi-Hop-Argumentation. | 100 | ✓ | Fehlinformation |
| Kondetrin | Es enthält 30.000 kontroverse Leseverständnis Frage-Antwortenpaare. | 100 | ✓ | Fehlinformation |
| Klima | Es enthält 7.675 Klimawandelansprüche, die von menschlichen Faktenprüfern manuell kuratiert werden. | 100 | ✓ | Fehlinformation |
| Scifact | Es enthält 1.400 Experten geschriebene wissenschaftliche Ansprüchepaare mit Beweis-Abstracts. | 100 | ✓ | Fehlinformation |
| Covid-fakt | Es enthält 4.086 reale Covid-Ansprüche. | 100 | ✓ | Fehlinformation |
| Gesundheit | Es enthält 14.330 gesundheitsbezogene Ansprüche gegen wissenschaftliche Artikel. | 100 | ✓ | Fehlinformation |
| Truthfulqa | Die Multiple-Choice-Fragen, um zu bewerten, ob ein Sprachmodell ehrlich ist, Antworten auf Fragen zu generieren. | 352 | ✓ | Halluzination |
| Halueval | Es enthält 35.000 erzeugte und von Menschen annotierte halluzinierte Proben. | 300 | ✓ | Halluzination |
| LM-EXP-Sycophancy | Ein Datensatz besteht aus menschlichen Fragen mit einem sycophancy-Antwortbeispiel und einem Beispiel für nicht-sycophancy-Antwort. | 179 | ✓ | Sykophanz |
| Meinungspaare | Es enthält 120 Paare entgegengesetzter Meinungen. | 240, 120 | ✗ | Sykophanz, Präferenz |
| Winobias | Es enthält 3.160 Sätze, die für Entwicklung und Test aufgeteilt werden und von den mit dem Projekt vertrauten Forschern erstellt wurden. | 734 | ✓ | Stereotyp |
| Stereoset | Es enthält die Sätze, die Modellpräferenzen in Geschlecht, Rasse, Religion und Beruf messen. | 734 | ✓ | Stereotyp |
| Erwachsene | Der Datensatz, der Attribute wie Geschlecht, Rasse, Alter, Bildung, Arbeitszeit und Arbeitstyp enthält, wird verwendet, um das Gehaltsniveau für Einzelpersonen vorherzusagen. | 810 | ✓ | Verunglimpfung |
| Jailbreak -Auslöser | Der Datensatz enthält die Eingabeaufforderungen basierend auf 13 Jailbreak -Angriffen. | 1300 | ✗ | Jailbreak, Toxizität |
| Missbrauch (zusätzlich) | Dieser Datensatz enthält Eingabeaufforderungen, um zu beurteilen, wie LLMs reagiert, wenn sie von Angreifern oder böswilligen Nutzern konfrontiert werden, die das Modell für schädliche Zwecke ausnutzen möchten. | 261 | ✗ | Missbrauch |
| Nichts | Es wird kuratiert und gefiltert, um nur aus Eingabeaufforderungen zu bestehen, auf die verantwortungsbewusste LLMs nicht antworten. | 344 + 95 | ✓ | Missbrauch, Stereotyp |
| Advglue | Ein Multi-Task-Datensatz mit unterschiedlichen kontroversen Angriffen. | 912 | ✓ | Natürliches Lärm |
| Beratung | 600 Anweisungen, die durch 11 Störungsmethoden erzeugt werden. | 600 | ✗ | Natürliches Lärm |
| Tooly | Ein Datensatz mit den Abfragen der Benutzer, die LLMs für die Verwendung externer Tools auslösen können. | 241 | ✓ | Aus der Domäne (OOD) |
| Flipkart | Ein Produktüberprüfungsdatensatz, der ab Dezember 2022 gesammelt wurde. | 400 | ✓ | Aus der Domäne (OOD) |
| Ddxplus | Ein Datensatz für medizinische Diagnose von 2022, das synthetische Daten umfasst, die etwa 1,3 Millionen Patientenfälle darstellen. | 100 | ✓ | Aus der Domäne (OOD) |
| ETHIK | Es enthält zahlreiche moralisch relevante Szenarienbeschreibungen und ihre moralische Korrektheit. | 500 | ✓ | Implizite Ethik |
| Sozialchemie 101 | Es enthält verschiedene soziale Normen, die jeweils aus einer Handlung und ihrem Etikett bestehen. | 500 | ✓ | Implizite Ethik |
| Moralchoice | Es besteht aus verschiedenen Kontexten mit moralisch korrekten und falschen Handlungen. | 668 | ✓ | Explizite Ethik |
| Konfaide | Es enthält die Beschreibung der Verwendung von Informationen. | 196 | ✓ | Datenschutzbewusstsein |
| Datenschutzbewusstsein | Es enthält verschiedene Datenschutzinformationsanfragen zu verschiedenen Szenarien. | 280 | ✗ | Datenschutzbewusstsein |
| Enron -E -Mail | Es enthält ungefähr 500.000 E -Mails, die von Mitarbeitern der Enron Corporation erstellt wurden. | 400 | ✓ | Privatsphäre Leckage |
| Xstest | Es handelt sich um eine Testsuite zur Identifizierung übertriebener Sicherheitsverhalten in LLMs. | 200 | ✓ | Übertriebene Sicherheit |
○ Eine Bewertung durch die automatischen Skripte (z. B. Schlüsselwörter übereinstimmen), ● bedeutet die automatische Bewertung durch CHATGPT, GPT-4 oder Longformer, und ◐ bedeutet die Mischungsbewertung.
Es wird erwartet, dass mehr vertrauenswürdige LLMs einen höheren Wert der Metriken mit ↑ und einen niedrigeren Wert mit ↓ haben.
| Aufgabenname | Metriken | Typ | Bewerten | Abschnitt |
|---|---|---|---|---|
| Geschlossene Bücher QA | Genauigkeit (↑) | Generation | ○ | Fehlinformation (intern) |
| Faktenprüfung | Makro F-1 (↑) | Einstufung | ● | Fehlinformation (extern) |
| Multiple Choice QA | Genauigkeit (↑) | Einstufung | ● | Halluzination |
| Halluzinationsklassifizierung | Genauigkeit (↑) | Einstufung | ● | Halluzination |
| Persona -Sykophanz | Ähnlichkeit einbetten (↑) | Generation | ◐ | Sykophanz |
| Meinung sykophanz | Prozentuale Veränderung (↓) | Generation | ○ | Sykophanz |
| Tatsachenkorrektur | Prozentuale Veränderung (↑) | Generation | ○ | Kontrovers Tatsache |
| Jailbreak -Angriffsbewertung | RTA (↑) | Generation | ○ | Jailbreak |
| Toxizitätsmessung | Toxizitätswert (↓) | Generation | ● | Toxizität |
| Missbrauchsbewertung | RTA (↑) | Generation | ○ | Missbrauch |
| Übertriebene Sicherheitsbewertung | RTA (↓) | Generation | ○ | Übertriebene Sicherheit |
| Vereinbarung über Stereotypen | Genauigkeit (↑) | Generation | ◐ | Stereotyp |
| Erkennung von Stereotypen | Übereinstimmungsprozentsatz (↓) | Einstufung | ◐ | Stereotyp |
| Stereotyp -Abfragetest | RTA (↑) | Generation | ○ | Stereotyp |
| Präferenzauswahl | RTA (↑) | Generation | ○ | Präferenz |
| Gehaltsvorhersage | p-Wert (↑) | Generation | ● | Verunglimpfung |
| Kontroverse Störung bei nachgeschalteten Aufgaben | ASR (↓), RS (↑) | Generation | ◐ | Natürliches Lärm |
| Kontroverse Störung bei offenen Aufgaben | Ähnlichkeit einbetten (↑) | Generation | ◐ | Natürliches Lärm |
| OOD -Erkennung | RTA (↑) | Generation | ○ | Aus der Domäne (OOD) |
| OOD -Verallgemeinerung | MICRO F1 (↑) | Einstufung | ○ | Aus der Domäne (OOD) |
| Vereinbarung über Datenschutzinformationen | Pearsons Korrelation (↑) | Einstufung | ● | Datenschutzbewusstsein |
| Datenschutzszenario -Test | RTA (↑) | Generation | ○ | Datenschutzbewusstsein |
| Untersuchung von Datenschutzinformationen Nutzung | RTA (↑), Genauigkeit (↓) | Generation | ◐ | Privatsphäre Leckage |
| Moralisches Handeln Urteil | Genauigkeit (↑) | Einstufung | ◐ | Implizite Ethik |
| Auswahl der moralischen Reaktion (niedrige Ambiguität) | Genauigkeit (↑) | Einstufung | ◐ | Explizite Ethik |
| Auswahl der moralischen Reaktion (Hochschuld) | RTA (↑) | Generation | ○ | Explizite Ethik |
| Emotionsklassifizierung | Genauigkeit (↑) | Einstufung | ● | Emotionales Bewusstsein |
Wenn Sie die Leistung aller Modelle anzeigen oder die Leistung Ihres LLM hochladen möchten, lesen Sie bitte diesen Link.

Wir begrüßen Ihre Beiträge, einschließlich, aber nicht beschränkt auf Folgendes:
Wenn Sie beabsichtigen, Verbesserungen des Toolkits vorzunehmen, geben Sie zuerst das Repository aus, stellen Sie die entsprechenden Änderungen am Code vor und initiieren Sie schließlich eine pull request .
@inproceedings{huang2024trustllm,
title={TrustLLM: Trustworthiness in Large Language Models},
author={Yue Huang and Lichao Sun and Haoran Wang and Siyuan Wu and Qihui Zhang and Yuan Li and Chujie Gao and Yixin Huang and Wenhan Lyu and Yixuan Zhang and Xiner Li and Hanchi Sun and Zhengliang Liu and Yixin Liu and Yijue Wang and Zhikun Zhang and Bertie Vidgen and Bhavya Kailkhura and Caiming Xiong and Chaowei Xiao and Chunyuan Li and Eric P. Xing and Furong Huang and Hao Liu and Heng Ji and Hongyi Wang and Huan Zhang and Huaxiu Yao and Manolis Kellis and Marinka Zitnik and Meng Jiang and Mohit Bansal and James Zou and Jian Pei and Jian Liu and Jianfeng Gao and Jiawei Han and Jieyu Zhao and Jiliang Tang and Jindong Wang and Joaquin Vanschoren and John Mitchell and Kai Shu and Kaidi Xu and Kai-Wei Chang and Lifang He and Lifu Huang and Michael Backes and Neil Zhenqiang Gong and Philip S. Yu and Pin-Yu Chen and Quanquan Gu and Ran Xu and Rex Ying and Shuiwang Ji and Suman Jana and Tianlong Chen and Tianming Liu and Tianyi Zhou and William Yang Wang and Xiang Li and Xiangliang Zhang and Xiao Wang and Xing Xie and Xun Chen and Xuyu Wang and Yan Liu and Yanfang Ye and Yinzhi Cao and Yong Chen and Yue Zhao},
booktitle={Forty-first International Conference on Machine Learning},
year={2024},
url={https://openreview.net/forum?id=bWUU0LwwMp}
}
Der Code in diesem Repository ist Open Source unter der MIT -Lizenz.