Point the nnterp pin at our fork for the text-tower fix - #47
Closed
can-goodfire wants to merge 1 commit into
Closed
can-goodfire wants to merge 1 commit into
can-goodfire wants to merge 1 commit into
Conversation
nnsight's LanguageModel refuses any config registered with AutoModelForImageTextToText, so it cannot load qwen3_5_moe — the text tower of Qwen3.6-35B-A3B and the target of the hookpoint-vocabulary work — even though AutoModelForCausalLM resolves to that tower cleanly. ndif-team/nnterp#52 fixes it and is open for review; this unpins us from that review landing. 45f386b is the upstream pin b4a3127 plus the two commits in #52, so this is a strict superset of what we had — the packaging fix (#49) that motivated the git source in the first place is still in there, and the comment now records both reasons and how each retires. Verified installed from the fork's public URL rather than a local path: nnterp 1.3.1.dev16+g45f386b7c loads tiny-random/qwen3.5-moe as Qwen3_5MoeForCausalLM with no vision tower attached, and traces to logits. Note this branch still resolves transformers 4.57.1, which carries no qwen3_5_moe, so the fix ships here but cannot be exercised until a transformers >= 5.16 bump reaches this lineage. That bump landed downstream on can/protocol-refactor (#46) and is a separate decision for the path to main. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Collaborator
Author
|
NNterp implemented fixes upstream |
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.
Unblocks us from waiting on ndif-team/nnterp#52 to be reviewed.
Why
nnsight's
LanguageModelrefuses any config registered withAutoModelForImageTextToText.qwen3_5_moe— the text tower of Qwen3.6-35B-A3B, and the target of the hookpoint-vocabulary work — is registered there and underAutoModelForCausalLM, so the tower loads cleanly and the refusal is over-broad. Without the fix, nnterp cannot load the model at all.#52 fixes it upstream and is open for review. This repoints the existing git source at our fork in the meantime.
What changes
One line plus its comment:
45f386bis the previous upstream pinb4a3127plus the two commits in #52, so this is a strict superset of what we had — the packaging fix (#49) that motivated the git source in the first place is still in there. The comment now records both reasons and how each retires:ndif-teamuv lock --upgrade-package nnterpmoved only nnterp (1.3.1.dev14+gb4a312746→1.3.1.dev16+g45f386b7c); the other 239 packages are unchanged.Verification
Installed from the fork's public URL rather than a local path, to prove the fork actually unblocks a clean checkout:
tiny-random/qwen3.5-moethen loads asQwen3_5MoeForCausalLMwith no vision tower attached, and traces to logits.One caveat worth knowing
This branch still resolves transformers 4.57.1, which carries no
qwen3_5_moe. So the fix ships here but cannot be exercised on this lineage until atransformers >= 5.16bump reaches it. That bump landed downstream oncan/protocol-refactor(#46, merged) and whether it should also come to the path tomainis a separate call — flagging rather than bundling it.Also worth noting:
can/protocol-refactorhas no nnterp dependency at all, so the round-1 hookpoint work is not blocked by #52 — itspytorch_hooksbackend loads the tower throughAutoModelForCausalLMdirectly.🤖 Generated with Claude Code