自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

以圖靈機(jī)為師:通過微調(diào)訓(xùn)練讓大語言模型懂執(zhí)行計(jì)算過程

人工智能 新聞
來自南京大學(xué)的研究者提出了一種面向 LLM 的可組裝算術(shù)執(zhí)行框架 (CAEF),使 LLM 能夠通過模仿圖靈機(jī)的方式來執(zhí)行算術(shù),從而理解計(jì)算邏輯。

本文來自南京大學(xué)計(jì)算機(jī)學(xué)院軟件研究所,聚焦于開放環(huán)境下的智能軟件新技術(shù)研究,定位國際學(xué)術(shù)前沿,面向國家關(guān)鍵需求,承擔(dān)了一系列國家科技部和基金委重大/重點(diǎn)科研項(xiàng)目。團(tuán)隊(duì)擁有包括中科院院士等多名國家級人才,重點(diǎn)關(guān)注軟件和智能方向,研究成果發(fā)表于NeurIPS/ICLR/SOSP/ATC/EuroSys/OOPSLA/PLDI/ICSE/FSE等國際頂級會議,其中多篇文章獲得相應(yīng)會議的最佳論文獎。

大型語言模型 (LLM) 在各種自然語言處理和推理任務(wù)中表現(xiàn)出卓越的能力,某些應(yīng)用場景甚至超越了人類的表現(xiàn)。然而,這類模型在最基礎(chǔ)的算術(shù)問題的表現(xiàn)上卻不盡如人意。當(dāng)遇到算術(shù)問題時,LLM 通常依賴記住特定的表達(dá)式及其對應(yīng)結(jié)果的方式輸出算術(shù)問題的結(jié)果。通過簡單的實(shí)驗(yàn)發(fā)現(xiàn),LLM 只在語言層面表達(dá)了對算術(shù)運(yùn)算的邏輯理解,但并沒有運(yùn)用計(jì)算邏輯解決算術(shù)問題,這對 LLM 在相關(guān)領(lǐng)域中的應(yīng)用造成了重大障礙,同時影響了其推廣到新場景的能力。

為了解決這個問題,來自南京大學(xué)的研究者提出了一種面向 LLM 的可組裝算術(shù)執(zhí)行框架 (CAEF),使 LLM 能夠通過模仿圖靈機(jī)的方式來執(zhí)行算術(shù),從而理解計(jì)算邏輯。此外,CAEF 具有高度的可擴(kuò)展性,允許組合已經(jīng)學(xué)習(xí)到的運(yùn)算符,以降低復(fù)雜運(yùn)算符的學(xué)習(xí)難度。評估表明,LlaMA 3.1-8B 模型配合 CAEF 可在 7 種經(jīng)典數(shù)學(xué)算術(shù)運(yùn)算的測試中實(shí)現(xiàn)了近乎 100% 的準(zhǔn)確率,且能夠支撐 100 位操作數(shù)的計(jì)算,而同等難度下, GPT-4o 在一些算術(shù)問題測試中無法正確給出計(jì)算結(jié)果。

圖片

  • 論文標(biāo)題:Executing Arithmetic: Fine-Tuning Large Language Models as Turing Machines
  • 論文地址:https://arxiv.org/abs/2410.07896
  • 項(xiàng)目主頁:https://github.com/NJUDeepEngine/CAEF

該工作的貢獻(xiàn)主要有以下部分:

  • 可組裝的算術(shù)執(zhí)行框架:提出了一種面向 LLM 的算術(shù)執(zhí)行框架,使 LLM 能夠通過模仿圖靈機(jī)的方式解決算術(shù)問題、掌握運(yùn)算符的計(jì)算邏輯。此外,CAEF 還支持組合多個已學(xué)習(xí)的運(yùn)算符來實(shí)現(xiàn)更復(fù)雜的運(yùn)算符。
  • Executor 和 Aligners:基于框架 CAEF,實(shí)現(xiàn)了七個常見運(yùn)算符,分別構(gòu)造了對應(yīng)的 executor 和 aligner。其中,executor 負(fù)責(zé)以迭代方式分步執(zhí)行計(jì)算,而 aligner 充當(dāng)接口,完成 executor 的圖靈機(jī)風(fēng)格表示和原始文本表示之間的雙向轉(zhuǎn)換。
  • 計(jì)算準(zhǔn)確率:實(shí)驗(yàn)結(jié)果表明,基于 CAEF 的 LLaMA 3.1-8B 在這七個運(yùn)算符上的表現(xiàn)優(yōu)于現(xiàn)有的 LLM,且能夠在操作數(shù)高達(dá) 100 位時實(shí)現(xiàn)幾乎 100% 的準(zhǔn)確率。

相關(guān)工作

LLM 面對數(shù)學(xué)問題:當(dāng)前研究主要集中如何在提高 LLM 面對數(shù)學(xué)任務(wù)的解題性能,通常引入外部工具來輔助 LLM 解決計(jì)算部分的內(nèi)容。一類常見的外部工具為計(jì)算器,如 Schick et al. (2024) [1] ,該工作引入了一種自監(jiān)督學(xué)習(xí)方法,模型在該方法中學(xué)習(xí)何時通過 API 訪問調(diào)用外部工具,類似的策略可以在 Gou et al. (2023) [2] 和 He-Yueya et al. (2023) [3] 中也能找到。另一類工具是編程語言解釋器,例如 Python,LLM 生成用于解決數(shù)學(xué)問題的代碼,再交由外部解釋器執(zhí)行代碼以獲得最終的結(jié)果。一個典型的例子是 Lu et al. (2024) [4] ,它將 LLM 視為生成代碼并將其提交給外部 Python 執(zhí)行程序以處理表格上下文中的數(shù)學(xué)問題。Wang et al. (2023) [5] 采用監(jiān)督學(xué)習(xí)的方式讓 LLM 學(xué)習(xí)如何通過構(gòu)建用于解決數(shù)學(xué)問題的程序,而 Zhou et al. (2023) [6] 提出了一種零樣本提示方法,以實(shí)現(xiàn)代碼驅(qū)動的自我驗(yàn)證,從而提高數(shù)學(xué)解題性能。

LLM 面對算術(shù)問題:當(dāng)前也有一些專注于 LLM 算術(shù)方面的研究。這些研究的共同目標(biāo)是嘗試教會 LLM 計(jì)算邏輯,并通過分步計(jì)算的方法拆解計(jì)算過程,以提高計(jì)算準(zhǔn)確性。在這些研究中,Nye et al. (2021) [7]  是一項(xiàng)早期且影響深遠(yuǎn)的 方法。它在算術(shù)領(lǐng)域引入了類似思維鏈 (CoT) 的思想拆分計(jì)算過程,讓語言模型把計(jì)算的中間步驟輸出到一個被稱為 “scratchpad” 的緩沖區(qū),顯著提高了 LLM 整數(shù)加法的性能。Hu et al. (2024) [8] 觀察到 transformers 傾向于使用 “基于記憶樣例的推理” 來處理算術(shù)問題,并提出了一種遵循規(guī)則的微調(diào)技術(shù),指導(dǎo)模型逐步執(zhí)行計(jì)算。Zhou et al. (2024) [9] 結(jié)合了四種技術(shù)(FIRE 位置編碼、隨機(jī)位置編碼、反向格式(R2L 格式)和索引提示)開發(fā)了一種新模型,該模型在兩個整數(shù)加法問題上實(shí)現(xiàn)了 2.5× 的長度泛化能力。

方法描述

該工作設(shè)計(jì)了一種可以使 LLM 學(xué)習(xí)模擬圖靈機(jī)執(zhí)行的框架 CAEF。圖靈機(jī)中的轉(zhuǎn)移函數(shù)(transition function)描述了基于當(dāng)前計(jì)算狀態(tài)和紙帶信息應(yīng)該執(zhí)行什么操作,其中天然蘊(yùn)含了分步計(jì)算的邏輯。此外,組裝多個現(xiàn)有的圖靈機(jī)能夠?qū)崿F(xiàn)更加復(fù)雜的計(jì)算邏輯,因此圖靈機(jī)為計(jì)算提供了一個很好的思路。然而,LLM 是基于文本的生成式模型,因此如何將圖靈機(jī)的工作模式有效地轉(zhuǎn)移到 LLM 上成為了一個難點(diǎn)。

框架設(shè)計(jì):針對這個問題,CAEF 設(shè)計(jì)了一種 LLM 友好的基于文本的表示系統(tǒng),其工作示意如圖 1 所示,左側(cè)是一個自動機(jī)狀態(tài)圖示例,右側(cè)是 CAEF 的工作示意圖。CAEF 設(shè)計(jì)了一套基于文本的表示,包括兩組必需的元素:狀態(tài) (state) 和命令 (command),分別對應(yīng)于圖中的藍(lán)色和粉色部分。state 部分記錄了當(dāng)前的計(jì)算狀態(tài) (status)、操作數(shù) (operands)、計(jì)算中間變量和結(jié)果等信息。Command 部分由一組操作組成,例如寫入 ([OUTPUT]) 和調(diào)用 ([CALL])。輸入當(dāng)前狀態(tài)和命令后,LLM 會以類似自動機(jī)的方式,生成下一個狀態(tài)和相應(yīng)的命令,對應(yīng)于狀態(tài)圖中的一次狀態(tài)轉(zhuǎn)換。這個過程中,形式化來說,LLM 的學(xué)習(xí)目標(biāo)即一個轉(zhuǎn)移函數(shù)圖片,對于給定圖片的計(jì)算中間結(jié)果 <圖片>,LLM 需要生成下一個中間結(jié)果 <圖片>,即圖片。LLM 通過學(xué)習(xí)計(jì)算的單步執(zhí)行,就能以迭代的方式完成計(jì)算任務(wù)。

圖片

圖 1. CAEF 框架圖示

圖片

圖 2. 45+67 執(zhí)行過程

此外,由于計(jì)算的初始狀態(tài)和命令 <圖片 > 本身并不存在,CAEF 針對每個操作符需要設(shè)計(jì)兩個組件,一個是用于充當(dāng)自然語言表示和圖靈機(jī)風(fēng)格表示之間 “翻譯” 的 aligner,另一個是依照上述流程、負(fù)責(zé)實(shí)際執(zhí)行計(jì)算的 executor,兩者以獨(dú)立的 LoRA adapter 的形式存在。其中 executor 可進(jìn)一步細(xì)分為 basic executor 和 executor composer。針對像加法這樣相對容易的基礎(chǔ)運(yùn)算符,可由單一的 LoRA adapter 實(shí)現(xiàn)功能,被稱為 basic executor;而像乘法這樣可以做進(jìn)一步分解的復(fù)雜運(yùn)算符,其 executor 本身不負(fù)責(zé)實(shí)際運(yùn)算,它通過組織計(jì)算步驟、調(diào)用其他運(yùn)算符的 executor 來實(shí)現(xiàn)功能,被稱為 executor composer。

Basic executor:以加法為例,文章介紹 basic executor 的設(shè)計(jì)過程。加法可以通過模擬累加器的執(zhí)行過程實(shí)現(xiàn),即每次從兩個操作數(shù)中取相同位置的數(shù)字,與存儲在進(jìn)位寄存器中的值三者相加,在計(jì)算后寫入當(dāng)前位計(jì)算結(jié)果,同時更新進(jìn)位寄存器。因此,加法狀態(tài)和命令的表示 < 圖片 > 可構(gòu)造如下:圖片應(yīng)包含:1) 兩個操作數(shù)、2) 兩個指針,用于指示當(dāng)前參與計(jì)算的位置、3) 進(jìn)位寄存器、 4) 到目前為止的計(jì)算結(jié)果。圖片應(yīng)包含:1) 進(jìn)位和輸出的寫入,2) 移動指針的操作、 3) 計(jì)算狀態(tài)的轉(zhuǎn)換?;谠撍悸罚梢詷?gòu)建加法的抽象執(zhí)行流程,如圖 2 左側(cè)的自動機(jī)圖所示。以 “45+67=” 這個問題為例,圖 2 的右側(cè)展示了 executor 的完整執(zhí)行流程。完整的文本形式轉(zhuǎn)換過程如下:

Step 1 (aligner):

45+67=

Step 2 (executor):

state0: ADD, q0, [HEAD1] |5|4 [HEAD2] |7|6 [C] [OUTPUT]

command0: CMD: [C] 0, [HEAD1] RIGHT, [HEAD2] RIGHT, q1

Step 3 (executor):

state1: ADD, q1, [HEAD1]|5|4 [HEAD2]|7|6 [C] 0 [OUTPUT]

command1: CMD: [C] 1, [OUTPUT] 2, [OUTPUT] RIGHT, [HEAD1] RIGHT, [HEAD2] RIGHT, q1

Step 4 (executor):

state2: ADD, q1, |5 [HEAD1]|4 |7 [HEAD2]|6 [C] 1 |2 [OUTPUT]

command2: CMD: [C] 1, [OUTPUT] 1, [OUTPUT] RIGHT, [HEAD1] RIGHT, [HEAD2] RIGHT, q1

Step 5 (executor):

state3: ADD, q1, |5|4 [HEAD1] |7|6 [HEAD2] [C] 1 |2|1 [OUTPUT]

command3: CMD: [OUTPUT] 1, [OUTPUT], [C], qH

Step 6 (executor):

state4: ADD, qH, |5|4 [HEAD1] |7|6 [HEAD2] [C] 1 |2|1|1

command4: No command to execute. Halt state.

Step 7 (aligner):

45+67=112

Executor composer:以乘法為例,文章介紹 executor composer 的設(shè)計(jì)過程。乘法可以可以通過加法和小于兩個操作符實(shí)現(xiàn)。以形式 a×b=c 為例,一種簡單的乘法實(shí)現(xiàn)可以大致視為循環(huán)結(jié)構(gòu)。在循環(huán)中使用兩個累加器:在每次循環(huán)中,一個累加器自增 1,另一個累加器在每次循環(huán)中累加 a。當(dāng)?shù)谝粋€累加器達(dá)到 b 時,循環(huán)結(jié)束,第二個累加器的值即為結(jié)果 c。在該過程中,累加器通過現(xiàn)有的加法操作符實(shí)現(xiàn),循環(huán)終止條件由小于操作符實(shí)現(xiàn),而乘法自身不參與實(shí)際運(yùn)算,僅驅(qū)動該流程的執(zhí)行?;谠撍悸罚梢詷?gòu)建乘法的抽象執(zhí)行流程,如圖 3 左側(cè)的自動機(jī)圖所示。以 “89×2=” 這個問題為例,圖 3 的右側(cè)展示了 executor 的完整執(zhí)行流程。

圖片

圖 3. 89×2 執(zhí)行過程

通過上述設(shè)計(jì),CAEF 賦予了 LLM 執(zhí)行計(jì)算的能力,executor  composer 的存在還使得該方法具有很高的擴(kuò)展性,能夠有效處理復(fù)雜計(jì)算。

實(shí)驗(yàn)結(jié)果

該工作評估了不同運(yùn)算符、不同位數(shù)情況下的算術(shù)準(zhǔn)確率。實(shí)驗(yàn)使用 LLaMA 3.1-8B 預(yù)訓(xùn)練模型作為基礎(chǔ)模型,在 +、?、×、÷、==、> 和 < 這 7 個運(yùn)算符上和三個基準(zhǔn)進(jìn)行了比較:1)LLaMA 3.1-8B 預(yù)訓(xùn)練模型基于 LoRA、在僅給出計(jì)算結(jié)果的數(shù)據(jù)集上直接微調(diào)得到的模型、2)LLaMA 3.1-8B-Instruct、3)GPT-4o。

圖片

表 1. 七種運(yùn)算符的總體評估結(jié)果,“LLaMA 3.1 (L)” 代表 LoRA 微調(diào)后的 LLaMA 3.1-8B,“LLaMA 3.1 (I)” 代表 LLaMA 3.1-8B-Instruct 模型

表 1 展示了 7 個運(yùn)算符的 CAEF 方法和基準(zhǔn)的評估結(jié)果。與基準(zhǔn)相比,CAEF 在不同運(yùn)算符、不同長度的操作數(shù)的設(shè)置下表現(xiàn)相對穩(wěn)定,準(zhǔn)確率高。特別是對于長數(shù)字的任務(wù),例如 100 位加法,通過 CAEF 指導(dǎo)的 LLM 可以有效地學(xué)習(xí)到計(jì)算邏輯。

為了進(jìn)一步探索 executor 和 aligner 在計(jì)算過程中的實(shí)際性能,該工作在同一數(shù)據(jù)集上分別進(jìn)行了評估。如表 2 所示,可以觀察到,即使 executor 必須以迭代方式反復(fù)生成中間計(jì)算步驟,而 aligner 只執(zhí)行兩個轉(zhuǎn)換步驟,但 executor 的整體性能仍然優(yōu)于 aligner。executor 在所有實(shí)驗(yàn)設(shè)置中都達(dá)到了 99% 以上的準(zhǔn)確率,說明當(dāng)提供正確的初始狀態(tài)和命令時,它在絕大多數(shù)情況下都能有效工作。另一方面,在大多數(shù)情況下,與轉(zhuǎn)換 executor 的輸出相比,aligner 在轉(zhuǎn)換原始輸入時表現(xiàn)出較低的精度,這表明整個計(jì)算過程的瓶頸在于操作數(shù)的翻轉(zhuǎn),而不是計(jì)算本身。

圖片

表 2. 七種運(yùn)算符的 executor 和 aligner 準(zhǔn)確率,executor 的準(zhǔn)確率統(tǒng)計(jì)的是從初始狀態(tài)到最后一步中,每一步都正確、最終計(jì)算正確的情況。aligner 的精度分為兩部分:從原始輸入到 executor 表示的轉(zhuǎn)換,記為 aligner (I),以及從 executor 表示到輸出的轉(zhuǎn)換,記為 aligner (O)。

責(zé)任編輯:張燕妮 來源: 機(jī)器之心
相關(guān)推薦

2017-04-11 20:24:30

機(jī)器學(xué)習(xí)架構(gòu)神經(jīng)圖靈機(jī)

2021-12-09 09:51:00

計(jì)算機(jī)AI 技術(shù)

2022-07-13 11:27:18

計(jì)算圖靈

2021-06-11 07:26:16

操作系統(tǒng)內(nèi)存管理Cpu

2015-03-16 13:24:45

圖靈API

2024-01-24 13:37:36

大型語言模型人工智能

2023-06-25 13:51:21

機(jī)器AI

2025-04-10 07:59:51

2017-07-10 09:37:01

循環(huán)神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)RNN

2022-06-09 11:01:25

計(jì)算機(jī)機(jī)器學(xué)習(xí)模型

2024-05-07 08:00:00

自然語言處理機(jī)器學(xué)習(xí)

2022-12-14 08:25:10

2024-09-06 13:54:08

2023-06-07 08:22:59

LLM微調(diào)技術(shù)

2025-01-14 10:56:14

2021-06-03 10:17:04

SR圖靈編碼

2024-04-15 12:50:00

大型語言模型ReFT

2023-12-18 13:37:44

天翼云天池大語言模型

2025-03-05 04:00:00

點(diǎn)贊
收藏

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