大背景:

  1. 2025开年deepseek铺天盖地的新闻
  2. 参会代表已经表明,年度主线就是以AI为基础
  3. Manus于3月初横空出世
  4. 国内各种模型竞赛的现状,只要是和科技沾边的公司不可能没有大模型,哪怕是里三层外三层套壳也得上
  5. 东升西降,宏观使然,竞争中必然有科技竞争

小背景 

  1. 本公司自研大模型rd,在模型排名中必有一席之地
  2. 除了加大力度研发,还需各种评测
  3. 正好,吾就是一名专业的模型评测员
  4. 随着各种假信息的泛滥,模型越来越不清楚安全的边界、真实的边界,只是于铺天盖地的网页中查找然后总结,算不上一个优秀的大模型

幻觉检测

  什么是幻觉检测?

  官网中介绍到:“HHEM模型系列旨在检测 LLM 中的幻觉。它们在构建检索增强生成 (RAG) 应用程序的背景下特别有用,其中 LLM 总结了一组事实,并且 HHEM 可用于衡量该总结与事实在事实上的一致程度。”

  说人话,就是检测一下大模型对事实的认知能力如何。

  大模型地址:https://huggingface.co/vectara/hallucination_evaluation_model

如何做幻觉检测

  1. 仔细阅读中大模型地址的Model Card部分,这对你理解 “事实但是幻觉” 很重要。 
  2. 把项目克隆下来,待会儿要用到里面的模型进行计算
  3. 下载官方数据集,https://huggingface.co/datasets/vectara/leaderboard_results/tree/main ,数据集是一个很大的csv文件,里面是用于测试幻觉的各种问题,用于模型的输入
  4. 使用提示语,提示语要和问题进行拼接

  5. 编写一个脚本,从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)
  6. 上面的过程可能很漫长,建议放到服务器后台进行,后台命令参考,如果不打算用服务器跑,这一步忽略。

    nohup python hallucination_test.py > nohup.out 2>&1 &
  7. 下载依赖的模型,参考代码如下(如果已配置梯子,这一步可以忽略)

    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
    )
  8. 使用大模型地址的Model Card部分提到的计算方式进行计算,这也是为什么第一步让大家熟读Model Card。我用的是Pipline方式计算的。计算也很耗时,建议放在服务器进行。

  9. 分数转化为排行榜支持的形式,首先我们看一下排行榜 https://huggingface.co/spaces/vectara/leaderboard ,首列分数越低代表该大模型致幻程度越小,说明模型越好。那四列的意思分别为:

    • 幻觉率:幻觉评分低于0.5的摘要百分比

    • 事实一致率:幻觉率的补充,以百分比表示。
    • 回答率:非空摘要的百分比。这要么是模型拒绝生成响应,要么是由于各种原因抛出错误。(例如,模型认为文档包含不恰当的内容)
    • 平均摘要长度:生成的摘要的平均字数
  10. 转换分数脚本参考
    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的更多相关文章

  1. R2CNN模型——用于文本目标检测的模型

    引言 R2CNN全称Rotational Region CNN,是一个针对斜框文本检测的CNN模型,原型是Faster R-CNN,paper中的模型主要针对文本检测,调整后也可用于航拍图像的检测中去 ...

  2. AI大模型学习了解

    # 百度文心 上线时间:2019年3月 官方介绍:https://wenxin.baidu.com/ 发布地点: 参考资料: 2600亿!全球最大中文单体模型鹏城-百度·文心发布 # 华为盘古 上线时 ...

  3. 无插件的大模型浏览器Autodesk Viewer开发培训-武汉-2014年8月28日 9:00 – 12:00

    武汉附近的同学们有福了,这是全球第一次关于Autodesk viewer的教室培训. :) 你可能已经在各种场合听过或看过Autodesk最新推出的大模型浏览器,这是无需插件的浏览器模型,支持几十种数 ...

  4. PowerDesigner 学习:十大模型及五大分类

    个人认为PowerDesigner 最大的特点和优势就是1)提供了一整套的解决方案,面向了不同的人员提供不同的模型工具,比如有针对企业架构师的模型,有针对需求分析师的模型,有针对系统分析师和软件架构师 ...

  5. PowerDesigner 15学习笔记:十大模型及五大分类

    个人认为PowerDesigner 最大的特点和优势就是1)提供了一整套的解决方案,面向了不同的人员提供不同的模型工具,比如有针对企业架构师的模型,有针对需求分析师的模型,有针对系统分析师和软件架构师 ...

  6. WPF 3D 平移模型+动画(桥梁检测系统)

    原文:WPF 3D 平移模型+动画(桥梁检测系统) 关于WPF 3D,网上有很多旋转的例子,但是关于平移的例子并不是太多.本文并非WPF 3D扫盲篇,因此需要对WPF 3D有一定了解,至少知道View ...

  7. 华为高级研究员谢凌曦:下一代AI将走向何方?盘古大模型探路之旅

    摘要:为了更深入理解千亿参数的盘古大模型,华为云社区采访到了华为云EI盘古团队高级研究员谢凌曦.谢博士以非常通俗的方式为我们娓娓道来了盘古大模型研发的"前世今生",以及它背后的艰难 ...

  8. 文心大模型api使用

    文心大模型api使用 首先,我们要获取硅谷社区的连个key 复制两个api备用 获取Access Token 获取access_token示例代码 之后就会输出 作文创作 作文创作:作文创作接口基于文 ...

  9. 千亿参数开源大模型 BLOOM 背后的技术

    假设你现在有了数据,也搞到了预算,一切就绪,准备开始训练一个大模型,一显身手了,"一朝看尽长安花"似乎近在眼前 -- 且慢!训练可不仅仅像这两个字的发音那么简单,看看 BLOOM ...

  10. DeepSpeed Chat: 一键式RLHF训练,让你的类ChatGPT千亿大模型提速省钱15倍

    DeepSpeed Chat: 一键式RLHF训练,让你的类ChatGPT千亿大模型提速省钱15倍 1. 概述 近日来,ChatGPT及类似模型引发了人工智能(AI)领域的一场风潮. 这场风潮对数字世 ...

随机推荐

  1. conda虚拟环境中设置环境变量

    引言 使用conda创建虚拟环境就是为了方便管理,各个环境之间的模块是独立的.有时候我们在做项目的时候需要设置一下环境变量才方便实用,但是不想影响到其他的虚拟环境,因此不能再系统的环境变量里面设置. ...

  2. MySQL百万级数据量分页查询方法及其优化

    1. 直接用limit start, count分页语句, 也是我程序中用的方法: select * from product limit start, count 当起始页较小时,查询没有性能问题, ...

  3. java通过apache poi框架读取2007版Excel文件

    java系读写excel文件既可以用jxl库,也可以用POI库,但是,jxl库只支持低版本的excel2003,不支持更高版本,无法直接输出*.xlsx文件,只能输出*.xls文件,另外,更新也不频繁 ...

  4. 🎉 夜莺监控突破一万 star,这是汗水,也是鞭策

    夜莺监控项目在上周突破了一万 star,算是一个小小的里程碑.在开源领域,通常把 star 数量看作项目的繁荣指标,star 数量越多,说明愿意关注你的人越多.这个数字的背后,是一群人对你的鼓励.认可 ...

  5. Playwright自动化登录JD

    import base64 import random import re import time from playwright.sync_api import sync_playwright im ...

  6. 回顾 2024 年 12 个月的C#/.NET/.NET Core优秀项目和框架简报

    前言 今天咱们一起来回顾一下 2024 年 12 个月的C#/.NET/.NET Core优秀项目和框架简报,看看是否有适合你学习和参考的项目和框架. 简报初衷 公众号每月定期推广和分享的C#/.NE ...

  7. nginx 简单实践:静态资源部署、URL 重写【nginx 实践系列之一】

    〇.前言 本文为 nginx 简单实践系列文章之一,主要简单实践了两个内容:静态资源部署.重写,仅供参考. 关于 Nginx 基础,以及安装和配置详解,可以参考博主过往文章: https://www. ...

  8. Java后台管理框架的开源项目

    1.ThinkGem / JeeSite(开发人员/项目名称) JeeSite是您快速完成项目的最佳基础平台解决方案,JeeSite是您想学习Java平台的最佳学习案例,JeeSite还是接私活的最佳 ...

  9. w3cschool-MyBatis 教程

    参考 https://www.w3cschool.cn/mybatis/mybatis-dyr53b5w.html MyBatis 入门 SqlSessionFactoryBuilder用 SqlSe ...

  10. SqlServer数据插入性能小记

    对于SQL性能,已经很久没关注了.由于近期项目既没有几千万的海量数据也没有过多的性能要求,所以在性能上也就没下太多功夫.然而,前不久和朋友闲谈间话题一转就说到程序上了,他说他用Delphi做了个数据导 ...