From 1be993de3e28fbe89d08a6a4a94fc4663fb273e1 Mon Sep 17 00:00:00 2001 From: YeAnbang Date: Wed, 30 Apr 2025 22:53:12 +0800 Subject: [PATCH] fix bug --- .../ColossalChat/coati/distributed/launch.py | 2 +- .../coati/distributed/producer.py | 19 ++++++++----------- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/applications/ColossalChat/coati/distributed/launch.py b/applications/ColossalChat/coati/distributed/launch.py index d1b6158e5..400a62928 100644 --- a/applications/ColossalChat/coati/distributed/launch.py +++ b/applications/ColossalChat/coati/distributed/launch.py @@ -87,7 +87,7 @@ def launch_distributed( num_generations=num_generations, consumer_plugin_config=plugin_config, eval_dataset_config=eval_dataset_config, - eval_interval=eval_interval, + eval_interval=eval_interval * num_recv_per_update, evaluation_function_type=grpo_config["reward_fn_type"], eval_save_dir=eval_save_dir, ) diff --git a/applications/ColossalChat/coati/distributed/producer.py b/applications/ColossalChat/coati/distributed/producer.py index b7e1d8f2a..de4d60b89 100644 --- a/applications/ColossalChat/coati/distributed/producer.py +++ b/applications/ColossalChat/coati/distributed/producer.py @@ -129,7 +129,7 @@ class BaseProducer: else: raise ValueError(f"Unexpected backend {backend}") - self.consumer_pp_size = consumer_plugin_config["pp_size"] # consumer pp size + self.consumer_pp_size = consumer_plugin_config.get("pp_size", 1) # consumer pp size def setup(self) -> None: cc.init_collective_group(1 + self.num_consumer_procs, 0, group_name=f"sync_data_{self.producer_idx}") @@ -250,14 +250,11 @@ class BaseProducer: # linear annealing for 1 episode, temperature from initial to 0.9 if episode <= 0: ratio = 1 - (len(self.train_dataloader) - i) / len(self.train_dataloader) - if isinstance(self.model.generate_config.temperature, dict): - self.model.generate_config["temperature"] = (1 - ratio) * self.generate_config[ - "temperature" - ] + ratio * 0.9 - else: - self.model.generate_config.temperature = (1 - ratio) * self.generate_config[ - "temperature" - ] + ratio * 0.9 + self.model.generate_config["temperature"] = (1 - ratio) * self.generate_config[ + "temperature" + ] + ratio * 0.9 + if hasattr(self.model, "sample_params"): + self.model.sample_params.temperature = self.model.generate_config["temperature"] @ray.remote @@ -310,8 +307,8 @@ class SimpleProducer(BaseProducer): @torch.no_grad() def rollout(self, input_ids, attention_mask, **kwargs): rollouts = self.model.generate(input_ids, attention_mask, **kwargs) - # if self.producer_idx == 1: - # print("Rollout example:\n", self.tokenizer.decode(rollouts["input_ids"][0][0], skip_special_tokens=True)) + if self.producer_idx == 1: + print("Rollout example:\n", self.tokenizer.decode(rollouts["input_ids"][0][0], skip_special_tokens=True)) return rollouts