当前位置: 首页 > news >正文

Re75 读论文:Toolformer: Language Models Can Teach Themselves to Use Tools

诸神缄默不语-个人CSDN博文目录
诸神缄默不语的论文阅读笔记和分类

论文全名:Toolformer: Language Models Can Teach Themselves to Use Tools
论文下载地址:https://arxiv.org/abs/2302.04761

这篇文章是介绍tool learning的,大概来说就是训练模型实现这个功能:根据query判断是否需要通过调用工具(传参进API)来获取一些特定信息(比如天气、实时汇率等,还有计算器、问答系统、搜索引擎、翻译系统、日历)。结合工具返回的结果,LLM输出最终结果。
这种做法在现在LLM里用的也蛮多的了,现在应该已经可以实现在一句话里多次调用、链式调用API了?(虽然据说可能会出现死锁,所以必须要DAG捏)

在这里插入图片描述

很多细节懒得写了,大家看原文吧。

文章目录

  • 1. 思路
  • 2. Toolformer
    • 用字符串表示一个API调用
    • API
  • 3. 实验
    • 1. 数据集构建
    • 2. 主实验结果
    • 3. 模型分析
      • 1. Scaling Laws
      • 2. 解码策略
      • 3. 数据质量

1. 思路

Toolformer主要致力于解决一些LLM反而解决不了的基础问题(比如算术,比如获取最新信息(LLM缺失最新信息也使其倾向于产生幻觉,这块我的理解是这就是很直觉的因为LLM不知道所以就瞎编)),解决方案就是让LLM去调用外部工具。
现存的解决方案要么需要人工标注1,要么外部工具类型单一2 3,而Toolformer就可以实现:

  • 自监督学习使用工具,不需要大规模人工标注。
  • 工具可选范围广泛

2. Toolformer

训练过程实现方法:

  1. 用LLM自监督标注出API调用训练集(可以视为是bootstrapping方法)
    大致来说就是根据query抽样API调用位置和命令,执行命令,从返回的结果中选出不会降低接下来token的语言模型损失函数的样本中损失函数最低的样本。
    (设计评估API的损失函数这里有很多太细节的东西我就懒得写了,总之这里有一点比较tricky就是拿API召回结果当前缀……)
    最后将返回结果嵌入LLM回答中。

    以QA工具为例,抽样时采用的prompt模版(全部模版见Appendix A.2):
    在这里插入图片描述

    整体流程:
    在这里插入图片描述
  2. 微调LLM

推理过程:在出现token时调用API

用字符串表示一个API调用

一个API调用是一个元组 c = ( a c , i c ) c=(a_c,i_c) c=(ac,ic) a c a_c ac是API名称(函数), i c i_c ic是API输入(参数)。
r r r是API返回结果,我们定义序列化的API调用(指用字符串表示的一个API调用),带不带返回结果的如下两种情况:
在这里插入图片描述
<API></API>→是特殊字符,在实际实验中用词表中存在的token[]->来替代,如Figure 1所示:
在这里插入图片描述

API

具体选了哪些API之类的,我懒得写了。总之在这里粘一下正文图表:

API及其输入输出示例:
在这里插入图片描述

3. 实验

1. 数据集构建

↓ 这个是调用API的位置和“调用API有用”的位置之间的threshold和API量,就是权重低于这个阈值才会选择调用(把这个样本放进数据集)。threshold是API-specific的。细节见原文及Appendix A。
在这里插入图片描述

2. 主实验结果

LAMA:评估标准略,总之LM是应用于left-to-right模式,以及对多token场景评估准确率用的不是完全匹配。
在这里插入图片描述

求解数学题:用模型生成的结果中的第一个数字
在这里插入图片描述

QA:(本文提及希望与搜索内容互动。啊这个思路感觉很多新模型已经实现了……)
在这里插入图片描述

跨语言QA:
在这里插入图片描述

带时间信息的数据集:
在这里插入图片描述

LM:
在这里插入图片描述

3. 模型分析

1. Scaling Laws

用GPT-2系列来分析模型具不具有scaling laws:
在这里插入图片描述

2. 解码策略

top-k里的那个k:
在这里插入图片描述

3. 数据质量

检验API返回结果的有效性:
在这里插入图片描述


  1. (2022 ACL) Internet-Augmented Dialogue Generation
    (2022 谷歌) Re69:读论文 LaMDA: Language Models for Dialog Applications ↩︎

  2. PAL: Program-aided Language Models ↩︎

  3. TALM: Tool Augmented Language Models
    Internet-augmented language models through few-shot prompting for open-domain question answering ↩︎

相关文章:

Re75 读论文:Toolformer: Language Models Can Teach Themselves to Use Tools

诸神缄默不语-个人CSDN博文目录 诸神缄默不语的论文阅读笔记和分类 论文全名&#xff1a;Toolformer: Language Models Can Teach Themselves to Use Tools 论文下载地址&#xff1a;https://arxiv.org/abs/2302.04761 这篇文章是介绍tool learning的&#xff0c;大概来说就是…...

Android App系统签名

1.在AndroidManifest中添加 android:sharedUserId"android.uid.system" 2.获取系统签名 把以下所有文件放入同一个文件夹命名为sign 在Android系统源码中的\build\target\product\security目录下找到platform.x509.pem 和 platform.pk8两个文件&#xff1b; 在out/…...

Shiro认证(Authentication)

Shiro简介&#xff1a;特性和架构 Apache Shiro是一个功能强大且易于使用的Java安全&#xff08;权限&#xff09;框架&#xff0c;提供了认证、授权、会话管理、加密、与Web集成、缓存等功能。Shiro不仅可以在JavaSE环境中使用&#xff0c;也可以在JavaEE环境中使用。 特性 …...

Qt和c++面试集合

目录 Qt面试 什么是信号&#xff08;Signal&#xff09;和槽&#xff08;Slot&#xff09;&#xff1f; 什么是Meta-Object系统&#xff1f; 什么是Qt的MVC模式&#xff1f; 1. QT中connect函数的第五个参数是什么&#xff1f;有什么作用&#xff1f; 3. 在QT中&#xff…...

Spark 3.3.x版本中的动态分区裁剪(DPP,Dynamic Partition Pruning)的实现及应用剖析

文章目录 Dynamic Partition Pruning&#xff08;DPP&#xff09;的作用DPP生效的一些要点DPP生效的简单SQL示例DPP生效SQL的解析示例Deduplicate Correlated SubqueryRewrite Predicates as JoinRewrite Join With Dynamic SubqueryRewrite Dynamic Subquery as Dynamic Expre…...

Android 各国语言value文件夹命名规则

中文 values-zh英语values-en 阿拉伯语 values-ar 保加利亚语 values-bg加泰罗尼亚语values-ca 捷克语 values-cs 丹麦语 values-da 德语 values-de 希腊语 values-el 西班牙语 values-es 芬兰语 values-fi 法语 values-fr 希伯来语 values-iw 印地语 values-hi 克罗里亚语 …...

深入理解Redis锁与Backoff重试机制在Go中的实现

文章目录 流程图Redis锁的深入实现Backoff重试策略的深入探讨结合Redis锁与Backoff策略的高级应用具体实现结论 在构建分布式系统时&#xff0c;确保数据的一致性和操作的原子性是至关重要的。Redis锁作为一种高效且广泛使用的分布式锁机制&#xff0c;能够帮助我们在多进程或分…...

uniapp-小程序开发0-1笔记大全

uniapp官网&#xff1a; https://uniapp.dcloud.net.cn/tutorial/syntax-js.html uniapp插件市场&#xff1a; https://ext.dcloud.net.cn/ uviewui类库&#xff1a; https://www.uviewui.com/ 柱状、扇形、仪表盘库&#xff1a; https://www.ucharts.cn/v2/#/ CSS样式&…...

Go语言数据库操作深入讲解

go操作MySQL 使用第三方开源的mysql库: github.com/go-sql-driver/mysql (mysql驱动)github.com/jmoiron/sqlx (基于mysql驱动的封装) 命令行输入 &#xff1a; go get github.com/go-sql-driver/mysqlgo get github.com/jmoiron/sqlx Insert操作 登录后复制 // 连接Mysql data…...

搜维尔科技:SenseGlove Nova 2触觉反馈手套开箱测评

SenseGlove Nova 2触觉反馈手套开箱测评 搜维尔科技&#xff1a;SenseGlove Nova 2触觉反馈手套开箱测评...

步步精科技诚邀您参加2024慕尼黑华南电子展

尊敬的客户&#xff1a; 我们诚挚地邀请您参加即将于2024年10月14日至10月16日在深圳国际会展中心 &#xff08;宝安新馆&#xff09;举办的慕尼黑华南电子展(electronica South China)。本届将聚焦人工智能、数据中心、新型储能、无线通信、硬件安全、新能源汽车、第三代半导…...

OPC UA与PostgreSQL如何实现无缝连接?

随着工业4.0的推进&#xff0c;数据交换和集成在智能制造中扮演着越来越重要的角色。OPC UA能够实现设备与设备、设备与系统之间的高效数据交换。而PostgreSQL则是一种强大的开源关系型数据库管理系统&#xff0c;广泛应用于数据存储和管理。如何将OPC UA与PostgreSQL结合起来&…...

C语言[斐波那契数列2]

本篇文章讲述前一篇文章的细节&#xff0c;方便大家进行代码的运算。 本次代码题为: 输出斐波那契数列的前20位数&#xff0c;每行4位数。 详细解释: 在 main 函数中&#xff0c;首先定义了循环变量 i 和用于存储斐波那契数列项的三个长整型变量 f1 、 f2 和 temp 。其…...

八、Linux之实用指令

1、指定运行级别 1.1 基本介绍 运行级别说明 0 &#xff1a;关机 1 &#xff1a;单用户【找回丢失密码】 2&#xff1a;多用户状态没有网络服务&#xff08;用的非常少&#xff09; 3&#xff1a;多用户状态有网络服务&#xff08;用的最多&#xff09; 4&#xff1a;系统未使…...

2024_E_100_连续字母长度

连续字母长度 题目描述 给定一个字符串&#xff0c;只包含大写字母&#xff0c;求在包含同一字母的子串中&#xff0c;长度第 k 长的子串的长度&#xff0c;相同字母只取最长的那个子串。 输入描述 第一行有一个子串(1<长度<100)&#xff0c;只包含大写字母。 第二行为…...

清空redo导致oracle故障恢复---惜分飞

客户由于空间不足,使用> redo命令清空了oracle的redo文件 数据库挂掉之后,启动报错 Fri Oct 04 10:32:57 2024 alter database open Beginning crash recovery of 1 threads parallel recovery started with 31 processes Started redo scan Errors in file /home/oracle…...

VAE(与GAN)

VAE 1. VAE 模型概述 变分自编码器&#xff08;Variational Autoencoder, VAE&#xff09;是一种生成模型&#xff0c;主要用于学习数据的潜在表示并生成新样本。它由两个主要部分组成&#xff1a;编码器和解码器。 编码器&#xff1a;将输入数据映射到潜在空间&#xff0c;…...

【高等数学】多元微分学(二)

隐函数的偏导数 二元方程的隐函数 F ( x , y ) 0 F(x,y)0 F(x,y)0 推出隐函数形式 y y ( x ) yy(x) yy(x). 欲求 d y d x \frac{d y}{d x} dxdy​ 需要对 F 0 F0 F0 两边同时对 x x x 求全导 0 d d x F ( x , y ( x ) ) ∂ F ∂ x d x d x ∂ F ∂ y d y d x ∂ F…...

.NET 中的 Web服务(Web Services)和WCF(Windows Communication Foundation)

一、引言 在当今数字化时代&#xff0c;不同的软件系统和应用程序之间需要进行高效、可靠的通信与数据交换。.NET 框架中的 Web 服务和 WCF&#xff08;Windows Communication Foundation&#xff09;为此提供了强大的技术支持。它们在构建分布式应用程序、实现跨平台通信以及…...

Linux小知识2 系统的启动

我们在上文中介绍了文件系统&#xff0c;提到了Linux的文件系统存在一个块的概念&#xff0c;其中有一个特殊的块&#xff1a;引导块。这和我们这里要讲的系统启动有关。 BIOS 基本输入输出系统&#xff0c;基本上是一个操作系统最早实现也是最早运行的第一个程序。是一个比较…...

英伟达黄仁勋力荐!2026年AI Agent元年,掌握这5大关键技术,成为行业风口!

0****1 什么是AI Agent&#xff1f; 随着人工智能技术加速演进&#xff0c;AI Agent&#xff08;人工智能代理&#xff0c;常称智能体&#xff09;正悄然渗透到企业运营与日常生活的各个角落&#xff0c;从大家熟悉的虚拟助手&#xff08;如Siri、小爱同学、豆包&#xff09;&a…...

如何用Penpot构建完整的用户体验地图和用户旅程:7步打造完美设计流程

如何用Penpot构建完整的用户体验地图和用户旅程&#xff1a;7步打造完美设计流程 【免费下载链接】penpot Penpot - The Open-Source design & prototyping platform 项目地址: https://gitcode.com/GitHub_Trending/pe/penpot Penpot作为开源的设计与原型平台&…...

RTX4090D显存优化:OpenClaw长文本处理实测Qwen3-32B性能

RTX4090D显存优化&#xff1a;OpenClaw长文本处理实测Qwen3-32B性能 1. 测试背景与实验设计 去年我在处理学术论文时&#xff0c;经常遇到需要分析几十页PDF的情况。传统工具要么截断文本&#xff0c;要么丢失关键上下文。当我发现OpenClaw支持本地部署大模型后&#xff0c;立…...

数字化、智能化、移动化,人力资源系统革新的三大法宝!

人力资源系统革新&#xff0c;打造企业人才发展新引擎在当今竞争激烈的商业环境中&#xff0c;企业的人才发展成为了决定其成败的关键因素之一。然而&#xff0c;传统的人力资源管理系统往往存在着诸多问题&#xff0c;如流程繁琐、数据不精准、缺乏智能化等&#xff0c;这些问…...

ECG-Emotion Recognition(情绪识别)实战指南:WESAD与DREAMER数据集深度解析与应用

1. 情绪识别与ECG技术入门指南 第一次接触ECG情绪识别时&#xff0c;我和大多数人一样充满疑惑&#xff1a;心跳数据真能反映人的情绪&#xff1f;经过三个月的项目实践&#xff0c;我可以肯定地说&#xff0c;ECG信号就像情绪的"心电图"&#xff0c;愤怒时心跳加速、…...

降AIGC哪家强?2026零成本保姆级教程:DeepSeek/Kimi/豆包专属降重指令实测与差异解析

很多时候大学生写论文逻辑太严谨、话术太规范&#xff0c;反而会导致AI率过高&#xff0c;且一旦AI率过高&#xff0c;轻则退回重改&#xff0c;重则取消答辩资格&#xff0c;这后果谁都担不起。 为了帮大家有效降低aigc率&#xff0c;这周我专门针对目前市面上最主流的三款大…...

终极指南:5个实用技巧解决Rainmeter开发中的内存保护异常问题

终极指南&#xff1a;5个实用技巧解决Rainmeter开发中的内存保护异常问题 【免费下载链接】rainmeter Desktop customization tool for Windows 项目地址: https://gitcode.com/gh_mirrors/ra/rainmeter 在Rainmeter桌面定制工具的开发过程中&#xff0c;内存保护异常&a…...

MultiHighlight插件完全指南:5步提升代码阅读效率300%

MultiHighlight插件完全指南&#xff1a;5步提升代码阅读效率300% 【免费下载链接】MultiHighlight Jetbrains IDE plugin: highlight identifiers with custom colors &#x1f3a8;&#x1f4a1; 项目地址: https://gitcode.com/gh_mirrors/mu/MultiHighlight 在当今快…...

不用命令行!Win11任务栏图标消失的图形化解决方案(Explorer重启神器推荐)

Win11任务栏图标消失&#xff1f;5种可视化修复方案与深度解析 每次切换虚拟桌面后&#xff0c;Win11任务栏图标集体"失踪"的毛病&#xff0c;堪称微软系统最顽固的"幽灵故障"之一。作为从Windows 95时代就存在的资源管理器痼疾&#xff0c;这个问题在Win1…...

NXP S32K3xx之HSE密钥管理与安全服务实战

1. HSE密钥管理基础&#xff1a;从零开始理解安全引擎 第一次接触NXP S32K3xx的HSE模块时&#xff0c;我被各种密钥术语搞得晕头转向。经过几个实际项目的打磨&#xff0c;现在我可以负责任地告诉你&#xff1a;理解HSE密钥管理就像学习一门新语言&#xff0c;掌握基础词汇后就…...