gemma-3
generate seems to be broken in 0.5 (trace works and generate works in 0.4.8)
from nnsight import LanguageModel
gemma3 = LanguageModel("axolotl-ai-co/gemma-3-34M", device_map="auto", dispatch=True)
with gemma3.generate("Hello, world!", max_length=10):
print(gemma3.output.logits.save())
tensor([[[ 0.0000, -0.3108, -0.0311, ..., -0.0029, 0.1946, 0.3862]]],
device='cuda:1')
Traceback (most recent call last):
File "/workspace/nnterp/a.py", line 3, in <module>
with gemma3.generate("Hello, world!", max_length=10):
File "/root/.venv/lib/python3.10/site-packages/nnsight/intervention/tracing/base.py", line 387, in __exit__
self.backend(self)
File "/root/.venv/lib/python3.10/site-packages/nnsight/intervention/backends/execution.py", line 24, in __call__
raise wrap_exception(e, tracer.info) from None
nnsight.NNsightException:
Traceback (most recent call last):
File "/root/.venv/lib/python3.10/site-packages/nnsight/intervention/backends/execution.py", line 21, in __call__
tracer.execute(fn)
File "/root/.venv/lib/python3.10/site-packages/nnsight/intervention/tracing/tracer.py", line 331, in execute
self.model.interleave(interleaver, self.fn, *args, **kwargs)
File "/root/.venv/lib/python3.10/site-packages/nnsight/modeling/mixins/meta.py", line 76, in interleave
return super().interleave(interleaver, fn, *args, **kwargs)
File "/root/.venv/lib/python3.10/site-packages/nnsight/intervention/envoy.py", line 705, in interleave
interleaver(fn, *args, **kwargs)
File "/root/.venv/lib/python3.10/site-packages/nnsight/intervention/interleaver.py", line 312, in __call__
fn(*args, **kwargs)
File "/root/.venv/lib/python3.10/site-packages/nnsight/modeling/language.py", line 145, in __nnsight_generate__
output = self._model.generate(*args, **kwargs)
File "/root/.venv/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 116, in decorate_context
return func(*args, **kwargs)
File "/root/.venv/lib/python3.10/site-packages/transformers/generation/utils.py", line 2623, in generate
result = self._sample(
File "/root/.venv/lib/python3.10/site-packages/transformers/generation/utils.py", line 3607, in _sample
outputs = model_forward(**model_inputs, return_dict=True)
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/eval_frame.py", line 655, in _fn
return fn(*args, **kwargs)
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/convert_frame.py", line 1432, in __call__
return self._torchdynamo_orig_callable(
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/convert_frame.py", line 598, in __call__
return _compile(
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/convert_frame.py", line 1059, in _compile
guarded_code = compile_inner(code, one_graph, hooks, transform)
File "/root/.venv/lib/python3.10/site-packages/torch/_utils_internal.py", line 97, in wrapper_function
return function(*args, **kwargs)
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/convert_frame.py", line 761, in compile_inner
return _compile_inner(code, one_graph, hooks, transform)
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/convert_frame.py", line 797, in _compile_inner
out_code = transform_code_object(code, transform)
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/bytecode_transformation.py", line 1422, in transform_code_object
transformations(instructions, code_options)
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/convert_frame.py", line 257, in _fn
return fn(*args, **kwargs)
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/convert_frame.py", line 715, in transform
tracer.run()
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py", line 3500, in run
super().run()
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py", line 1337, in run
while self.step():
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py", line 1246, in step
self.dispatch_table[inst.opcode](self, inst)
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py", line 819, in wrapper
return inner_fn(self, inst)
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py", line 2168, in CALL_FUNCTION
self.call_function(fn, args, {})
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py", line 1170, in call_function
self.push(fn.call_function(self, args, kwargs)) # type: ignore[arg-type]
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/variables/functions.py", line 926, in call_function
return super().call_function(tx, args, kwargs)
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/variables/functions.py", line 404, in call_function
return super().call_function(tx, args, kwargs)
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/variables/functions.py", line 185, in call_function
return tx.inline_user_function_return(self, [*self.self_args(), *args], kwargs)
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py", line 1187, in inline_user_function_return
return InliningInstructionTranslator.inline_call(self, fn, args, kwargs)
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py", line 3726, in inline_call
return tracer.inline_call_()
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py", line 3905, in inline_call_
self.run()
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py", line 1337, in run
while self.step():
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py", line 1246, in step
self.dispatch_table[inst.opcode](self, inst)
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py", line 819, in wrapper
return inner_fn(self, inst)
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py", line 2168, in CALL_FUNCTION
self.call_function(fn, args, {})
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py", line 1170, in call_function
self.push(fn.call_function(self, args, kwargs)) # type: ignore[arg-type]
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/variables/functions.py", line 926, in call_function
return super().call_function(tx, args, kwargs)
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/variables/functions.py", line 404, in call_function
return super().call_function(tx, args, kwargs)
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/variables/functions.py", line 185, in call_function
return tx.inline_user_function_return(self, [*self.self_args(), *args], kwargs)
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py", line 1187, in inline_user_function_return
return InliningInstructionTranslator.inline_call(self, fn, args, kwargs)
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py", line 3726, in inline_call
return tracer.inline_call_()
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py", line 3905, in inline_call_
self.run()
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py", line 1337, in run
while self.step():
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py", line 1246, in step
self.dispatch_table[inst.opcode](self, inst)
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py", line 819, in wrapper
return inner_fn(self, inst)
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py", line 2168, in CALL_FUNCTION
self.call_function(fn, args, {})
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py", line 1170, in call_function
self.push(fn.call_function(self, args, kwargs)) # type: ignore[arg-type]
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/variables/functions.py", line 926, in call_function
return super().call_function(tx, args, kwargs)
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/variables/functions.py", line 404, in call_function
return super().call_function(tx, args, kwargs)
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/variables/functions.py", line 185, in call_function
return tx.inline_user_function_return(self, [*self.self_args(), *args], kwargs)
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py", line 1187, in inline_user_function_return
return InliningInstructionTranslator.inline_call(self, fn, args, kwargs)
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py", line 3726, in inline_call
return tracer.inline_call_()
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py", line 3905, in inline_call_
self.run()
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py", line 1337, in run
while self.step():
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py", line 1246, in step
self.dispatch_table[inst.opcode](self, inst)
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py", line 1688, in SETUP_WITH
self.setup_or_before_with(inst)
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py", line 2960, in setup_or_before_with
unimplemented_v2(
File "/root/.venv/lib/python3.10/site-packages/torch/_dynamo/exc.py", line 517, in unimplemented_v2
raise Unsupported(msg)
Unsupported: Unsupported context manager
Explanation: Dynamo does not know how to enter a `lock` context manager.
Hint: Avoid using the unsupported context manager.
Hint: File an issue to PyTorch. Simple context managers can potentially be supported, but note that context managers can't be supported in general
Developer debug context: Attempted SETUP_WITH/BEFORE_WITH on UserDefinedObjectVariable(lock)
from user code:
File "/root/.venv/lib/python3.10/site-packages/nnsight/intervention/interleaver.py", line 122, in inner
inputs = self.handle(self.iterate(f"{provider}.input"), (args, kwargs))
File "/root/.venv/lib/python3.10/site-packages/nnsight/intervention/interleaver.py", line 356, in handle
mediator.handle(provider)
File "/root/.venv/lib/python3.10/site-packages/nnsight/intervention/interleaver.py", line 521, in handle
process = not self.event_queue.empty()
File "/usr/lib/python3.10/queue.py", line 108, in empty
with self.mutex: