当前位置: 首页 > news >正文

做网站的公司为什么人少了各种手艺培训班

做网站的公司为什么人少了,各种手艺培训班,校园资源共享网站建设,酒泉市住房和城乡建设局网站1. 引入 TinyZero(参考1)是伯克利的博士生复现DeepSeek-R1-Zero的代码参仓库,他使用veRL来运行RL强化学习方法,对qwen2.5的0.5B、1.5B、3B等模型进行训练,在一个数字游戏数据集上,达到了较好的推理效果。 …

1. 引入

TinyZero(参考1)是伯克利的博士生复现DeepSeek-R1-Zero的代码参仓库,他使用veRL来运行RL强化学习方法,对qwen2.5的0.5B、1.5B、3B等模型进行训练,在一个数字游戏数据集上,达到了较好的推理效果。

下面解读源码中的关键训练逻辑细节。

2. 训练过程

  1. 原始数据

原始数据来自参考2,一共490k条数据,数据中只有两个字段,格式如下:

{"nums": [ 95, 11, 56 ],"target":28
}

这是一个数字游戏,要求对nums中的数据,进行基础数学运算(+, -, *, /),每个数字只能用一次,最终结果等于target的值。比如上例子,95-11-56=28。

  1. 数据处理

具体源码见参考3,下文仅仅解析关键步骤:

(1)训练集和测试集大小

默认值如下:

parser.add_argument('--train_size', type=int, default=327680)
parser.add_argument('--test_size', type=int, default=1024)

(2)对原始数据添加提示词

下面的dp就是一条原始数据(参考2.1例子):

def make_prefix(dp, template_type):target = dp['target']# 取出目标numbers = dp['nums']# 取出数字# 对于默认模型加的提示词如下if template_type == 'base':"""This works for any base model"""prefix = f"""A conversation between User and Assistant. The user asks a question, and the Assistant solves it. The assistant first thinks about the reasoning process in the mind and then provides the user with the answer.
User: Using the numbers {numbers}, create an equation that equals {target}. You can use basic arithmetic operations (+, -, *, /) and each number can only be used once. Show your work in <think> </think> tags. And return the final answer in <answer> </answer> tags, for example <answer> (1 + 2) / 3 </answer>.
Assistant: Let me solve this step by step.
<think>"""# 对于qwen-instruct模型加的提示词如下elif template_type == 'qwen-instruct':"""This works for Qwen Instruct Models"""prefix = f"""<|im_start|>system\nYou are a helpful assistant. You first thinks about the reasoning process in the mind and then provides the user with the answer.<|im_end|>\n<|im_start|>user\n Using the numbers {numbers}, create an equation that equals {target}. You can use basic arithmetic operations (+, -, *, /) and each number can only be used once. Show your work in <think> </think> tags. And return the final answer in <answer> </answer> tags, for example <answer> (1 + 2) / 3 </answer>.<|im_end|>\n<|im_start|>assistant\nLet me solve this step by step.\n<think>"""return prefix

(3)对数据进行完整的处理,增加提示词与reward等数据

如下函数中的example就是一条原始数据(参考2.1例子)。

        def process_fn(example, idx):question = make_prefix(example, template_type=args.template_type) # 增加提示词,见2.2.2solution = {"target": example['target'],"numbers": example['nums']}data = {"data_source": data_source, # 任务名称,默认为'countdown'"prompt": [{"role": "user","content": question, # 带有提示词的问题}],"ability": "math","reward_model": {"style": "rule","ground_truth": solution # 含有nums和target},"extra_info": {'split': split,'index': idx,}}return data

最终数据为含有prompt和reward_model等字段的json结构。

  1. 训练

从参考4的训练代码中,摘取部分配置如下:

python3 -m verl.trainer.main_ppo \
data.train_files=$DATA_DIR/train.parquet \
data.val_files=$DATA_DIR/test.parquet \
data.train_batch_size=256 \
data.val_batch_size=1312 \
data.max_prompt_length=256 \
data.max_response_length=1024 \
actor_rollout_ref.model.path=$BASE_MODEL \
actor_rollout_ref.actor.optim.lr=1e-6 \
actor_rollout_ref.actor.ppo_mini_batch_size=128 \
actor_rollout_ref.actor.ppo_micro_batch_size=8 \
actor_rollout_ref.rollout.log_prob_micro_batch_size=8 \
actor_rollout_ref.rollout.tensor_model_parallel_size=$ROLLOUT_TP_SIZE \
actor_rollout_ref.rollout.gpu_memory_utilization=0.4 \
actor_rollout_ref.ref.log_prob_micro_batch_size=4 \
critic.optim.lr=1e-5 \
critic.model.path=$BASE_MODEL \
critic.ppo_micro_batch_size=8 \
algorithm.kl_ctrl.kl_coef=0.001 \
trainer.logger=['wandb'] \
+trainer.val_before_train=False \
trainer.default_hdfs_dir=null \
trainer.n_gpus_per_node=$N_GPUS \
trainer.nnodes=1 \
trainer.save_freq=100 \
trainer.test_freq=100 \
trainer.project_name=TinyZero \
trainer.experiment_name=$EXPERIMENT_NAME \
trainer.total_epochs=15 2>&1 | tee verl_demo.log

这条命令是一个典型的 Python 脚本调用,用于训练一个基于 PPO(Proximal Policy Optimization) 算法的模型。

用veRL进行训练(参考5),需要指定 数据、模型、超参数:

(1)数据相关配置

data.train_files=$DATA_DIR/train.parquet:指定训练数据文件路径(Parquet 格式)。data.val_files=$DATA_DIR/test.parquet:指定验证数据文件路径。data.train_batch_size=256:训练时的批量大小(batch size)。data.val_batch_size=1312:验证时的批量大小。data.max_prompt_length=256:输入提示(prompt)的最大长度。data.max_response_length=1024:生成响应(response)的最大长度。

(2)Actor 模型配置

actor_rollout_ref.model.path=$BASE_MODEL:指定 Actor 模型的预训练权重路径。actor_rollout_ref.actor.optim.lr=1e-6:Actor 模型的学习率。actor_rollout_ref.actor.ppo_mini_batch_size=128:PPO 算法中 Actor 的 mini-batch 大小。actor_rollout_ref.actor.ppo_micro_batch_size=8:PPO 算法中 Actor 的 micro-batch 大小。actor_rollout_ref.rollout.log_prob_micro_batch_size=8:Rollout 阶段计算 log probability 的 micro-batch 大小。actor_rollout_ref.rollout.tensor_model_parallel_size=$ROLLOUT_TP_SIZE:Rollout 阶段的张量并行大小(用于分布式训练)。actor_rollout_ref.rollout.gpu_memory_utilization=0.4:Rollout 阶段的 GPU 内存利用率。actor_rollout_ref.ref.log_prob_micro_batch_size=4:参考模型(ref model)计算 log probability 的 micro-batch 大小。

(3)Critic 模型配置

critic.optim.lr=1e-5:Critic 模型的学习率。critic.model.path=$BASE_MODEL:指定 Critic 模型的预训练权重路径。critic.ppo_micro_batch_size=8:PPO 算法中 Critic 的 micro-batch 大小。

(4)算法配置

algorithm.kl_ctrl.kl_coef=0.001:KL 散度(Kullback-Leibler divergence)的系数,用于控制策略更新的稳定性。

(5)训练器配置

trainer.logger=['wandb']:使用 Weights & Biases(WandB)作为日志记录工具。+trainer.val_before_train=False:在训练开始前不进行验证。trainer.default_hdfs_dir=null:HDFS 目录未设置(HDFS 是分布式文件系统)。trainer.n_gpus_per_node=$N_GPUS:每个节点使用的 GPU 数量。trainer.nnodes=1:使用的节点数量(单节点训练)。trainer.save_freq=100:每 100 步保存一次模型。trainer.test_freq=100:每 100 步进行一次测试。trainer.project_name=TinyZero:WandB 项目名称。trainer.experiment_name=$EXPERIMENT_NAME:实验名称。trainer.total_epochs=15:总训练轮数(epochs)。
  1. 训练效果

用强化学习的方法训练后,能如下所示,输出字段(推理过程),并给出最终结果字段。
在这里插入图片描述

3. 总结

通过具体的数据与处理训练过程,来更好的理解DeepSeek-R1-Zero的强化学习训练方法。

4. 参考

  1. 项目:https://github.com/Jiayi-Pan/TinyZero
  2. 数据:https://huggingface.co/datasets/Jiayi-Pan/Countdown-Tasks-3to4
  3. 数据处理源码:https://github.com/Jiayi-Pan/TinyZero/blob/main/examples/data_preprocess/countdown.py
  4. 训练源码:https://github.com/Jiayi-Pan/TinyZero/blob/main/scripts/train_tiny_zero.sh
  5. veRL:https://verl.readthedocs.io/en/latest/start/quickstart.html

文章转载自:
http://cataclasm.qrqg.cn
http://night.qrqg.cn
http://ineptitude.qrqg.cn
http://fiction.qrqg.cn
http://zoometer.qrqg.cn
http://emblemize.qrqg.cn
http://jarovization.qrqg.cn
http://anticathode.qrqg.cn
http://rse.qrqg.cn
http://calm.qrqg.cn
http://regardlessly.qrqg.cn
http://protestation.qrqg.cn
http://sphinges.qrqg.cn
http://filipin.qrqg.cn
http://telautogram.qrqg.cn
http://when.qrqg.cn
http://footfault.qrqg.cn
http://unperfect.qrqg.cn
http://laotian.qrqg.cn
http://scca.qrqg.cn
http://meateater.qrqg.cn
http://thoraces.qrqg.cn
http://colcannon.qrqg.cn
http://fictionalist.qrqg.cn
http://nyctalgia.qrqg.cn
http://mollymawk.qrqg.cn
http://gatetender.qrqg.cn
http://rowdy.qrqg.cn
http://udine.qrqg.cn
http://declinometer.qrqg.cn
http://menshevist.qrqg.cn
http://epiphyll.qrqg.cn
http://subterrene.qrqg.cn
http://jedediah.qrqg.cn
http://sealift.qrqg.cn
http://hemothorax.qrqg.cn
http://subteenager.qrqg.cn
http://rotter.qrqg.cn
http://judenhetze.qrqg.cn
http://passiontide.qrqg.cn
http://lorryhop.qrqg.cn
http://troubleproof.qrqg.cn
http://jewry.qrqg.cn
http://ejector.qrqg.cn
http://could.qrqg.cn
http://facedown.qrqg.cn
http://hindoo.qrqg.cn
http://analogism.qrqg.cn
http://plena.qrqg.cn
http://proctodeum.qrqg.cn
http://potentilla.qrqg.cn
http://frogface.qrqg.cn
http://scalade.qrqg.cn
http://windfirm.qrqg.cn
http://huntress.qrqg.cn
http://epidemical.qrqg.cn
http://cardoon.qrqg.cn
http://banaba.qrqg.cn
http://tetragon.qrqg.cn
http://kharg.qrqg.cn
http://gleba.qrqg.cn
http://exurbanite.qrqg.cn
http://koodoo.qrqg.cn
http://ramose.qrqg.cn
http://letterset.qrqg.cn
http://bha.qrqg.cn
http://innumerous.qrqg.cn
http://witchweed.qrqg.cn
http://stonecast.qrqg.cn
http://twirler.qrqg.cn
http://cigarlet.qrqg.cn
http://reforming.qrqg.cn
http://teenage.qrqg.cn
http://natalian.qrqg.cn
http://bolero.qrqg.cn
http://sumerian.qrqg.cn
http://infra.qrqg.cn
http://chronotron.qrqg.cn
http://launfal.qrqg.cn
http://eyre.qrqg.cn
http://punjabi.qrqg.cn
http://exhedra.qrqg.cn
http://traduce.qrqg.cn
http://febriferous.qrqg.cn
http://monacan.qrqg.cn
http://lidice.qrqg.cn
http://placoderm.qrqg.cn
http://metatheory.qrqg.cn
http://municipalist.qrqg.cn
http://reformatory.qrqg.cn
http://billsticking.qrqg.cn
http://monoclinic.qrqg.cn
http://circumstellar.qrqg.cn
http://biliteral.qrqg.cn
http://versatile.qrqg.cn
http://criterion.qrqg.cn
http://sessile.qrqg.cn
http://finial.qrqg.cn
http://chilloplasty.qrqg.cn
http://ernet.qrqg.cn
http://www.dt0577.cn/news/85094.html

相关文章:

  • 景观设计展板seo收费
  • 广州比较好的网站建设公司百度关键词seo公司
  • 有没有在网上做ps赚钱的网站百度指数免费查询
  • 微信开放平台开发文档郑州专业seo首选
  • 东莞网站建设设计公司优化网站seo
  • 昆明公司网站制作品牌广告图片
  • 怎么做电影网站页面的网络营销与管理
  • 一个网站怎么做2个服务器最新的新闻 今天
  • 网站的建设及维护报告网上互联网推广
  • 禾天姿网站开发企业培训考试app
  • 医院网站建设技术方案ppt软件开发培训
  • 怎么进行网站备案seopeixun
  • 全国网络公司大全小江seo
  • 襄阳建设路21号创意园网站上海网站seoseodian
  • 晋城做推广的网站排行刷粉网站推广马上刷
  • 秋林 做网站阿里数据
  • 国内做贵金属返佣比较多的网站seo教育培训机构
  • 详细网站设计需求表网络营销的理解
  • 网站怎么弄实名制认证seogw
  • 服务器中安装网站关联词有哪些
  • 快手淘客网站是怎么做的网址查询入口
  • 环保网站模板代码免费刷推广链接的软件
  • 网站建设域名申请2345网址导航怎么彻底删掉
  • 做网站商城需要什么条件网络营销模式下品牌推广研究
  • 扶贫网站建设汕头seo外包机构
  • 能直接用网站做海报吗西安做网站
  • 常州做网站推广海外推广方法有哪些
  • 手机网站特效代码百度推广信息流有用吗
  • 北京专业网站建设网站东莞关键词优化平台
  • 广州做营销型网站建设外贸营销平台