大模型评测之幻觉检测hallucination_evaluation_model
大背景:
- 2025开年deepseek铺天盖地的新闻
- 参会代表已经表明,年度主线就是以AI为基础
- Manus于3月初横空出世
- 国内各种模型竞赛的现状,只要是和科技沾边的公司不可能没有大模型,哪怕是里三层外三层套壳也得上
- 东升西降,宏观使然,竞争中必然有科技竞争
小背景
- 本公司自研大模型rd,在模型排名中必有一席之地
- 除了加大力度研发,还需各种评测
- 正好,吾就是一名专业的模型评测员
- 随着各种假信息的泛滥,模型越来越不清楚安全的边界、真实的边界,只是于铺天盖地的网页中查找然后总结,算不上一个优秀的大模型
幻觉检测
什么是幻觉检测?
官网中介绍到:“HHEM模型系列旨在检测 LLM 中的幻觉。它们在构建检索增强生成 (RAG) 应用程序的背景下特别有用,其中 LLM 总结了一组事实,并且 HHEM 可用于衡量该总结与事实在事实上的一致程度。”
说人话,就是检测一下大模型对事实的认知能力如何。
大模型地址:https://huggingface.co/vectara/hallucination_evaluation_model
如何做幻觉检测
- 仔细阅读中大模型地址的Model Card部分,这对你理解 “事实但是幻觉” 很重要。

- 把项目克隆下来,待会儿要用到里面的模型进行计算
- 下载官方数据集,https://huggingface.co/datasets/vectara/leaderboard_results/tree/main ,数据集是一个很大的csv文件,里面是用于测试幻觉的各种问题,用于模型的输入
- 使用提示语,提示语要和问题进行拼接

编写一个脚本,从csv中读取问题,请求大模型,再将大模型的答案追加到后一列。参考如下:
def huan_jue():
df = pd.read_csv('leaderboard_summaries.csv', encoding='utf-8')
df = df[df['model'] == 'deepseek/deepseek-v3'] data = {"source": [], 'ori_summary': [], "rendu_summary": []}
for index, row in df.iterrows():
source = row[0]
ori_summary = row[1]
msg = f'Provide a concise summary of the following passage, covering the core pieces of information described in english. {source}'
con = rendu(msg)
try:
con = con['choices'][0]['message']['content']
except IndexError:
con = ''
print(index, con[:100])
data["source"].append(source)
data["ori_summary"].append(ori_summary)
data["rendu_summary"].append(con) df2 = pd.DataFrame(data)
df2.to_csv('output.csv', index=False)上面的过程可能很漫长,建议放到服务器后台进行,后台命令参考,如果不打算用服务器跑,这一步忽略。
nohup python hallucination_test.py > nohup.out 2>&1 &
下载依赖的模型,参考代码如下(如果已配置梯子,这一步可以忽略)
import os
os.environ['HF_ENDPOINT'] = 'https://hf-mirror.com'
from huggingface_hub import snapshot_download snapshot_download(
repo_id="microsoft/OmniParser-v2.0",
# repo_type="dataset", # 下载数据集时才需要
local_dir="../hallucination_evaluation_model/google/flan-t5-base",
# proxies={"https": "http://localhost:7890"},
# max_workers=8,
etag_timeout=180
)- 使用大模型地址的Model Card部分提到的计算方式进行计算,这也是为什么第一步让大家熟读Model Card。我用的是Pipline方式计算的。计算也很耗时,建议放在服务器进行。

分数转化为排行榜支持的形式,首先我们看一下排行榜 https://huggingface.co/spaces/vectara/leaderboard ,首列分数越低代表该大模型致幻程度越小,说明模型越好。那四列的意思分别为:
幻觉率:幻觉评分低于0.5的摘要百分比
- 事实一致率:幻觉率的补充,以百分比表示。
- 回答率:非空摘要的百分比。这要么是模型拒绝生成响应,要么是由于各种原因抛出错误。(例如,模型认为文档包含不恰当的内容)
- 平均摘要长度:生成的摘要的平均字数
- 转换分数脚本参考
import pandas as pd
result = {
'Hallucination Rate': 0,
'Factual Consistency Rate': 0,
'Answer Rate': 0,
'Average Summary Length': 0
}
with open('result.json', 'r') as f:
con = eval(f.read())
hr = fcr = ar = 0
df = pd.read_csv('hallu_rendu/rendu_summary.csv') asl = []
for i in df['rendu_summary'].tolist():
j = i.split(' ')
sm = 0
sm += len(j)
asl.append(sm) for i in con:
if i < 0.5:
hr += 1
if not i:
ar += 1 hr = round(hr/len(con), 2)
fcr = 1-hr
hr = str(hr * 100) + '%'
fcr = str(fcr * 100) + '%'
ar = str((len(con) - ar) / len(con) * 100) + '%'
asl = str(sum(asl)/len(asl))
result['Hallucination Rate'] = hr
result['Factual Consistency Rate'] = fcr
result['Answer Rate'] = ar
result['Average Summary Length'] = asl
print(result)
聊一聊我们的模型评测结果
我们的rd模型在评测中各项评分如下:{'Hallucination Rate': '16.0%', 'Factual Consistency Rate': '84.0%', 'Answer Rate': '100.0%', 'Average Summary Length': '102.68190854870775'}
这个结果算不上好,但至少上榜了。
你们的呢,评论区聊一聊
大模型评测之幻觉检测hallucination_evaluation_model的更多相关文章
- R2CNN模型——用于文本目标检测的模型
引言 R2CNN全称Rotational Region CNN,是一个针对斜框文本检测的CNN模型,原型是Faster R-CNN,paper中的模型主要针对文本检测,调整后也可用于航拍图像的检测中去 ...
- AI大模型学习了解
# 百度文心 上线时间:2019年3月 官方介绍:https://wenxin.baidu.com/ 发布地点: 参考资料: 2600亿!全球最大中文单体模型鹏城-百度·文心发布 # 华为盘古 上线时 ...
- 无插件的大模型浏览器Autodesk Viewer开发培训-武汉-2014年8月28日 9:00 – 12:00
武汉附近的同学们有福了,这是全球第一次关于Autodesk viewer的教室培训. :) 你可能已经在各种场合听过或看过Autodesk最新推出的大模型浏览器,这是无需插件的浏览器模型,支持几十种数 ...
- PowerDesigner 学习:十大模型及五大分类
个人认为PowerDesigner 最大的特点和优势就是1)提供了一整套的解决方案,面向了不同的人员提供不同的模型工具,比如有针对企业架构师的模型,有针对需求分析师的模型,有针对系统分析师和软件架构师 ...
- PowerDesigner 15学习笔记:十大模型及五大分类
个人认为PowerDesigner 最大的特点和优势就是1)提供了一整套的解决方案,面向了不同的人员提供不同的模型工具,比如有针对企业架构师的模型,有针对需求分析师的模型,有针对系统分析师和软件架构师 ...
- WPF 3D 平移模型+动画(桥梁检测系统)
原文:WPF 3D 平移模型+动画(桥梁检测系统) 关于WPF 3D,网上有很多旋转的例子,但是关于平移的例子并不是太多.本文并非WPF 3D扫盲篇,因此需要对WPF 3D有一定了解,至少知道View ...
- 华为高级研究员谢凌曦:下一代AI将走向何方?盘古大模型探路之旅
摘要:为了更深入理解千亿参数的盘古大模型,华为云社区采访到了华为云EI盘古团队高级研究员谢凌曦.谢博士以非常通俗的方式为我们娓娓道来了盘古大模型研发的"前世今生",以及它背后的艰难 ...
- 文心大模型api使用
文心大模型api使用 首先,我们要获取硅谷社区的连个key 复制两个api备用 获取Access Token 获取access_token示例代码 之后就会输出 作文创作 作文创作:作文创作接口基于文 ...
- 千亿参数开源大模型 BLOOM 背后的技术
假设你现在有了数据,也搞到了预算,一切就绪,准备开始训练一个大模型,一显身手了,"一朝看尽长安花"似乎近在眼前 -- 且慢!训练可不仅仅像这两个字的发音那么简单,看看 BLOOM ...
- DeepSpeed Chat: 一键式RLHF训练,让你的类ChatGPT千亿大模型提速省钱15倍
DeepSpeed Chat: 一键式RLHF训练,让你的类ChatGPT千亿大模型提速省钱15倍 1. 概述 近日来,ChatGPT及类似模型引发了人工智能(AI)领域的一场风潮. 这场风潮对数字世 ...
随机推荐
- jsch文件复制(拷贝)
public void copyFile(Session session, String sourceFile, String destinationFile) { ChannelExec chann ...
- Qt开源作品39-日志输出增强版V2022
一.前言 之前已经开源过基础版本,近期根据客户需求和自己的项目需求,提炼出通用需求部分,对整个日志重定向输出类重新规划和重写代码. 用Qt这个一站式超大型GUI超市做开发已经十二年了,陆陆续续开发过至 ...
- 解决Failed to load module canberra-gtk-module错误
在Ubuntu环境里,通过./triangulation 1.png 2.png 命令运行高翔的ch7的triangulation程序时报错: Gtk-Message: 09:10:26.571: F ...
- [转]来,让我们一起来盘盘 Nodejs 环境变量(process.env)
首先 process.env 是什么? node环境变量: process 是node的全局变量,类似浏览器的window: env 是process的一个属性. 官方解释:process 对象是一个 ...
- 网络编程入门从未如此简单(二):假如你来设计TCP协议,会怎么做?
本文原题"你管这破玩意儿叫TCP?",由闪客sun分享,转载请联系作者. 1.引言 网络编程能力对于即时通讯技术开发者来说是基本功,而计算机网络又是网络编程的理论根基,因而深刻准确 ...
- 长连接网关技术专题(六):石墨文档单机50万WebSocket长连接架构实践
本文由石墨文档技术杜旻翔分享,原题"石墨文档 Websocket 百万长连接技术实践",有修订. 1.引言 在石墨文档的部分业务中,例如文档分享.评论.幻灯片演示和文档表格跟随等场 ...
- C# 获取系统声卡音频数据,并绘制波形
//by wgscd //date:2022/11/7 UI: <Path Stroke="Red" Data="{Binding path}" Rend ...
- 强力工具助你一臂之力:XXECheck–全面提升XML安全,防护XXE漏洞!
泷羽Sec-track XXECheck XXECheck 是一种用于检测和防止 XML 外部实体 (XXE) 注入攻击的安全工具或库,一款XXE漏洞检测工具,支持 DoS 检测(DoS 检测默认开启 ...
- 完整的 c 语言用到的基础知识总结
作者: baron 博客: baron-z.cn 用于记录 c 语言基础知识,如果没有特别说明本文的所有代码编译环境为 gcc 编译器编译,学习资料来自狄泰软件学院可在淘宝购买学习 一.基本数据类型 ...
- “天翼云息壤杯”高校AI大赛云南赛区启动!
11月19日,首届全国"天翼云息壤杯"高校AI大赛云南赛区启动仪式在昆明理工大学举行.本次赛事由中国电信云南公司(以下简称"云南电信")和云南省计算机学会智能计 ...