TrustLLM 项目介绍
关于 TrustLLM
TrustLLM 是一个研究大语言模型可信度的全面框架,涵盖了不同维度的可信性原则、调查研究和基准测试。本项目建立了有关主流大语言模型可信度评估和分析的基准,同时讨论了未来的开放挑战和方向。我们提出了一套八个不同维度的可信原则,编制了一个涵盖六个维度的基准测试,包括真实性、安全性、公平性、鲁棒性、隐私性和机器伦理。通过对 16 个主流大语言模型进行研究,TrustLLM 涵盖了30多个数据集。项目文档提供了如何使用 trustllm Python 包快速评估语言模型可信度的指南。想要了解更多细节,可以访问 项目网站。
开始评估之前
安装
可以通过以下三种方法安装 TrustLLM:
-
通过 GitHub(推荐):
git clone git@github.com:HowieHwong/TrustLLM.git
-
通过 pip:
pip install trustllm
-
通过 conda:
conda install -c conda-forge trustllm
创建新环境:
conda create --name trustllm python=3.9
安装所需包:
cd trustllm_pkg pip install .
数据集下载
下载 TrustLLM 数据集:
from trustllm.dataset_download import download_dataset
download_dataset(save_path='save_path')
生成
在 0.2.0 版本中,我们增加了生成功能。可以从这里开始生成,这里是一个示例:
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()
评估
我们提供了一个工具包,可以更方便地评估大语言模型的可信度。请参考 文档 获取更多详细信息。以下是一个示例:
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"
)
数据集与任务
TrustLLM 使用多个数据集来评估模型在不同任务中的性能。这些任务涵盖误导信息、幻觉、偏向性、攻击等多个方面。
数据集概览
TrustLLM 使用了一系列丰富的数据集,包括 SQuAD2.0、CODAH、HotpotQA 等。这些数据集用于衡量模型在真实性、隐私、偏见等方面的表现。
任务概览
评估任务如封闭式问答、事实核查、幻觉分类等,采用不同的指标来评价模型的可信程度。
排行榜
如果想查看所有模型的性能或上传自己的模型性能,请访问 排行榜链接。
贡献
我们欢迎大家的贡献,包括但不限于:
- 新的评估数据集
- 可信性研究
- 工具包改进
如想对工具包进行改进,请先 fork 仓库,修改代码后发起 pull request。
引用
如需要引用本项目,请使用以下格式:
@inproceedings{huang2024trustllm,
title={TrustLLM: Trustworthiness in Large Language Models},
...
}
许可证
此代码库依据 MIT 许可证 开源。