DeepSeek-R1-Zero:基于基礎模型的強化學習

注:此文章內容均節選自充電了么創始人,CEO兼CTO陳敬雷老師的新書《自然語言處理原理與實戰》(人工智能科學與技術叢書)【陳敬雷編著】【清華大學出版社】

文章目錄

  • DeepSeek大模型技術系列四
    • DeepSeek大模型技術系列四》DeepSeek-R1-Zero:基于基礎模型的強化學習
      • 更多技術內容
  • 總結

DeepSeek大模型技術系列四

DeepSeek大模型技術系列四》DeepSeek-R1-Zero:基于基礎模型的強化學習

強化學習在推理任務中已顯示出顯著的有效性,我們之前的工作(Shao 等人,2024; Wang 等人,2023)已證明了這一點。然而,這些工作嚴重依賴監督數據,而收集監督數據非常耗時。在本節中,我們探索大語言模型在不依賴任何監督數據的情況下發展推理能力的潛力,重點關注它們如何通過純強化學習過程實現自我進化。我們首先簡要介紹我們的強化學習算法,然后展示一些令人興奮的結果,希望能為研究社區提供有價值的見解。
2.2.1 強化學習算法:組相對策略優化

為節省強化學習的訓練成本,我們采用組相對策略優化(GRPO)(Shao 等人,2024)。該方法摒棄了通常與策略模型大小相同的價值評估模型,而是從組得分中估計基線。具體來說,對于每個問題 q,GRPO 從舊策略中采樣一組輸出,然后通過最大化以下目標來優化策略模型:
在這里插入圖片描述在這里插入圖片描述

其中和是超參數,是優勢值,通過計算每組輸出對應的一組獎勵得到:

———————————————————————————————
用戶與助手進行對話。用戶提出問題,助手進行解答。助手先在腦海中思考推理過程,然后為用戶提供答案。推理過程和答案分別包含在 和 標簽內,即 此處為推理過程 此處為答案 。用戶:提示。助手:
———————————————————————————————
表 1 DeepSeek-R1-Zero 的模板。訓練期間,提示將被具體的推理問題替換。
2.2.2 獎勵建模

獎勵是訓練信號的來源,決定了強化學習的優化方向。為訓練 DeepSeek-R1-Zero,我們采用基于規則的獎勵系統,主要包含兩種類型的獎勵:
準確率獎勵:準確率獎勵模型用于評估回答是否正確。例如,對于有確定答案的數學問題,模型需要按照指定格式(如在框內)給出最終答案,以便基于規則可靠地驗證正確性。同樣,對于 LeetCode 問題,可以使用編譯器根據預定義的測試用例生成反饋。
格式獎勵:除了準確率獎勵模型,我們還采用格式獎勵模型,要求模型將其思考過程放在‘’和‘’標簽之間。
在開發 DeepSeek-R1-Zero 時,我們沒有應用結果或過程神經獎勵模型,因為我們發現神經獎勵模型在大規模強化學習過程中可能會出現獎勵作弊問題,而且重新訓練獎勵模型需要額外的訓練資源,會使整個訓練流程變得復雜。
2.2.3 訓練模板
為訓練 DeepSeek-R1-Zero,我們首先設計了一個簡單的模板,引導基礎模型遵循我們指定的指令。如表 1 所示,該模板要求 DeepSeek-R1-Zero 首先生成推理過程,然后給出最終答案。我們有意將約束限制在這種結構格式上,避免任何特定內容的偏差,例如強制要求反思性推理或推廣特定的問題解決策略,以確保我們能準確觀察模型在強化學習過程中的自然發展。
2.2.4 DeepSeek-R1-Zero 的性能、自我進化過程和頓悟時刻
?DeepSeek-R1-Zero 的性能:圖 2 展示了 DeepSeek-R1-Zero 在 2024 年 AIME 基準測試中,整個強化學習訓練過程的性能變化軌跡。可以看出,隨著強化學習訓練的推進,DeepSeek-R1-Zero 的性能穩步提升。值得注意的是,2024 年 AIME 上的平均單次通過率(pass@1)顯著提高,從最初的 15.6% 躍升至令人矚目的 71.0%,達到了與 OpenAI-o1-0912 相當的性能水平。這一顯著改進凸顯了我們的強化學習算法在優化模型性能方面的有效性。
在這里插入圖片描述

表 2 對 DeepSeek-R1-Zero 和 OpenAI 的 o1-0912 模型在各種推理相關基準測試中的表現進行了對比分析。結果顯示,強化學習使 DeepSeek-R1-Zero 在無需任何監督微調數據的情況下,獲得了強大的推理能力。這是一項值得關注的成就,它強調了該模型僅通過強化學習就能有效學習和泛化的能力。此外,通過多數投票,DeepSeek-R1-Zero 的性能還能進一步提升。例如,在 AIME 基準測試中采用多數投票時,其性能從 71.0% 提升到 86.7%,超過了 OpenAI-o1-0912 的性能。無論是否采用多數投票,DeepSeek-R1-Zero 都能取得具有競爭力的性能,這突出了其強大的基礎能力以及在推理任務中進一步提升的潛力。
在這里插入圖片描述

圖 2 DeepSeek-R1-Zero 在訓練期間 AIME 準確率。對于每個問題,我們采樣 16 個回答并計算總體平均準確率,以確保評估穩定。

DeepSeek-R1-Zero 的自我進化過程:DeepSeek-R1-Zero 的自我進化過程充分展示了強化學習如何驅動模型自主提升推理能力。通過直接從基礎模型啟動強化學習,我們可以在不受監督微調階段影響的情況下,密切監測模型的發展。這種方法清晰地呈現了模型隨時間的演變,尤其是在處理復雜推理任務的能力方面。如圖 3 所示,DeepSeek-R1-Zero 的思考時間在整個訓練過程中持續改善。這種改善并非外部調整的結果,而是模型內部自然發展的體現。DeepSeek-R1-Zero 通過利用更長的測試時計算,自然而然地獲得了解決日益復雜推理任務的能力。其計算過程能夠生成數百到數千個推理標記,使模型能夠更深入地探索和完善其思維過程。這種自我進化中最顯著的特點之一,是隨著測試時計算量的增加,復雜行為的出現。例如,模型會進行反思 —— 回顧并重新評估之前的步驟,還會自發地探索解決問題的替代方法。這些行為并非預先編程設定,而是模型與強化學習環境交互的結果。這種自發發展顯著提升了 DeepSeek-R1-Zero 的推理能力,使其能夠更高效、準確地處理更具挑戰性的任務。
在這里插入圖片描述

?圖 3 DeepSeek-R1-Zero 在強化學習過程中訓練集上每個回復的平均長度。DeepSeek-R1-Zero 自然學會用更多思考時間來解決推理任務。
?DeepSeek-R1-Zero 的頓悟時刻:在訓練 DeepSeek-R1-Zero 期間,一個特別有趣的現象是 “頓悟時刻” 的出現。如表 3 所示,這個時刻出現在模型的一個中間版本中。在這個階段,DeepSeek-R1-Zero 學會了通過重新評估初始方法,為一個問題分配更多思考時間。這種行為不僅證明了模型推理能力的不斷提升,也是強化學習能夠帶來意外且復雜結果的生動例證。這個時刻對于模型和觀察其行為的研究人員來說都是一個 “頓悟時刻”。它凸顯了強化學習的力量與魅力:我們無需明確教導模型如何解決問題,只需給予正確的激勵,模型就能自主開發出先進的問題解決策略。“頓悟時刻” 有力地提醒我們,強化學習具有在人工系統中解鎖新智能水平的潛力,為未來開發更自主、更具適應性的模型鋪平了道路。
在這里插入圖片描述

表 3 | DeepSeek-R1-Zero 中間版本一個有趣的 “頓悟時刻”。該模型學會了以擬人化的語氣進行反思。這對我們來說也是一個頓悟時刻,讓我們見證了強化學習的力量與美妙之處。
DeepSeek-R1-Zero 的缺點:盡管 DeepSeek-R1-Zero 展現出強大的推理能力,并且自主發展出了意想不到的強大推理行為,但它也面臨一些問題。例如,DeepSeek-R1-Zero 存在可讀性差和語言混雜等挑戰。為了使推理過程更易讀并與開放社區分享,我們探索了 DeepSeek-R1,這是一種利用包含人類友好型冷啟動數據的強化學習方法。

更多技術內容

更多技術內容可參見
《自然語言處理原理與實戰》(人工智能科學與技術叢書)【陳敬雷編著】【清華大學出版社】書籍。
更多的技術交流和探討也歡迎加我個人微信chenjinglei66。

總結

此文章有對應的配套新書教材和視頻:

【配套新書教材】
《自然語言處理原理與實戰》(人工智能科學與技術叢書)【陳敬雷編著】【清華大學出版社】
新書特色:本書從自然語言處理基礎開始,逐步深入各種NLP熱點前沿技術,使用了Java和Python兩門語言精心編排了大量代碼實例,契合公司實際工作場景技能,側重實戰。
全書共分為19章,詳細講解中文分詞、詞性標注、命名實體識別、依存句法分析、語義角色標注、文本相似度算法、語義相似度計算、詞頻-逆文檔頻率(TF-IDF)、條件隨機場、新詞發現與短語提取、搜索引擎Solr Cloud和Elasticsearch、Word2vec詞向量模型、文本分類、文本聚類、關鍵詞提取和文本摘要、自然語言模型(Language Model)、分布式深度學習實戰等內容,同時配套完整實戰項目,例如對話機器人實戰、搜索引擎項目實戰、推薦算法系統實戰。
本書理論聯系實踐,深入淺出,知識點全面,通過閱讀本書,讀者不僅可以理解自然語言處理的知識,還能通過實戰項目案例更好地將理論融入實際工作中。
《分布式機器學習實戰》(人工智能科學與技術叢書)【陳敬雷編著】【清華大學出版社】
新書特色:深入淺出,逐步講解分布式機器學習的框架及應用配套個性化推薦算法系統、人臉識別、對話機器人等實戰項目。

【配套視頻】

推薦系統/智能問答/人臉識別實戰 視頻教程【陳敬雷】
視頻特色:把目前互聯網熱門、前沿的項目實戰匯聚一堂,通過真實的項目實戰課程,讓你快速成為算法總監、架構師、技術負責人!包含了推薦系統、智能問答、人臉識別等前沿的精品課程,下面分別介紹各個實戰項目:
1、推薦算法系統實戰
聽完此課,可以實現一個完整的推薦系統!下面我們就從推薦系統的整體架構以及各個子系統的實現給大家深度解密來自一線大型互聯網公司重量級的實戰產品項目!
2、智能問答/對話機器人實戰
由淺入深的給大家詳細講解對話機器人項目的原理以及代碼實現、并在公司服務器上演示如何實際操作和部署的全過程!
3、人臉識別實戰
從人臉識別原理、人臉識別應用場景、人臉檢測與對齊、人臉識別比對、人臉年齡識別、人臉性別識別幾個方向,從理論到源碼實戰、再到服務器操作給大家深度講解!

自然語言處理NLP原理與實戰 視頻教程【陳敬雷】
視頻特色:《自然語言處理NLP原理與實戰》包含了互聯網公司前沿的熱門算法的核心原理,以及源碼級別的應用操作實戰,直接講解自然語言處理的核心精髓部分,自然語言處理從業者或者轉行自然語言處理者必聽視頻!

人工智能《分布式機器學習實戰》 視頻教程【陳敬雷】
視頻特色:視頻核心內容有互聯網公司大數據和人工智能、大數據算法系統架構、大數據基礎、Python編程、Java編程、Scala編程、Docker容器、Mahout分布式機器學習平臺、Spark分布式機器學習平臺、分布式深度學習框架和神經網絡算法、自然語言處理算法、工業級完整系統實戰(推薦算法系統實戰、人臉識別實戰、對話機器人實戰)。

上一篇:DeepSeek大模型技術系列三》DeepSeek-R1:通過強化學習激發大語言模型的推理能力
下一篇:DeepSeek大模型技術系列五》DeepSeek大模型基礎設施全解析:支撐萬億參數模型的幕后英雄

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

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

相關文章

Metal學習筆記八:紋理

到目前為止,您已經學習了如何使用片段函數和著色器為模型添加顏色和細節。另一種選擇是使用圖像紋理,您將在本章中學習如何操作。更具體地說,您將了解: ? UV 坐標:如何展開網格,以便可以對其應用紋理。 ?…

Dify使用和入門

第一步:了解 Dify 在開始之前,先簡單了解一下 Dify 是什么: Dify 是一個開源的 LLM 應用開發平臺,專注于幫助開發者快速構建生產級的生成式 AI 應用。它支持知識庫集成、RAG(檢索增強生成)技術、復雜工作…

threeJS——安裝以及三要素

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 文章目錄 前言一、安裝二、三要素1.場景1.1創建場景1.2向場景添加元素1.3場景屬性 2.相機2.1相機特點2.2正交相機2.3空間布局2.4小姐操作 3.渲染器 總結 前言 本章簡單介紹前…

畢業項目推薦:基于yolov8/yolo11的野生菌菇檢測識別系統(python+卷積神經網絡)

文章目錄 概要一、整體資源介紹技術要點功能展示:功能1 支持單張圖片識別功能2 支持遍歷文件夾識別功能3 支持識別視頻文件功能4 支持攝像頭識別功能5 支持結果文件導出(xls格式)功能6 支持切換檢測到的目標查看 二、數據集三、算法介紹1. YO…

【精華】為什么class在前端開發中不常用?

為什么class在前端開發中不常用? js是一種基于原型的語言。它的對象繼承是通過 原型鏈(prototype chain)實現的,每個對象都有一個 proto 屬性指向它的原型。(大多數傳統面向對象語言(如 Java、C、Python、…

【六祎 - Note】SQL備忘錄;DDL,DML,DQL,DCL

SQL備忘錄 from to : 點擊訪問源地址

阿里云物聯網獲取設備屬性api接口:QueryDevicePropertyData

阿里云物聯網接口:QueryDevicePropertyData 說明:調用該接口查詢指定設備或數字孿生節點,在指定時間段內,單個屬性的數據 比如提取上傳到物聯網的溫度數據 api文檔:QueryDevicePropertyData_物聯網平臺_API文檔-阿里…

需求和開發模型

文章目錄 什么是需求?用戶需求軟件需求用戶需求和軟件需求的不同 開發模型什么是“模型”?軟件的生命周期常見的開發模型瀑布模型(Waterfall Model)螺旋模型增量模型、迭代模型敏捷模型 測試模型V 模型W 模型(雙 V 模型…

21-發糖果

n 個孩子站成一排。給你一個整數數組 ratings 表示每個孩子的評分。 你需要按照以下要求,給這些孩子分發糖果: 每個孩子至少分配到 1 個糖果。 相鄰兩個孩子評分更高的孩子會獲得更多的糖果。 請你給每個孩子分發糖果,計算并返回需要準備的 最…

sql深入學習

文章目錄 前言知識學習注釋的兩種形式字符型注入萬能密碼 布爾盲注報錯注入堆疊注入時間盲注二次注入 小技巧 前言 這次學習建立在對數據庫有基本的認識,了解基礎的增刪改查語句,數字型注入和字符型注入的基礎上,進一步深入學習知識&#xf…

利用three.js在Vue項目中展示重構的stl模型文件

一、目的 為了在前端頁面展示3d打印機打印過程 二、前期準備 完整模型的stl文件和模型切割成的n個stl文件 models文件夾下的文件就是切割后的stl文件 三、代碼 <template><div ref"threeContainer" class"three-container"></div><…

【Eureka 緩存機制】

今天簡單介紹一下Eureka server 的緩存機制吧?????? 一、先來個小劇場&#xff1a;服務發現的"拖延癥" 想象你是個外賣小哥&#xff08;客戶端&#xff09;&#xff0c;每次接單都要打電話問調度中心&#xff08;Eureka Server&#xff09;&#xff1a;“現在…

Python--內置模塊和開發規范(下)

2. 開發規范 2.1 單文件應用 文件結構示例 # 文件注釋 import os import jsonDB_PATH "data.json" # 常量放頂部def load_data():"""函數注釋&#xff1a;加載數據"""if os.path.exists(DB_PATH):with open(DB_PATH, "r"…

go設計模式

劉&#xff1a;https://www.bilibili.com/video/BV1kG411g7h4 https://www.bilibili.com/video/BV1jyreYKE8z 1. 單例模式 2. 簡單工廠模式 代碼邏輯&#xff1a; 原始&#xff1a;業務邏輯層 —> 基礎類模塊工廠&#xff1a;業務邏輯層 —> 工廠模塊 —> 基礎類模塊…

搭建數字化生態平臺公司:痛點與蚓鏈解決方案

在數字技術突飛猛進的當下&#xff0c;數字化生態平臺成為眾多企業實現創新發展、拓展業務版圖的 “秘密工具”。今天&#xff0c;咱們就一起來聊聊搭建這類平臺的公司&#xff0c;看看它們有啥獨特之處&#xff0c;又面臨哪些難題。 一、面臨的痛點 &#xff08;一&#xff0…

標記符號“<”和“>”符號被稱為“尖括號”或“角括號”

你提到的“<”和“>”符號被稱為“尖括號”或“角括號”。它們常用于編程語言中表示類型參數&#xff08;如泛型&#xff09;、HTML標簽&#xff08;如<div>&#xff09;、數學中的不等式&#xff08;如< 5&#xff09;等。 好的&#xff0c;我來用通俗的方式解…

云平臺DeepSeek滿血版:引領AI推理革新,開啟智慧新時代

引言&#xff1a;人工智能的未來——云平臺的卓越突破 在當今科技飛速發展的時代&#xff0c;人工智能&#xff08;AI&#xff09;技術正深刻地改變著我們生活與工作方式的方方面面。作為AI領域的創新者與領航者&#xff0c;云平臺始終走在技術前沿&#xff0c;憑借無窮的熱情…

自然語言處理:文本規范化

介紹 大家好&#xff01;很高興又能在這兒和大家分享自然語言處理相關的知識了。在上一篇發布于自然語言處理&#xff1a;初識自然語言處理-CSDN博客為大家初步介紹了自然語言處理的基本概念。而這次&#xff0c;我將進一步深入這個領域&#xff0c;和大家聊聊自然語言處理中一…

HTTP非流式請求 vs HTTP流式請求

文章目錄 HTTP 非流式請求 vs 流式請求一、核心區別 服務端代碼示例&#xff08;Node.js/Express&#xff09;非流式請求處理流式請求處理 客戶端請求示例非流式請求&#xff08;瀏覽器fetch&#xff09;流式請求處理&#xff08;瀏覽器fetch&#xff09; Python客戶端示例&…

C語言機試編程題

編寫版本&#xff1a;vc2022 1.求最大/小值 #include<stdio.h> int main(){int a[50],n;int max, min;printf("請輸入您要輸入幾個數");scanf_s("%d", &n);printf("請輸入您要比較的%d個數\n",n);for (int i 0; i<n; i) {scanf_…