results: transfer-eval-8fold zero-shot skill-transfer pilot report - #421
Merged
Conversation
Records the transfer_eval_v1 pilot: 8 folds over 5 tasks, each taking a frozen winning skill from one task and evaluating it zero-shot (--max-iterations 0) on a different task. Two things worth flagging in the numbers: - cap-evolve's own test_delta is 0.0 on every fold, but that is an artifact of --max-iterations 0, not a finding: the transfer project's seed *is* the frozen donor skill and is the only artifact evaluated, so it is compared against itself. The report instead computes transfer_reward - native_seed against results/results.json. - Transfer actively hurts where the target already has a strong seed: weighted-gdp-calc seeds at 0.8 natively but drops to 0.2/0.3 under donor skills (-0.6, -0.5). The three positive lifts (+0.1/+0.2/+0.3) all land on targets whose native seed was 0.0-0.1, and no fold approaches the target's own optimized score. Fold 1 (shock-analysis-demand -> shock-analysis-supply) is still running as job 555427 and is marked pending in both files; it completes the same-domain pair, which is the most interesting cell in the table. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
OsherElhadad
pushed a commit
that referenced
this pull request
Sep 7, 2026
…01) (#459) 8-fold zero-shot skill-transfer pilot (transfer_eval_v1, merged via #421 into skillsbench-history) had no dashboard record. Each row is one train->test fold (not a SkillsBench task); reward_baseline/reward_opt show the target task's own native seed vs. the transferred donor skill's score on it, per the source summary's own comparison of interest -- cap-evolve's own per-fold test_delta is always 0.0 by construction under --max-iterations 0 and would be meaningless here. Signed-off-by: Boaz Carmeli <boazc@il.ibm.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
results/transfer-eval-8fold/recording thetransfer_eval_v1pilot: 8 folds over 5 tasks, each taking a frozen winning skill from one task and evaluating it zero-shot (--max-iterations 0, no adaptation) on a different task.summary.md— narrative report, following thesummary.mdconvention of the siblingresults/folderstransfer_eval_8fold.json— machine-readable per-fold recordTwo things worth a second look
1. cap-evolve's own
test_deltais 0.0 on all 8 folds — that's an artifact, not a finding. With--max-iterations 0the transfer project's "seed" is the frozen donor skill, and it's the only artifact evaluated, so cap-evolve compares it against itself (best_id: "seed",test_reward == test_baseline_reward). Any real transfer effect has to be measured against the target task's native seed fromresults/results.json, which is what the report'stransfer − native_seedcolumn does.2. Transfer actively hurts where the target already has a strong seed.
weighted-gdp-calcseeds at 0.8 natively but drops to 0.2/0.3 under donor skills (−0.6, −0.5). The three positive lifts (+0.1/+0.2/+0.3) all land on targets whose native seed was 0.0–0.1 — the weakest possible baseline — and no fold approaches the target's own optimized score.Results
‡ in-loop val score — these four are
KILLED_ceilinginresults.jsonwithfinal_test: null, so no held-out test eval ran.Not yet final
Fold 1 is still running as LSF job 555427 and is marked
_pending_in both files. It completes theshock-analysis-demand↔shock-analysis-supplypair — the same-domain, most-natural-transfer cell, and the most interesting one in the table (its mirror, fold 3, came back 0.0). I'll push a follow-up commit to this branch with that number before merge.Sample size is 8 folds over 5 tasks in 2 domains — directional only.
Related
The CCC/LSF operational lessons from this pilot (don't pass
-W, pollcap-evolve.loginstead ofbjobsSTAT, one dedicated host per job,-n 1) went to #412 instead, replacing its## Batch (LSF) mode — TODOsection, since that's where the CCC how-to lives.🤖 Generated with Claude Code