1. 文章简介
- 标题:Toolformer: Language Models Can Teach Themselves to Use Tools
- 作者:Timo Schick, Jane Dwivedi-Yu, Roberto Dessì, Roberta Raileanu, Maria Lomeli, Luke Zettlemoyer, Nicola Cancedda, Thomas Scialom
- 日期:2023
- 期刊:arxiv preprint
2. 文章概括
文章给出了一种可以自动调用API的LLM方法“Toolformer”,该工具可以自行决定是否调用API,何时调用API以及调用什么API,从而达到通过API检索增强增加LLM回答的可靠性。
3 文章重点技术
3.1 Toolformer
M
M
c
=
(
a
c
,
i
c
)
c=(a_c, i_c)
c=(ac,ic),其中
a
c
a_c
ac为API的名称,
i
c
i_c
r
r
r,记
e
(
c
,
r
)
=
<
A
P
I
>
a
c
(
i
c
)
→
r
<
/
A
P
I
>
)
e(c, r) = <API> a_c(i_c) to r</API>)
e(c,r)=<API>ac(ic)→r</API>),其中
<
A
P
I
>
,
<
/
A
P
I
>
,
→
<API>, </API>, to
<API>,</API>,→表示特殊token,用于区分API的输入和输出。给定数据集
C
=
{
x
1
,
…
,
x
∣
C
∣
}
mathcal{C} = {x^1, dots, x^{|mathcal{C}|}}
C={x1,…,x∣C∣},其中
x
i
x^i
xi表示输入的文本。则Toolformer按照如下的步骤进行训练、推理:
- Sampling API Calls:首先,对每个API接口,我们设计一个对应的prompt“
P
(
x
)
P(x)
x
x
i
∈
{
1
,
…
,
n
}
x
1
,
…
,
x
i
−
1
,
P
(
x
)
x_1, dots, x_{i-1}, P(x)
<
A
P
I
>
<API>
p
i
=
p
M
(
<
A
P
I
>
∣
P
(
x
)
,
x
1
:
i
−
1
)
p_i = p_M (<API>|P(x) , x_{1:i-1})
τ
s
tau_s
k
k
τ
s
tau_s
k
k
I
=
{
i
∣
p
i
>
τ
s
}
I={i|p_i > tau_s}
i
∈
I
iin I
[
P
(
x
)
,
x
1
,
…
,
x
i
−
1
,
<
A
P
I
>
]
[P(x), x_1, dots, x_{i-1}, <API>]
- Executing API Calls: 接下来执行上述语言模型自动生成的API调用文本
c
i
c_i
r
i
r_i
- Filtering API Calls:令
L
i
(
z
)
=
−
∑
j
=
i
n
w
j
−
i
log
p
M
(
x
j
∣
z
,
x
1
:
j
−
1
)
L
i
+
=
L
i
(
e
(
c
i
,
r
i
)
)
L
i
−
=
min
(
L
i
(
ϵ
)
,
L
i
(
e
(
c
i
,
ϵ
)
)
)
L_i(z) = –sum_{j=i}^n w_{j-i} log p_M(x_j | z, x_{1:j-1})\L_i^+ = L_i(e(c_i, r_i))\L_i^- = min (L_i(epsilon), L_i(e(c_i, epsilon)))
ϵ
epsilon
L
i
+
L_i^+
x
1
,
…
,
x
j
−
1
x_1, dots, x_{j-1}
r
i
r_i
x
j
x_j
L
i
−
L_i^-
x
j
x_j
L
i
+
L_i^+
L
i
−
L_i^-
τ
f
tau_f
L
i
−
−
L
i
+
≥
τ
f
L_i^- – L_i^+ ge tau_f
i
i
- Model Finetuning:给定文本
x
x
i
i
(
c
i
,
r
i
)
(c_i, r_i)
x
1
:
i
−
1
,
e
(
c
i
,
r
i
)
,
x
i
:
n
x_{1:i-1}, e(c_i, r_i), x_{i:n}
C
mathcal{C}
C
∗
mathcal{C}^*
C
∗
mathcal{C}^*
- Inference:推理阶段,我们进行正常的解码,直至模型生成
→
to
<
A
P
I
>
,
→
<API>, to
r
r
<
/
A
P
I
>
</API>
3.2 APIs
我们选择了多种API对语言模型进行加强:
- 针对问答类型的文本,文章采用问答大模型Atlas作为API进行加强
- 针对数学计算,文章采用一个简单的python工具作为API进行加强
- 针对维基百科搜索,文章采用BM25作为API进行加强
- 针对多语言,文章采用fast-text进行语言检测,然后通过NLLB作为API统一翻译成英文进行加强
- 针对日期类问题,文章直接返回系统当前日期作为API进行加强
4. 文章亮点
文章提出了Toolformer工具,可通过对数据集进行采样、过滤生成SFT数据集,从而对LM进行微调,得到一个通过访问不同API来对LM能力进行加强对工具。实验表明,文章提出的Toolformer在多个API相关的下游任务上有明显提升,且ppl结果表示模型在自然语言生成任务上的能力并没有降级。
5. 原文传送门
Toolformer: Language Models Can Teach Themselves to Use Tools
原文地址:https://blog.csdn.net/weixin_38124427/article/details/134631393
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_1180.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!