From 36f0095d96399ee91c1dfe7635f5a978aef30935 Mon Sep 17 00:00:00 2001 From: Benny Chen Date: Wed, 19 Nov 2025 23:03:12 -0800 Subject: [PATCH 1/3] Tinker example --- eval_protocol/integrations/tinker_cookbook.py | 197 +++++++++++++++++ .../integrations/tinker_rollout_processor.py | 170 ++++++++++++++ examples/tinker_math_rl/README.md | 43 ++++ examples/tinker_math_rl/debug_dataset.py | 0 examples/tinker_math_rl/plot_metrics.py | 41 ++++ .../reward_plot_integration_v5.png | Bin 0 -> 62611 bytes .../reward_plot_integration_v9.png | Bin 0 -> 86662 bytes .../tinker_math_rl/reward_plot_refactored.png | Bin 0 -> 56529 bytes examples/tinker_math_rl/test_gsm8k_eval.py | 74 +++++++ examples/tinker_math_rl/train.py | 209 ++++++++++++++++++ 10 files changed, 734 insertions(+) create mode 100644 eval_protocol/integrations/tinker_cookbook.py create mode 100644 eval_protocol/integrations/tinker_rollout_processor.py create mode 100644 examples/tinker_math_rl/README.md create mode 100644 examples/tinker_math_rl/debug_dataset.py create mode 100644 examples/tinker_math_rl/plot_metrics.py create mode 100644 examples/tinker_math_rl/reward_plot_integration_v5.png create mode 100644 examples/tinker_math_rl/reward_plot_integration_v9.png create mode 100644 examples/tinker_math_rl/reward_plot_refactored.png create mode 100644 examples/tinker_math_rl/test_gsm8k_eval.py create mode 100644 examples/tinker_math_rl/train.py diff --git a/eval_protocol/integrations/tinker_cookbook.py b/eval_protocol/integrations/tinker_cookbook.py new file mode 100644 index 00000000..ed2e3674 --- /dev/null +++ b/eval_protocol/integrations/tinker_cookbook.py @@ -0,0 +1,197 @@ +import logging +import math +import asyncio +import inspect +from typing import Any, Callable, Literal, Optional, Sequence, List + +try: + import chz + from tinker_cookbook import renderers, tokenizer_utils + from tinker_cookbook.rl.problem_env import ProblemGroupBuilder + from tinker_cookbook.rl.types import RLDataset, RLDatasetBuilder + from tinker_cookbook.eval.evaluators import SamplingClientEvaluator + import tinker + + TINKER_AVAILABLE = True +except ImportError: + TINKER_AVAILABLE = False + # Dummy classes to avoid NameError when defining the class if imports fail + # but we should probably raise an error if these are instantiated without dependencies + RLDataset = object + RLDatasetBuilder = object + ProblemGroupBuilder = object + SamplingClientEvaluator = object + +from eval_protocol.adapters.base import BaseAdapter +from eval_protocol.models import EvaluationRow +from eval_protocol.pytest.types import RolloutProcessorConfig + +logger = logging.getLogger(__name__) + + +class EvalProtocolRLDataset(RLDataset): + def __init__( + self, + adapter: BaseAdapter, + row_converter: Callable[[Any, int], Optional[ProblemGroupBuilder]], + batch_size: int, + group_size: int, + split: str = "train", + limit: Optional[int] = None, + ): + if not TINKER_AVAILABLE: + raise ImportError("tinker-cookbook is required to use EvalProtocolRLDataset") + + self.adapter = adapter + self.row_converter = row_converter + self.batch_size = batch_size + self.group_size = group_size if split == "train" else 1 + + logger.info(f"Fetching {limit if limit else 'all'} rows from adapter for split {split}...") + self.rows = list(self.adapter.get_evaluation_rows(split=split, limit=limit)) + logger.info(f"Loaded {len(self.rows)} rows.") + + def get_batch(self, index: int) -> Sequence[ProblemGroupBuilder]: + batch_start = index * self.batch_size + batch_end = min((index + 1) * self.batch_size, len(self.rows)) + + batch_builders = [] + for i in range(batch_start, batch_end): + row = self.rows[i] + # row_converter should take the row and group_size and return a ProblemGroupBuilder + builder = self.row_converter(row, self.group_size) + if builder is not None: + batch_builders.append(builder) + + return batch_builders + + def __len__(self) -> int: + return math.ceil(len(self.rows) / self.batch_size) + + +if TINKER_AVAILABLE: + + class EvalProtocolEvaluator(SamplingClientEvaluator): + def __init__( + self, + rows: List[EvaluationRow], + eval_func: Callable[[EvaluationRow], EvaluationRow], + rollout_processor_cls: Any, + model_name: str, + renderer_name: str, + max_tokens: int = 512, + temperature: float = 0.0, + ): + self.rows = rows + + # If the function is a dual_mode_wrapper (from @evaluation_test), unwrap it to get the raw function logic. + # This avoids the overhead of the wrapper which is designed for pytest execution. + if hasattr(eval_func, "_origin_func"): + self.eval_func = eval_func._origin_func + else: + self.eval_func = eval_func + + self.rollout_processor_cls = rollout_processor_cls + self.model_name = model_name + self.renderer_name = renderer_name + self.max_tokens = max_tokens + self.temperature = temperature + + async def __call__(self, sampling_client: tinker.SamplingClient) -> dict[str, float]: + processor = self.rollout_processor_cls( + sampling_client=sampling_client, model_name=self.model_name, renderer_name=self.renderer_name + ) + processor.setup() + + # Config for rollout + config = RolloutProcessorConfig( + completion_params={ + "max_tokens": self.max_tokens, + "temperature": self.temperature, + }, + semaphore=asyncio.Semaphore(10), # Concurrency limit + mcp_config_path="", # Not used + steps=1, + logger=None, # Optional logger + kwargs={}, + ) + + # Run rollouts + tasks = processor(self.rows, config) + processed_rows = await asyncio.gather(*tasks) + + # Score + scores = [] + for row in processed_rows: + # Call the function logic (sync or async) + res = self.eval_func(row) + + if inspect.isawaitable(res): + scored_row = await res + else: + scored_row = res + + if scored_row.evaluation_result and scored_row.evaluation_result.score is not None: + scores.append(scored_row.evaluation_result.score) + + mean_score = sum(scores) / len(scores) if scores else 0.0 + return {"accuracy": mean_score} + + +def create_eval_protocol_dataset_builder( + adapter_factory: Callable[[], BaseAdapter], + row_converter: Callable[[Any, int, Any, Any], Optional[ProblemGroupBuilder]], + convo_prefix_factory: Optional[Callable[[], list]] = None, + train_limit: int = 1000, + test_limit: int = 100, +) -> type: + """ + Factory to create a specific RLDatasetBuilder class for a given adapter. + """ + if not TINKER_AVAILABLE: + return object + + @chz.chz + class CustomBuilder(RLDatasetBuilder): + batch_size: int + model_name_for_tokenizer: str + renderer_name: str + group_size: int + seed: int = 0 + + async def __call__(self) -> tuple[RLDataset, RLDataset]: + tokenizer = tokenizer_utils.get_tokenizer(self.model_name_for_tokenizer) + renderer = renderers.get_renderer(self.renderer_name, tokenizer=tokenizer) + + # Create adapter + adapter = adapter_factory() + + # Get convo prefix if needed + convo_prefix = convo_prefix_factory() if convo_prefix_factory else None + + # Bind renderer and prefix to row converter if needed + # We'll wrap the row_converter to inject renderer and prefix + def bound_row_converter(row, g_size): + return row_converter(row, g_size, renderer, convo_prefix) + + train_ds = EvalProtocolRLDataset( + adapter=adapter, + row_converter=bound_row_converter, + batch_size=self.batch_size, + group_size=self.group_size, + split="train", + limit=train_limit, + ) + + test_ds = EvalProtocolRLDataset( + adapter=adapter, + row_converter=bound_row_converter, + batch_size=self.batch_size, + group_size=self.group_size, + split="test", + limit=test_limit, + ) + + return (train_ds, test_ds) + + return CustomBuilder diff --git a/eval_protocol/integrations/tinker_rollout_processor.py b/eval_protocol/integrations/tinker_rollout_processor.py new file mode 100644 index 00000000..5edf4cf6 --- /dev/null +++ b/eval_protocol/integrations/tinker_rollout_processor.py @@ -0,0 +1,170 @@ +import asyncio +import logging +import os +import time +import traceback +from typing import Any, Dict, List, Optional, Union + +from eval_protocol.dataset_logger import default_logger +from eval_protocol.models import EvaluationRow, Message +from eval_protocol.pytest.rollout_processor import RolloutProcessor +from eval_protocol.pytest.types import RolloutProcessorConfig + +try: + import tinker + from tinker_cookbook import renderers, tokenizer_utils + + TINKER_AVAILABLE = True +except ImportError: + TINKER_AVAILABLE = False + +logger = logging.getLogger(__name__) + + +class TinkerRolloutProcessor(RolloutProcessor): + """ + Rollout processor that uses a Tinker SamplingClient to generate responses. + """ + + def __init__( + self, + sampling_client: Optional[Any] = None, + model_name: Optional[str] = None, + renderer_name: str = "llama3", + ) -> None: + """ + Args: + sampling_client: Pre-initialized tinker.SamplingClient. If None, one will be created using model_name. + model_name: Name of the model to use (if sampling_client is None). + renderer_name: Name of the renderer to use for formatting messages. + """ + if not TINKER_AVAILABLE: + raise ImportError("tinker-cookbook is required to use TinkerRolloutProcessor") + + self.sampling_client = sampling_client + self.model_name = model_name + self.renderer_name = renderer_name + self.renderer = None + self.tokenizer = None + + def setup(self) -> None: + """Setup resources.""" + if self.sampling_client is None: + if self.model_name is None: + raise ValueError("Either sampling_client or model_name must be provided") + + # Initialize Tinker service client + # This assumes TINKER_API_KEY is set in env + service_client = tinker.ServiceClient() + self.sampling_client = service_client.create_sampling_client(base_model=self.model_name) + + # Initialize tokenizer and renderer + # We need the model name to get the correct tokenizer. + # If sampling_client was provided without model_name, we might need to infer it or require it. + if self.model_name: + self.tokenizer = tokenizer_utils.get_tokenizer(self.model_name) + else: + # Fallback or try to get from client if possible? + # For now, require model_name even if client is passed, or use a default + # But usually we want the renderer to match the model. + # Let's assume Llama-3 tokenizer if not specified for now or raise error + raise ValueError("model_name is required to initialize tokenizer/renderer") + + self.renderer = renderers.get_renderer(self.renderer_name, tokenizer=self.tokenizer) + + def __call__(self, rows: List[EvaluationRow], config: RolloutProcessorConfig) -> List[asyncio.Task[EvaluationRow]]: + """Generate rollout tasks using Tinker.""" + + async def process_row(row: EvaluationRow) -> EvaluationRow: + start_time = time.perf_counter() + + if not row.messages: + raise ValueError("Messages is empty") + + # Prepare prompt using renderer + # Convert messages to Tinker ModelInput + # We need to convert EvaluationRow messages (standard format) to the renderer's expected input + # The renderer expects a list of dicts or objects with role/content + # eval_protocol Message objects have role/content attributes, which should work if renderer supports objects + # checking renderer code... it typically iterates and accesses keys or attributes. + # Let's convert to dicts to be safe. + + convo = [ + {"role": m.role, "content": m.content} + for m in row.messages + if m.role in ["system", "user", "assistant"] + ] + + prompt = self.renderer.build_generation_prompt(convo) + + # Prepare sampling params + # Map config.completion_params to Tinker SamplingParams + # Default values matching standard configs + max_tokens = config.completion_params.get("max_tokens", 512) + temperature = config.completion_params.get("temperature", 1.0) + top_p = config.completion_params.get("top_p", 1.0) + top_k = config.completion_params.get("top_k", -1) + + # Get stop sequences from renderer + stop_sequences = self.renderer.get_stop_sequences() + # Ensure stop_sequences is a list + if stop_sequences is None: + stop_sequences = [] + + sampling_params = tinker.SamplingParams( + max_tokens=int(max_tokens), + temperature=float(temperature), + top_p=float(top_p), + top_k=int(top_k), + stop=stop_sequences, + ) + + # Call Tinker API + try: + sample_result = await self.sampling_client.sample_async( + prompt=prompt, num_samples=1, sampling_params=sampling_params + ) + + # Parse response + # renderer.parse_response returns (Message, bool) + sampled_tokens = sample_result.sequences[0].tokens + message, parse_success = self.renderer.parse_response(sampled_tokens) + + if message: + assistant_content = message["content"] + else: + assistant_content = "" + + except Exception as e: + # Try to extract more info if '0' is not helpful + error_details = str(e) + if error_details == "0": + try: + error_details = f"Code: {e.code}, Message: {getattr(e, 'message', 'unknown')}" + except Exception as e2: + pass + # Log full traceback for debugging + tb_str = traceback.format_exc() + logger.error(f"Tinker sampling failed: {error_details}\nTraceback:\n{tb_str}") + assistant_content = "" # Or handle error more gracefully + # Could set status on row + + # Update row + new_messages = list(row.messages) + [Message(role="assistant", content=assistant_content)] + row.messages = new_messages + row.execution_metadata.duration_seconds = time.perf_counter() - start_time + + # Log usage (approximate since Tinker might not return usage stats in same format) + # We can count tokens ourselves + row.execution_metadata.usage = None # Placeholder + + default_logger.log(row) + return row + + semaphore = config.semaphore + + async def _sem_wrapper(r: EvaluationRow) -> EvaluationRow: + async with semaphore: + return await process_row(r) + + return [asyncio.create_task(_sem_wrapper(row)) for row in rows] diff --git a/examples/tinker_math_rl/README.md b/examples/tinker_math_rl/README.md new file mode 100644 index 00000000..992e14b7 --- /dev/null +++ b/examples/tinker_math_rl/README.md @@ -0,0 +1,43 @@ +# Tinker GSM8K Training Example + +This example demonstrates how to use `eval_protocol` to fetch GSM8K data and train a model using `tinker`'s RL training loop. + +## Prerequisites + +1. **Tinker Cookbook**: Ensure `tinker-cookbook` is available. The script attempts to add `../../../tinker-cookbook` to `sys.path`. +2. **Eval Protocol**: Ensure `eval-protocol` is installed with HuggingFace support. + ```bash + pip install 'eval-protocol[huggingface]' + ``` +3. **Tinker API Key**: You need a Tinker API key. + ```bash + export TINKER_API_KEY=your_api_key_here + ``` + +## Running the Training + +Run the training script with python. We recommend using a small model for testing, such as `Qwen/Qwen3-4B-Instruct-2507`. + +```bash +# Install dependencies +pip install 'eval-protocol[huggingface]' chz tinker + +# Run training +export TINKER_API_KEY=your_api_key_here +python train.py model_name="Qwen/Qwen3-4B-Instruct-2507" groups_per_batch=4 train_limit=100 test_limit=10 +``` + +### Configuration Options + +- `model_name`: The model to train (e.g., `Qwen/Qwen3-4B-Instruct-2507`). +- `groups_per_batch`: Batch size (default: 100). +- `group_size`: Number of samples per problem (default: 4). +- `train_limit`: Number of training examples to fetch (default: 1000). +- `test_limit`: Number of test examples to fetch (default: 100). +- `log_path`: Path to save logs and checkpoints. + +## How it Works + +1. **Data Loading**: The script uses `eval_protocol.adapters.huggingface.create_gsm8k_adapter` to fetch GSM8K data. +2. **Dataset Adaptation**: `EvalProtocolGsm8kDataset` converts `EvaluationRow` objects from `eval_protocol` into `ProblemGroupBuilder` objects expected by `tinker`. +3. **Training**: The standard `tinker` training loop is used to optimize the model. diff --git a/examples/tinker_math_rl/debug_dataset.py b/examples/tinker_math_rl/debug_dataset.py new file mode 100644 index 00000000..e69de29b diff --git a/examples/tinker_math_rl/plot_metrics.py b/examples/tinker_math_rl/plot_metrics.py new file mode 100644 index 00000000..fe47b903 --- /dev/null +++ b/examples/tinker_math_rl/plot_metrics.py @@ -0,0 +1,41 @@ +import json +import matplotlib.pyplot as plt +import os + +metrics_file = "/tmp/eval_protocol_integration_v9/metrics.jsonl" +output_file = "python-sdk/examples/tinker_math_rl/reward_plot_integration_v9.png" + +steps = [] +accuracies = [] +rewards = [] +formats = [] + +with open(metrics_file, "r") as f: + for line in f: + data = json.loads(line) + # Only plot training steps (where "step" is present and usually matches training_client/step) + # Some lines might be eval steps (which also have "step" but different keys). + # Let's check if it's a training step or eval step. + + # Based on the log output: + # Eval lines look like: {"step": 0, "test/env/all/reward/total": ...} + # Train lines look like: {"step": 0, "env/all/reward/total": ...} + + if "env/all/reward/total" in data and "test/env/all/reward/total" not in data: + steps.append(data["step"]) + rewards.append(data["env/all/reward/total"]) + accuracies.append(data.get("env/all/correct", 0.0)) + formats.append(data.get("env/all/format", 0.0)) + +plt.figure(figsize=(10, 6)) +plt.plot(steps, accuracies, label="Accuracy", marker="o") +plt.plot(steps, rewards, label="Total Reward", marker="o") +plt.plot(steps, formats, label="Format Compliance", marker="o") + +plt.xlabel("Step") +plt.ylabel("Value") +plt.title("Training Metrics: Eval Protocol Integration V9") +plt.legend() +plt.grid(True) +plt.savefig(output_file) +print(f"Plot saved to {output_file}") diff --git a/examples/tinker_math_rl/reward_plot_integration_v5.png b/examples/tinker_math_rl/reward_plot_integration_v5.png new file mode 100644 index 0000000000000000000000000000000000000000..8ffdcff8b30172f4b924517a1b2ebd7fa09994c7 GIT binary patch literal 62611 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 literal 0 HcmV?d00001 diff --git a/examples/tinker_math_rl/reward_plot_integration_v9.png b/examples/tinker_math_rl/reward_plot_integration_v9.png new file mode 100644 index 0000000000000000000000000000000000000000..4d74980f7969e98f4cbe628fb5ef73f54e64ab48 GIT binary patch literal 86662 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

=eXUgD|Pu@iTVGZ=03 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 literal 0 HcmV?d00001 diff --git a/examples/tinker_math_rl/reward_plot_refactored.png b/examples/tinker_math_rl/reward_plot_refactored.png new file mode 100644 index 0000000000000000000000000000000000000000..b80424a3a17e013fd409dc65988e3f94a47971a4 GIT binary patch literal 56529 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 Y$TLM_FoQXaM|Sxo$$#Giuh4`)0SAY<_y7O^ literal 0 HcmV?d00001 diff --git a/examples/tinker_math_rl/test_gsm8k_eval.py b/examples/tinker_math_rl/test_gsm8k_eval.py new file mode 100644 index 00000000..4a08f1fc --- /dev/null +++ b/examples/tinker_math_rl/test_gsm8k_eval.py @@ -0,0 +1,74 @@ +from typing import Any, Dict, List + +from eval_protocol.models import ( + EvaluateResult, + EvaluationRow, + MetricResult, +) +from eval_protocol.pytest.evaluation_test import evaluation_test +from eval_protocol.integrations.tinker_rollout_processor import TinkerRolloutProcessor +from eval_protocol.adapters.huggingface import create_gsm8k_adapter + +# Import grading logic from tinker-cookbook to ensure consistency +try: + from tinker_cookbook.recipes.math_rl.math_grading import grade_answer +except ImportError: + grade_answer = None + + +# Separate data loading for reuse in train.py +def get_gsm8k_input_rows(limit: int = 10) -> List[EvaluationRow]: + adapter = create_gsm8k_adapter() + return list(adapter.get_evaluation_rows(split="test", limit=limit)) + + +# Fetch some rows for the test +gsm8k_input_rows = get_gsm8k_input_rows(limit=10) + + +@evaluation_test( + input_rows=[gsm8k_input_rows], + completion_params=[ + { + "max_tokens": 512, + "temperature": 0.0, # Greedy for eval + } + ], + rollout_processor=TinkerRolloutProcessor(model_name="meta-llama/Llama-3.1-8B-Instruct", renderer_name="llama3"), + aggregation_method="mean", + num_runs=1, + max_concurrent_rollouts=4, + mode="pointwise", +) +def test_gsm8k_tinker(row: EvaluationRow) -> EvaluationRow: + assistant_msgs = [m for m in row.messages if m.role == "assistant"] + if not assistant_msgs: + score = 0.0 + reason = "No assistant response" + else: + model_response = assistant_msgs[-1].content + # The content might be a list of content parts, handle that + if not isinstance(model_response, str): + # Simple join for now if it's a list + model_response = "".join([p.text for p in model_response if hasattr(p, "text")]) + + ground_truth = row.ground_truth + + if grade_answer: + # Use Tinker's grading logic + is_correct = grade_answer(model_response, str(ground_truth)) + score = 1.0 if is_correct else 0.0 + reason = f"Graded: {is_correct}. GT: {ground_truth}" + else: + # Fallback simple check + score = 0.0 + reason = "Grading function not available" + print("DEBUG: grade_answer is None") + + # DEBUG + # print(f"DEBUG: Score: {score}, Reason: {reason[:100]}") + + row.evaluation_result = EvaluateResult( + score=score, reason=reason, metrics={"accuracy": MetricResult(score=score, reason=reason)} + ) + return row diff --git a/examples/tinker_math_rl/train.py b/examples/tinker_math_rl/train.py new file mode 100644 index 00000000..109e47de --- /dev/null +++ b/examples/tinker_math_rl/train.py @@ -0,0 +1,209 @@ +import asyncio +import logging +import os +import sys +from functools import partial +from typing import Literal, Any, Optional + +import chz + +# Add tinker-cookbook to path if not installed +# Assuming the directory structure: +# rft/ +# python-sdk/ +# examples/ +# tinker_math_rl/ +# tinker-cookbook/ +repo_root = os.path.abspath(os.path.join(os.path.dirname(__file__), "../../../")) +tinker_path = os.path.join(repo_root, "tinker-cookbook") +if tinker_path not in sys.path: + sys.path.append(tinker_path) + +from tinker_cookbook import cli_utils, model_info, renderers +from tinker_cookbook.recipes.math_rl.math_env import MathEnv, extract_gsm8k_final_answer +from tinker_cookbook.rl.problem_env import ProblemGroupBuilder +from tinker_cookbook.rl.train import AsyncConfig, Config, main + +# eval_protocol imports +from eval_protocol.adapters.huggingface import create_gsm8k_adapter +from eval_protocol.integrations.tinker_cookbook import create_eval_protocol_dataset_builder, EvalProtocolEvaluator +from eval_protocol.integrations.tinker_rollout_processor import TinkerRolloutProcessor + +# Import test components +from examples.tinker_math_rl.test_gsm8k_eval import test_gsm8k_tinker, get_gsm8k_input_rows + +logger = logging.getLogger(__name__) + + +def gsm8k_row_converter( + row: Any, group_size: int, renderer: renderers.Renderer, convo_prefix: list[renderers.Message] | None +) -> Optional[ProblemGroupBuilder]: + """ + Convert an Eval Protocol EvaluationRow to a Tinker ProblemGroupBuilder for GSM8K. + """ + try: + # Extract problem and answer from EvaluationRow + # row.messages contains the conversation. We assume the last user message is the question. + user_msg = next((msg for msg in reversed(row.messages) if msg.role == "user"), None) + if not user_msg: + return None + + problem = user_msg.content + raw_answer = row.ground_truth + + if not problem or not raw_answer: + return None + + # Extract final answer if it looks like a GSM8K solution (contains ####) + # Otherwise assume it is already the answer + if "####" in raw_answer: + answer = extract_gsm8k_final_answer(raw_answer) + else: + answer = raw_answer + + except Exception as e: + logger.warning(f"Failed to parse row: {e}") + return None + + return ProblemGroupBuilder( + env_thunk=partial(MathEnv, problem, answer, renderer, convo_prefix=convo_prefix), + num_envs=group_size, + ) + + +@chz.chz +class CLIConfig: + """Simple command-line configuration for RL training with Eval Protocol.""" + + # Model configuration + model_name: str = "meta-llama/Llama-3.1-8B-Instruct" + lora_rank: int = 32 + renderer_name: str | None = None + load_checkpoint_path: str | None = None + + # Training hyperparameters + group_size: int = 4 + groups_per_batch: int = 100 + learning_rate: float = 1e-5 + max_tokens: int = 512 # Increased for reasoning + temperature: float = 1.0 + kl_penalty_coef: float = 0.0 + + num_substeps: int = 1 + + # Logging configuration + log_path: str | None = None + wandb_project: str | None = None + wandb_name: str | None = None + compute_post_kl: bool = False + + # Evals + eval_every: int = 20 + + # Checkpointing + save_every: int = 20 + + # Service configuration + base_url: str | None = None + + behavior_if_log_dir_exists: cli_utils.LogdirBehavior = "ask" + + max_steps_off_policy: int | None = None + loss_fn: Literal["importance_sampling", "ppo"] = "importance_sampling" + + # Dataset limits + train_limit: int = 1000 + test_limit: int = 100 + + +async def cli_main(cli_config: CLIConfig): + """Convert CLI config to full config and run training.""" + + # Get tokenizer for stop sequences + renderer_name = cli_config.renderer_name or model_info.get_recommended_renderer_name(cli_config.model_name) + + model_name_slug = cli_config.model_name.replace("/", "-") + run_name = f"ep-gsm8k-{model_name_slug}-{cli_config.lora_rank}rank-{datetime.now().strftime('%Y-%m-%d-%H-%M')}" + + if cli_config.log_path is not None: + log_path = cli_config.log_path + else: + log_path = f"/tmp/tinker-examples/ep_math_rl/{run_name}" + + if cli_config.wandb_name is not None: + wandb_name = cli_config.wandb_name + else: + wandb_name = run_name + + # Create the builder class dynamically using the factory + # We use create_gsm8k_adapter as the adapter factory + # We use MathEnv.standard_fewshot_prefix as the prefix factory + EvalProtocolDatasetBuilder = create_eval_protocol_dataset_builder( + adapter_factory=create_gsm8k_adapter, + row_converter=gsm8k_row_converter, + convo_prefix_factory=MathEnv.standard_fewshot_prefix, + train_limit=cli_config.train_limit, + test_limit=cli_config.test_limit, + ) + + # Create the EvalProtocol Evaluator + # Use the test_limit for the number of rows to evaluate + eval_rows = get_gsm8k_input_rows(limit=cli_config.test_limit) + + # Need to wrap in a factory as expected by Config.evaluator_builders + def create_eval_protocol_evaluator(): + return EvalProtocolEvaluator( + rows=eval_rows, + eval_func=test_gsm8k_tinker, + rollout_processor_cls=TinkerRolloutProcessor, + model_name=cli_config.model_name, + renderer_name=renderer_name, + max_tokens=cli_config.max_tokens, + temperature=0.0, # Greedy for eval + ) + + # Create full config + config = Config( + learning_rate=cli_config.learning_rate, + dataset_builder=EvalProtocolDatasetBuilder( + batch_size=cli_config.groups_per_batch, + model_name_for_tokenizer=cli_config.model_name, + renderer_name=renderer_name, + group_size=cli_config.group_size, + ), + model_name=cli_config.model_name, + lora_rank=cli_config.lora_rank, + max_tokens=cli_config.max_tokens, + temperature=cli_config.temperature, + wandb_project=cli_config.wandb_project, + wandb_name=wandb_name, + log_path=log_path, + base_url=cli_config.base_url, + load_checkpoint_path=cli_config.load_checkpoint_path, + compute_post_kl=cli_config.compute_post_kl, + kl_penalty_coef=cli_config.kl_penalty_coef, + num_substeps=cli_config.num_substeps, + eval_every=cli_config.eval_every, + save_every=cli_config.save_every, + async_config=AsyncConfig( + max_steps_off_policy=cli_config.max_steps_off_policy, + groups_per_batch=cli_config.groups_per_batch, + ) + if cli_config.max_steps_off_policy is not None + else None, + loss_fn=cli_config.loss_fn, + # Add our custom evaluator + evaluator_builders=[create_eval_protocol_evaluator], + ) + + cli_utils.check_log_dir(log_path, behavior_if_exists=cli_config.behavior_if_log_dir_exists) + + # Run training + await main(config) + + +if __name__ == "__main__": + from datetime import datetime + + cli_config = chz.entrypoint(CLIConfig) + asyncio.run(cli_main(cli_config)) From c69f1f41942f944b9ed77fb7b21ccf8b80a70d22 Mon Sep 17 00:00:00 2001 From: Benny Chen Date: Thu, 20 Nov 2025 00:39:26 -0800 Subject: [PATCH 2/3] fixes --- examples/tinker_math_rl/debug_dataset.py | 0 examples/tinker_math_rl/test_gsm8k_eval.py | 6 ++++-- examples/tinker_math_rl/train.py | 6 +++--- 3 files changed, 7 insertions(+), 5 deletions(-) delete mode 100644 examples/tinker_math_rl/debug_dataset.py diff --git a/examples/tinker_math_rl/debug_dataset.py b/examples/tinker_math_rl/debug_dataset.py deleted file mode 100644 index e69de29b..00000000 diff --git a/examples/tinker_math_rl/test_gsm8k_eval.py b/examples/tinker_math_rl/test_gsm8k_eval.py index 4a08f1fc..0a7504dc 100644 --- a/examples/tinker_math_rl/test_gsm8k_eval.py +++ b/examples/tinker_math_rl/test_gsm8k_eval.py @@ -27,7 +27,7 @@ def get_gsm8k_input_rows(limit: int = 10) -> List[EvaluationRow]: @evaluation_test( - input_rows=[gsm8k_input_rows], + input_rows=gsm8k_input_rows, completion_params=[ { "max_tokens": 512, @@ -48,7 +48,9 @@ def test_gsm8k_tinker(row: EvaluationRow) -> EvaluationRow: else: model_response = assistant_msgs[-1].content # The content might be a list of content parts, handle that - if not isinstance(model_response, str): + if model_response is None: + model_response = "" + elif not isinstance(model_response, str): # Simple join for now if it's a list model_response = "".join([p.text for p in model_response if hasattr(p, "text")]) diff --git a/examples/tinker_math_rl/train.py b/examples/tinker_math_rl/train.py index 109e47de..3f62f184 100644 --- a/examples/tinker_math_rl/train.py +++ b/examples/tinker_math_rl/train.py @@ -1,4 +1,5 @@ import asyncio +import copy import logging import os import sys @@ -6,6 +7,7 @@ from typing import Literal, Any, Optional import chz +import datetime # Add tinker-cookbook to path if not installed # Assuming the directory structure: @@ -153,7 +155,7 @@ async def cli_main(cli_config: CLIConfig): # Need to wrap in a factory as expected by Config.evaluator_builders def create_eval_protocol_evaluator(): return EvalProtocolEvaluator( - rows=eval_rows, + rows=copy.deepcopy(eval_rows), eval_func=test_gsm8k_tinker, rollout_processor_cls=TinkerRolloutProcessor, model_name=cli_config.model_name, @@ -203,7 +205,5 @@ def create_eval_protocol_evaluator(): if __name__ == "__main__": - from datetime import datetime - cli_config = chz.entrypoint(CLIConfig) asyncio.run(cli_main(cli_config)) From 8a1b8f02d33f69ba282c1edee4167dbb70e15054 Mon Sep 17 00:00:00 2001 From: Benny Chen Date: Thu, 20 Nov 2025 00:49:49 -0800 Subject: [PATCH 3/3] typo --- examples/tinker_math_rl/train.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/tinker_math_rl/train.py b/examples/tinker_math_rl/train.py index 3f62f184..b107e322 100644 --- a/examples/tinker_math_rl/train.py +++ b/examples/tinker_math_rl/train.py @@ -7,7 +7,7 @@ from typing import Literal, Any, Optional import chz -import datetime +from datetime import datetime # Add tinker-cookbook to path if not installed # Assuming the directory structure: