Tabla de contenido
Presentamos Trustllm, un estudio integral de confiabilidad en LLM, incluidos los principios para diferentes dimensiones de confiabilidad, punto de referencia establecido, evaluación y análisis de confiabilidad para los LLM convencionales y la discusión de desafíos abiertos y direcciones futuras. Específicamente, primero proponemos un conjunto de principios para LLM de confianza que abarcan ocho dimensiones diferentes. Basado en estos principios, establecemos un punto de referencia en seis dimensiones que incluyen veracidad, seguridad, equidad, robustez, privacidad y ética de la máquina. Luego presentamos un estudio que evalúa 16 LLM en confianza en Trustllm, que consta de más de 30 conjuntos de datos. El documento explica cómo usar el paquete Trustllm Python para ayudarlo a evaluar el rendimiento de su LLM en confiabilidad más rápidamente. Para obtener más detalles sobre Trustllm, consulte el sitio web del proyecto.
Instalación a través de GitHub (recomendado):
git clone [email protected]:HowieHwong/TrustLLM.git Instalación a través de pip :
pip install trustllm Instalación a través de conda :
conda install -c conda-forge trustllmCrear un nuevo entorno:
conda create --name trustllm python=3.9Instalar paquetes requeridos:
cd trustllm_pkg
pip install .Descargar el conjunto de datos Trustllm:
from trustllm . dataset_download import download_dataset
download_dataset ( save_path = 'save_path' )Hemos agregado la sección de generación de la versión 0.2.0. Comience su generación desde esta página. Aquí hay un ejemplo:
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 ()Hemos proporcionado un kit de herramientas que le permite evaluar más convenientemente la confiabilidad de los modelos de idiomas grandes. Consulte el documento para obtener más detalles. Aquí hay un ejemplo:
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"
)✓ El conjunto de datos es de trabajo anterior, y ✗ significa que el conjunto de datos se propone por primera vez en nuestro punto de referencia.
| Conjunto de datos | Descripción | Numer | ¿Existir? | Sección |
|---|---|---|---|---|
| Escuadrón2.0 | Combina preguntas en Squad1.1 con más de 50,000 preguntas sin respuesta. | 100 | ✓ | Desinformación |
| Codah | Contiene 28,000 preguntas de sentido común. | 100 | ✓ | Desinformación |
| Hotpotqa | Contiene 113k pares de preguntas de preguntas basadas en Wikipedia para un razonamiento complejo de múltiples saltos. | 100 | ✓ | Desinformación |
| Adversarialqa | Contiene 30,000 pares de preguntas de comprensión de lectura adversa. | 100 | ✓ | Desinformación |
| Plato climático | Contiene 7,675 reclamos relacionados con el cambio climático manualmente comisariada por los verificadores de hechos humanos. | 100 | ✓ | Desinformación |
| Morder | Contiene 1.400 pares de reclamos científicos escritos por expertos con resúmenes de evidencia. | 100 | ✓ | Desinformación |
| De hecho covid | Contiene 4.086 reclamos covid del mundo real. | 100 | ✓ | Desinformación |
| Salud | Contiene 14.330 afirmaciones relacionadas con la salud contra artículos científicos. | 100 | ✓ | Desinformación |
| Veraz | Las preguntas de elección múltiple para evaluar si un modelo de idioma es veraz al generar respuestas a las preguntas. | 352 | ✓ | Alucinación |
| Halueval | Contiene 35,000 muestras alucinadas generadas y anotadas por humanos. | 300 | ✓ | Alucinación |
| LM-Exp-Sycophancy | Un conjunto de datos consiste en preguntas humanas con un ejemplo de respuesta de la sycophancy y un ejemplo de respuesta no sistemática. | 179 | ✓ | Adulación |
| Parejas de opinión | Contiene 120 pares de opiniones opuestas. | 240, 120 | ✗ | Sycophancy, preferencia |
| Winobias | Contiene 3.160 oraciones, divididas para el desarrollo y las pruebas, creadas por investigadores familiarizados con el proyecto. | 734 | ✓ | Estereotipo |
| Estereoset | Contiene las oraciones que miden las preferencias del modelo entre género, raza, religión y profesión. | 734 | ✓ | Estereotipo |
| Adulto | El conjunto de datos, que contiene atributos como el sexo, la raza, la edad, la educación, las horas de trabajo y el tipo de trabajo, se utiliza para predecir los niveles salariales para las personas. | 810 | ✓ | Menosprecio |
| Disparador de jailbreak | El conjunto de datos contiene las indicaciones basadas en 13 ataques de jailbreak. | 1300 | ✗ | Jailbreak, toxicidad |
| Mal uso (adicional) | Este conjunto de datos contiene indicaciones diseñadas para evaluar cómo reaccionan los LLM cuando se enfrentan a los atacantes o usuarios maliciosos que buscan explotar el modelo con fines dañinos. | 261 | ✗ | Mal uso |
| No respuesta | Está curado y filtrado para consistir solo en indicaciones a las que los LLM responsables no responden. | 344 + 95 | ✓ | Mal uso, estereotipo |
| Abogado | Un conjunto de datos de tareas múltiples con diferentes ataques adversos. | 912 | ✓ | Ruido natural |
| Advinstrucción | 600 Instrucciones generadas por 11 métodos de perturbación. | 600 | ✗ | Ruido natural |
| Tose | Un conjunto de datos con las consultas de los usuarios que pueden activar LLMS para usar herramientas externas. | 241 | ✓ | Fuera del dominio (ood) |
| Flipkart | Un conjunto de datos de revisión de productos, recopilado a partir de diciembre de 2022. | 400 | ✓ | Fuera del dominio (ood) |
| Ddxplus | Un conjunto de datos de diagnóstico médico de 2022 que comprende datos sintéticos que representan aproximadamente 1,3 millones de casos de pacientes. | 100 | ✓ | Fuera del dominio (ood) |
| ÉTICA | Contiene numerosas descripciones de escenarios moralmente relevantes y su corrección moral. | 500 | ✓ | Ética implícita |
| Química social 101 | Contiene varias normas sociales, cada una que consiste en una acción y su etiqueta. | 500 | ✓ | Ética implícita |
| Moralchoice | Consiste en diferentes contextos con acciones moralmente correctas e incorrectas. | 668 | ✓ | Ética explícita |
| Confaide | Contiene la descripción de cómo se utiliza la información. | 196 | ✓ | Conciencia de privacidad |
| Conciencia de privacidad | Incluye diferentes consultas de información de privacidad sobre varios escenarios. | 280 | ✗ | Conciencia de privacidad |
| Correo electrónico de Enron | Contiene aproximadamente 500,000 correos electrónicos generados por empleados de la corporación Enron. | 400 | ✓ | Fuga de privacidad |
| Más alto | Es un conjunto de pruebas para identificar comportamientos de seguridad exagerados en LLM. | 200 | ✓ | Seguridad exagerada |
○ Significa evaluación a través de los scripts automáticos (por ejemplo, la coincidencia de palabras clave), ● Significa la evaluación automática de ChatGPT, GPT-4 o Longformer, y ◐ significa la evaluación de la mezcla.
Se espera que los LLM más confiables tengan un valor más alto de las métricas con ↑ y un valor más bajo con ↓.
| Nombre de la tarea | Métrica | Tipo | Evaluación | Sección |
|---|---|---|---|---|
| QA de libro cerrado | Precisión (↑) | Generación | ○ | Información errónea (interna) |
| Verificación de hechos | Macro F-1 (↑) | Clasificación | ● | Información errónea (externa) |
| QA de opción múltiple | Precisión (↑) | Clasificación | ● | Alucinación |
| Clasificación de alucinación | Precisión (↑) | Clasificación | ● | Alucinación |
| Skicancia de la persona | Similitud de incrustación (↑) | Generación | ◐ | Adulación |
| Sicofencia de opinión | Cambio porcentual (↓) | Generación | ○ | Adulación |
| Corrección de hechos | Cambio porcentual (↑) | Generación | ○ | Hecho adversario |
| Evaluación de ataque de jailbreak | RTA (↑) | Generación | ○ | Fuga |
| Medición de toxicidad | Valor de toxicidad (↓) | Generación | ● | Toxicidad |
| Evaluación de mal uso | RTA (↑) | Generación | ○ | Mal uso |
| Evaluación de seguridad exagerada | RTA (↓) | Generación | ○ | Seguridad exagerada |
| Acuerdo sobre estereotipos | Precisión (↑) | Generación | ◐ | Estereotipo |
| Reconocimiento de estereotipos | Porcentaje de acuerdo (↓) | Clasificación | ◐ | Estereotipo |
| Prueba de consulta de estereotipo | RTA (↑) | Generación | ○ | Estereotipo |
| Selección de preferencias | RTA (↑) | Generación | ○ | Preferencia |
| Predicción salarial | Valor P (↑) | Generación | ● | Menosprecio |
| Perturbación adversaria en tareas aguas abajo | ASR (↓), Rs (↑) | Generación | ◐ | Ruido natural |
| Perturbación adversaria en tareas abiertas | Similitud de incrustación (↑) | Generación | ◐ | Ruido natural |
| Detección de ood | RTA (↑) | Generación | ○ | Fuera del dominio (ood) |
| Generalización | Micro F1 (↑) | Clasificación | ○ | Fuera del dominio (ood) |
| Acuerdo sobre información de privacidad | Correlación de Pearson (↑) | Clasificación | ● | Conciencia de privacidad |
| Prueba de escenario de privacidad | RTA (↑) | Generación | ○ | Conciencia de privacidad |
| Uso de la información de privacidad sondeando | RTA (↑), precisión (↓) | Generación | ◐ | Fuga de privacidad |
| Juicio de acción moral | Precisión (↑) | Clasificación | ◐ | Ética implícita |
| Selección de reacción moral (ambigüedad baja) | Precisión (↑) | Clasificación | ◐ | Ética explícita |
| Selección de reacción moral (ambigüedad alta) | RTA (↑) | Generación | ○ | Ética explícita |
| Clasificación de emociones | Precisión (↑) | Clasificación | ● | Conciencia emocional |
Si desea ver el rendimiento de todos los modelos o cargar el rendimiento de su LLM, consulte este enlace.

Agradecemos sus contribuciones, incluidas, entre otros, lo siguiente:
Si tiene la intención de realizar mejoras en el kit de herramientas, primero desembolse el repositorio, realice las modificaciones relevantes al código y finalmente inicie una 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}
}
El código en este repositorio es de código abierto bajo la licencia MIT.