偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

解讀Toolformer

原創(chuàng) 精選
人工智能
Toolformer 是一個(gè)大型語(yǔ)言模型,通過(guò)使用 In-Context Learning 來(lái)提高模型理解和生成適合給定上下文或情況的語(yǔ)言能力。它使用 API 調(diào)用來(lái)注釋大量數(shù)據(jù),然后使用這些 API 調(diào)用對(duì)模型進(jìn)行微調(diào),以進(jìn)行有用的 API 調(diào)用。

大語(yǔ)言模型(LLM)在利用有限的文本數(shù)據(jù)解決新任務(wù)方面表現(xiàn)出令人難以置信的優(yōu)勢(shì)。然而,盡管如此,它們?cè)谄渌矫嬉灿芯窒扌?,例如?/p>

  • 無(wú)法訪問(wèn)最新信息
  • 幻想事實(shí)的傾向
  • 低資源語(yǔ)言的困難
  • 缺乏精確計(jì)算的數(shù)學(xué)技能
  • 對(duì)時(shí)間進(jìn)程的不了解

如何使用大模型解決更多的問(wèn)題呢?在《解讀TaskMatrix.AI》一文中,TaskMatrix.AI是 Toolformer 和 chatGPT 的結(jié)合,將基礎(chǔ)模型與數(shù)百萬(wàn)個(gè) API 連接起來(lái)以完成任務(wù)。那么,什么是 Toolformer 呢?

Toolformer 是 Meta 開(kāi)源的新模型,能夠解決需要利用 API 的問(wèn)題,如計(jì)算器、維基百科搜索、字典查找等。Toolformer 能夠認(rèn)識(shí)到它必須使用一個(gè)工具,能夠確定使用哪個(gè)工具,以及如何使用該工具。Toolformers 的用例可能是無(wú)窮無(wú)盡的,從提供任何問(wèn)題的即時(shí)搜索結(jié)果,到情景信息,比如城里最好的餐館。

1. 什么是Toolformer?

什么是 Toolformer 呢?簡(jiǎn)而言之,Toolformer 是一個(gè)可以自學(xué)使用工具的語(yǔ)言模型。

Toolformer 基于一個(gè)預(yù)先訓(xùn)練的 GPT-J 模型,包含 67 億個(gè)參數(shù),使用自監(jiān)督學(xué)習(xí)方法進(jìn)行訓(xùn)練。這種方法包括采樣和過(guò)濾 API 調(diào)用,以增加現(xiàn)有的文本數(shù)據(jù)集。

Toolformer 希望通過(guò)以下兩個(gè)要求來(lái)完成 LLM 自學(xué)如何使用工具的任務(wù):

  • 工具的使用應(yīng)該通過(guò)自我監(jiān)督的方式來(lái)學(xué)習(xí),而不需要大量的人工注釋。
  • LM 不應(yīng)喪失其一般性,應(yīng)該能夠自行決定何時(shí)以及如何使用哪種工具。

下圖顯示了 Toolformer 的預(yù)測(cè)(例如,在數(shù)據(jù)樣本中嵌入的 API 調(diào)用):

圖片

2. Toolformer 的架構(gòu)和實(shí)現(xiàn)方法

ChatGPT 中的一個(gè)核心特性是基于上下文的學(xué)習(xí)(In-Context Learning),指的是一種機(jī)器學(xué)習(xí)方法,其中模型從特定上下文或環(huán)境中呈現(xiàn)的示例中學(xué)習(xí)。上下文學(xué)習(xí)的目標(biāo)是提高模型理解和生成適合給定上下文或情況的語(yǔ)言的能力。在自然語(yǔ)言處理(NLP)任務(wù)中,可以訓(xùn)練語(yǔ)言模型來(lái)生成對(duì)特定提示或問(wèn)題的響應(yīng)。那么,Toolformer 如何利用 In-Context Learning 呢?

Toolformer 是一個(gè)大型語(yǔ)言模型,它能夠通過(guò) API 調(diào)用使用不同的工具。每個(gè) API 調(diào)用的輸入和輸出需要格式化為文本/對(duì)話序列,以便在會(huì)話中自然流動(dòng)。

圖片

從上面的圖片中可以看到的,Toolformer 首先利用模型的上下文學(xué)習(xí)能力來(lái)對(duì)大量潛在的 API 調(diào)用進(jìn)行采樣。

執(zhí)行這些 API 調(diào)用,并檢查獲得的響應(yīng)是否有助于將來(lái)預(yù)測(cè) token,并被用作篩選條件。經(jīng)過(guò)過(guò)濾之后,對(duì)不同工具的 API 調(diào)用被嵌入到原始數(shù)據(jù)樣本中,從而產(chǎn)生增強(qiáng)的數(shù)據(jù)集,而模型就是在這個(gè)數(shù)據(jù)集上進(jìn)行微調(diào)的。

具體地,上圖顯示了使用問(wèn)答工具完成此任務(wù)的模型:

  1. LM 數(shù)據(jù)集包含示例文本: 為“Pittsburgh is also known as”輸入提示“Pittsburgh is also known as The Steel City”。
  2. 為了找到正確的答案,模型需要進(jìn)行一個(gè) API 調(diào)用并正確地進(jìn)行調(diào)用。
  3. 對(duì)一些 API 調(diào)用進(jìn)行了抽樣,特別是“ What other name is Pittsburgh known by?”和“ Which country is Pittsburgh in?”。
  4. 相應(yīng)的答案是“Steel City”和“United States”。因?yàn)榈谝粋€(gè)答案更好,所以它被包含到一個(gè)新的 LM 數(shù)據(jù)集中,并帶有 API 調(diào)用: “Pittsburgh is also known as [QA(”What other name is Pittsburgh known by?”) -> Steel City] the Steel City”。
  5. 這包含預(yù)期的 API 調(diào)用和應(yīng)答。重復(fù)此步驟以使用各種工具(即 API 調(diào)用)生成新的 LM 數(shù)據(jù)集。

因此,LM 使用嵌入在文本中的 API 調(diào)用來(lái)注釋大量數(shù)據(jù),然后使用這些 API 調(diào)用對(duì) LM 進(jìn)行微調(diào),以進(jìn)行有用的 API 調(diào)用。這就是自監(jiān)督訓(xùn)練的方式,這種方法的好處包括:

  • 更少需要人工注釋。
  • 將 API 調(diào)用嵌入到文本中允許 LM 使用多個(gè)外部工具來(lái)添加更多內(nèi)容。

Toolformer 然后學(xué)會(huì)預(yù)測(cè)每個(gè)任務(wù)將使用哪個(gè)工具。

2.1 API 調(diào)用的采樣

下圖顯示了給定用戶輸入的情況下,Toolformer使用和來(lái)表示API調(diào)用的開(kāi)始和結(jié)束。為每個(gè)API編寫(xiě)一個(gè)提示符,鼓勵(lì)Toolformer使用相關(guān)的API調(diào)用對(duì)示例進(jìn)行注釋。

圖片

Toolformer為每個(gè)token分配一個(gè)概率,作為給定序列的一個(gè)可能的延續(xù)。該方法通過(guò)計(jì)算ToolFormer分配給在序列中每個(gè)位置啟動(dòng)API調(diào)用的概率,對(duì)API調(diào)用的最多k個(gè)候選位置進(jìn)行采樣。保持概率大于給定閾值的位置,對(duì)于每個(gè)位置,通過(guò)使用以API調(diào)用為前綴、以序列結(jié)束標(biāo)記為后綴的序列從Toolformer采樣,最多可獲得m個(gè)API調(diào)用。

2.2 API調(diào)用的執(zhí)行

API調(diào)用的執(zhí)行完全取決于正在執(zhí)行調(diào)用的客戶端。客戶端可以是不同類型的應(yīng)用程序,從另一個(gè)神經(jīng)網(wǎng)絡(luò)、Python腳本,到在大型語(yǔ)料庫(kù)中搜索的檢索系統(tǒng)。需要注意的是,當(dāng)客戶端發(fā)出調(diào)用時(shí),API會(huì)返回一個(gè)單一的文本序列響應(yīng)。此響應(yīng)包含有關(guān)調(diào)用的詳細(xì)信息,包括調(diào)用的成功或失敗狀態(tài)、執(zhí)行時(shí)間等。

因此,為了獲得準(zhǔn)確的結(jié)果,客戶端應(yīng)該確保提供正確的輸入?yún)?shù)。如果輸入?yún)?shù)不正確,API可能會(huì)返回錯(cuò)誤的結(jié)果,這對(duì)于用戶來(lái)說(shuō)可能是不可接受的。另外,客戶端還應(yīng)該確保與API的連接是穩(wěn)定的,以避免在調(diào)用期間發(fā)生連接中斷或其他網(wǎng)絡(luò)問(wèn)題。

2.3 過(guò)濾API調(diào)用

在過(guò)濾過(guò)程中,Toolformer通過(guò)API調(diào)用后的token計(jì)算Toolformer的加權(quán)交叉熵?fù)p失。

然后,比較兩種不同的損失計(jì)算:

(i)一種是API調(diào)用,其結(jié)果作為輸入給Toolformer

(ii)一種是沒(méi)有API調(diào)用或者API調(diào)用但沒(méi)有返回結(jié)果。

如果為API調(diào)用提供輸入和輸出,使得Toolformer更容易預(yù)測(cè)未來(lái)的token,那么API調(diào)用就被認(rèn)為是有用的。應(yīng)用過(guò)濾閾值僅保留兩個(gè)損失之間的差值大于或等于閾值的API調(diào)用。

2.4 模型微調(diào)

最后,Toolformer將剩余的API調(diào)用與原始輸入合并,并創(chuàng)建一個(gè)新的API調(diào)用來(lái)增強(qiáng)的數(shù)據(jù)集。換句話說(shuō),增強(qiáng)的數(shù)據(jù)集包含與原始數(shù)據(jù)集相同的文本,只插入了API調(diào)用。

然后,使用新的數(shù)據(jù)集使用標(biāo)準(zhǔn)語(yǔ)言建模目標(biāo)對(duì)ToolFormer進(jìn)行微調(diào)。這樣可以確保在增強(qiáng)的數(shù)據(jù)集上微調(diào)模型會(huì)暴露給與在原始數(shù)據(jù)集上微調(diào)相同的內(nèi)容。通過(guò)在準(zhǔn)確的位置插入API調(diào)用,并使用幫助模型預(yù)測(cè)未來(lái)token的輸入,對(duì)增強(qiáng)數(shù)據(jù)的微調(diào)使語(yǔ)言模型能夠了解何時(shí)以及如何根據(jù)自己的反饋使用API調(diào)用。

2.5 推理

在推理過(guò)程中,當(dāng)語(yǔ)言模型產(chǎn)生“→”token時(shí),解碼過(guò)程被中斷,這表明 API 調(diào)用的下一個(gè)預(yù)期響應(yīng)。然后,調(diào)用適當(dāng)?shù)?API 來(lái)獲取響應(yīng),并在插入響應(yīng)和token之后繼續(xù)解碼。

此時(shí),我們需要確保獲取的響應(yīng)與上一個(gè)token所期望的響應(yīng)相匹配。如果不匹配,我們需要調(diào)整 API 調(diào)用以獲得正確的響應(yīng)。在繼續(xù)解碼之前,我們還需要執(zhí)行一些數(shù)據(jù)處理來(lái)準(zhǔn)備下一步的推理過(guò)程。這些數(shù)據(jù)處理包括對(duì)響應(yīng)的分析、對(duì)上下文的理解以及對(duì)推理路徑的選擇。因此,在推理過(guò)程中,不僅需要調(diào)用 API 來(lái)獲取響應(yīng),還需要進(jìn)行一系列的數(shù)據(jù)處理和分析,以確保推理過(guò)程的正確性和連貫性。

2.6 API工具

Toolformer 中每個(gè)可以使用的API工具都要滿足以下兩個(gè)條件:

  • 輸入/輸出都需要表示為文本序列。
  • 有可用的演示表達(dá)如何使用這些工具。

Toolformer 的初始實(shí)現(xiàn)中支持了五個(gè)API工具:

  1. 問(wèn)答回答:這是另一個(gè)LM,可以回答簡(jiǎn)單的事實(shí)問(wèn)題。
  2. 計(jì)算器:目前只支持4個(gè)基本的算術(shù)運(yùn)算,并四舍五入到小數(shù)點(diǎn)后兩位。
  3. Wiki搜索:返回從維基百科剪切下來(lái)的短文本的搜索引擎。
  4. 機(jī)器翻譯系統(tǒng):一個(gè)可以將任何語(yǔ)言的短語(yǔ)翻譯成英語(yǔ)的LM。
  5. 日歷:對(duì)日歷的API調(diào)用,該調(diào)用返回當(dāng)前日期而不接受任何輸入。

下圖顯示了使用的所有API的輸入和輸出示例:

圖片

3. 應(yīng)用示例

Toolformer在LAMA、數(shù)學(xué)數(shù)據(jù)集、問(wèn)題解答和時(shí)間數(shù)據(jù)集等任務(wù)中的性能優(yōu)于基線模型和GPT-3,但在多語(yǔ)言問(wèn)答中表現(xiàn)不如其他模型。Toolformer使用API調(diào)用來(lái)完成任務(wù),例如LAMA API、Calculator API和Wikipedia搜索工具API。

3.1 LAMA

任務(wù)是完成一個(gè)缺少事實(shí)的陳述語(yǔ)句。Toolformer 的性能優(yōu)于基線模型,甚至更大的模型,如 GPT-3。下表展示了通過(guò) LAMA API 調(diào)用獲得的結(jié)果:

圖片

3.2 數(shù)學(xué)數(shù)據(jù)集

任務(wù)是評(píng)估 Toolformer 的數(shù)學(xué)推理能力來(lái)對(duì)比各種基線模型。Toolformer 的性能優(yōu)于其他模型,可能是因?yàn)樗鼘?duì) API 調(diào)用示例進(jìn)行了微調(diào)。允許模型進(jìn)行 API 調(diào)用可以顯著提高所有任務(wù)的性能,并優(yōu)于 OPT 和 GPT-3等更大的模型。在幾乎所有情況下,模型都決定向計(jì)算器工具尋求幫助。

下表展示了通過(guò) Calculator API 調(diào)用獲得的結(jié)果:

圖片

3.3 問(wèn)題解答

任務(wù)是回答問(wèn)題,Toolformer 的性能優(yōu)于同樣大小的基線模型,但是優(yōu)于 GPT-3(175B)。Toolformer 利用 Wikipedia 的搜索工具來(lái)完成這項(xiàng)任務(wù)中的大多數(shù)示例。下表展示了通過(guò) Wikipedia 搜索工具 API 調(diào)用獲得的結(jié)果:

圖片

3.4 多語(yǔ)言問(wèn)答

問(wèn)答數(shù)據(jù)集被用于多語(yǔ)言問(wèn)答基準(zhǔn)測(cè)試 MLQA,其中包含英語(yǔ)上下文段落和阿拉伯語(yǔ)、德語(yǔ)、西班牙語(yǔ)、印地語(yǔ)、越南語(yǔ)或簡(jiǎn)體中文的問(wèn)題。Toolformer 在這里并不是最強(qiáng)大的表現(xiàn)者,這可能是由于 CCNet 在所有語(yǔ)言上都缺乏調(diào)優(yōu)。

下表展示了通過(guò) Wikipedia 搜索工具 API 調(diào)用獲得的結(jié)果:

圖片

3.5 時(shí)間數(shù)據(jù)集

任務(wù)是了解當(dāng)前日期對(duì)于回答問(wèn)題至關(guān)重要的位置。Toolformer 能夠超越基線,但是,顯然它沒(méi)有100% 地利用日歷工具。相反,它使用的是維基百科的搜索。下表展示了通過(guò) Wikipedia 搜索工具 API 調(diào)用獲得的結(jié)果:

圖片

4. ToolFormer 的局限

Toolformer 仍然存在一些局限性,例如無(wú)法同時(shí)使用多個(gè)工具、無(wú)法處理返回結(jié)果過(guò)多的工具、對(duì)輸入措辭敏感導(dǎo)致效率低下、未考慮使用成本可能導(dǎo)致高計(jì)算成本等問(wèn)題。具體如下:

  1. 由于每個(gè)工具的 API 調(diào)用都是獨(dú)立生成的,因此 Toolformer 無(wú)法在一個(gè)流程中使用多個(gè)工具。
  2. 特別是對(duì)于可能返回?cái)?shù)百個(gè)不同結(jié)果的工具(如搜索引擎),Toolformer 不能以交互方式使用。
  3. 使用 Toolformer 進(jìn)行訓(xùn)練的模型對(duì)輸入的確切措辭非常敏感,這種方法對(duì)于某些工具來(lái)說(shuō)效率很低,需要大量的文檔以生成少量有用的 API 調(diào)用。
  4. 在決定使用每個(gè)工具時(shí),沒(méi)有考慮使用它的成本,這可能會(huì)導(dǎo)致較高的計(jì)算成本。

5. 小結(jié)

Toolformer 是一個(gè)大型語(yǔ)言模型,通過(guò)使用 In-Context Learning 來(lái)提高模型理解和生成適合給定上下文或情況的語(yǔ)言能力。它使用 API 調(diào)用來(lái)注釋大量數(shù)據(jù),然后使用這些 API 調(diào)用對(duì)模型進(jìn)行微調(diào),以進(jìn)行有用的 API 調(diào)用。Toolformer 學(xué)會(huì)預(yù)測(cè)每個(gè)任務(wù)將使用哪個(gè)工具。然而,Toolformer 仍然存在一些局限性,如無(wú)法在一個(gè)流程中使用多個(gè)工具,對(duì)于可能返回?cái)?shù)百個(gè)不同結(jié)果的工具不能以交互方式使用等。

【參考資料與關(guān)聯(lián)閱讀】

  • Toolformer: Language Models Can Teach Themselves to Use Tools,https://arxiv.org/pdf/2302.04761.pdf
  • Meta's Toolformer Uses APIs to Outperform GPT-3 on Zero-Shot NLP Tasks,https://www.infoq.com/news/2023/04/meta-toolformer/
  • Toolformer: Language Models Can Teach Themselves to Use Tools (2023),https://kikaben.com/toolformer-2023/
  • Breaking Down Toolformer,https://www.shaped.ai/blog/breaking-down-toolformer
  • Toolformer: Meta Re-enters the ChatGPT Race With a New Model Using Wikipedia,https://thechainsaw.com/business/meta-toolformer-ai/
  • Toolformer language model uses external tools on its own,https://the-decoder.com/toolformer-language-model-uses-external-tools-on-its-own/
責(zé)任編輯:武曉燕 來(lái)源: 喔家ArchiSelf
相關(guān)推薦

2025-02-26 14:22:18

2023-03-27 10:46:53

SourceMap字符串代碼

2023-09-28 08:41:11

OpenAILLMLangChain

2024-11-26 07:20:25

2010-08-26 22:05:39

DHCP服務(wù)

2012-11-30 11:12:03

2009-12-15 15:35:56

Ruby symbol

2010-05-10 16:20:32

負(fù)載均衡策略

2010-09-02 14:49:27

非法DHCP服務(wù)

2012-02-03 11:31:33

HibernateJava

2023-04-28 07:36:43

人工智能AIAPI

2017-12-07 16:27:30

Zookeeper架構(gòu)設(shè)計(jì)

2010-09-03 09:13:53

2011-12-19 10:38:01

網(wǎng)絡(luò)虛擬化

2009-12-16 15:03:13

LPI Linux 認(rèn)

2010-05-05 22:58:46

2024-12-02 01:18:54

2009-12-15 14:16:13

Ruby Contin

2010-01-28 13:56:16

Android震動(dòng)

2010-08-09 10:11:08

FlexBuilder
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)