第一部分 DeepSeekMath及其提出的GRPO
因?yàn)镈eepSeek-V2涉及到了DeepSeekMath「其對(duì)應(yīng)論文為 24年2月發(fā)表的《DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models》」中提出的群體相對(duì)策略優(yōu)化——Group Relative Policy Optimization(簡(jiǎn)稱GRPO)
故本節(jié)重點(diǎn)介紹一下DeepSeekMath及其提出的GRPO
1.3.1 DeepSeekMath(基于DeepSeek-Coder初始化)的三階段訓(xùn)練方式:預(yù)訓(xùn)練-微調(diào)-RL訓(xùn)練
DeepSeekMath是一個(gè)包含120B的數(shù)學(xué)token的大規(guī)模高質(zhì)量預(yù)訓(xùn)練語(yǔ)料庫(kù),,訓(xùn)練過(guò)程是經(jīng)典的預(yù)訓(xùn)練-微調(diào)-RL訓(xùn)練三階段
- DeepSeekMath-Base 7B
DeepSeekMath-Base 是在 DeepSeek-Coder-Base-v1.5 7B的基礎(chǔ)上初始化的,,因?yàn)樗麄冏⒁獾綇拇a訓(xùn)練模型開(kāi)始比從通用 LLM 開(kāi)始是一個(gè)更好的選擇 具體而言 首先,,通過(guò)從種子語(yǔ)料庫(kù)OpenWebMath(一個(gè)高質(zhì)量的數(shù)學(xué)網(wǎng)頁(yè)文本集合)中隨機(jī)選擇50萬(wàn)個(gè)數(shù)據(jù)點(diǎn)作為正訓(xùn)練樣本,,訓(xùn)練一個(gè)fastText模型作為分類器 然后,使用該分類器從從Common Crawl(簡(jiǎn)稱CC)中挖掘出更多的正例,,且還選擇其中的50萬(wàn)個(gè)網(wǎng)頁(yè)作為負(fù)樣本 當(dāng)然,,過(guò)程中,會(huì)對(duì)CC數(shù)據(jù)集做大量的去重,,最終得到40B HTML網(wǎng)頁(yè) 最后,,針對(duì)這個(gè)去重后的40B CC數(shù)據(jù)集,直接人工標(biāo)注出與數(shù)學(xué)相關(guān)的URL網(wǎng)頁(yè),,然后歸納到種子數(shù)據(jù)集,,從而通過(guò)這個(gè)擴(kuò)大后的種子數(shù)據(jù)集去繼續(xù)訓(xùn)練fastText,以提升其性能 最終,,該模型與DeepSeek LLMs(DeepSeek-LLM 1.3B)有著相同的框架 1) 他們分別在每個(gè)數(shù)學(xué)語(yǔ)料庫(kù)上訓(xùn)練模型,,訓(xùn)練量為150B個(gè)token 2) 所有實(shí)驗(yàn)均使用高效且輕量級(jí)的HAI-LLM訓(xùn)練框架進(jìn)行,,且使用AdamW優(yōu)化器,其中 ??1 = 0.9,, ??2 =0.95,,weight_decay =0.1 3) 并采用多步學(xué)習(xí)率調(diào)度,學(xué)習(xí)率在2,000個(gè)預(yù)熱步驟后達(dá)到峰值,,在訓(xùn)練過(guò)程的80%后降至峰值的31.6%,,在訓(xùn)練過(guò)程的90%后進(jìn)一步降至峰值的10.0% 4) 另將學(xué)習(xí)率的最大值設(shè)置為5.3e-4,并使用包含4K上下文長(zhǎng)度的4M token批量大小 - DeepSeekMath-Instruct
在預(yù)訓(xùn)練之后,,對(duì) DeepSeekMath-Base 應(yīng)用了數(shù)學(xué)指令調(diào)優(yōu),,且使用了CoT、program-of-thoug和tool-integrated reasonin數(shù)據(jù) 最終DeepSeekMath-Instruct 7B 在數(shù)學(xué)方面的能力,,超越了所有 7B 同類模型,,并且可以與 70B 開(kāi)源指令微調(diào)模型相媲美 - DeepSeekMath-RL
此外,引入群體相對(duì)策略優(yōu)化GRPO做進(jìn)一步的RL訓(xùn)練,,這是近端策略優(yōu)化PPO的另一種變體算法 該方法放棄了通常與策略policy模型大小相同的critic模型,,而是從群體得分中估計(jì)基線baseline,最終顯著減少了所需的訓(xùn)練資源 In order to save the training costs of RL, we adopt Group Relative Policy Optimization (GRPO) (Shao et al., 2024), which foregoes the critic model that is typically with the same size as the policy model, and estimates the baseline from group scores instead
1.3.2 詳解GRPO:與PPO的對(duì)比及其如何做RL訓(xùn)練
首先,,什么是PPO呢,?
通過(guò)本博客內(nèi)的其他文章(如果對(duì)RLHF或PPO的原理及其在ChatGPT中的應(yīng)用不了解,則可以看這三篇文章:RL極簡(jiǎn)入門,、ChatGPT原理詳解,、從零實(shí)現(xiàn)帶RLHF的類ChatGPT 即可,勝過(guò)網(wǎng)上其他類似資料 ),,可知
近端策略優(yōu)化PPO是一種actor-critic的RL算法,,其通過(guò)最大化以下目標(biāo)函數(shù)來(lái)優(yōu)化LLM
其中
- 、分別代表當(dāng)前策略,、舊策略
- ,、分別采樣于問(wèn)題數(shù)據(jù)集、舊策略中
- 是PPO中引入的與裁剪clip相關(guān)的超參數(shù),,用于穩(wěn)定訓(xùn)練
- 是優(yōu)勢(shì),,其通過(guò)應(yīng)用廣義優(yōu)勢(shì)估計(jì)GAE計(jì)算出——基于獎(jiǎng)勵(lì)和可學(xué)習(xí)的價(jià)值函數(shù)
因此,在PPO中,,需要一個(gè)價(jià)值函數(shù)與策略模型一起訓(xùn)練
- 且為了減輕獎(jiǎng)勵(lì)模型的過(guò)度優(yōu)化,,會(huì)在每個(gè)token的獎(jiǎng)勵(lì)得分中添加一個(gè)來(lái)自參考模型中對(duì)應(yīng)token的KL懲罰(the standard approach is to add a per-token KL penalty from a reference model in the reward at each token,言外之意就是可以為討領(lǐng)導(dǎo)喜歡而不斷改進(jìn)自己的行為,,但一切行為的底限是:不與公司倡導(dǎo)的價(jià)值感 相差太遠(yuǎn) ),,即
其中,是獎(jiǎng)勵(lì)模型,,是基線模型(即reference model,,其被SFT模型初始化),,是KL懲罰的系數(shù) - 不過(guò),按理來(lái)說(shuō),,這里的應(yīng)該得是,,類似如下所示
其次,PPO的問(wèn)題是什么呢,?
- 由于 PPO 中使用的價(jià)值函數(shù)value function(相當(dāng)于actor-critic中的critic)通常是與策略模型policy model相當(dāng)規(guī)模的另一個(gè)模型,,這帶來(lái)了巨大的內(nèi)存和計(jì)算負(fù)擔(dān)
如此文《速讀deepseek v2 (三)- 理解GRPO(deepseekmath 與 deepseek coder)》所說(shuō) PPO的算法中,有4個(gè)模型 一個(gè)actor,,生成句子 一個(gè)critic模型,,類似國(guó)內(nèi)教練,輸出value,,也算做價(jià)值函數(shù) 一個(gè)reward模型,,類似國(guó)際裁判 一個(gè)reference模型 PPO的效率缺陷主要在于actor和critic的交互,是否可以丟掉critic呢,,讓actor直接去對(duì)齊RM 其實(shí)在PPO之前,,最早是沒(méi)有 Critic 的,用 actor 去生成行為,,然后利用所有行為共同獲得分?jǐn)?shù)來(lái)訓(xùn)練模型,,但是,因?yàn)槊恳粋€(gè)action(對(duì)應(yīng)生成句子中的每一個(gè) token)都是一個(gè)隨機(jī)變量,,N 個(gè)隨機(jī)變量加在一起,,方差就會(huì)非常巨大,這通常會(huì)導(dǎo)致整個(gè) RL 訓(xùn)練崩掉,,ReMax 的工作中就有類似的說(shuō)明 為了解決這個(gè)問(wèn)題,,可以尋找一個(gè)baseline,讓每一個(gè)隨機(jī)變量都減掉該baseline,,從而降低方差,,這樣訓(xùn)練就穩(wěn)定了 那如何得到該baseline?簡(jiǎn)單一點(diǎn),,隨機(jī)采樣 N 次,,取 N 次采樣結(jié)果的得分「均值」作為 baseline,,不過(guò)這種策略下只有當(dāng)采樣 N 足夠大時(shí),,方差才能足夠小,否則采樣的代表性可能不足 PPO 的處理方式是使用一個(gè)神經(jīng)網(wǎng)絡(luò) Critic 去擬合該均值均值(并非直接疊加),,以減小方差 - 此外,,在 RL 訓(xùn)練期間,價(jià)值函數(shù)被視為計(jì)算優(yōu)勢(shì)的基線——「注意體會(huì)這句話,,特別是其中基線的意義」,,以減少方差
而在有的 LLM 環(huán)境中,,通常只有最后一個(gè)token由獎(jiǎng)勵(lì)模型分配獎(jiǎng)勵(lì)分?jǐn)?shù),這可能會(huì)使在每個(gè)token上想要得到準(zhǔn)確的價(jià)值評(píng)估會(huì)比較復(fù)雜——即價(jià)值函數(shù)訓(xùn)練變得復(fù)雜 不過(guò),,話說(shuō)回來(lái),,還有的LLM環(huán)境中,比如微軟的deepspeed chat——簡(jiǎn)稱DSC,,其在實(shí)現(xiàn)PPO/RLHF時(shí),,會(huì)涉及到對(duì)每個(gè)token的價(jià)值評(píng)估,詳見(jiàn):從零實(shí)現(xiàn)帶RLHF的類ChatGPT:逐行解析微軟DeepSpeed Chat的源碼
最后,,有沒(méi)PPO的替代算法呢,?
一方面,上文提過(guò)的DPO是一種
另一方面,,DeepSeek提出了群體相對(duì)策略優(yōu)化GRPO——Group Relative Policy Optimization
- 它避免了像 PPO 那樣需要額外的價(jià)值函數(shù)近似——說(shuō)白了 就是不要PPO當(dāng)中的value model或value function去做價(jià)值評(píng)估
we propose Group Relative Policy Optimization (GRPO), which obviates the need for additional value function approximation as in PPO 就是丟掉critic,,也就沒(méi)有了value(不需要基于value做估計(jì)),也就不需要GAE - 而是使用對(duì)同一問(wèn)題的多個(gè)采樣輸出的平均獎(jiǎng)勵(lì)作為基線(說(shuō)白了,,直接暴力采樣 N 次求均值)
and instead uses the average reward of multiple sampled outputs, produced in response to the same question, as the baseline 畢竟優(yōu)勢(shì)函數(shù)不就重點(diǎn)考察那些超出預(yù)期,、超出基線baseline的表現(xiàn)么,所以問(wèn)題的關(guān)鍵就是基線baseline的定義,,因?yàn)?strong>一旦定義好了baseline,,我們的目標(biāo)就明確了——越發(fā)鼓勵(lì)可以超過(guò)baseline的行為(而每個(gè)行為是由背后的策略所決定的,故優(yōu)化行為的同時(shí)就是策略的不斷迭代與優(yōu)化),,而這就是優(yōu)勢(shì)函數(shù)所追求的 上面這段話值得反復(fù)品讀三遍..
更具體地,,對(duì)于每個(gè)問(wèn)題,GRPO 從舊策略中抽取一組輸出,,然后
- 在目標(biāo)函數(shù)方面
GRPO通過(guò)最大化下述目標(biāo)函數(shù)以優(yōu)化策略模型 其中,,和是超參數(shù),是基于每組內(nèi)部輸出的相對(duì)獎(jiǎng)勵(lì)計(jì)算的優(yōu)勢(shì)(?????,?? is the advantage calculated based on relative rewards of the outputs inside each group on) 如此,,GRPO 用的計(jì)算優(yōu)勢(shì)的群體相對(duì)方式,,與獎(jiǎng)勵(lì)模型的比較性質(zhì)非常契合,因?yàn)楠?jiǎng)勵(lì)模型通常是在同一問(wèn)題的輸出比較數(shù)據(jù)集上訓(xùn)練的 The group relative way that GRPO leverages to calculate the advantages, aligns well with the comparative nature of rewards models, as reward models are typically trained on datasets of comparisons between outputs on the same question - 在KL懲罰項(xiàng)方面
GRPO 不是在獎(jiǎng)勵(lì)中添加 KL 懲罰,,而是通過(guò)直接將訓(xùn)練策略和參考策略之間的 KL 散度添加到損失中來(lái)進(jìn)行正則化,,從而避免了復(fù)雜的的計(jì)算 instead of adding KL penalty in the reward, GRPO regularizes by directly adding the KL divergence between the trained policy and the reference policy to the loss, avoiding complicating the calculation of ?????,?? . 說(shuō)白了,GRPO 中雖然也加了 KL Penalty,,只不過(guò)不像 PPO 的實(shí)現(xiàn)是每個(gè) token 位置上加一個(gè)懲罰(即沒(méi)有加在RM里,,比如上面提到的微軟DSC在實(shí)現(xiàn)PPO/RLHF時(shí),就涉及到對(duì)每個(gè)token的評(píng)估,,故自然便有了對(duì)每一個(gè)token的KL懲罰),,而是直接一并計(jì)算完后加到最后的 loss 中去 總之,與PPO中獎(jiǎng)勵(lì)函數(shù)所使用的KL懲罰項(xiàng)不同,,GRPO中使用以下無(wú)偏估計(jì)器估計(jì)KL散度 - 在梯度計(jì)算方面
如果為了簡(jiǎn)化分析,,比如假設(shè)模型在每個(gè)探索階段之后只有一次更新,,從而確保,在這種情況之下,,便可以移除上面的clip操作「it is assumed that the model only has a single update following each exploration stage, there by ensuring that ?????????? = ????. In this case, we can remove the min and clip operation」 即如下圖所示(雖然下圖所示的過(guò)程是在PPO中,,但本質(zhì)是一個(gè)意思) 且再把上面的放入到表達(dá)式中,即可得 接下來(lái),,便可以計(jì)算的梯度了 如此,,梯度系數(shù)是 其中的是基于組獎(jiǎng)勵(lì)分?jǐn)?shù)計(jì)算的
接下來(lái),我們來(lái)看下優(yōu)勢(shì)函數(shù)如何設(shè)計(jì)
類似此文《ChatGPT原理詳解 》3.2.1節(jié)如何更好的理解Actor-Critic架構(gòu)中的Critic網(wǎng)絡(luò)節(jié)最后有講到的
優(yōu)勢(shì)的計(jì)算,、回報(bào)的計(jì)算,、Critic的輸出等等都是開(kāi)放性的話題
- 設(shè)計(jì)者認(rèn)為Critic不需要去評(píng)價(jià)時(shí)間步、只需要評(píng)價(jià)完整序列,,那么Critic就被設(shè)計(jì)成標(biāo)量預(yù)測(cè),,比如colossalchat
- 設(shè)計(jì)者認(rèn)為Critic需要嚴(yán)謹(jǐn)?shù)綄?duì)每個(gè)時(shí)間步做評(píng)價(jià),那么Critic就會(huì)被設(shè)計(jì)成序列預(yù)測(cè),,比如微軟deepspeed chat
可以有三種設(shè)計(jì)
- 使用GRPO的結(jié)果監(jiān)督強(qiáng)化學(xué)習(xí),,相當(dāng)于獎(jiǎng)勵(lì)模型只看最終生成句子的表現(xiàn),不看生成過(guò)程中是否按預(yù)期進(jìn)行
首先,,對(duì)于每個(gè)問(wèn)題,,通過(guò)舊策略模型采樣一組輸出 Formally, for each question ??, a group of outputs {??1, ??2, · · · , ???? } are sampled from the old policy model ?????????? . 其次,使用獎(jiǎng)勵(lì)模型對(duì)每個(gè)輸出進(jìn)行評(píng)分,,從而得到G個(gè)獎(jiǎng)勵(lì) A reward model is then used to score the outputs, yielding ?? rewards r = {??1, ??2, · · · , ???? } correspondingly. 隨后,,通過(guò)減去組平均值并除以組標(biāo)準(zhǔn)差來(lái)規(guī)劃化這些獎(jiǎng)勵(lì) Subsequently, these rewards are normalized by subtracting the group average and dividing by the group standard deviation. 結(jié)果監(jiān)督在每個(gè)輸出結(jié)束時(shí)提供規(guī)范化的獎(jiǎng)勵(lì),并將輸出中所有token的優(yōu)勢(shì)設(shè)置為規(guī)范化的獎(jiǎng)勵(lì),,即 Outcome supervision provides the normalized reward at the end of each output ???? and sets the advantages ?????,?? of all tokens in the output as the normalized reward, i.e., ?????,?? = e???? = ???? ?mean(r) std(r) 最后,,通過(guò)最大化這個(gè)目標(biāo)函數(shù)來(lái)不斷優(yōu)化策略 and then optimizes the policy bymaximizing the objective defined in equation - 使用GRPO進(jìn)行過(guò)程監(jiān)督RL
結(jié)果監(jiān)督僅在每個(gè)輸出的末尾提供獎(jiǎng)勵(lì),這可能不足以有效監(jiān)督復(fù)雜數(shù)學(xué)任務(wù)中的策略(畢竟數(shù)學(xué)計(jì)算講究step by step,,需要關(guān)注類似CoT那種推斷的過(guò)程) 根據(jù)Wang等人(Math-shepherd: Verify and reinforce llms step-by-step without human annotations)的研究,,deepseek還探索了過(guò)程監(jiān)督,它在每個(gè)推理步驟結(jié)束時(shí)提供獎(jiǎng)勵(lì) Outcome supervision only provides a reward at the end of each output, which may not be sufficient and efficient to supervise the policy in complex mathematical tasks. Following Wang et al. (2023b), we also explore process supervision, which provides a reward at the end of each reasoning step. 形式上,,給定問(wèn)題和采樣輸出, 使用過(guò)程獎(jiǎng)勵(lì)模型對(duì)每個(gè)輸出步驟進(jìn)行評(píng)分(相當(dāng)于上面對(duì)結(jié)果的評(píng)估,,是考量針對(duì)同一個(gè)問(wèn)題不同回答語(yǔ)句生成后的表現(xiàn),現(xiàn)在則監(jiān)督每個(gè)生成語(yǔ)句當(dāng)中每個(gè)token生成的怎么樣),,產(chǎn)生相應(yīng)的獎(jiǎng)勵(lì): 其中是第步的結(jié)束token索引,,是第個(gè)輸出的總步驟數(shù) Formally, given the question ?? and ?? sampled outputs {??1, ??2, · · · , ???? }, a process reward model is used to score each step of the outputs, yielding corresponding rewards: R = {
{???????????? (1)1 , · · · , ???????????? (??1 )1 }, · · · , {???????????? (1)?? , · · · , ???????????? (???? )?? }}, where ?????????? ( ??) is the end token index of the ??-th step, and ???? is the total number of steps in the ??-th output. 且還用平均值和標(biāo)準(zhǔn)差對(duì)這些獎(jiǎng)勵(lì)進(jìn)行歸一化,即 We also normalize these rewards with the average and the standard deviation, i.e., e???????????? ( ??)?? = ???????????? ( ??)?? ?mean(R)std(R) . 隨后,,過(guò)程監(jiān)督計(jì)算每個(gè)token的優(yōu)勢(shì)作為以下步驟的歸一化獎(jiǎng)勵(lì)的總和,,即 最后,通過(guò)最大化來(lái)優(yōu)化策略 Subsequently,the process supervision calculates the advantage of each token as the sum of the normalized rewards from the following steps, i.e., ?????,?? = í?????????? ( ??) ≥?? e???????????? ( ??)?? , and then optimizes the policy by maximizing the objective defined in equation - 使用 GRPO 的迭代強(qiáng)化學(xué)習(xí)
隨著強(qiáng)化學(xué)習(xí)訓(xùn)練過(guò)程的進(jìn)展,,舊的獎(jiǎng)勵(lì)模型可能不足以監(jiān)督當(dāng)前的策略模型 因此,,他們還探索了使用 GRPO 的迭代強(qiáng)化學(xué)習(xí),如下圖所示 在迭代 GRPO 中,,根據(jù)策略模型的采樣結(jié)果為獎(jiǎng)勵(lì)模型生成新的訓(xùn)練集,,并使用包含 10%歷史數(shù)據(jù)的重放機(jī)制不斷訓(xùn)練舊的獎(jiǎng)勵(lì)模型 然后,將參考模型設(shè)為策略模型,,并使用新的獎(jiǎng)勵(lì)模型持續(xù)訓(xùn)練策略模型 友情提醒:如果這段看著比較費(fèi)勁,,建議可以不用深究
在本次對(duì)策略模型(基于DeepSeekMath-Instruct 7B)做強(qiáng)化學(xué)習(xí)的訓(xùn)練中
- 且強(qiáng)化學(xué)習(xí)的訓(xùn)練數(shù)據(jù)是與GSM8K和MATH相關(guān)的鏈?zhǔn)剿季S格式問(wèn)題,這些問(wèn)題來(lái)自SFT數(shù)據(jù),,總共約有144K個(gè)問(wèn)題
- 排除其他SFT問(wèn)題,,以研究在整個(gè)強(qiáng)化學(xué)習(xí)階段缺乏數(shù)據(jù)的基準(zhǔn)測(cè)試上強(qiáng)化學(xué)習(xí)的影響
且按照(Wang etal., 2023b,即上文提過(guò)的Math-shepherd)構(gòu)建獎(jiǎng)勵(lì)模型的訓(xùn)練集 - 基于DeepSeekMath-Base 7B訓(xùn)練初始獎(jiǎng)勵(lì)模型,,學(xué)習(xí)率為2e-5
- 對(duì)于GRPO,,將策略模型的學(xué)習(xí)率設(shè)為1e-6。KL系數(shù)為0.04
對(duì)于每個(gè)問(wèn)題,,采樣64個(gè)輸出,,最大長(zhǎng)度設(shè)置為1024,訓(xùn)練批量大小為1024 - 策略模型在每個(gè)探索階段之后僅進(jìn)行一次更新
在基準(zhǔn)測(cè)試中評(píng)估了DeepSeekMath-RL 7B,,遵循DeepSeekMath-Instruct 7B 對(duì)于DeepSeekMath-RL 7B,,帶有鏈?zhǔn)酵评淼腉SM8K和MATH可以視為域內(nèi)任務(wù),所有其他基準(zhǔn)測(cè)試可以視為域外任務(wù)
1.3.3 針對(duì)SFT,、RFT,、DPO、PPO,、GRPO的統(tǒng)一范式
通常,,訓(xùn)練方法相對(duì)于參數(shù)的梯度可以寫成
其存在三個(gè)關(guān)鍵組成部分:1)數(shù)據(jù)來(lái)源 D,決定訓(xùn)練數(shù)據(jù),;2) 獎(jiǎng)勵(lì)函數(shù),,是訓(xùn)練獎(jiǎng)勵(lì)信號(hào)的 來(lái)源;3)算法 A:處理訓(xùn)練數(shù)據(jù)和獎(jiǎng)勵(lì)信號(hào)以獲得梯度系數(shù),,決定數(shù)據(jù)的懲罰或強(qiáng)化的幅度
比如
- 對(duì)于監(jiān)督微調(diào)SFT而言
SFT 在人工選擇的 SFT 數(shù)據(jù)上微調(diào)預(yù)訓(xùn)練模型 - 對(duì)于拒絕采樣微調(diào) (RFT)而言
RFT基于SFT問(wèn)題從SFT模型中采樣的過(guò)濾輸出進(jìn)一步微調(diào)SFT模型,,RFT根據(jù)答案的正確性過(guò)濾輸出 - 對(duì)于直接偏好優(yōu)化 (DPO)而言
DPO通過(guò)使用成對(duì)DPO損失在增強(qiáng)輸出上微調(diào)SFT模型,從而進(jìn)一步優(yōu)化SFT模型 - 對(duì)于在線拒絕采樣微調(diào) (在線RFT)而言
與RFT不同,,在線RFT使用SFT模型初始化策略模型,,并通過(guò)在實(shí)時(shí)策略模型中采樣的增強(qiáng)輸出進(jìn)行微調(diào)來(lái)優(yōu)化它 - PPO/GRPO: PPO/GRPO使用SFT模型初始化策略模型,并通過(guò)從實(shí)時(shí)策略模型中采樣的輸出進(jìn)行強(qiáng)化(當(dāng)然,,嚴(yán)格意義上,,得區(qū)分策略模型的舊策略和當(dāng)前策略)
|