Test colocate mode with both trainer and explorer.
(self)
| 1742 | self.config.synchronizer.sync_method = SyncMethod.MEMORY |
| 1743 | |
| 1744 | def test_trainer(self): |
| 1745 | """Test colocate mode with both trainer and explorer.""" |
| 1746 | self.config.buffer.explorer_input.taskset = get_unittest_dataset_config("gsm8k") |
| 1747 | self.config.buffer.explorer_input.eval_tasksets.append( |
| 1748 | get_unittest_dataset_config("gsm8k", "test") |
| 1749 | ) |
| 1750 | self.config.buffer.explorer_input.eval_tasksets[0].repeat_times = 4 |
| 1751 | self.config.algorithm.algorithm_type = "grpo" |
| 1752 | self.config.algorithm.advantage_fn = "grpo" |
| 1753 | self.config.algorithm.repeat_times = 4 |
| 1754 | self.config.buffer.batch_size = 8 |
| 1755 | self.config.explorer.eval_interval = 2 |
| 1756 | self.config.buffer.total_steps = 2 |
| 1757 | self.config.trainer.save_interval = 2 |
| 1758 | self.config.synchronizer.sync_interval = 1 |
| 1759 | self.config.check_and_update() |
| 1760 | both(self.config) |
| 1761 | parser = TensorBoardParser(os.path.join(self.config.monitor.cache_dir, "tensorboard")) |
| 1762 | rollout_metrics = parser.metric_list("rollout") |
| 1763 | self.assertGreater(len(rollout_metrics), 0) |
| 1764 | pipeline_metrics = parser.metric_list("experience_pipeline") |
| 1765 | self.assertGreater(len(pipeline_metrics), 0) |
| 1766 | self.assertEqual(parser.metric_max_step(rollout_metrics[0]), 2) |
| 1767 | actor_metrics = parser.metric_list("actor") |
| 1768 | self.assertGreater(len(actor_metrics), 0) |
| 1769 | self.assertEqual(parser.metric_max_step(actor_metrics[0]), 2) |
| 1770 | time_metrics = parser.metric_list("time") |
| 1771 | self.assertGreater(len(time_metrics), 0) |
| 1772 | self.assertEqual(parser.metric_max_step(time_metrics[0]), 2) |
| 1773 | eval_metrics = parser.metric_list("eval") |
| 1774 | self.assertGreater(len(eval_metrics), 0) |
| 1775 | self.assertEqual(parser.metric_max_step(eval_metrics[0]), 2) |
| 1776 | |
| 1777 | |
| 1778 | class FullAsyncNCCLTest(BaseTrainerCase): |
nothing calls this directly
no test coverage detected