Selaa lähdekoodia

修改train_model_grpo.py文件-开启vLLM 观察能否解决损失率值0并且无变化问题

zhouyang.xie 3 kuukautta sitten
vanhempi
commit
a0c6a060cf
3 muutettua tiedostoa jossa 9 lisäystä ja 9 poistoa
  1. 2 2
      README.MD
  2. 5 5
      src/train_model_grpo.py
  3. 2 2
      src/train_model_grpo_v2.py

+ 2 - 2
README.MD

@@ -692,7 +692,7 @@ Tiny-R1-32B
 |                | <tr><td>
 CPU: 32 核以上,主频 ≥ 2.5 GHz,L3 缓存 ≥ 128 MB;
 内存:DDR4 或 DDR5,≥ 256 GB,速度 ≥ 3200 MHz,≥ 8 通道;
-GPU:VRAM≥ 76 GB;硬盘:NVMe SSD,≥ 8 TB,读取速度 ≥ 3.5 GB/s;
+GPU:VRAM≥ 96 GB  ( 76 GB);硬盘:NVMe SSD,≥ 8 TB,读取速度 ≥ 3.5 GB/s;
 网络: ≥ 10 GbE带宽;</td></tr>    |
 |                | </table>       |
 | 70B(Billion)       | <table>       |
@@ -701,7 +701,7 @@ GPU:VRAM≥ 76 GB;硬盘:NVMe SSD,≥ 8 TB,读取速度 ≥ 3.5 GB/s
 |                | <tr><td>
 CPU: 64 核以上,主频 ≥ 2.5 GHz,L3 缓存 ≥ 128 MB;
 内存:DDR4 或 DDR5,≥ 512 GB,速度 ≥ 3200 MHz,≥ 8 通道;
-GPU:VRAM≥ 164 GB;硬盘:NVMe SSD,≥ 8 TB,读取速度 ≥ 3.5 GB/s;
+GPU:VRAM≥ 192 GB ( 164 GB);硬盘:NVMe SSD,≥ 8 TB,读取速度 ≥ 3.5 GB/s;
 网络: ≥ 10 GbE带宽;</td>></tr>    |
 |                | </table>       |
 

+ 5 - 5
src/train_model_grpo.py

@@ -166,10 +166,10 @@ class ModelTrainer:
         print(f"Reserved memory: {torch.cuda.memory_reserved()}")
         print(f"Allocated memory: {torch.cuda.memory_allocated()}")
 
-        # 启用 pin_memory  2025年3月7日未能验证通过
-        train_loader = torch.utils.data.DataLoader(
-            train_dataset, batch_size=1, shuffle=True, pin_memory=True  
-        )
+        # # 启用 pin_memory  2025年3月10日未能验证通过
+        # train_loader = torch.utils.data.DataLoader(
+        #     train_dataset, batch_size=1, shuffle=True, pin_memory=True  
+        # )
         
         # 释放未使用的显存
         torch.cuda.empty_cache()
@@ -229,7 +229,7 @@ if __name__ == "__main__":
     # 配置参数
     model_name = os.path.join('..', 'models', 'pretrained', 'DeepSeek-R1-Distill-Qwen-1.5B')
     # model_name: 预训练模型的路径
-    max_seq_length = 512  # 单次会话(single session) 的最大 token 长度,一个token大约3-4 字节(Byte)
+    max_seq_length = 2048  # 单次会话(single session) 的最大 token 长度,一个token大约3-4 字节(Byte)
     dtype = torch.float16  # 数据类型
     load_in_4bit = True  # 是否以4位精度加载模型
     lora_rank=16

+ 2 - 2
src/train_model_grpo_v2.py

@@ -138,7 +138,7 @@ class ModelTrainer:
         model = FastLanguageModel.get_peft_model(
             model,
             max_seq_length=self.max_seq_length,  # 最大上下文(序列)长度
-            r=16,  # LoRA 的秩,控制适配器的复杂度
+            r=8, # 16 # LoRA 的秩,控制适配器的复杂度
             target_modules=["q_proj", "k_proj", "v_proj", "o_proj",
                           "gate_proj", "up_proj", "down_proj"],  # 应用 LoRA 的目标模块
             lora_alpha=16,  # LoRA 的 alpha 参数,控制适配器的缩放
@@ -188,7 +188,7 @@ class ModelTrainer:
             fp16 = not is_bfloat16_supported(),
             per_device_train_batch_size = 1,
             gradient_accumulation_steps = 1, # Increase to 4 for smoother training
-            num_generations = 128, # 256 # 每次生成 4 输出
+            num_generations = 128, # 256 # 每次生成  输出个数,值范围: 1 - 256
             max_prompt_length = 128, # 256 # 输入提示的最大长度
             max_completion_length = 128,# 200 # 生成内容的最大长度
             num_train_epochs = 1, # Set to 1 for a full training run