一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

3天內(nèi)不再提示

在 48GB 顯卡上僅用 12 小時重現(xiàn)DeepSeek“Wait!/Aha”時刻

jf_23871869 ? 來源:劉力 ? 作者:劉力 ? 2025-02-26 14:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者:算力魔方創(chuàng)始人/英特爾創(chuàng)新大使劉力

近日,荷蘭科學家Raz發(fā)布了Reinforce-Lite算法,實現(xiàn)了在 48GB顯存的顯卡上僅用 12 小時在3B模型上重現(xiàn)DeepSeek“Wait!/Aha”時刻。

wKgZO2e-sKeAB1QNAAKPYM9YlEY792.png

原文鏈接:https://medium.com/@rjusnba/overnight-end-to-end-rl-training-a-3b-model-on-a-grade-school-math-dataset-leads-to-reasoning-df61410c04c6
滑動查看更多

一,Reinforce-Lite算法的顯存要求

Raz通過移除KL,移除替代比率,去掉評論模型,使用組相對獎勵(DeepSeek的GRPO風格)進行優(yōu)勢計算,提出了一種更簡單、更穩(wěn)定、更高效的輕量級強化學習方法:Reinforce-Lite,使得顯存需求,從72GB下降到36GB!下表是:端到端的用強化學習訓練 3B 模型的顯存需求。

wKgZPGe-sKyAKD2wAAMTbLI8Qqk210.png

二,Reinforce-Lite算法的PyTorch實現(xiàn)

Reinforce-lite算法的PyTorch實現(xiàn)如下所示:

第一步,初始化一個指令微調(diào)的LLM,并適當提示以將其推理步驟包含在標簽中。

第二步,定義一個獎勵函數(shù)用于模型輸出(例如,GSM8K數(shù)學推理任務中的正確性)。通過正則表達式提取標簽中的數(shù)值,并與數(shù)據(jù)集中的實際答案進行比較。

第三步,通過直接計算相對于獎勵的梯度來優(yōu)化策略,而不需要替代損失。

第四步,使用組相對歸一化進行優(yōu)勢計算,消除了對評論模型的需求。我們使用組大小為10。

第五步,使用標準對數(shù)概率梯度更新模型。

def reinforce_lite(batch, policy_model, tokenizer, device, step, save_dir):
"""
使用強化學習方法訓練策略模型。

Args:
batch (list of tuples): 包含提示和目標句子的列表。
policy_model (torch.nn.Module): 策略模型,用于生成響應。
tokenizer (transformers.PreTrainedTokenizer): 用于處理文本的標記器。
device (torch.device): 指定模型運行的設備。
step (int): 當前訓練步數(shù)。
save_dir (str): 保存模型的目錄。

Returns:
tuple: 包含策略損失、平均獎勵、策略損失項、0.0、第一個響應和所有響應的長度。

"""
# 設置模型為訓練模式
policy_model.train()
# 解包輸入數(shù)據(jù)
prompts, targets = zip(*batch)
# 獲取批量大小
batch_size = len(prompts)
# 初始化評估組索引
evaluated_group = 0

# 初始化存儲列表
all_logprobs = []
all_rewards = []
all_responses = []
all_lengths = []

for group_idx in range(config.GROUP_SIZE):
# 格式化提示
formatted_prompts = [format_prompt(p, tokenizer) for p in prompts]
# 將提示轉(zhuǎn)換為模型輸入
inputs = tokenizer(
formatted_prompts,
return_tensors="pt",
padding=True,
truncation=True,
max_length=config.MAX_SEQ_LENGTH
).to(device)

# 生成參數(shù)
generate_kwargs = {
**inputs,
"max_new_tokens": config.MAX_NEW_TOKENS,
"do_sample": True,
"temperature": 0.7,
"top_p": 0.9,
"pad_token_id": tokenizer.pad_token_id,
"return_dict_in_generate": True,
}

# 判斷當前組是否為評估組
if group_idx == evaluated_group:
# 生成響應
generated = policy_model.generate(**generate_kwargs)
# 獲取生成的響應ID
generated_ids = generated.sequences
# 獲取模型輸出
outputs = policy_model(
generated_ids,
attention_mask=(generated_ids != tokenizer.pad_token_id).long()
)
# 獲取提示長度和響應長度
prompt_length = inputs.input_ids.shape[1]
response_length = generated_ids.shape[1] - prompt_length
# 計算對數(shù)概率
if response_length > 0:
logits = outputs.logits[:, prompt_length-1:-1, :]
response_tokens = generated_ids[:, prompt_length:]
log_probs = torch.log_softmax(logits, dim=-1)
token_log_probs = torch.gather(log_probs, -1, response_tokens.unsqueeze(-1)).squeeze(-1)
sequence_log_probs = token_log_probs.sum(dim=1)
else:
sequence_log_probs = torch.zeros(batch_size, device=device)
else:
# 在不計算梯度的情況下生成響應
with torch.no_grad():
generated = policy_model.generate(**generate_kwargs)
sequence_log_probs = torch.zeros(batch_size, device=device)

# 解碼生成的響應
responses = tokenizer.batch_decode(
generated.sequences[:, inputs.input_ids.shape[1]:],
skip_special_tokens=True
)
# 計算獎勵
rewards = torch.tensor([get_reward(resp, tgt) for resp, tgt in zip(responses, targets)], device=device)

# 存儲結果
all_responses.extend(responses)
all_rewards.append(rewards)
all_logprobs.append(sequence_log_probs)
all_lengths.extend([len(r.split()) for r in responses])

# 堆疊獎勵和對數(shù)概率
rewards_tensor = torch.stack(all_rewards)
logprobs_tensor = torch.stack(all_logprobs)

# 分離評估組的獎勵和其他組的獎勵
evaluated_rewards = rewards_tensor[evaluated_group]
others_rewards = torch.cat([
rewards_tensor[:evaluated_group],
rewards_tensor[evaluated_group+1:]
], dim=0)

# 計算基線值
baseline = others_rewards.mean(dim=0)
# 計算優(yōu)勢
advantages = (evaluated_rewards - baseline) / (others_rewards.std(dim=0) + 1e-8)
advantages = torch.clamp(advantages, -2.0, 2.0)

# 計算策略損失
policy_loss = -(logprobs_tensor[evaluated_group] * advantages.detach()).mean()

return policy_loss, rewards_tensor.mean().item(), policy_loss.item(), 0.0, all_responses[0], all_lengths
滑動查看更多

三,Reinforce-Lite算法的數(shù)據(jù)集:GSM 8K


Reinforce-Lite使用GSM8K數(shù)據(jù)集:這是一個小學數(shù)學數(shù)據(jù)集,包含數(shù)學問題及其答案,格式如下:

wKgZPGe-sLSADCfvAACWxLVNrT4198.png

雖然答案也涉及推理步驟,但我們感興趣的是 ### 之后的最終答案。我們將簡單地提示策略模型以 格式輸出最終答案,并使用它來驗證策略模型計算出的答案是否正確。這更像是蒙特卡洛問題,我們會在情節(jié)結束時獲得獎勵。

Reinforce-Lite的完整實現(xiàn)方式和訓練過程,Raz將很快開源!敬請期待。

四,DeepSeek:快速生成PPT大綱


Reinforce-Lite 改進了結構化推理:從生成的序列中我們可以看到 RL 微調(diào)模型,評估分數(shù)略有提高。

Reinforce-Lite 不需要 PPO 的復雜性:單個策略網(wǎng)絡足以進行 LLM 微調(diào)。

Reinforce-Lite 是一種計算友好的算法,允許端到端 RL 訓練,同時最大限度地降低訓練復雜性和顯存的需求,讓AI平權的時代可盡快到來。

人人都能在自己的48GB顯存顯卡上,重現(xiàn)DeepSeek“Wait!/Aha”時刻!另外,需要48GB顯存的顯卡,請聯(lián)系我們!

如果你有更好的文章,歡迎投稿!

稿件接收郵箱:nami.liu@pasuntech.com

更多精彩內(nèi)容請關注“算力魔方?”!

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 顯卡
    +關注

    關注

    16

    文章

    2505

    瀏覽量

    69337
  • AI
    AI
    +關注

    關注

    88

    文章

    34765

    瀏覽量

    276931
  • DeepSeek
    +關注

    關注

    1

    文章

    789

    瀏覽量

    1541
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    【實測】用全志A733平板搭建一個端側Deepseek算力平臺

    Deepseek-R1-Distill-Qwen-1.5B 是可以全志A733芯片平臺的平板電腦較流暢地運行的,并且可以讓Deepseek擁有中學生級別的邏輯推理能力。而這才是一
    發(fā)表于 02-13 10:19

    HarmonyOS NEXT開發(fā)實戰(zhàn):DevEco Studio中DeepSeek的使用

    。安裝完成后,打開DevEco Studio,創(chuàng)建一個新的鴻蒙應用項目,選擇適合的模板(如Empty Ability)。 第二步:安裝CodeGPT插件 DevEco Studio安裝插件:打開
    發(fā)表于 03-07 14:56

    如何基于Android 14i.MX95 EVK運行Deepseek-R1-1.5B和性能

    本文檔總結了如何基于 Android 14 i.MX95 EVK 運行 Deepseek-R1-1.5B 和性能。 1. Install Android 14 on i.MX95 您可以按照
    發(fā)表于 04-04 06:59

    NVIDIA不放棄12nm圖靈顯卡,將推出8GB版RTX 2060

    就在大家翹首以盼NVIDIAGTC大會上宣布7nm安培顯卡的同時,最新消息顯示NVIDIA不會這么快放棄12nm圖靈顯卡,還將推出RTX 2060
    的頭像 發(fā)表于 03-12 09:04 ?2117次閱讀
    NVIDIA不放棄<b class='flag-5'>12</b>nm圖靈<b class='flag-5'>顯卡</b>,將推出8<b class='flag-5'>GB</b>版RTX 2060

    曝NVIDIA將推出RTX 2060顯卡的8GB顯存版 仍不放棄12nm圖靈顯卡

    就在大家翹首以盼NVIDIAGTC大會上宣布7nm安培顯卡的同時,最新消息顯示NVIDIA不會這么快放棄12nm圖靈顯卡,還將推出RTX 2060
    的頭像 發(fā)表于 03-12 10:00 ?2886次閱讀
    曝NVIDIA將推出RTX 2060<b class='flag-5'>顯卡</b>的8<b class='flag-5'>GB</b>顯存版 仍不放棄<b class='flag-5'>12</b>nm圖靈<b class='flag-5'>顯卡</b>

    RTX 3080 20GB顯卡復活本月即將上市

    此前一度被傳取消的RTX 3080 20GB顯卡似乎復活了,日前EEC歐亞經(jīng)濟聯(lián)盟發(fā)現(xiàn)了多款微星RX 3080 20GB
    的頭像 發(fā)表于 12-01 08:56 ?2042次閱讀
    RTX 3080 20<b class='flag-5'>GB</b><b class='flag-5'>顯卡</b>復活本月即將上市

    英偉達正式發(fā)布RTX 3060 顯卡12GB 顯存

    今天,英偉達正式發(fā)布了 RTX 3060 顯卡,這款顯卡擁有比 RTX 3060 Ti 更大的 12GB 顯存,售價為 329 美元。 RTX 3060 采用了 3584 CUDA 核心,GPU
    的頭像 發(fā)表于 01-13 10:02 ?5216次閱讀

    微星推出面向Mini-ITX主機/主板的RTX 3060 12GB顯卡

    安培家族終于有了更入門的RTX 3060顯卡,而且顯存越級RTX 3080,給到了12GB的GDDR6,不得不服黃氏迷蹤刀法。
    的頭像 發(fā)表于 01-18 09:18 ?5918次閱讀

    NVIDIA推出了RTX 3060顯卡 12GB顯存超過RTX 3080

    上周的CES展會上,NVIDIA推出了RTX 3060顯卡,這是RTX 30系列第六款成員,售價只要2499元,但配備了12GB GDDR6顯存。 顯存容量,RTX 3060這次的
    的頭像 發(fā)表于 01-21 10:12 ?4119次閱讀

    NVIDIA正式宣布其基于Ampere GPU架構的GeForce RTX 3060 12 GB顯卡

    NVIDIA GeForce RTX 3060顯卡旨在成為主流的Ampere GPU選項,價格低于500美元。該顯卡的建議零售價為329美元,這使RTX 3060成為有史以來最實惠的12 GB
    的頭像 發(fā)表于 01-27 15:38 ?4209次閱讀

    新型DDR5內(nèi)存的應用

    各家的Intel 600、700系列主板都已陸續(xù)更新BIOS,搭檔12代、13代酷睿,可以順利使用24GB、48GB內(nèi)存,AMD平臺呢?
    發(fā)表于 03-27 14:27 ?671次閱讀

    集成主板的獨立顯卡是屬于集成顯卡還是獨立顯卡的范圍?

    集成主板的獨立顯卡是屬于集成顯卡還是獨立顯卡的范圍? 集成主板
    的頭像 發(fā)表于 01-09 14:20 ?1142次閱讀

    SK海力士推出48GB 16層HBM3E產(chǎn)品

    近日一次科技展覽,SK海力士驚艷亮相,展出了全球首款48GB 16層HBM3E(High Bandwidth Memory 3E)產(chǎn)品。這一突破性產(chǎn)品不僅展示了SK海力士高端存儲
    的頭像 發(fā)表于 11-05 15:01 ?798次閱讀

    DeepSeek昇騰的模型部署的常見問題及解決方案

    2024年12月26日,DeepSeek-V3橫空出世,以其卓越性能備受矚目。該模型發(fā)布即支持昇騰,用戶可在昇騰硬件和MindIE推理引擎實現(xiàn)高效推理,但在實際操作中,部署流程與常見問題困擾著不少
    的頭像 發(fā)表于 03-25 16:53 ?804次閱讀
    <b class='flag-5'>DeepSeek</b><b class='flag-5'>在</b>昇騰<b class='flag-5'>上</b>的模型部署的常見問題及解決方案

    銘瑄COMPUTEX 2025發(fā)布Intel Arc Pro B60 Dual 48G Turbo顯卡

    48G Turbo顯卡。該顯卡采用雙GPU架構、48GB GDDR6顯存以及雙硬件媒體引擎,專為高要求的AI推理和視頻處理任務設計。該顯卡
    的頭像 發(fā)表于 05-22 13:56 ?260次閱讀
    銘瑄<b class='flag-5'>在</b>COMPUTEX 2025<b class='flag-5'>上</b>發(fā)布Intel Arc Pro B60 Dual <b class='flag-5'>48</b>G Turbo<b class='flag-5'>顯卡</b>