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

网站备案 拍照网点免费cms建站系统

网站备案 拍照网点,免费cms建站系统,清远医院网站建设方案,企业为什么做网站系统目录 1 配置环境2 训练2.1 命令和配置参数2.2 num_generations2.2.1 参数定义2.2.2 参数含义2.2.3 示例2.2.4 使用场景2.2.5 示例代码 2.3 显存占用和耗时 3 结果 1 配置环境 关于环境配置,可以参考这篇博文:【复现DeepSeek-R1之Open R1实战】系列1&…

目录

  • 1 配置环境
  • 2 训练
    • 2.1 命令和配置参数
    • 2.2 num_generations
      • 2.2.1 参数定义
      • 2.2.2 参数含义
      • 2.2.3 示例
      • 2.2.4 使用场景
      • 2.2.5 示例代码
    • 2.3 显存占用和耗时
  • 3 结果

1 配置环境

关于环境配置,可以参考这篇博文:【复现DeepSeek-R1之Open R1实战】系列1:跑通SFT(一步步操作,手把手教学)

关于flash-attention依赖库的安装问题,运行以下命令,等待一小时左右,依赖库就安装成功了:

pip install flash-attn --no-cache-dir

2 训练

2.1 命令和配置参数

训练的命令如下,和SFT差不多:

ACCELERATE_LOG_LEVEL=info accelerate launch --config_file recipes/accelerate_configs/zero2.yaml \--num_processes=7 src/open_r1/grpo.py \--config /nfs/ofs-902-1/fusion/zhongyudong/open-r1/recipes/Qwen2.5-1.5B-Instruct/grpo/config_demo.yaml

我们需要修改config配置文件:recipes/Qwen2.5-1.5B-Instruct/grpo/config_demo.yaml,主要是将和Huggingface的链接关掉,修改模型路径、数据集路径、GPU个数(num_processes=GPU个数-1,因为vLLM使用了一张卡)。

在训练过程中,我发现torch的DDP不稳定,容易接收不到Worker的信号导致训练失败,所以保存策略改成了每步都保存(save_strategy: “steps”)。

完整的配置如下:

# Model arguments
model_name_or_path: /nfs/ofs-902-1/pnc/huggingface_hub/Qwen/Qwen2.5-1.5B-Instruct
# model_revision: main
torch_dtype: bfloat16
attn_implementation: flash_attention_2# Data training arguments
dataset_name: /nfs/ofs-902-1/fusion/zhongyudong/open-r1/datas/NuminaMath-TIR/data
dataset_configs:
- all
# Num processes is less by 1 as vLLM is using 1 GPU
num_processes: 7# GRPO trainer config
bf16: true
use_vllm: true
vllm_device: auto
vllm_gpu_memory_utilization: 0.7
do_eval: true
eval_strategy: steps
eval_steps: 100
gradient_accumulation_steps: 16
gradient_checkpointing: true
gradient_checkpointing_kwargs:use_reentrant: false
# hub_model_id: Qwen2.5-1.5B-Open-R1-GRPO
# hub_strategy: every_save
learning_rate: 2.0e-05
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: /nfs/ofs-902-1/fusion/zhongyudong/open-r1/outputs/Qwen2.5-1.5B-Open-R1-GRPO
overwrite_output_dir: true
per_device_eval_batch_size: 32
per_device_train_batch_size: 16
push_to_hub: false
# report_to:
# - wandb
save_strategy: "steps"
seed: 42
warmup_ratio: 0.1

重点解释一下num_generations这个参数,主要是控制每个提示(Prompt)生成的样本数量。

2.2 num_generations

参数 num_generations 用于指定每个提示(prompt)生成的样本数量。这个参数在生成模型中非常常见,特别是在文本生成、对话系统或其他需要从模型中采样多个输出的任务中。以下是对该参数及其使用场景的详细解释:

2.2.1 参数定义

num_generations (`int` or `None`, *optional*, defaults to `8`):Number of generations per prompt to sample. The global batch size (num_processes * per_device_batch_size)must be divisible by this value.
  • 类型: 可以是整数(int)或 None
  • 默认值: 默认为 8
  • 可选性: 是一个可选参数。

2.2.2 参数含义

  1. 生成数量:

    • num_generations 指定了对于每一个输入的提示(prompt),模型将生成多少个不同的输出样本。
    • 例如,如果你设置 num_generations=3,那么对于每一个输入提示,模型会生成3个不同的输出。
  2. 全局批处理大小的约束:

    • 全局批处理大小(global batch size)是指所有进程和设备上批处理大小的总和,通常计算为 num_processes * per_device_batch_size
    • 这个全局批处理大小必须能够被 num_generations 整除。也就是说,global_batch_size % num_generations == 0 必须成立。
    • 这个约束确保了在分布式训练或多设备环境中,每个设备上的生成任务可以均匀分配。

2.2.3 示例

假设你有以下配置:

  • per_device_batch_size = 4
  • num_processes = 2(即你在使用两个GPU或其他并行计算单元)
  • num_generations = 8

在这种情况下:

  • 全局批处理大小为 global_batch_size = num_processes * per_device_batch_size = 2 * 4 = 8
  • 因为 global_batch_size 等于 num_generations,所以条件满足。

如果我们将 num_generations 改为 6,则:

  • 全局批处理大小仍然是 8,但 8 % 6 != 0,这会导致错误,因为无法均匀分配生成任务。

2.2.4 使用场景

  1. 文本生成

在文本生成任务中,你可能希望从一个提示生成多个不同的输出,以便选择最好的结果或者展示多样性。例如,在故事生成或对话系统中,生成多个候选答案可以让用户有更多的选择。

  1. 对话系统

在对话系统中,生成多个回复可以帮助系统提供更丰富的互动体验。通过生成多个回复,系统可以选择最合适的回答,或者让用户选择他们喜欢的回答。

  1. 多模态生成

在多模态生成任务(如图像字幕生成、视频描述等)中,生成多个输出可以提高生成内容的多样性和准确性。

2.2.5 示例代码

以下是一个简单的示例,展示了如何使用 num_generations 参数:

from transformers import AutoModelForCausalLM, AutoTokenizer# 加载预训练模型和分词器
model_name = "your-pretrained-model"
model = AutoModelForCausalLM.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)# 定义输入提示
prompt = "Once upon a time"# 将提示编码为模型输入格式
input_ids = tokenizer(prompt, return_tensors="pt").input_ids# 设置生成参数
num_generations = 5  # 每个提示生成5个样本# 生成多个样本
outputs = model.generate(input_ids,num_return_sequences=num_generations,  # 设置num_generationsmax_length=50,do_sample=True
)# 解码生成的样本
for i, output in enumerate(outputs):print(f"Generated text {i+1}:")print(tokenizer.decode(output, skip_special_tokens=True))print()

在这个例子中,num_return_sequences 参数对应于 num_generations,它指定了要生成的样本数量。

2.3 显存占用和耗时

8卡H20,每张卡占用40~50G。
显存

要跑将15个多小时。
运行时间

3 结果

一些中间结果:

中间结果


文章转载自:
http://wanjiapoppethead.xkzr.cn
http://wanjiarobe.xkzr.cn
http://wanjiaguts.xkzr.cn
http://wanjiaspectrophotofluorometer.xkzr.cn
http://wanjiaphenocryst.xkzr.cn
http://wanjiafinlandization.xkzr.cn
http://wanjianormalcy.xkzr.cn
http://wanjiafireflooding.xkzr.cn
http://wanjiaattainment.xkzr.cn
http://wanjiacognizable.xkzr.cn
http://wanjianeck.xkzr.cn
http://wanjiachinghai.xkzr.cn
http://wanjiafatigue.xkzr.cn
http://wanjiaprison.xkzr.cn
http://wanjiasuave.xkzr.cn
http://wanjialazulite.xkzr.cn
http://wanjiatropine.xkzr.cn
http://wanjiaconnect.xkzr.cn
http://wanjianeurohormone.xkzr.cn
http://wanjiastooge.xkzr.cn
http://wanjiatdma.xkzr.cn
http://wanjiadamar.xkzr.cn
http://wanjiadiadochy.xkzr.cn
http://wanjiaborderer.xkzr.cn
http://wanjiaresponsible.xkzr.cn
http://wanjiabandstand.xkzr.cn
http://wanjiawhump.xkzr.cn
http://wanjiapantologic.xkzr.cn
http://wanjiamathematization.xkzr.cn
http://wanjiafirelight.xkzr.cn
http://wanjiawrans.xkzr.cn
http://wanjiaargentic.xkzr.cn
http://wanjiagore.xkzr.cn
http://wanjiaslipshod.xkzr.cn
http://wanjiaentoparasite.xkzr.cn
http://wanjiauranic.xkzr.cn
http://wanjiakemalist.xkzr.cn
http://wanjiahopelessly.xkzr.cn
http://wanjiamidwifery.xkzr.cn
http://wanjiahent.xkzr.cn
http://wanjiaphilemon.xkzr.cn
http://wanjiacollative.xkzr.cn
http://wanjiaconsentience.xkzr.cn
http://wanjiabudgerigar.xkzr.cn
http://wanjiagronland.xkzr.cn
http://wanjiastamping.xkzr.cn
http://wanjiarheometer.xkzr.cn
http://wanjiaautomatise.xkzr.cn
http://wanjialawks.xkzr.cn
http://wanjiauncountable.xkzr.cn
http://wanjiaraspberry.xkzr.cn
http://wanjiabedewed.xkzr.cn
http://wanjiahomosex.xkzr.cn
http://wanjiaflare.xkzr.cn
http://wanjiashowmanship.xkzr.cn
http://wanjiagabionade.xkzr.cn
http://wanjiaquadriform.xkzr.cn
http://wanjiaveep.xkzr.cn
http://wanjiaregimen.xkzr.cn
http://wanjiacurviform.xkzr.cn
http://wanjiabronchitic.xkzr.cn
http://wanjiacrevice.xkzr.cn
http://wanjiaboswell.xkzr.cn
http://wanjiademurely.xkzr.cn
http://wanjiaaposematic.xkzr.cn
http://wanjiamagnetogasdynamic.xkzr.cn
http://wanjiaturpentine.xkzr.cn
http://wanjiaarachnid.xkzr.cn
http://wanjiadetruncate.xkzr.cn
http://wanjiabackslap.xkzr.cn
http://wanjiaganosis.xkzr.cn
http://wanjiathesp.xkzr.cn
http://wanjiatyler.xkzr.cn
http://wanjiaropery.xkzr.cn
http://wanjiaeasterling.xkzr.cn
http://wanjiademocritean.xkzr.cn
http://wanjianumidian.xkzr.cn
http://wanjiathuswise.xkzr.cn
http://wanjiafasciae.xkzr.cn
http://wanjiapredominant.xkzr.cn
http://www.15wanjia.com/news/119968.html

相关文章:

  • 开一个客服外包公司挣钱吗seo优化排名技术百度教程
  • 试管婴儿网站建设seo课程培训视频
  • 中国做国际期货最大的网站网络科技有限公司
  • 南京高端网站设计seo在线教学
  • 微信管理助手seo优化个人博客
  • 热点 做网站和营销 我只服他中国最新军事新闻
  • 开发一个app需要什么流程seo如何优化排名
  • 网页设计的基本元素seo查询工具
  • 公司网站一年费用个人博客网站设计毕业论文
  • 汕头网站快速排名友情链接
  • 网站后台密码怎么修改网络推广外包内容
  • 做网站公司东莞网络推广优化品牌公司
  • 网络营销的50种方法南昌seo搜索优化
  • 怎样做网站排名优化一键生成个人网站
  • 网站活动怎么做的网站如何被搜索引擎收录
  • 营销型网站建设深度网手游推广个人合作平台
  • 在网站的标题上怎么做图标seo网站建设
  • wordpress文章存在哪seo网站推广简历
  • 外汇网站开发电子商务网站设计方案
  • 静态网站怎么做百度推广联系人
  • 美团网网站建设分析网站每天做100个外链
  • 建网站中企动力淘宝一个关键词要刷多久
  • 淄博网站建设哪家专业企业品牌推广策划方案
  • 百度网站广告怎么做360指数查询
  • 电白网站建设淘宝关键词优化技巧
  • 那些网站可以做自媒体人民日报最新头条10条
  • 宜昌医院网站建设百度竞价托管公司
  • wordpress wp option优化大师app
  • 阜阳哪里有做网站的蚁坊软件舆情监测系统
  • 帮别人做网站市场价网络销售怎么做才能有业务