精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

DeepSeek R1本地訓練全流程實操指南,手把手教你打通其“任督二脈”

人工智能
今天就為你帶來一篇超實用的干貨文章,手把手帶你打通 DeepSeek R1 本地訓練的 “任督二脈”,讓訓練流程變得簡單易懂,輕松上手!

作者 | asher

許多關于 DeepSeek R1 的復現文章,主要聚焦在“rewards的設計、訓練指標的變化、benchmark測評”這些內容,但是對于“本地訓練”這個開啟深度探索的關鍵前置步驟,卻很少有人深挖。

可能有人覺得,照著readme操作就能輕松訓練了吧?太天真啦!實際動手就會發現,和自家的環境各種水土不服,大模型不是訓不起來就是訓的太慢,問題多到讓人頭大。

為了解決本地訓練的適配性問題,今天挑選HuggingFace的開源項目open-r1,為大家帶來一場全流程實操演示,從怎么在8卡A100(40G)上跑通基于Qwen-14B的DeepSeek R1復現,到分享超實用的環境鏡像,還有滿滿踩坑經驗,再到手把手教你改造代碼適配自己的任務數據,助大家光速開啟DeepSeek R1在自定義數據上的訓練探索之旅。

一、 環境搭建不求人

1. 顯卡驅動與CUDA適配要點

open-r1明確要求cuda12.4,得先瞅瞅自己機器的顯卡驅動版本(如下圖),要是版本太老,那可就得升級才能適配適配cuda12.4,我親測,顯卡驅動版本為470以上就能正常運行,我的版本是535。

# 查看自己的顯卡版本與cuda是否適配
import torch
print(torch.cuda.is_available()) # True就可以

2. 快速搞定環境安裝

與readme里的uv相比,我還是習慣使用conda管理虛擬環境:

1. conda create -n openr1 python=3.11
2. pip install torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 --index-url https://download.pytorch.org/whl/cu124
3. pip install vllm==0.7.2
4. pip install flash-attn
5. 切換到open-r1目錄執行pip install -e ".[dev]"

二、訓練踩坑大避雷

1. 導致OOM的原因有這么多

以grpo訓練為例,使用Qwen-14B在A100上訓練很容易報錯OOM,原因有多種,讓我來為大家一一分析:grpo任務可以分為兩部分:一部分是模型訓練(7卡),一部分是模型推理(1卡),OOM報錯的原因就來自這兩部分。

  • 訓練報錯oom:7張A100卡無法實現14B模型的訓練。解決方法:修改recipes/accelerate_configs/zero3.yaml,開啟offload
  • 推理報錯oom:如果vllm版本在0.7.3以下,很容易發生oom,需要修改recipes/Qwen2.5-14B-Instruct/grpo/config_simple_rl.yaml,調低vllm_gpu_memory_utilization參數值,14B模型可以改為0.2,7B模型可以改為0.5。
  • 推理報錯oom:指定vllm推理的max_model_len太長,導致kv caceh需要占用的顯存太多。解決方法:修改recipes/Qwen2.5-14B-Instruct/grpo/config_simple_rl.yaml,調低vllm_max_model_len,注意這個參數是指prompt+模型輸出長度,不宜過短,可以調整為4k-8k。默認值是讀取基座模型config,比如Qwen-14B默認是32768。

那么如何識別自己的OOM報錯是出自訓練還是推理呢?直接看報錯的GPU卡號,因為默認是最后一張卡用于推理,如下圖既然是GPU 7 內存不足,那就推理出了問題,只需要調整上述提到的兩個參數即可。

針對Qwen-14B在8卡A100(40G)訓練對應的配置文件,我已經調教好了放在本文最后,供大家參考。

2. reward函數的形參命名有講究

在設計reward函數,有個注意:reward函數聲明的形參很重要,不是隨便起的,要求與dataset的列名是一致的。比如下面這個reawrd函數的兩個形參,completions表示模型生成的內容,ground_truth表示dataset中”ground_truth“列的值,這里的形參ground_truth就是要求與dataset列名字對齊。

import re

def reward_func(completions, ground_truth, **kwargs):
    # Regular expression to capture content inside \boxed{}
    matches = [re.search(r"\\boxed\{(.*?)\}", completion) for completion in completions]
    contents = [match.group(1) if match else "" for match in matches]
    # Reward 1 if the content is the same as the ground truth, 0 otherwise
    return [1.0 if c == gt else 0.0 for c, gt in zip(contents, ground_truth)]

三、DeepSeek R1訓練快速開啟不迷路

1. 數據先行!準備業務數據要點

離線構造業務數據集data.json,注意字段名為problem與solution,與官方給的示例數據字段名一致,這樣可以少去很多改代碼的麻煩:

{"problem": "Classify the text into neutral, negative, or positive\nText: I think the food was okay.\nSentiment:\n", "solution": "positive"}
{"problem": "Classify the text into neutral, negative, or positive\nText: I think the food was shit.\nSentiment:\n", "solution": "negative"}

2. 巧妙變身!輕松更改數據讀取方式

修改grpo.py中數據讀取方式,由讀取hub數據改為讀取離線數據:

dataset = load_dataset("json", data_files=XXX/data.json)
dataset = dataset["train"].train_test_split(test_size=0.02)

個性定制!手把手自定義reward函數 注意這里函數聲明中solution形參要與dataset的字段保持一致:

def accuracy_reward_ours(completions, solution, **kwargs):
    """Reward function that checks if the completion is the same as the ground truth."""
    contents = [completion[0]["content"] for completion in completions]
    rewards = []
    for content, sol in zip(contents, solution):
        gold_parsed = sol  # 從數據集中讀取ground-truth
        if len(gold_parsed) != 0:
            # We require the answer to be provided in correct latex (no malformed operators)
            answer_parsed = re.findall("<answer>(.*?)</answer>",content)  # 從模型輸出文本中提取預測答案
            if len(answer_parsed)>0:
                answer_parsed = answer_parsed[0]
                reward = float(1 if answer_parsed==gold_parsed else 0)  # 判斷預測結果與真實結果是否一致
            else:
                reward = float(0)
        else:
            # If the gold solution is not parseable, we reward 1 to skip this example
            reward = 1.0
            print("Failed to parse gold solution: ", sol)
        rewards.append(reward)

    return rewards

3. 一鍵啟動!暢爽開啟DeepSeek R1訓練

ACCELERATE_LOG_LEVEL=info accelerate launch --config_file recipes/accelerate_configs/zero3.yaml \
    --num_processes=7 src/open_r1/grpo.py \
    --config recipes/Qwen2.5-14B-Instruct/grpo/config_simple_rl.yaml \
    &> /workspace/user_code/Qwen2.5-14B-Instruct.log

四、能讓14B模型在A100上絲滑跑通R1的配置參數大公開

recipes/accelerate_configs/zero3.yaml

compute_environment: LOCAL_MACHINE
debug: false
deepspeed_config:
  deepspeed_multinode_launcher: standard
  offload_optimizer_device: "cpu"
  offload_param_device: "cpu"
  zero3_init_flag: true
  zero3_save_16bit_model: true
  zero_stage: 3
distributed_type: DEEPSPEED
downcast_bf16: 'no'
machine_rank: 0
main_training_function: main
mixed_precision: bf16
num_machines: 1
num_processes: 8
rdzv_backend: static
same_network: true
tpu_env: []
tpu_use_cluster: false
tpu_use_sudo: false
use_cpu: false

recipes/Qwen2.5-14B-Instruct/grpo/config_simple_rl.yaml

# Model arguments
model_name_or_path: XXX/models/Qwen2.5-14B-Instruct
model_revision: main
torch_dtype: bfloat16
attn_implementation: flash_attention_2

# Data training arguments
dataset_name: XXX/dataset/data.json
# Num processes is less by 1 as vLLM is using 1 GPU
num_processes: 7

# GRPO trainer config
reward_funcs:
- accuracy_ours
- format
bf16: true
use_vllm: true
vllm_device: cuda:7
vllm_gpu_memory_utilization: 0.2  # vllm版本在0.7.3以下
vllm_max_model_len: 8000
do_eval: true
eval_strategy: steps
eval_steps: 100
gradient_accumulation_steps: 8
gradient_checkpointing: true
gradient_checkpointing_kwargs:
 use_reentrant: false
hub_model_id: Qwen-2.5-7B-Simple-RL
hub_strategy: every_save
learning_rate: 3.0e-06
log_level: info
logging_steps: 5
logging_strategy: steps
lr_scheduler_type: cosine
max_prompt_length: 512
max_completion_length: 1024
max_steps: -1
num_generations: 7
num_train_epochs: 1
output_dir: XXX/Qwen-2.5-7B-Instruct-RL
overwrite_output_dir: true
per_device_eval_batch_size: 8
per_device_train_batch_size: 8
push_to_hub: false
report_to: "none"
save_strategy: "steps"
save_steps: 100
save_total_limit: 2
seed: 42
warmup_ratio: 0.1
責任編輯:趙寧寧 來源: 騰訊技術工程
相關推薦

2021-02-26 21:59:22

Git版本系統

2016-10-20 09:29:38

云極星創云計算

2021-04-20 19:20:57

Kafka架構設計

2010-05-04 17:58:22

云計算

2013-10-28 15:29:49

數字家庭三網融合

2009-06-24 15:21:00

路由器下載速度

2015-07-14 09:00:16

DR Rapid戴爾DR系列

2018-01-26 09:37:04

DBAMySQL架構

2016-02-22 14:28:52

2021-09-18 14:26:49

Linux Linux 啟動流程Linux 系統

2025-05-15 07:25:04

2014-04-01 09:31:47

打通任督二脈:用友NC

2022-11-07 18:36:03

組件RPC框架

2025-02-19 08:00:00

SpringBootOllamaDeepSeek

2010-12-20 15:00:43

2025-02-03 06:00:00

2021-07-14 09:00:00

JavaFX開發應用

2023-07-04 07:37:20

AzureOpenAI操作手冊

2011-05-03 15:59:00

黑盒打印機
點贊
收藏

51CTO技術棧公眾號

日韩二区三区在线| 午夜不卡av在线| 成人午夜两性视频| 精品一级少妇久久久久久久| 极品一区美女高清| 欧美唯美清纯偷拍| 日韩视频免费播放| 在线视频1区2区| 国产99久久久精品| 国产成人精品久久二区二区91| 蜜桃av.com| 日韩黄色网络| 欧美一区二区在线观看| 日韩视频第二页| a级影片在线观看| 久久精品一区八戒影视| 国产 高清 精品 在线 a | 亚洲一区二区五区| 日韩精品一区二区三区丰满| 亚洲精品久久久久久久久久 | 中文字幕色网站| 在线成人av观看| 亚洲一卡二卡三卡四卡五卡| 一区二区在线观看网站| 深爱激情五月婷婷| 国产精品一区二区三区99| 国产精品久久久av久久久| 日本视频免费在线| 欧美特黄视频| 久久成人人人人精品欧| 综合 欧美 亚洲日本| 亚洲精华一区二区三区| 亚洲国产精品久久久久秋霞蜜臀 | av一级久久| 日本丶国产丶欧美色综合| 精品视频免费在线播放| 香蕉成人app免费看片| 国产精品久久一级| 日韩欧美一区二区三区四区 | 久久久久久久久久久久久女国产乱| 痴汉一区二区三区| 亚洲成人777777| 国产精品亚洲视频| 亚洲一区二区三区视频| 国产乱淫a∨片免费观看| 久久草av在线| 91精品久久久久久综合乱菊| 亚洲在线免费观看视频| 美女在线视频一区| 国产精品热视频| 国语对白永久免费| 久久国产精品毛片| 国产成人精品最新| 波多野结衣大片| 丝袜a∨在线一区二区三区不卡| 欧美性受xxx| 99久热在线精品996热是什么| 中文一区二区| 日本视频久久久| 天堂免费在线视频| 麻豆91在线播放| 91亚洲午夜在线| aaaa一级片| 成人动漫av在线| 久久亚洲高清| 在线观看麻豆| 亚洲女性喷水在线观看一区| 成人小视频在线观看免费| av在线最新| 色综合天天在线| 日本在线一二三区| 日本精品视频| 亚洲理论在线a中文字幕| 人人妻人人澡人人爽| 久久精品播放| 久久理论片午夜琪琪电影网| 天天爽夜夜爽夜夜爽精品| 午夜一级久久| 成人黄色激情网| 欧美 日韩 人妻 高清 中文| 337p粉嫩大胆噜噜噜噜噜91av| 欧美一区二区在线视频观看| 欧美激情午夜| 亚洲一区二区视频| 老熟妇仑乱视频一区二区| 永久免费观看精品视频| 精品av久久707| 精品人妻中文无码av在线| 中文乱码免费一区二区三区下载| 午夜精品免费视频| 91精品国产高清一区二区三密臀| 精品中文字幕一区二区小辣椒 | 日本久久综合| 欧美国产乱视频| 波多野结衣一二区| 懂色av一区二区夜夜嗨| 日本精品一区二区三区视频 | 日本一本在线视频| 小嫩嫩12欧美| 久久久精品国产亚洲| 免费在线观看黄网站| 韩国v欧美v日本v亚洲v| 精品一卡二卡三卡四卡日本乱码 | 色综合色综合色综合| 国产在线观看中文字幕| 亚洲视频分类| 色综合久久久888| 狠狠躁夜夜躁人人爽视频| 国产成人午夜片在线观看高清观看| 欧美欧美一区二区| 国产精品手机在线观看| 国产熟妇久久777777| 999久久欧美人妻一区二区| 日韩不卡视频在线| 激情文学综合插| 久久免费看av| 久草在线视频资源| 欧美挠脚心视频网站| 国精品无码人妻一区二区三区| 亚洲影视一区| 成人激情av在线| 九一在线视频| 懂色aⅴ精品一区二区三区蜜月| 搡的我好爽在线观看免费视频| 欧美人妖在线| 亲子乱一区二区三区电影| 亚洲国产成人精品一区二区三区| 中文字幕一区二区三区在线观看| 看欧美ab黄色大片视频免费 | 成人福利在线观看视频| 欧美视频一区二区三区四区| 天天插天天射天天干| 欧美三区在线| 亚洲综合国产精品| 麻豆视频在线免费观看| 欧美日韩国产高清一区二区三区| 亚洲区自拍偷拍| 狂野欧美一区| 清纯唯美一区二区三区| 欧美特黄aaaaaaaa大片| 亚洲久久久久久久久久| 探花视频在线观看| 2017欧美狠狠色| 成人观看免费完整观看| 偷拍亚洲精品| 日韩美女主播视频| 福利视频在线看| 欧美性一区二区| 阿v天堂2014| 久久精品免费看| 免费成人进口网站| 日本在线一区二区三区| 欧美激情videos| 狠狠躁夜夜躁av无码中文幕| 夜夜精品视频一区二区| 95视频在线观看| 在线视频精品| 欧美日韩国产精品一区二区| 国模一区二区| xvideos亚洲| 国产高清视频免费| 亚洲福中文字幕伊人影院| 亚洲高清无码久久| 米奇777在线欧美播放| 日韩国产高清一区| 99er精品视频| 欧美激情区在线播放| 五月天婷婷社区| 黑人精品xxx一区一二区| 亚洲欧洲久久久| 加勒比av一区二区| 妺妺窝人体色www看人体| 美国成人xxx| 国产精品美女免费视频| 精品国产99久久久久久| 欧美成人vps| 国产欧美一区二区三区在线看蜜臂| 久久久久久久综合狠狠综合| 日韩在线一区视频| 亚洲精选91| 日韩福利影院| 99精品国产高清一区二区麻豆| 欧美亚洲国产视频小说| 里番在线观看网站| 亚洲精品videossex少妇| 亚洲免费视频二区| 亚洲国产一区二区三区青草影视 | www.亚洲欧美| 懂色aⅴ精品一区二区三区蜜月| 天堂资源在线视频| 成人黄色网址在线观看| 爱情岛论坛成人| 在线日本成人| 亚洲视频sss| 免费观看成人www动漫视频| 国产成人综合亚洲| 欧美xxxx性xxxxx高清| 在线视频免费一区二区| 成人免费观看在线视频| 欧美三级电影一区| 日韩无码精品一区二区三区| 国产精品久久久久aaaa| 欧美熟妇精品黑人巨大一二三区| 精品一区免费av| 国产aaa一级片| 欧美午夜国产| 亚洲精品欧洲精品| 小嫩嫩12欧美| 国产精品一区二区三区在线观| 免费视频观看成人| 国产不卡一区二区在线播放| 蜜臀av国内免费精品久久久夜夜| 中文字幕日韩有码| 欧美成人免费| 日韩va亚洲va欧洲va国产| 成 人片 黄 色 大 片| 欧美专区日韩专区| 国产女同在线观看| 亚洲高清免费视频| 麻豆视频在线观看| 国产精品久久久久久妇女6080 | 91日韩视频在线观看| 在线亚洲自拍| 人妻夜夜添夜夜无码av| 欧美国产日本| 最新中文字幕久久| 成人毛片在线| 日韩高清av电影| 国产成人调教视频在线观看 | 国内久久视频| 在线观看免费黄色片| 欧美wwwww| 图片区小说区区亚洲五月| 久久不见久久见国语| 欧美韩国日本精品一区二区三区| 久久91在线| 国产成人精品免费视频大全最热| 日韩精品三级| 国产成人成网站在线播放青青| 一区二区在线免费播放| 91久久偷偷做嫩草影院| 日本一区二区乱| 97视频资源在线观看| 亚洲一二av| 99久久精品免费看国产一区二区三区| 精品国产鲁一鲁****| 91美女片黄在线观| 久久wwww| 国产精品一区二区免费看| 99国产精品免费网站| 国内精品**久久毛片app| 卡通动漫精品一区二区三区| 国产一区喷水| 夜夜春成人影院| 亚洲国产一区二区精品视频| 久久激情电影| 99精品视频网站| 亚洲网站在线| 国产九九九九九| 久久资源在线| 日韩av在线中文| 国产精品综合久久| 欧美极品jizzhd欧美仙踪林| 久久影院午夜论| 毛片久久久久久| 一区二区三区日本| 日本免费一二三区| 91福利视频网站| 国产日产亚洲系列最新| 精品久久久久久久久久久久久久久久久 | aa视频在线观看| 日韩美女视频免费在线观看| 深夜福利亚洲| 国产伦精品一区二区三区免费视频| 欧美成人基地| 图片区小说区区亚洲五月| 午夜国产欧美理论在线播放| 91专区在线观看| 日本不卡视频一二三区| 丰满人妻一区二区三区大胸| 91网站黄www| 欧美a级片免费看| 亚洲成人www| 中文字幕有码视频| 精品电影一区二区| 9i精品一二三区| 国内精品久久久久伊人av| 自拍偷自拍亚洲精品被多人伦好爽 | 成人av电影免费在线播放| 97人妻人人揉人人躁人人| 亚洲综合色区另类av| 男人天堂视频网| 欧美岛国在线观看| yw193.com尤物在线| 欧美激情xxxx性bbbb| 少妇精品视频一区二区免费看| 亚洲xxxx3d| 欧美猛男做受videos| 日本中文字幕一级片| 日韩av在线播放中文字幕| 野战少妇38p| 中文字幕一区二区三区乱码在线| 精品在线播放视频| 日韩欧美亚洲另类制服综合在线| 国产特黄在线| 97在线观看视频| 国产精区一区二区| 欧美一区亚洲二区| 亚洲二区精品| 久久久国产精品久久久| 国产精品美女视频| 无码人妻久久一区二区三区| 亚洲成人亚洲激情| 国产传媒在线播放| 国产乱人伦真实精品视频| 精品按摩偷拍| a级片一区二区| 精品一区二区免费| 一区二区伦理片| 欧美视频不卡中文| 人妻无码一区二区三区久久99| 欧美精品在线免费播放| 国产成人精品一区二区三区视频 | 国产视频三区四区| 黑人精品xxx一区一二区| 国产91久久久| 色综合久久久888| 亚洲国产中文在线| 亚洲免费av网| 精品在线你懂的| 999精品视频在线观看播放| 欧美日韩视频专区在线播放| 国产毛片av在线| 国产精品高清在线观看| 九九久久电影| 日本va中文字幕| 亚洲国产精品v| 中文在线观看免费高清| 亚洲网站在线观看| 欧美日韩免费看片| 日本欧美精品久久久| 日韩福利视频导航| 无码少妇精品一区二区免费动态| 欧美视频在线免费看| 青梅竹马是消防员在线| 欧洲美女7788成人免费视频| 亚洲第一福利社区| 日韩精品一区二区三区不卡| 久久精品欧美日韩| 成人小视频在线播放| 色吧影院999| 24小时成人在线视频| 91嫩草国产丨精品入口麻豆| 国产suv一区二区三区88区| 精品深夜av无码一区二区老年| 精品日韩一区二区三区免费视频| 欧美xxxx做受欧美88bbw| 狠狠色综合一区二区| 午夜综合激情| 亚洲av无码国产精品麻豆天美| 欧美在线你懂的| 九七久久人人| 国产欧美日韩综合精品二区| 国产日韩高清一区二区三区在线| 免费黄色在线视频| 欧美日韩国产免费| 午夜激情在线| 久久精品magnetxturnbtih| 日韩精品三区四区| 国产稀缺精品盗摄盗拍| 精品捆绑美女sm三区| 澳门成人av网| 日韩第一页在线观看| 懂色av中文字幕一区二区三区| 国产精品久免费的黄网站| 中文字幕亚洲第一| 成人av地址| 自拍偷拍 国产| 自拍偷自拍亚洲精品播放| 三级视频在线看| 国产精品丝袜高跟| 黄色欧美成人| 亚洲精品成人av久久| 日韩一区二区视频| 三级成人在线| 成年丰满熟妇午夜免费视频| 99v久久综合狠狠综合久久| 正在播放亚洲精品| 国内成人精品视频| 日韩高清欧美| 亚洲中文字幕一区| 制服丝袜亚洲网站| 超级碰碰久久| 91网站在线观看免费| 国产日韩在线不卡| 欧美特黄一级视频| 国产精品久久av| 亚洲黄色大片| 日日骚一区二区三区| 亚洲性无码av在线|