零樣本思維鏈(Zero-shot CoT)

Large Language Models are Zero-Shot Reasoners?(Kojima et al., 2022)

這篇文章研究了大型語言模型 (LLMs) 在推理任務上的能力,并提出了一種名為 Zero-shot-CoT 的新方法,該方法能夠有效地引導 LLM 進行多步驟推理,并在各種推理任務上取得了顯著的成果。

是基于我上一篇博客思維鏈 Chain-of-Thought Prompting-CSDN博客的后續研究,因為上一篇博客中的提示需要使用少樣本提示(Few-shot-CoT)而提出來的零樣本提示(Zero-shot-CoT)。

?文章發現,在標準零樣本提示方法無法取得良好效果的情況下,簡單的添加 “Let’s think step by step” 提示,就能夠顯著提升 LLM 在算術、符號推理以及其他邏輯推理任務上的表現。

其實過程非常簡單

Zero-shot-CoT方法通過兩階段提示引導模型生成推理過程和答案:

  1. 推理提取階段(Reasoning Extraction):通過添加觸發句(如“Let’s think step by step”)讓模型生成逐步的推理路徑。

  2. 答案提取階段(Answer Extraction):基于生成的推理文本,使用特定格式提示(如“Therefore, the answer is”)提取最終答案。

具體步驟
  1. 推理提取階段

    • 輸入格式:將問題轉換為模板“Q: [問題]. A: [觸發句]”(例如“Q: 小明有5個蘋果… A: Let’s think step by step”)。

    • 模型生成:模型輸出詳細的推理過程(如數學計算、邏輯推導)。

  2. 答案提取階段

    • 輸入格式:將推理文本與答案觸發句拼接(如“[推理文本] Therefore, the answer is”)。

    • 模型生成:輸出最終答案(數值、選項字母等),并通過正則匹配提取。

例子

問題
小明有5個蘋果,他每天吃2個。這些蘋果能吃幾天?

階段1:推理提取

  • 輸入

    Q: 小明有5個蘋果,他每天吃2個。這些蘋果能吃幾天?  
    A: Let’s think step by step.  
  • 模型生成

    小明有5個蘋果,每天吃2個。  
    第一天吃完后剩下5-2=3個;  
    第二天吃完后剩下3-2=1個;  
    第三天只能吃1個,不夠2個。  
    所以總共能吃2天。  

階段2:答案提取

  • 輸入

    Q: 小明有5個蘋果… A: Let’s think step by step.  
    第一天吃完后剩下5-2=3個… 所以總共能吃2天。  
    Therefore, the answer is  
  • 模型生成

    2  
  • 最終解析:通過正則提取數字“2”。

有意思的是,同時論文也告訴你不是簡單添加"Let's think step by step"而是通過他們多次嚴重準確率最高的

論文揭示了大型語言模型在零樣本場景下的強大推理潛力,挑戰了傳統觀點(即復雜推理需依賴任務特定示例或微調)。Zero-shot-CoT不僅為推理任務提供了高效的基線方法,還提示研究者應更深入探索語言模型中隱藏的零樣本能力。未來工作可進一步挖掘多任務通用提示,以釋放模型的高層次認知潛能。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/896616.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/896616.shtml
英文地址,請注明出處:http://en.pswp.cn/news/896616.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

day01_Java基礎

文章目錄 day01_Java基礎一、今日課程內容二、Java語言概述(了解)1、Java語言概述2、為什么要學習Java語言3、Java平臺版本說明4、Java特點 三、Java環境搭建(操作)1、JDK和JRE的概述2、JDK的下載和安裝3、IDEA的安裝4、IDEA的啟動…

設計模式 之 生產消費者模型 (C++)

文章目錄 設計模式 之 生產消費者模型 (C)引言生產消費者模型的基本概念為什么需要生產消費者模型應用場景:C 實現生產消費者模型代碼示例代碼詳細解釋共享資源和同步機制生產者函數 producer()消費者函數 consumer()主函數 main() 注意事項總…

Spring Boot 項目開發流程全解析

目錄 引言 一、開發環境準備 二、創建項目 三、項目結構 四、開發業務邏輯 1.創建實體類: 2.創建數據訪問層(DAO): 3.創建服務層(Service): 4.創建控制器層(Controller&…

數據結構課程設計(java實現)---九宮格游戲,也稱幻方

【問題描述】 九宮格,一款數字游戲,起源于河圖洛書,與洛書是中國古代流傳下來的兩幅神秘圖案,歷來被認為是河洛文化的濫觴,中華文明的源頭,被譽為"宇宙魔方"。九宮格游戲對人們的思維鍛煉有著極大…

GPT-4.5 怎么樣?如何升級使用ChatGPTPlus/Pro? GPT-4.5設計目標是成為一款非推理型模型的巔峰之作

GPT-4.5 怎么樣?如何升級使用ChatGPTPlus/Pro? GPT-4.5設計目標是成為一款非推理型模型的巔峰之作 今天我們來說說上午發布的GPT-4.5,接下來我們說說GPT4.5到底如何,有哪些功能?有哪些性能提升?怎么快速使用到GPT-4.…

【vscode-解決方案】vscode 無法登錄遠程服務器的兩種解決辦法

解決方案一: 查找原因 命令 ps ajx | grep vscode 可能會看到一下這堆信息(如果沒有大概率不是這個原因導致) 這堆信息的含義:當你使用 vscode 遠程登錄服務器時,我們遠程機器服務端要給你啟動一個叫做 vscode serv…

一、對4*3按鍵模塊編程分析

一、4*3鍵盤模塊實物分析 說明: 1、橫著4排,豎著3列,加起來共7組,所以對外引出7根線。 2、根據排針終端引腳又可分兩類。即橫排和豎列對應的引腳。 二、代碼編寫構想: 1、使用7個gpio輸入中斷,檢測7個…

自然語言處理NLP入門 -- 第十節NLP 實戰項目 2: 簡單的聊天機器人

一、為什么要做聊天機器人? 在互聯網時代,我們日常接觸到的“在線客服”“自動問答”等,大多是以聊天機器人的形式出現。它能幫我們快速回復常見問題,讓用戶獲得及時的幫助,并在一定程度上減少人工客服的壓力。 同時&…

linux(1)文件管理

文章目錄 文件目錄系統相對路徑絕對路徑命令解析器文件管理 文件目錄系統 bin: 二進制文件目錄,存儲可執行文件 dev:設備目錄,所有的硬件都會抽象成文件存儲,比如鼠標鍵盤 home:存儲普通用戶的家目錄 li…

CSS—選擇器詳解:5分鐘動手掌握選擇器

個人博客:haichenyi.com。感謝關注 1. 目錄 1–目錄2–引言3–種類4–優先級 引言 什么是選擇器? CSS選擇器是CSS(層疊樣式表)中的一種規則,用于指定要應用樣式的HTML元素。它們就像是指向網頁中特定元素的指針&#…

大模型微調入門(Transformers + Pytorch)

目標 輸入:你是誰? 輸出:我們預訓練的名字。 訓練 為了性能好下載小參數模型,普通機器都能運行。 下載模型 # 方式1:使用魔搭社區SDK 下載 # down_deepseek.py from modelscope import snapshot_download model_…

DeepSeek實戰

DeepSeek 接入實戰:從零開始快速上手 引言 在當今的 AI 領域,DeepSeek 作為一個強大的自然語言處理(NLP)平臺,提供了豐富的 API 接口,幫助開發者快速實現智能對話、文本生成、語義分析等功能。本文將帶你…

Android NDK打包封裝教程與優化技巧

關于NDK打包封裝的問題。首先,用戶可能不太清楚NDK的基本概念,所以我應該先解釋NDK是什么以及它的作用。然后,用戶可能想知道如何在Android項目中使用NDK,所以需要分步驟說明配置過程,包括安裝NDK、配置CMake或ndk-build,創建JNI接口,編寫C/C++代碼,編譯和打包。 接下…

【告別雙日期面板!一招實現el-date-picker智能聯動日期選擇】

告別雙日期面板!一招實現el-date-picker智能聯動日期選擇 1.需求背景2.DateTimePicker 現狀圖3.日期選擇器實現代碼4.日期選擇器實現效果圖5.日期時間選擇器實現代碼6.日期時間選擇器實現效果圖 1.需求背景 在用戶使用時間查詢時,我們經常需要按月份篩選…

Linux(ftrace)__mcount的實現原理

Linux 內核調試工具ftrace 之(_mcount的實現原理) ftrace 是 Linux 內核中的一種跟蹤工具,主要用于性能分析、調試和內核代碼的執行跟蹤。它通過在內核代碼的關鍵點插入探針(probe)來記錄函數調用和執行信息。這對于開…

Java注解(Annotation)

一、注解的定義 核心概念 注解是Java中一種特殊形式的“元數據”,用于為類、方法、字段、參數等代碼元素附加說明信息。它不會直接影響代碼邏輯,但可以通過編譯器、框架或反射機制進行解析和處理。 與注釋(Comment)的區別 注釋&a…

tauri2+typescript+vue+vite+leaflet等的簡單聯合使用(一)

項目目標 主要的目的是學習tauri。 流程 1、搭建項目 2、簡單的在項目使用leaflet 3、打包 準備項目 環境準備 廢話不多說,直接開始 需要有準備能運行Rust的環境和Node,對于Rust可以參考下面這位大佬的文章,Node不必細說。 Rust 和…

深入解析 Svelte:下一代前端框架的革命

深入解析 Svelte:下一代前端框架的革命 1. Svelte 簡介 Svelte 是一款前端框架,與 React、Vue 等傳統框架不同,它采用 編譯時(Compile-time) 方式來優化前端應用。它不像 React 或 Vue 依賴虛擬 DOM,而是…

關于流水線的理解

還是不太理解,我之前一直以為,對axis總線,每一級的寄存器就像fifo一樣,一級一級的分級存儲最后一級需要的數據。 像這張圖,一開始是在解析axis流形式的數據包,數據包一直都能輸入,所以valid一直…

Python代碼之美:從規范到藝術

基礎規范:代碼的"顏值"很重要 👉大禮包🎁:👈 PEP 8:不只是規范,是寫作藝術 良好的代碼格式就像優美的書法,讓人賞心悅目。比如: # 不推薦的寫法 def calcul…