语言: 英语
许可证: Apache-2.0
基础模型: google/flan-t5-base
任务标签: 文本分类
谨以此纪念西蒙·马克·休斯...
亮点:
- HHEM-2.1-Open相比HHEM-1.0有显著提升。
- HHEM-2.1-Open性能超越GPT-3.5-Turbo甚至GPT-4。
- HHEM-2.1-Open可在消费级硬件上运行,32位精度下内存占用不足600MB,现代x86 CPU处理2k token输入仅需约1.5秒。
HHEM-2.1-Open的使用方式存在重大变更。请根据下方新用法更新代码。我们正在使其兼容HuggingFace的推理端点服务,对造成的不便深表歉意。
HHEM-2.1-Open是Vectara于2023年11月对HHEM-1.0-Open的重大升级。HHEM系列模型专为检测大语言模型(LLM)的幻觉而设计,特别适用于构建检索增强生成(RAG)应用场景——当LLM基于一组事实生成摘要时,HHEM可量化评估摘要与事实的一致性程度。
若想了解更多RAG信息或体验Vectara,可注册账号。
无需编码,直接在浏览器试用HHEM-2.1-Open
幻觉检测基础
"幻觉"或"事实不一致"指待评估文本(假设)无法被参考文本(证据/前提)支持。判断幻觉必须同时提供两段文本。在RAG应用中,LLM基于检索到的多段文本(常称为事实或上下文)生成摘要,若摘要内容未被这些事实支持即产生幻觉。
RAG中常见真实但幻觉类型:
例如前提_"法国首都是柏林",假设"法国首都是巴黎"_虽符合常识,但因未基于检索内容而构成幻觉。
幻觉检测具有非对称性:
假设_"我到访爱荷华州"在前提"我到访美国"_下属幻觉,反之则成立。
使用HHEM-2.1-Open
HHEM-2.1与HHEM-1.0存在不兼容变更。2023年11月的HHEM-1代码需按新规范调整。
以下是transformers
库的多种调用方式:
可能遇到"Token序列长度超过限制"警告,该提示继承自T5-base基础模型可忽略。
通过AutoModel
调用
最端到端的调用方式,输入(前提,假设)对列表,返回0-1分数(0表示完全不支持,1表示完全支持):
from transformers import AutoModelForSequenceClassification
pairs = [
("法国首都是柏林", "法国首都是巴黎"),
('我在加利福尼亚', '我在美国'),
('我在美国', '我在加利福尼亚'),
("骑马者跳过故障飞机", "有人在户外骑马"),
("红桥中央玩滑板的男孩", "男孩在红桥人行道滑行"),
("金发棕衣男子饮用公共喷泉", "棕衣金发男子在看书"),
("马克·沃尔伯格是曼尼粉丝", "曼尼是马克·沃尔伯格粉丝")
]
model = AutoModelForSequenceClassification.from_pretrained(
'vectara/hallucination_evaluation_model', trust_remote_code=True)
model.predict(pairs)
通过pipeline
调用
需手动按训练模板格式化数据,模型输出包含hallucinated
和consistent
两个标签分数:
from transformers import pipeline, AutoTokenizer
prompt = "<pad> 根据前提判断假设是否成立?\n\n前提: {text1}\n\n假设: {text2}"
input_pairs = [prompt.format(text1=p[0], text2=p[1]) for p in pairs]
classifier = pipeline(
"text-classification",
model='vectara/hallucination_evaluation_model',
tokenizer=AutoTokenizer.from_pretrained('google/flan-t5-base'),
trust_remote_code=True
)
full_scores = classifier(input_pairs, top_k=None)
consistent_scores = [s['score'] for batch in full_scores for s in batch if s['label'] == 'consistent']
设置top_k=1
可获取最高分标签。
HHEM-2.1-Open vs HHEM-1.0
核心差异:HHEM-2.1-Open取消512token长度限制,更适合长文本RAG场景。下表对比两个模型在AggreFact和RAGTruth基准的表现,以及GPT-3.5-Turbo与GPT-4结果:
表1: AggreFact-SOTA性能
模型 |
平衡准确率 |
F1 |
召回率 |
精确率 |
HHEM-1.0 |
78.87% |
90.47% |
70.81% |
67.27% |
HHEM-2.1-Open |
76.55% |
66.77% |
68.48% |
65.13% |
GPT-3.5-Turbo零样本 |
72.19% |
60.88% |
58.48% |
63.49% |
GPT-4零样本 |
73.78% |
63.87% |
53.03% |
80.28% |
表2: RAGTruth-Summ性能
模型 |
平衡准确率 |
F1 |
召回率 |
精确率 |
HHEM-1.0 |
53.36% |
15.77% |
9.31% |
51.35% |
HHEM-2.1-Open |
64.42% |
44.83% |
31.86% |
75.58% |
表3: RAGTruth-QA性能
模型 |
平衡准确率 |
F1 |
召回率 |
精确率 |
HHEM-2.1-Open |
74.28% |
60.00% |
54.38% |
66.92% |
GPT-4零样本 |
74.11% |
57.78% |
56.88% |
58.71% |
注:AggreFact-SOTA基于较旧的T5/BART/Pegasus模型,而RAGTruth测试集包含GPT-4/Llama-2等现代模型。
HHEM-2.1-Open vs GPT模型
表4: HHEM-2.1-Open相对优势(百分比)
|
AggreFact-SOTA |
RAGTruth-Summ |
RAGTruth-QA |
优于GPT-3.5-Turbo |
+4.36% |
+5.93% |
+18.12% |
优于GPT-4 |
+2.64% |
+1.80% |
+0.17% |
效率优势:600MB内存占用,x86 CPU处理2k token仅1.5秒。
专业版HHEM-2.1
HHEM-2.1-Open的专业版通过Vectara平台提供,核心差异:
选择Vectara RAG的原因
Vectara提供可信生成AI平台,具备以下企业级特性:
- 降低幻觉
- 提供可解释性/溯源
- 实施访问控制
- 支持知识实时更新
- 规避LLM的知识产权/偏见问题
注册账号即可自动获取HHEM-2.1评分。
资源推荐:
- API文档
vektara
包快速入门
- Boomerang嵌入模型介绍
LLM幻觉排行榜
定期更新的公开榜单及GitHub仓库提供最新评测结果。
引用本模型
@misc{hhem-2.1-open,
author = {Forrest Bao and Miaoran Li and Rogger Luo and Ofer Mendelevitch},
title = {HHEM-2.1-Open},
year = {2024},
url = {https://huggingface.co/vectara/hallucination_evaluation_model},
doi = {10.57967/hf/3240},
publisher = {Hugging Face}
}