From 8fd9221f134da88773d62a8eb1e6f5f068ad5d8c Mon Sep 17 00:00:00 2001 From: Seungduk Kim Date: Sun, 7 Sep 2025 23:49:10 +0900 Subject: [PATCH] Add `ipo` as an `rl` type that shares DPODataset config (#3128) * Add `ipo` as an `rl` type that shares DPODataset config * chore: lint --------- Co-authored-by: Wing Lian --- src/axolotl/utils/config/__init__.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/axolotl/utils/config/__init__.py b/src/axolotl/utils/config/__init__.py index 2b6ef8d98..f40fe6687 100644 --- a/src/axolotl/utils/config/__init__.py +++ b/src/axolotl/utils/config/__init__.py @@ -273,7 +273,9 @@ def validate_config( # Convert datasets to proper format if needed if cfg.get("datasets"): for idx, ds_cfg in enumerate(cfg["datasets"]): - if cfg.get("rl") in ["dpo", "simpo"] and not isinstance(ds_cfg, DPODataset): + if cfg.get("rl") in ["dpo", "ipo", "simpo"] and not isinstance( + ds_cfg, DPODataset + ): cfg["datasets"][idx] = DPODataset(**ds_cfg) elif cfg.get("rl") == "kto" and not isinstance(ds_cfg, KTODataset): cfg["datasets"][idx] = KTODataset(**dict(ds_cfg))