那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

拆解大語言模型RLHF中的PPO算法

智能感知與物聯網技術研究所 ? 來源:智能感知與物聯網技術研 ? 作者:智能感知與物聯網 ? 2023-12-11 18:30 ? 次閱讀

為什么大多數介紹大語言模型 RLHF 的文章,一講到 PPO 算法的細節就戛然而止了呢?要么直接略過,要么就只扔出一個 PPO 的鏈接。然而 LLM x PPO 跟傳統的 PPO 還是有些不同的呀。

其實在 ChatGPT 推出后的相當一段時間內,我一直在等一篇能給我講得明明白白的文章,但是一直未能如愿。我想大概是能寫的人都沒時間寫吧。 前幾個月,自己在工作中遇到要用到 PPO 的場景了。我心想,干脆自己啃算了。 于是我找到了 InstructGPT 引用的 OpenAI 自家的大語言模型 RLHF 論文《fine-tuning language models from human preferences》和《learning to summarize from human feedback》的源碼,逐行閱讀。然后用近似但不完全相同的風格復現了一遍。后來又和同事一起把自己的實現和微軟的 DeepSpeed-Chat 的實現相互印證,才算是理解了。 既然已經有了一些經驗,為何不將它分享出來呢?就當是拋磚引玉吧。萬一寫的不對,也歡迎大家一起交流討論。 由于本文以大語言模型 RLHF 的 PPO 算法為主,所以希望你在閱讀前先弄明白大語言模型 RLHF 的前兩步,即 SFT ModelReward Model 的訓練過程。另外因為本文不是純講強化學習的文章,所以我在敘述的時候不會假設你已經非常了解強化學習了。只是如果完全沒有了解過,你可能會覺得有些操作看上去沒有那么顯然。但只要你非常了解語言模型和深度學習,應該不會影響你把整個流程給捋順。 接下來,我會把大語言模型 RLHF 中的 PPO 分成三部分逐一介紹。這三部分分別是采樣、反饋學習 在開始之前,我先用一段偽代碼把三部分的關系簡要說明一下(先建立一個印象,看不懂也沒關系,后面自然會看懂):

policy_model=load_model()

forkinrange(20000):
#采樣(生成答案)
prompts=sample_prompt()
data=respond(policy_model,prompts)

#反饋(計算獎勵)
rewards=reward_func(reward_model,data)

#學習(更新參數
forepochinrange(4):
policy_model=train(policy_model,prompts,data,rewards)

對于其中的每部分我都會用計算圖來輔助描述,然后還會根據我的描述更新這段偽代碼。 好了,讓我們開始這趟旅程吧~
大語言模型的 RLHF,實際上是模型先試錯再學習的過程。 我們扮演著老師的角色,給出有趣的問題,而模型則會像小學生一樣,不斷嘗試給出答案。模型會對著黑板寫下它的答案,有時候是正確的,有時候會有錯誤。我們會仔細檢查每一個答案,如果它表現得好,就會給予它高聲贊揚;如果它表現不佳,我們則會給予它耐心的指導和反饋,幫助它不斷改進,直到達到令人滿意的水平。 1

采樣

采樣就是學生回答問題的過程,是模型根據提示(prompt)輸出回答(response)的過程,或者說是模型自行生產訓練數據的過程。例如:

wKgZomV1whOAHrucAAB5BIr5h4Y130.png

PPO 在這一部分做了什么呢?先明確一個概念——策略(policy),它就是 RLHF 中的“學生”。policy 由兩個模型組成,一個叫做演員模型(Actor),另一個叫做評論家模型(Critic)。它們就像是學生大腦中的兩種意識,一個負責決策,一個負責總結得失。其中演員就是我們想要訓練出來的大模型。在用 PPO 訓練它之前,它就是 RLHF 的第一步訓練出來的 SFT (Supervised Fine-Tuning) model。輸入一段上下文,它將輸出下一個 token 的概率分布 context 。評論家是強化學習的輔助模型,輸入一段上下文,它將輸出下一個 token 的“收益"。

什么是“收益”呢?簡單來說就是從下一個 token 開始,模型能夠獲得的總獎勵(浮點數標量)。這里說的獎勵包括 Reward Model 給出的獎勵。獎勵是怎么給的,以及收益有什么用,這些內容我們后面會詳細介紹。

wKgZomV1whSARyE3AAHDtmvdrb4521.png

▲policy模型結構

從實現上說,評論家就是將演員模型的倒數第二層連接到一個新的全連接層上。除了這個全連接層之外,演員和評論家的參數都是共享的(如上圖)。

上面提到的模型結構是較早期的版本,后續不共享參數的實現方式也有很多。

現在我們來看看 PPO 的采樣過程中有哪些模型和變量。如下圖,矩形表示模型,橢圓表示變量。

wKgZomV1whSAA6MeAAK9YUz9Tb4928.png

▲采樣流程(轉載須引用)

圖中的“old_policy”矩形就是剛剛說的 policy(為啥有個“old”前綴呢?后面我會詳細解釋)。

采樣指的是 old_policy 從 prompt 池中抽出 M 個 prompt 后,對每個 prompt 進行語言模型的 token 采樣:
  • 計算 response 的第 1 個 token 的概率分布,然后從概率分布中采樣出第 1 個 token
  • 根據第 1 個 token,計算 response 的第2 個 token 的概率分布,然后從概率分布中采樣出第 2 個 token
  • ……
  • 根據前 N-1 個 token,計算 response 的第 N 個 token 的概率分布,然后從概率分布中采樣出第 N 個 token
wKgZomV1whSAOribAAEJrtH6bK4024.gif▲語言模型的token采樣

然后就得到了三個輸出。假設對每個 prompt,policy 生成的 token 的個數為 N,那么這三個輸出分別是:

  • response:M 個字符串,每個字符串包含 N 個 token

  • old_log_probs:演員輸出的 M × N 的張量,包含了 response 中 token 的對數概率log(p(token|context))

  • old_values:評論家輸出的 M ×N的張量,包含了每次生成 token 時評論家預估的收益

得到這三個輸出后,采樣階段就就結束了。這三個輸出都是后續階段重要的輸入數據。

我們先將采樣部分的偽代碼更新一下:

#采樣
prompts=sample_prompt()
responses,old_log_probs,old_values=respond(policy_model,prompts)

就像是一場考試,學生已經完成了答題環節,他們在黑板上留下了答案。但這只是整個學習過程的一個環節,接下來是關鍵的反饋步驟。

2

反饋

反饋就是老師檢查答案的過程,是獎勵模型(Reward Model)給 response 打分的過程,或者說是獎勵模型給訓練數據 X 標上 Y 值的過程。 打出的分數衡量了 response 的正確性,它也可以被視為 prompt 和 response 的匹配程度。 例如:

wKgZomV1whSASHORAABfSWQqjls976.pngReward Model 可以被比作班級里成績最好的學生,他能夠輔助老師批改作業。就像老師先教會這個學生如何批改作業,之后這個學生就能獨立完成作業批改一樣,Reward Model 通過學習和訓練,也能夠獨立地完成任務并給出正確的答案。 網上有很多資料介紹 Reward Model 的訓練過程,這也不是本文的重點,我就不再贅述了。 PPO 拿訓練好的 Reward Mode 做了什么呢?我們接著看圖說話: wKgZomV1whSAFxqYAAKFshV8pUE928.png▲ 獎勵流程(轉載須引用)從圖中我們可以看出,左上角的綠色矩形 reward model 拿到 prompt 和 response,然后輸出了分數 score。實際上發生的事情是,prompt 和 response 被拼接成一個字符串,接著被送入到 reward model 中,最后 reward model 計算出了匹配分數。 你也許發現了,在圖中,score 并不是最終的獎勵。它和最終的獎勵 rewards 之間還隔著一個 reward function 函數。 這是因為 score 只能衡量結果的對錯,不能衡量過程的合理性。怎么衡量過程的合理性呢?一種簡單粗暴的方法是:循規蹈矩,即為合理。 當年愛因斯坦的相對論理論首次發表時,遭遇了許多質疑。后來,該理論被證明并得到了應有的認可。大家的目光可能都聚焦于愛因斯坦是如何堅定不移地堅持自己的理念并獲得成功的。 然而,你有沒有想過,那些反對和質疑其實也是必要的。 在相對論理論出現之前,已經有一個相對完整的物理系統。當時,一個年輕人突然出現挑戰這個系統。在不知道他的路數的情況下,有必要基于現有的經驗給予適當的質疑。因為并非每個人都是偉人啊。如果他的理論真的得到驗證,那么就是給予肯定和榮譽的時候了。 語言模型也是一樣,在我們給予最終獎勵之前,最好也對它的“標新立異”給予少量的懲罰(即剛剛說的質疑)。 怎么做呢?我們給它立一個規矩,只要它按照這個規矩來,就能獲得少量獎勵。而這個規矩就是我們在 SFT 階段已經訓練好的語言模型 ref_policy(圖中右下角的綠色矩形),或者說是完全還沒經過強化學習訓練的語言模型。 過程合理性獎勵的計算方式是這樣的。ref_policy 拿到 prompt,然后給 old_policy 生成的 response 的每個 token 計算對數概率,得到一個張量 ref_log_prob?,F在假設 old_policy 的演員模型生成了第 i 個 token,此時它應該獲得的獎勵為: wKgZomV1whWADJmRAAAgEyCANqA290.png

來理解一下這個式子:

  • ref_log_prob[i] 越高,ref_policy 越認可 old_policy 的輸出,說明 old_policy 更守規矩,因此應該獲得更高的獎勵;

  • old_log_prob[i] 越高,old_policy 獲得的獎勵反而更低。old_log_prob[i] 作為正則項,可以保證概率分布的多樣性。
有了這兩個直覺上的解釋,我們說式 (1) 是比較合理的。順便說一句,熟悉信息論的人也許注意到了,式 (1) 是 KL 散度的簡化版本。實際上式 (1) 完全可以改成計算兩個 token 的概率分布的 KL 散度。這是另一個話題,就不延伸了。 最終,我們將過程合理性獎勵和結果正確性獎勵合并起來,就得到了最終獎勵的計算方式。 注意,我們只在最后一個 token 上應用結果正確性獎勵(reward_model 的輸出)。也就是說,第 i 個 token 的獎勵的計算方式為: wKgZomV1whWAXNoRAABIZbvQ6bs141.png式 (2) 就是圖中“reward function”的計算內容。 通俗來說,整個 reward function 的計算邏輯是典型的霸總邏輯:除非你能拿到好的結果,否則你就得給我守規矩。注意,我們只對 response 計算獎勵。另外在整個反饋階段,reward_model 和 ref_policy 是不更新參數的。一旦給出 reward,就完成了反饋階段。現在我們將反饋部分的偽代碼更新一下:

#采樣
prompts=sample_prompt()
responses,old_log_probs,old_values=respond(policy_model,prompts)

#policy_model的副本,不更新參數
ref_policy_model=policy_model.copy()

#反饋
scores=reward_model(prompts,responses)
ref_log_probs=analyze_responses(ref_policy_model,prompts,responses)
rewards=reward_func(reward_model,scores,old_log_probs,ref_log_probs)

這就像是老師在檢查學生的答案并給出評價后,學生們就可以了解他們的表現如何,并從中學習和進步。然而,獲得反饋并不是結束,而是新的開始。正如學生需要用這些反饋來進行復習和改進一樣,模型也需要通過學習階段來優化其性能和預測能力。
3

學習

“學習”就是學生根據反饋總結得失并自我改進的過程,或者說是強化優勢動作的過程。

如果說前兩步分別是在收集數據 X,以及給數據打上標簽 Y。那么這一步就是在利用數據 (X, Y) 訓練模型。

"強化優勢動作"是 PPO 學習階段的焦點。在深入探討之前,我們首先要明確一個關鍵概念——優勢。

此處,我們將優勢定義為“實際獲得的收益超出預期的程度”。

為了解釋這個概念,請允許我舉一個例子。假設一個高中生小明,他在高一時數學考試的平均分為 100 分,在此之后,大家對他的數學成績的預期就是 100 分了。到了高二,他的數學平均分提升到了 130 分。在這個學期,小明的數學成績顯然是超出大家的預期的。

表現是可用分數量化的,故表現超出預期的程度也是可以用分數差來量化的。我們可以認為,在高二階段,小明超出預期的程度為 30 分(130 - 100)。根據優勢的定義我們可以說,在高二階段,小明相對于預期獲得了 30 分的優勢。

在這個例子中,實際已經給出了 PPO 計算優勢的方法:優勢 = 實際收益 - 預期收益。

對于語言模型而言,生成第 i 個 token 的實際收益就是:從生成第 i 個 token 開始到生成第 N 個 token 為止,所能獲得的所有獎勵的總和。我們用 return 來表示實際收益,它的計算方式如下:

wKgZomV1whaALQ-kAAArMC1YN6g343.png

* 寫給熟悉 RL 的人:簡單起見,在這里我們既不考慮貼現也不計算廣義優勢估計 GAE預期收益又該如何計算呢? 記得我們在“采樣”階段提到過,policy 包含演員模型和評論家模型,其中后者是用來預估收益的。其實,當時說的收益 old_values 就是現在我們想要計算的預期收益。評論家會為 response 中的每個 token 計算一個預期收益,第 個預期收益記為 values[i] (它預估的是剛才提到的 )。現在,我們可以這樣計算生成第 i 個 token 的優勢 a(這里我們使用采樣階段計算出來的 old_values):

wKgZomV1whaAYJJFAAAcTgZJtKM732.png

好的,我們已經理解了優勢的含義了?,F在終于可以揭開這個關鍵主題的面紗——在 PPO 學習階段,究竟什么是"強化優勢動作"。

所謂“強化優勢動作”,即強化那些展現出顯著優勢的動作。

在上面的小明的例子中,這意味著在高三階段,小明應該持續使用高二的學習方法,因為在高二階段,他的學習策略展示出了顯著的優勢。

在語言模型中,根據上下文生成一個 token 就是所謂的“動作”。"強化優勢動作"表示:如果在上下文(context)中生成了某個 token,并且這個動作的優勢很高,那么我們應該增加生成該 token 的概率,即增加 p(token|context) 的值。

由于 policy 中的演員模型建模了 p(token|context),所以我們可以給演員模型設計一個損失函數,通過優化損失函數來實現“強化優勢動作”:

wKgZomV1whaAJPdwAAArcSNofCY999.png

其中:
  • 當優勢大于 0 時,概率越大,loss 越??;因此優化器會通過增大概率(即強化優勢動作)來減小 loss
  • 當優勢小于 0 時,概率越小,loss 越小;因此優化器會通過減小概率(即弱化劣勢動作)來減小 loss

這很像巴浦洛夫的狗不是嗎?

另外還有兩個點值得注意:

  • 優勢的絕對值越大,loss 的絕對值也就越大
  • 優勢是不接收梯度回傳的

實際上,式 5 只是一個雛形。PPO 真正使用的演員的損失函數是這樣的:

wKgZomV1whaAGGMOAAA-lX-auPA137.png

* 寫給熟悉 RL 的人:簡單起見,在這里我們既不考慮損失的截斷,也不考慮優勢的白化。

式子 6 相比式 5 子多了一個分母 。在式子 6 里, 表示 的一個較老的版本。因為它不接收梯度回傳,所以我們可以將 當作常量,或者說,把它當成 的學習率的一部分。我們來分析一下它的作用。以優勢大于 0 的情況為例,對任意 ,當 有較大的值的時候, 的參數的學習率更小。直觀來說,當生成某個 token 的概率已經很大了的時候,即便這個動作的優勢很大,也不要再使勁增大概率了。或者更通俗地說,就是步子不要邁得太大。

現在的問題就是,我們應該使用 p 的哪個老版本。還記得我們在本文開頭時給出的偽代碼嗎(后來在介紹“采樣”和“反饋”階段時又各更新了一次),我們對著代碼來解釋:

policy_model=load_model()
ref_policy_model=policy_model.copy()

forkinrange(20000):
#采樣(已更新)
prompts=sample_prompt()
responses,old_log_probs,old_values=respond(policy_model,prompts)

#反饋(已更新)
scores=reward_model(prompts,responses)
ref_log_probs=analyze_responses(ref_policy_model,prompts,responses)
rewards=reward_func(reward_model,scores,old_log_probs,ref_log_probs)

#學習
forepochinrange(4):
policy_model=train(policy_model,prompts,responses,old_log_probs,old_values,rewards)

簡單來說,這段代碼做的事情是:迭代 2 萬次。在每次迭代中,通過采樣和反饋得到一份數據,然后在學習階段使用數據微調語言模型。每份數據我們都拿來訓練 4 個 epoch。

那 使用 2 萬次迭代開始之前的演員模型的參數可以嗎?不行,那個版本過于老了(實際上就是 SFT,我們已經在獎勵階段中的 ref_policy 中用過了)。不妨使用同一次迭代的還未進入學習階段的演員模型吧。如果是這樣的話,仔細一看, 不就是采樣階段得到的 old_log_probs 嗎?只是少了一個對數而已。這就是為什么我們在采樣階段,對所有的模型和參數都使用“old”前綴,就是為了區分模型和變量的版本。(補充:前面提到的 old_policy 指的是上面偽代碼中采樣出 old_log_probs 的那個時刻的 policy_model)而對于 我們可以使用實時的演員模型的參數計算出來,然后用 log_prob 來表示它。于是,我們可以將式子 6 改寫成以下形式:wKgZomV1whaAKvAvAAAwyt_QTZ0792.png

至此,我們完整地描述了 PPO 的學習階段中“強化優勢動作”的方法。就像下面的計算圖展示的那樣(policy 與前面的圖中的 old_policy 不一樣,是實時版本的模型)。

wKgZomV1wheAdsuCAAIdiLLDIX0785.png

▲學習流程(轉載須引用)

等等,似乎還沒完。圖中還有一個叫 critic_loss 的沒提到過的東西。

當然了,負責決策的演員需要學習,難道總結得失的評論家就不需要學習了?評論家也是需要與時俱進的嘛,否則畫評家難道不怕再次錯過梵高那樣的天才?

前面我們提到過,評論家會為 response 中的每個 token 計算一個預期收益,第 個預期收益記為 values[i],它預估的是 。

既然如此,就設計一個損失函數來衡量評論家預期收益和真實收益之間的差距。

PPO 用的是均方差損失(MSE):

wKgZomV1wheACC5sAAAvpWYO1ws303.png

* 寫給熟悉 RL 的人:由于我們不考慮 GAE,所以 returns 的計算也做了相應的簡化。

最終優化 policy 時用的 loss 是演員和評論家的 loss 的加權和:

wKgZomV1wheAOHSPAAAe5oeG8iU778.png

這才算是真正完事兒了?,F在我們將整個 PPO 的偽代碼都更新一下:

policy_model=load_model()
ref_policy_model=policy_model.copy()

forkinrange(20000):
#采樣
prompts=sample_prompt()
responses,old_log_probs,old_values=respond(policy_model,prompts)

#反饋
scores=reward_model(prompts,responses)
ref_log_probs,_=analyze_responses(ref_policy_model,prompts,responses)
rewards=reward_func(reward_model,scores,old_log_probs,ref_log_probs)

#學習
forepochinrange(4):
log_probs,values=analyze_responses(policy_model,prompts,responses)
advantages=advantage_func(rewards,old_values)
actor_loss=actor_loss_func(advantages,old_log_probs,log_probs)
critic_loss=critic_loss_func(rewards,values)
loss=actor_loss+0.1*critic_loss
train(loss,policy_model.parameters())

4

總結

到這里,大語言模型 RLHF 中 PPO 算法的完整細節就算介紹完了。掌握這些細節之后,我們可以做的有趣的事情就變多了。例如:

  • 你可以照著偽代碼從頭到尾自己實現一遍,以加深理解。相信我,這是非常有趣且快樂的過程

  • 你可以以此為契機,把強化學習知識系統性地學一遍。你會發現很多強化學習的概念一下變得具象化了

  • 你可以在你的產品或者研究方向中思考 PPO 是否可以落地

  • 你也許會發現 PPO 算法的不合理之處,那么就深入研究下去,直到做出自己的改進

  • 你可以跟周圍不熟悉 PPO 的小伙伴吹牛,順便嘲諷對方(大誤)

總之,希望我們都因為掌握了知識變得更加充實和快樂~


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 算法
    +關注

    關注

    23

    文章

    4630

    瀏覽量

    93351
  • 深度學習
    +關注

    關注

    73

    文章

    5513

    瀏覽量

    121544
  • ChatGPT
    +關注

    關注

    29

    文章

    1568

    瀏覽量

    8055
  • 大模型
    +關注

    關注

    2

    文章

    2545

    瀏覽量

    3163
  • LLM
    LLM
    +關注

    關注

    0

    文章

    299

    瀏覽量

    400

原文標題:拆解大語言模型RLHF中的PPO算法

文章出處:【微信號:tyutcsplab,微信公眾號:智能感知與物聯網技術研究所】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    語言模型管理的作用

    要充分發揮語言模型的潛力,有效的語言模型管理非常重要。以下,是對語言模型管理作用的分析,由AI部
    的頭像 發表于 01-02 11:06 ?114次閱讀

    語言模型開發框架是什么

    語言模型開發框架是指用于訓練、推理和部署大型語言模型的軟件工具和庫。下面,AI部落小編為您介紹大語言
    的頭像 發表于 12-06 10:28 ?180次閱讀

    語言模型開發語言是什么

    在人工智能領域,大語言模型(Large Language Models, LLMs)背后,離不開高效的開發語言和工具的支持。下面,AI部落小編為您介紹大語言
    的頭像 發表于 12-04 11:44 ?231次閱讀

    【《大語言模型應用指南》閱讀體驗】+ 基礎知識學習

    的表達方式和生成能力。通過預測文本缺失的部分或下一個詞,模型逐漸掌握語言的規律和特征。 常用的模型結構 Transformer架構:大語言
    發表于 08-02 11:03

    【《大語言模型應用指南》閱讀體驗】+ 基礎篇

    學習方法。其中文本向量化的三種編碼方式:獨熱編碼、靜態編碼和動態編碼,這些概念描述是需要時間仔細研究理解的。 1.5章節終于開始講解大語言模型了,這也是基礎篇的最后一章節,占據了基礎篇的一半篇幅
    發表于 07-25 14:33

    如何加速大語言模型推理

    隨著人工智能技術的飛速發展,大語言模型(LLM)已成為自然語言處理領域的核心工具,廣泛應用于智能客服、文本生成、機器翻譯等多個場景。然而,大語言模型
    的頭像 發表于 07-04 17:32 ?640次閱讀

    語言模型:原理與工程時間+小白初識大語言模型

    解鎖 我理解的是基于深度學習,需要訓練各種數據知識最后生成自己的的語言理解和能力的交互模型。 對于常說的RNN是處理短序列的數據時表現出色,耳真正厲害的是Transformer,此框架被推出后直接
    發表于 05-12 23:57

    【大語言模型:原理與工程實踐】大語言模型的應用

    操作。所謂零樣本提示(Zero-Shot Prompt),指的是在提示詞不包含與指令任務相似的任何示例。 當大語言模型訓練完成后,它便具備了分析情緒和識別命名實體等常見任務的能力,這些能力源于預訓練
    發表于 05-07 17:21

    【大語言模型:原理與工程實踐】大語言模型的評測

    地提升工作效率。大語言模型的代碼類評測任務包括:1)代碼生成評估,如生成逆轉字符串的Python函數;2)代碼糾錯評估,如識別并修正JavaScript代碼的錯誤;3)代碼解釋評估,如解釋冒泡排序
    發表于 05-07 17:12

    【大語言模型:原理與工程實踐】大語言模型的預訓練

    語言模型的核心特點在于其龐大的參數量,這賦予了模型強大的學習容量,使其無需依賴微調即可適應各種下游任務,而更傾向于培養通用的處理能力。然而,隨著學習容量的增加,對預訓練數據的需求也相應
    發表于 05-07 17:10

    【大語言模型:原理與工程實踐】探索《大語言模型原理與工程實踐》2.0

    《大語言模型“原理與工程實踐”》是關于大語言模型內在機理和應用實踐的一次深入探索。作者不僅深入討論了理論,還提供了豐富的實踐案例,幫助讀者理解如何將理論知識應用于解決實際問題。書中的案
    發表于 05-07 10:30

    【大語言模型:原理與工程實踐】大語言模型的基礎技術

    就無法修改,因此難以靈活應用于下游文本的挖掘。 詞嵌入表示:將每個詞映射為一個低維稠密的實值向量。不同的是,基于預訓練的詞嵌入表示先在語料庫利用某種語言模型進行預訓練,然后將其應
    發表于 05-05 12:17

    【大語言模型:原理與工程實踐】核心技術綜述

    應用,需要考慮到性能、可擴展性和安全性等因素。 大語言模型正在快速發展,新技術不斷涌現。未來的研究可能集中在提高模型效率、理解和可解釋性以及確保
    發表于 05-05 10:56

    【大語言模型:原理與工程實踐】揭開大語言模型的面紗

    能力,使其能夠應對更復雜和抽象的語言任務。神經網絡的前向傳播和反向傳播算法是其核心技術。前向傳播,模型根據輸入文本的上下文和先前知識生成相關輸出;而在反向傳播
    發表于 05-04 23:55

    【大語言模型:原理與工程實踐】探索《大語言模型原理與工程實踐》

    處理預訓練架構Transformer,以及這些技術在現實世界的如何應用。通過具體案例的分析,作者展示了大語言模型在解決實際問題中的強大能力,同時也指出了當前技術面臨的挑戰和局限性。
    發表于 04-30 15:35
    哪里有百家乐投注网| 百家乐推饼| 百家乐官网博乐城| 百家乐官网长路投注法| 能赚钱的棋牌游戏| 威尼斯人娱乐网址| 百家乐博彩通网| 24山水口决阳宅| 最新百家乐官网网评测排名| 爱赢百家乐官网现金网| 银都娱乐| 现金网信誉排行| 威尼斯人娱乐城官方网站| 百家乐技术辅助软件| 百家乐如何视频| 金界百家乐官网的玩法技巧和规则| 南宁百家乐官网赌机| 利记百家乐官网现金网| 宕昌县| 皇冠足球即时走地| 宝都棋牌游戏| 大发888开户即送58| 威尼斯人娱乐网官网| 盐城百家乐的玩法技巧和规则| 澳门百家乐玩法心得技巧| 百家乐现金网平台| 百家乐官网桌子黑色| 百家乐官网破解仪| 百家乐官网技术辅助软件| 在线百家乐官网技巧| 百家乐官网怎样捉住长开| 百家乐官网如何写路| 剑阁县| 尉犁县| 云林县| 宾利娱乐城| 外围赌球| 88娱乐城注册| 金冠娱乐城官网| 娱乐城注册送金| 略阳县|