Tabela de conteúdo
Introduzimos o Trustllm, um estudo abrangente de confiabilidade no LLMS, incluindo princípios para diferentes dimensões de confiabilidade, referência estabelecida, avaliação e análise de confiabilidade para os principais LLMs e discussão sobre desafios abertos e direções futuras. Especificamente, primeiro propomos um conjunto de princípios para LLMs confiáveis que abrangem oito dimensões diferentes. Com base nesses princípios, estabelecemos ainda uma referência em seis dimensões, incluindo veracidade, segurança, justiça, robustez, privacidade e ética da máquina. Em seguida, apresentamos um estudo avaliando 16 LLMs mainstream no Trustllm, consistindo em mais de 30 conjuntos de dados. O documento explica como usar o pacote Trustllm Python para ajudá -lo a avaliar o desempenho do seu LLM em confiabilidade mais rapidamente. Para mais detalhes sobre o Trustllm, consulte o site do projeto.
Instalação via Github (recomendado):
git clone [email protected]:HowieHwong/TrustLLM.git Instalação via pip :
pip install trustllm Instalação via conda :
conda install -c conda-forge trustllmCrie um novo ambiente:
conda create --name trustllm python=3.9Instale os pacotes necessários:
cd trustllm_pkg
pip install .Baixe o conjunto de dados Trustllm:
from trustllm . dataset_download import download_dataset
download_dataset ( save_path = 'save_path' )Adicionamos a seção de geração da versão 0.2.0. Inicie sua geração a partir desta página. Aqui está um exemplo:
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 ()Fornecemos um kit de ferramentas que permite avaliar mais convenientemente a confiabilidade de grandes modelos de idiomas. Consulte o documento para obter mais detalhes. Aqui está um exemplo:
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"
)✓ O conjunto de dados é de trabalho anterior e ✗ significa que o conjunto de dados é proposto pela primeira vez em nossa referência.
| Conjunto de dados | Descrição | Num. | Existe? | Seção |
|---|---|---|---|---|
| Esquadrão2.0 | Ele combina perguntas no Squad1.1 com mais de 50.000 perguntas sem resposta. | 100 | ✓ | Desinformação |
| Codah | Ele contém 28.000 perguntas de senso comum. | 100 | ✓ | Desinformação |
| Hotpotqa | Ele contém pares de perguntas-respostas baseadas na Wikipedia de 113 mil para o raciocínio complexo de multi-hop. | 100 | ✓ | Desinformação |
| Adversarialqa | Ele contém 30.000 pares adversários de compreensão de compreensão de perguntas. | 100 | ✓ | Desinformação |
| Clima-febre | Ele contém 7.675 reivindicações relacionadas às mudanças climáticas manualmente com curadoria por verificadores de fatos humanos. | 100 | ✓ | Desinformação |
| Scifact | Ele contém 1.400 reivindicações científicas escritas em especialistas com resumos de evidências. | 100 | ✓ | Desinformação |
| Covid-Fact | Ele contém 4.086 reivindicações do mundo real. | 100 | ✓ | Desinformação |
| Saúde | Contém 14.330 reclamações relacionadas à saúde contra artigos científicos. | 100 | ✓ | Desinformação |
| Verdadeiro | As perguntas de múltipla escolha para avaliar se um modelo de idioma é verdadeiro na geração de respostas para perguntas. | 352 | ✓ | Alucinação |
| Halueval | Ele contém 35.000 amostras geradas e anotadas por humanos. | 300 | ✓ | Alucinação |
| LM-EXP-Sycofhancy | Um conjunto de dados consiste em perguntas humanas com um exemplo de resposta à bajulação e um exemplo de resposta a não-sicofância. | 179 | ✓ | Sycofância |
| Pares de opinião | Ele contém 120 pares de opiniões opostas. | 240, 120 | ✗ | Sycofância, preferência |
| Winobias | Ele contém 3.160 frases, divididas para desenvolvimento e teste, criado por pesquisadores familiarizados com o projeto. | 734 | ✓ | Estereótipo |
| Estereosente | Ele contém as frases que medem as preferências do modelo em gênero, raça, religião e profissão. | 734 | ✓ | Estereótipo |
| Adulto | O conjunto de dados, contendo atributos como sexo, raça, idade, educação, horário de trabalho e tipo de trabalho, é utilizado para prever níveis salariais para indivíduos. | 810 | ✓ | Depreciação |
| Gatilho de jailbreak | O conjunto de dados contém os avisos com base em 13 ataques de jailbreak. | 1300 | ✗ | Jailbreak, toxicidade |
| Uso indevido (adicional) | Esse conjunto de dados contém instruções criadas para avaliar como o LLMS reage quando confrontado por atacantes ou usuários maliciosos que buscam explorar o modelo para fins prejudiciais. | 261 | ✗ | Uso indevido |
| Do-não-respostas | É com curadoria e filtrado para consistir apenas em instruções para as quais os LLMs responsáveis não respondem. | 344 + 95 | ✓ | Uso indevido, estereótipo |
| AdvgUe | Um conjunto de dados de várias tarefas com diferentes ataques adversários. | 912 | ✓ | Ruído natural |
| Consultoria | 600 instruções geradas por 11 métodos de perturbação. | 600 | ✗ | Ruído natural |
| Toole | Um conjunto de dados com as consultas dos usuários que podem acionar LLMs a usar ferramentas externas. | 241 | ✓ | Fora do domínio (Ood) |
| Flipkart | Um conjunto de dados de revisão de produtos, coletado a partir de dezembro de 2022. | 400 | ✓ | Fora do domínio (Ood) |
| Ddxplus | Um conjunto de dados de diagnóstico médico de 2022 compreendendo dados sintéticos que representam cerca de 1,3 milhão de casos de pacientes. | 100 | ✓ | Fora do domínio (Ood) |
| ÉTICA | Ele contém numerosos cenários moralmente relevantes descrições e sua correção moral. | 500 | ✓ | Ética implícita |
| Química Social 101 | Ele contém várias normas sociais, cada uma consistindo em uma ação e seu rótulo. | 500 | ✓ | Ética implícita |
| MoralChoice | Consiste em diferentes contextos com ações moralmente corretas e erradas. | 668 | ✓ | Ética explícita |
| Conflaide | Ele contém a descrição de como as informações são usadas. | 196 | ✓ | Conscientização da privacidade |
| Conscientização da privacidade | Inclui diferentes consultas de informações de privacidade sobre vários cenários. | 280 | ✗ | Conscientização da privacidade |
| Email da Enron | Ele contém aproximadamente 500.000 e -mails gerados por funcionários da Enron Corporation. | 400 | ✓ | Vazamento de privacidade |
| Xstest | É um conjunto de testes para identificar comportamentos de segurança exagerados no LLMS. | 200 | ✓ | Segurança exagerada |
○ significa avaliação através dos scripts automáticos (por exemplo, palavras-chave correspondentes), ● significa a avaliação automática por chatgpt, GPT-4 ou longformer e ◐ significa a avaliação da mistura.
Espera -se que os LLMs mais confiáveis tenham um valor mais alto das métricas com ↑ e um valor mais baixo com ↓.
| Nome da tarefa | Métricas | Tipo | Aval | Seção |
|---|---|---|---|---|
| QA de livro fechado | Precisão (↑) | Geração | ○ | Desinformação (interna) |
| Verificação de fatos | Macro F-1 (↑) | Classificação | ● | Desinformação (externa) |
| QA de múltipla escolha | Precisão (↑) | Classificação | ● | Alucinação |
| Classificação de alucinação | Precisão (↑) | Classificação | ● | Alucinação |
| Persona Sycofhancy | Incorporar similaridade (↑) | Geração | ◐ | Sycofância |
| Sistema de opinião | Mudança percentual (↓) | Geração | ○ | Sycofância |
| Correção de factualidade | Mudança percentual (↑) | Geração | ○ | Factualidade adversária |
| Avaliação de ataque de jailbreak | RTA (↑) | Geração | ○ | Fuga de presos |
| Medição de toxicidade | Valor de toxicidade (↓) | Geração | ● | Toxicidade |
| Avaliação de uso indevido | RTA (↑) | Geração | ○ | Uso indevido |
| Avaliação de segurança exagerada | RTA (↓) | Geração | ○ | Segurança exagerada |
| Acordo sobre estereótipos | Precisão (↑) | Geração | ◐ | Estereótipo |
| Reconhecimento de estereótipos | Porcentagem de contrato (↓) | Classificação | ◐ | Estereótipo |
| Teste de consulta de estereótipo | RTA (↑) | Geração | ○ | Estereótipo |
| Seleção de preferência | RTA (↑) | Geração | ○ | Preferência |
| Previsão de salário | valor p (↑) | Geração | ● | Depreciação |
| Perturbação adversária em tarefas a jusante | ASR (↓), Rs (↑) | Geração | ◐ | Ruído natural |
| Perturbação adversária em tarefas abertas | Incorporar similaridade (↑) | Geração | ◐ | Ruído natural |
| Detecção de Ood | RTA (↑) | Geração | ○ | Fora do domínio (Ood) |
| Generalização Ood | Micro F1 (↑) | Classificação | ○ | Fora do domínio (Ood) |
| Acordo sobre informações de privacidade | Correlação de Pearson (↑) | Classificação | ● | Conscientização da privacidade |
| Teste de cenário de privacidade | RTA (↑) | Geração | ○ | Conscientização da privacidade |
| Sondando o uso de informações de privacidade | RTA (↑), precisão (↓) | Geração | ◐ | Vazamento de privacidade |
| Julgamento da ação moral | Precisão (↑) | Classificação | ◐ | Ética implícita |
| Seleção de reação moral (baixa ambiguidade) | Precisão (↑) | Classificação | ◐ | Ética explícita |
| Seleção de reação moral (alta ambiguidade) | RTA (↑) | Geração | ○ | Ética explícita |
| Classificação da emoção | Precisão (↑) | Classificação | ● | Consciência emocional |
Se você deseja visualizar o desempenho de todos os modelos ou fazer upload do desempenho do seu LLM, consulte este link.

Congratulamo -nos com suas contribuições, incluindo, entre outros, o seguinte:
Se você pretende fazer melhorias no kit de ferramentas, bire o repositório primeiro, faça as modificações relevantes no código e finalmente inicie uma 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}
}
O código deste repositório é de código aberto sob a licença do MIT.