Skip to content

Add regression-only Nori-Rel 30M - #17

Open
minkyu-choi07 wants to merge 3 commits into
PriorLabs:mainfrom
minkyu-choi07:feat/nori-rel-30m-regression
Open

Add regression-only Nori-Rel 30M#17
minkyu-choi07 wants to merge 3 commits into
PriorLabs:mainfrom
minkyu-choi07:feat/nori-rel-30m-regression

Conversation

@minkyu-choi07

Copy link
Copy Markdown

Summary

  • Register nori-rel for regression tasks only.
  • Run the frozen public Nori 30M checkpoint on RelArena's depth-2 DFS features.
  • Add the optional dependency, checkpoint verification, docs, and focused tests.

Protocol

  • synthefy-nori==0.19.0, synthefy==7.0.4
  • Hugging Face revision 63c9f7facf9fb32c37ce3fc2fba331d524696318
  • checkpoint SHA-256 818433f8af12c1137b96d9ff47e109b4eef5818d4e52a9656b2e573dbf13b74d
  • median regression output; fixed depth 2; seeded random context window
  • host-offloaded BF16 cache; no quantization or silent context subsampling

The model has no tuning axis and does not update the checkpoint. An internal seed-0 sweep covers all 9 regression tasks and wins 7/9 head-to-head against the selected tabpfn-rel-client baseline at benchmark commit efac8f26435ff4cb682b2ca19329fb391a2bfa58. No baseline_results rows are included pending the regression-only reporting decision in #16.

Checks

  • uv run pre-commit run --all-files
  • OMP_NUM_THREADS=1 uv run pytest — 396 passed, 20 skipped
  • uv build
  • public checkpoint download, SHA verification, and real CPU prediction smoke test

Related to #16.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Want higher recall? High effort reviews run extra passes and find more bugs. A team admin can switch effort levels in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 3411564. Configure here.

Comment thread src/relarena/models/nori_rel/model.py
@adrian-prior
adrian-prior self-requested a review August 31, 2026 18:07

@adrian-prior adrian-prior left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot for the submission! I left some minor comments, but in general this looks good to me. Let me know, if this is the final state I should run. For now, we have run submissions in the following way (e.g. for RT-PluRel):

  • You tell me when the code is ready
  • I run everything on Prior Labs infrastructure and commit the results
  • You compare the results to what you got in your test runs -> if there are issues you can fix it and we do a rerun (of everything); Otherwise, we merge the PR.

Let me know, if you have any questions :)

Comment thread examples/nori_rel.ipynb
@@ -0,0 +1,303 @@
{

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Optional suggestion: You might want to add cell outputs, so users can easily read the notebook without having to run all cells themselves.

Comment thread README.md
Comment on lines +343 to +346
The [Nori-Rel walkthrough](examples/nori_rel.ipynb) covers installation,
choosing a regression task, warming its DFS feature cache, running the frozen
30M checkpoint, and saving the result.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this can be removed. I am unsure how this fits into the dependency section, and you already have a reference in the examples README.

@@ -0,0 +1,5 @@
"""Nori-Rel: depth-2 DFS features with the frozen Nori 30M regressor."""

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know that you describe how to add warm the cache in the notebook, but could you also add a warm_cache.py file like we have for most other methods (that don't share the cache with others)

Comment thread pyproject.toml
# prepared. The exact dependency pin above keeps this exemption reproducible.
exclude-newer-package = { relational-transformer = false }
# Exact model releases may be newer than the rolling global cutoff.
exclude-newer-package = { relational-transformer = false, synthefy = false, synthefy-nori = false }

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this change needed? Otherwise, please revert.

Comment on lines +1 to +5
"""Nori-Rel: frozen Nori 30M over depth-2 DFS features.

Nori performs regression by in-context learning; ``fit`` stores labeled rows and
does not update the public checkpoint. Large contexts use a seeded random window
with cache offload instead of silent quantization or subsampling.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As far as I can see, Nori-Rel makes pretty heavy use of the TabPFN-Rel harness, which in turn uses featuretools and many learnings from rdblearn. I think it would be nice to attribute this here and also document the differences/improvements that nori-rel (beyond swapping out the TFM).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants