Google推出Data Commons解决AI“幻觉”

ops/2024/9/20 3:56:57/ 标签: 人工智能, 语言模型, chatgpt, 自然语言处理

  每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行! 订阅:https://rengongzhineng.io/

Google推出的DataGemma模型填补了大型语言模型(Large Language Models, LLMs)与现实世界数据之间的鸿沟,通过利用Data Commons知识图谱来提升LLM回应的真实性与可信度。

虽然LLM革新了人们与信息互动的方式,但确保它们的回应基于可验证的事实仍是一个重大挑战。现实世界中的知识往往分散在多个来源中,每个来源都有不同的数据格式、模式和API,这使得访问和整合变得困难。缺乏这种事实基础会导致模型“幻觉”——即生成错误或误导性信息。打造负责任且值得信赖的AI系统是Google研究的核心目标,解决LLM中的幻觉问题对于实现这一目标至关重要。

Google今天发布了DataGemma,这是一组实验性的开源模型,旨在通过将LLM与Google Data Commons庞大的现实世界统计数据结合来应对幻觉问题。Data Commons已具备自然语言界面,DataGemma正是利用这一现有接口,以自然语言作为“API”,让用户可以直接问诸如“加州的就业行业有哪些?”或“有哪些国家的森林面积在增加?”这样的问题,而无需编写传统的数据库查询语句。借助Data Commons,Google克服了不同数据模式和API带来的复杂性,实际上提供了一个统一的“外部数据源API”。

Data Commons:事实性AI的基础

Data Commons是Google公开的知识图谱,包含全球超过2500亿个数据点,涵盖数十万个统计变量。这些数据来自联合国、世界卫生组织、卫生部、统计局等可信机构,涉及经济、气候变化、健康和人口等多个领域。这一庞大的数据仓库不断扩展其全球覆盖范围,为构建更加可靠和有依据的AI提供了坚实的基础。

DataGemma将LLM与现实世界数据相连接

Gemma系列是轻量级的开源模型家族,基于与Google Gemini模型相同的研究和技术构建。DataGemma通过利用Data Commons中的知识扩展了Gemma家族的能力,从而增强了LLM的事实性与推理能力。通过创新的数据检索技术,DataGemma帮助LLM从可信机构获取数据(包括政府、国际组织和非政府组织),减少幻觉的风险,提升模型输出的可信度。

与传统方法不同,使用DataGemma不需要掌握底层数据集的具体模式或API。它通过Data Commons的自然语言接口直接发出问题,而关键在于训练LLM知道何时提问。为此,Google使用了两种不同的方法:检索交错生成(RIG)和检索增强生成(RAG)。

检索交错生成(RIG)

这种方法对Gemma 2模型进行微调,使其在生成回应时能识别出其中的统计数据,并通过调用Data Commons进行验证。相当于模型对自己的回答进行“复查”。

RIG的工作流程如下:

  1. 用户查询:用户向LLM提交查询。
  2. 初始响应与Data Commons查询:DataGemma模型基于微调后的Gemma 2模型生成回应,同时生成自然语言查询,调用Data Commons获取相关数据。例如,模型不会直接回答“加州人口为3900万”,而是回答“加州人口为[DC(加州人口是多少?) → 3900万]”,允许外部验证以提高准确性。
  3. 数据检索与修正:查询Data Commons并检索数据,这些数据与来源信息及链接一起被自动用于修正初始响应中的潜在错误。
  4. 最终响应与来源链接:最终的响应包括数据来源和Data Commons的元数据,以便透明度和验证。

RIG方法的优势在于不改变用户的查询,能在各种情境下有效运作,但LLM并不会保留来自Data Commons的更新数据,导致后续的推理或查询无法反映新信息。

检索增强生成(RAG)

RAG方法在LLM生成文本之前,首先从Data Commons检索相关信息,为其回应提供事实基础。然而,由于广泛查询返回的数据可能包含大量跨多个年份的数据表,因此RAG需要利用Gemini 1.5 Pro模型的长上下文窗口,来处理如此大量的数据输入。

RAG的工作流程如下:

  1. 用户查询:用户向LLM提交查询。
  2. 查询分析与Data Commons查询生成:DataGemma模型分析用户查询,生成相应的自然语言查询,向Data Commons接口提问。
  3. 从Data Commons检索数据:利用该查询,Data Commons检索到相关的数据表、来源信息和链接。
  4. 增强提示词:检索到的信息与用户查询结合,生成增强后的提示词。
  5. 最终响应生成:通过Gemini 1.5 Pro模型使用这个增强后的提示词,生成更具事实依据的完整回应。

RAG的优点在于随着LLM模型的进化,其生成的响应也会更加准确。缺点是修改用户的提示词可能会导致使用体验不够直观,且效果取决于查询Data Commons的质量。

参与构建有据可依的AI未来

虽然DataGemma是向前迈出的重要一步,Google认识到这一领域仍处于早期阶段。Google邀请研究人员、开发者以及对负责任AI感兴趣的各方一起探索DataGemma,共同推动这项技术的发展。通过将LLM与Data Commons中的现实世界数据结合,未来的AI不仅会更加智能,还会建立在事实和证据的基础之上。

对于想要深入了解DataGemma研究背景的人员,可以参考Google的研究论文。此外,Google希望研究人员能够超越Data Commons的具体实现,扩展这项技术至其他知识图谱格式。

准备好开始了吗?可以从Hugging Face或Kaggle下载DataGemma模型(RIG、RAG),并通过Google提供的快速入门笔记本探索它的功能。https://huggingface.co/collections/google/datagemma-release-66df7636084d2b150a4e6643


http://www.ppmy.cn/ops/112104.html

相关文章

MATLAB系列06:复数数据、字符数据和附加画图类

MATLAB系列06:复数数据、字符数据和附加画图类 6. 复数数据、字符数据和附加画图类6.1 复数数据6.1.1 复变量( complex variables)6.1.2 带有关系运算符的复数的应用6.1.3 复函数( complex function)6.1.4 复数数据的作…

您的计算机已被.lcrypt勒索病毒感染?恢复您的数据的方法在这里!

导言 在网络安全领域,勒索病毒已经成为一种威胁极大的恶意软件,其中.lcrypt勒索病毒(.lcrypt ransomware)是最近出现的一种新的变种。它以加密用户数据并要求赎金为手段,严重影响个人和组织的日常运营。本文91数据恢复…

Django学习实战篇四(适合略有基础的新手小白学习)(从0开发项目)

前言: 在本章中,我们开始编写面向用户的界面,其中只涉及简单的HTML结构,不会做太多美化,目的就是把后台创建的数据展示到前台。 从技术上来讲,这一节将涉及Django 中function view和 class-based view 的用…

堆排序,快速排序

目录 1.堆排序 2.快速排序 1.hoare版本 2.挖坑法 3.前后指针法 注意点 1.堆排序 void Swap(int* a, int* b) {int tmp *a;*a *b;*b tmp; } void adjustdown(int* a, int n, int parent) {int child parent * 2 1;while (child < n){if (child 1 < n &&am…

raksmart的G口大流量服务器怎么样?

RAKsmart的G口大流量服务器以其高性能、高可用性、灵活配置和全球覆盖等特点&#xff0c;成为许多企业和个人用户的理想选择。以下是对raksmart G口大流量服务器的具体介绍&#xff1a; 1. 服务特点&#xff1a; RAKsmart提供多种类型的G口大流量服务器&#xff0c;包括流媒体专…

华为ensp中vlan与静态路由技术的实现

vlan 同一网段的设备&#xff0c;可以互通&#xff1b; 虚拟局域网&#xff1a;将局域网从逻辑上划分为多个局域网&#xff0c;不同通过vlan编号区分&#xff1b; 实现网络隔离。提高了网络安全性&#xff1b; vlan编号为12位&#xff1b; 范围1-4094可以用来配置 默认处于…

【Qt系列样式表】探索Qt Widget的艺术化设计与应用(Macos风格)(持续更新中...)

✨✨ Rqtz 个人主页 : 点击✨✨ &#x1f308;Qt系列专栏:点击 &#x1f388;PyQt系列专栏:点击&#x1f388; &#x1f388;Qt智能车上位机专栏: 点击&#x1f388; &#x1f388;Qt串口助手专栏:点击&#x1f388; &#x1f4ab;宗旨:共享IT之美,共创机器未来 目录 界面…

[羊城杯 2020]Blackcat1

知识点&#xff1a;数组加密绕过 进入页面熟悉的web三部曲&#xff08;url地址&#xff0c;web源代码&#xff0c;web目录扫描&#xff09; url地址没有什么东西去看看源代码. 这有一个mp3文件点一下看看. 在最后面发现了 PHP源码. if(empty($_POST[Black-Cat-Sheriff]) || em…

SpringMVC的初理解

1. SpringMVC是对表述层&#xff08;Controller&#xff09;解决方案 主要是 1.简化前端参数接收( 形参列表 ) 2.简化后端数据响应(返回值) 1.数据的接受 1.路径的匹配 使用RequestMapping(可以在类上或在方法上)&#xff0c;支持模糊查询&#xff0c;在内部有method附带…

【无人机设计与控制】四旋翼无人机俯仰姿态保持模糊PID控制(带说明报告)

摘要 为了克服常规PID控制方法在无人机俯仰姿态控制中的不足&#xff0c;本研究设计了一种基于模糊自适应PID控制的控制律。通过引入模糊控制器&#xff0c;实现了对输入输出论域的优化选择&#xff0c;同时解决了模糊规则数量与控制精度之间的矛盾。仿真结果表明&#xff0c;…

React Native防止重复点击

项目中遇到了点击按钮重复提交的问题&#xff0c;防止重复点击首先是想到的是给点击事件一个定时&#xff0c;下次触发的条件是要距离上一次点击的时间大于N秒的之后才能再执行。 // 防重复点击函数 export const preventRepeatPress {lastPressTi1me: 0, // 上次点击时间…

【Qt】Qt C++ Widget中嵌入qml

1. 效果 2. 方法 使用QQuickWidget方式 QQuickWidget *view new QQuickWidget;view->setSource(QUrl::fromLocalFile("myqmlfile.qml"));view->show();除了QQuickWidget方式还可以使用QQuickView方式&#xff0c;请自行查阅资料 3. 代码 3.1 工程目录 3.2 …

重生归来之挖掘stm32底层知识(1)——寄存器

概念理解 要使用stm32首先要知道什么是引脚和寄存器。 如下图所示&#xff0c;芯片通过这些金属丝与电路板连接&#xff0c;这些金属丝叫做引脚。一般做软件开发是不需要了解芯片是怎么焊的&#xff0c;只要会使用就行。我们平常通过编程来控制这些引脚的输入和输出&#xff0c…

小程序面试题七

一、微信小程序如何实现下拉刷新&#xff1f; 微信小程序实现下拉刷新的功能&#xff0c;并不是直接内置了一个下拉刷新的组件或API&#xff0c;但你可以通过监听页面的滚动事件来实现这一功能。以下是一个基本的实现步骤&#xff1a; 1. 监听页面的滚动事件 在小程序的页面配…

物联网之PWM呼吸灯、脉冲、LEDC

MENU 前言原理硬件电路设计软件程序设计analogWrite()函数实现呼吸灯效果LEDC输出PWM信号 前言 学习制作呼吸灯&#xff0c;通过LED灯的亮度变化来验证PWM不同电压的输出。呼吸灯是指灯光在单片机的控制之下完成由亮到暗的逐渐变化&#xff0c;感觉好像是人在呼吸。 原理 脉冲宽…

代码随想录 第九章 动态规划part07 198.打家劫舍 213.打家劫舍II 337.打家劫舍III

198.打家劫舍 class Solution { public:int rob(vector<int>& nums) {vector<int> dp(nums.size() 1, 0);nums.insert(nums.begin(), 0);dp[1] nums[1];int pre 1;for (int i 2; i < dp.size(); i){if (pre (i - 1)){if (dp[i - 1] < dp[i - 2] n…

Java笔记 【1】docker introduction

概述 为什么会有 docker 出现 Docker 理念 容器与虚拟机比较 容器发展简史 传统虚拟机技术 容器虚拟化技术 对比 优点 参考 概述 为什么会有 docker 出现 之前在服务器配置一个应用的运行环境&#xff0c;要安装各种软件&#xff0c;Java/RabbitMQ/MySQL/JDBC 驱动包等。安…

《C++》解密--顺序表

一、线性表 线性表是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构&#xff0c;常见的线性表&#xff1a;顺序表、链表、栈...... 线性表在【逻辑上】是线性结构…

Git 中的refs

在 Git 中&#xff0c;refs 是用来存储 Git 对象&#xff08;如提交、树、标签等&#xff09;的引用。每个 ref 都是一个指针&#xff0c;指向一个特定的 Git 对象。以下是 Git 中几种常见的 refs 及其含义&#xff1a; 1. refs/heads/ 表示&#xff1a;本地分支。 用途&…

Python Web开发中的扩展与插件开发:从自定义到打包与发布

Python Web开发中的扩展与插件开发&#xff1a;从自定义到打包与发布 目录 ⚙️ Flask中的自定义扩展开发&#x1f6e0;️ Django中的自定义插件开发&#x1f4e6; 插件的打包与发布详解&#x1f504; 版本控制与依赖管理&#xff08;pipenv、poetry&#xff09; 1. ⚙️ Fla…