Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
100 changes: 67 additions & 33 deletions .github/workflows/jumpbench-neural-eval.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
name: JumpBench neural evaluation

on:
push:
branches:
- research/jumpbench-neural-eval
pull_request:
branches:
- master
Expand All @@ -13,45 +10,82 @@ permissions:
contents: read

jobs:
discover-models:
neural-confirmatory:
name: confirm-${{ matrix.label }}-s${{ matrix.start }}
runs-on: ubuntu-latest
timeout-minutes: 30
timeout-minutes: 150
strategy:
fail-fast: false
matrix:
include:
- label: bounded-base-0p6b
model: littlelearner/littlelearner-0.6b-base
revision: 822ef3a9700a952f74a3923b45829d53bdc76bee
start: 0
- label: bounded-base-0p6b
model: littlelearner/littlelearner-0.6b-base
revision: 822ef3a9700a952f74a3923b45829d53bdc76bee
start: 24
- label: unfiltered-base-0p6b
model: littlelearner/unfiltered-0.6b-base
revision: fb0bb25397dca503e1a9741b2e7e826170dc525d
start: 0
- label: unfiltered-base-0p6b
model: littlelearner/unfiltered-0.6b-base
revision: fb0bb25397dca503e1a9741b2e7e826170dc525d
start: 24
- label: bounded-grpo-0p6b
model: littlelearner/littlelearner-0.6b-grpo-math-expert
revision: 301a228c83efdf45759e88e697589b9e18ae8222
start: 0
- label: bounded-grpo-0p6b
model: littlelearner/littlelearner-0.6b-grpo-math-expert
revision: 301a228c83efdf45759e88e697589b9e18ae8222
start: 24
- label: unfiltered-grpo-0p6b
model: littlelearner/unfiltered-0.6b-grpo-math-expert
revision: 819453e53d7d8d304c0e986a5a9f2ad6a57243ca
start: 0
- label: unfiltered-grpo-0p6b
model: littlelearner/unfiltered-0.6b-grpo-math-expert
revision: 819453e53d7d8d304c0e986a5a9f2ad6a57243ca
start: 24
steps:
- uses: actions/checkout@v4
- name: Environment
- name: Materialize and verify frozen artifacts
run: |
set -euo pipefail
mkdir -p frozen-runtime
base64 --decode experiments/jumpbench/frozen/neural_eval_v0.3.py.gz.b64 | gzip -dc > frozen-runtime/neural_eval.py
base64 --decode experiments/jumpbench/frozen/neural_confirmatory_manifest.json.gz.b64 | gzip -dc > frozen-runtime/neural_confirmatory_manifest.json
base64 --decode experiments/jumpbench/frozen/neural_confirmatory_preregistration.md.gz.b64 | gzip -dc > frozen-runtime/NEURAL_CONFIRMATORY_PREREGISTRATION.md
echo "1435900ccc75bf7310ab4fb920cb6eee855e1091b14049bdc71a5384d7e7c985 frozen-runtime/neural_eval.py" | sha256sum --check
echo "fbf1eecd4273575aa70071662bf03cd1b02c5f59df25bcd5c36765bf84362e92 frozen-runtime/neural_confirmatory_manifest.json" | sha256sum --check
echo "3d7e0c8be15d1e44624e156f6354dfe6ab8899abf5440d9daf000644461271fc frozen-runtime/NEURAL_CONFIRMATORY_PREREGISTRATION.md" | sha256sum --check
python --version
free -h
nproc
- name: Discover LittleLearner model repositories
- name: Install CPU inference dependencies
run: |
python -m pip install --upgrade --quiet pip
python -m pip install --quiet --index-url https://download.pytorch.org/whl/cpu torch
python -m pip install --quiet "transformers>=4.52,<5" "accelerate>=1.2" safetensors huggingface_hub numpy
- name: Run preregistered neural acquisition shard
env:
HF_HUB_DISABLE_TELEMETRY: "1"
TOKENIZERS_PARALLELISM: "false"
run: |
set -euo pipefail
python - <<'PY'
import json, urllib.parse, urllib.request
queries = [
{"author": "littlelearner", "limit": 100, "full": "true"},
{"search": "LittleLearner", "limit": 100, "full": "true"},
{"search": "littlelearner-ll", "limit": 100, "full": "true"},
{"filter": "arxiv:2608.13545", "limit": 100, "full": "true"},
]
found = {}
for params in queries:
url = "https://huggingface.co/api/models?" + urllib.parse.urlencode(params)
print("QUERY", url)
with urllib.request.urlopen(url, timeout=60) as response:
payload = json.load(response)
print("COUNT", len(payload))
for model in payload:
model_id = model.get("id") or model.get("modelId")
if model_id:
found[model_id] = model
print("MODEL", model_id, "sha=", model.get("sha"), "private=", model.get("private"))
with open("hf_models.json", "w", encoding="utf-8") as handle:
json.dump(found, handle, indent=2)
print("UNIQUE_MODELS", len(found))
PY
mkdir -p neural-results
python frozen-runtime/neural_eval.py \
--model "${{ matrix.model }}" \
--revision "${{ matrix.revision }}" \
--manifest frozen-runtime/neural_confirmatory_manifest.json \
--start-index "${{ matrix.start }}" \
--max-tasks 24 \
--output "neural-results/${{ matrix.label }}-s${{ matrix.start }}.json"
- uses: actions/upload-artifact@v4
with:
name: jumpbench-hf-model-discovery
path: hf_models.json
name: jumpbench-neural-confirm-${{ matrix.label }}-s${{ matrix.start }}
path: neural-results/${{ matrix.label }}-s${{ matrix.start }}.json
if-no-files-found: error
3 changes: 3 additions & 0 deletions experiments/jumpbench/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# JumpBench neural evaluation workspace

Temporary branch-only workspace for frozen neural experiments on constructive representational acquisition. Results are uploaded by GitHub Actions and are not part of the SciAgent skill release.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
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
1 change: 1 addition & 0 deletions experiments/jumpbench/frozen/neural_eval_v0.3.py.gz.b64
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
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
Loading
Loading