From 566b4a821dd31c083ecb4b5128d5b1002088b5d7 Mon Sep 17 00:00:00 2001 From: 0z5a Date: Tue, 6 Oct 2026 08:02:55 +0800 Subject: [PATCH] Record IQuest dual-attention replay qualification and update failures Signed-off-by: 0z5a --- benchmarks/audit_iquest_replay.py | 212 +++ benchmarks/probe_iquest_source.py | 120 ++ benchmarks/results/iquest-contract/README.md | 27 + .../results/iquest-contract/SHA256SUMS.json | 54 + .../cached-explicit-tiny-8.input.json | 94 ++ .../cached-explicit-tiny-8.json | 97 ++ .../cached-tiny-8-attempt08.log | 375 +++++ .../iquest-contract/cached-tiny-8.input.json | 93 ++ .../checkpointed-explicit-tiny-8.input.json | 94 ++ .../checkpointed-explicit-tiny-8.log | 384 +++++ .../decode-explicit-tiny-65.input.json | 94 ++ .../decode-explicit-tiny-65.json | 98 ++ .../decode-explicit-tiny-8.input.json | 94 ++ .../decode-explicit-tiny-8.json | 98 ++ ...nal-replay-audit-attempt01-provenance.json | 9 + .../functional-replay-audit-attempt01.json | 206 +++ .../functional-replay-audit-attempt01.log | 371 +++++ .../functional-replay-audit-attempt02.log | 376 +++++ .../functional-replay-audit.json | 1310 ++++++++++++++++ ...functional-replay-math-audit-attempt01.log | 377 +++++ .../functional-replay-math-audit.json | 1311 +++++++++++++++++ .../results/iquest-contract/reference/LICENSE | 26 + .../iquest-contract/reference/README.md | 182 +++ .../iquest-contract/reference/__init__.py | 26 + .../iquest-contract/reference/config.json | 34 + .../configuration_iquestloopcoder.py | 132 ++ .../reference/generation_config.json | 6 + .../reference/header-resume-input.json | 26 + .../reference/model.safetensors.index.json | 890 +++++++++++ .../reference/modeling_iquestloopcoder.py | 1113 ++++++++++++++ .../reference/source_manifest.json | 77 + .../reference/tokenization_iquestcoder.py | 552 +++++++ .../iquest-contract/reference/tokenizer.model | Bin 0 -> 1345108 bytes .../reference/tokenizer_config.json | 242 +++ .../reference/weight-header-audit.json | 1059 +++++++++++++ .../model-00001-of-00016.safetensors.header | Bin 0 -> 20816 bytes .../model-00002-of-00016.safetensors.header | Bin 0 -> 5824 bytes .../model-00003-of-00016.safetensors.header | Bin 0 -> 5344 bytes .../model-00004-of-00016.safetensors.header | Bin 0 -> 6056 bytes .../model-00005-of-00016.safetensors.header | Bin 0 -> 5344 bytes .../model-00006-of-00016.safetensors.header | Bin 0 -> 5360 bytes .../model-00007-of-00016.safetensors.header | Bin 0 -> 6048 bytes .../model-00008-of-00016.safetensors.header | Bin 0 -> 5360 bytes .../model-00009-of-00016.safetensors.header | Bin 0 -> 5344 bytes .../model-00010-of-00016.safetensors.header | Bin 0 -> 6056 bytes .../model-00011-of-00016.safetensors.header | Bin 0 -> 5344 bytes .../model-00012-of-00016.safetensors.header | Bin 0 -> 5360 bytes .../model-00013-of-00016.safetensors.header | Bin 0 -> 6048 bytes .../model-00014-of-00016.safetensors.header | Bin 0 -> 5360 bytes .../model-00015-of-00016.safetensors.header | Bin 0 -> 5352 bytes .../model-00016-of-00016.safetensors.header | Bin 0 -> 1816 bytes .../uncached-explicit-tiny-8.input.json | 94 ++ .../uncached-explicit-tiny-8.log | 378 +++++ .../weight-header-audit-attempt01.log | 65 + .../weight-header-audit-attempt02.log | 1 + docs/iquest_semantic_qualification.md | 40 + vime_plugins/iquest/__init__.py | 1 + vime_plugins/iquest/replay.py | 100 ++ 58 files changed, 10938 insertions(+) create mode 100644 benchmarks/audit_iquest_replay.py create mode 100644 benchmarks/probe_iquest_source.py create mode 100644 benchmarks/results/iquest-contract/README.md create mode 100644 benchmarks/results/iquest-contract/SHA256SUMS.json create mode 100644 benchmarks/results/iquest-contract/cached-explicit-tiny-8.input.json create mode 100644 benchmarks/results/iquest-contract/cached-explicit-tiny-8.json create mode 100644 benchmarks/results/iquest-contract/cached-tiny-8-attempt08.log create mode 100644 benchmarks/results/iquest-contract/cached-tiny-8.input.json create mode 100644 benchmarks/results/iquest-contract/checkpointed-explicit-tiny-8.input.json create mode 100644 benchmarks/results/iquest-contract/checkpointed-explicit-tiny-8.log create mode 100644 benchmarks/results/iquest-contract/decode-explicit-tiny-65.input.json create mode 100644 benchmarks/results/iquest-contract/decode-explicit-tiny-65.json create mode 100644 benchmarks/results/iquest-contract/decode-explicit-tiny-8.input.json create mode 100644 benchmarks/results/iquest-contract/decode-explicit-tiny-8.json create mode 100644 benchmarks/results/iquest-contract/functional-replay-audit-attempt01-provenance.json create mode 100644 benchmarks/results/iquest-contract/functional-replay-audit-attempt01.json create mode 100644 benchmarks/results/iquest-contract/functional-replay-audit-attempt01.log create mode 100644 benchmarks/results/iquest-contract/functional-replay-audit-attempt02.log create mode 100644 benchmarks/results/iquest-contract/functional-replay-audit.json create mode 100644 benchmarks/results/iquest-contract/functional-replay-math-audit-attempt01.log create mode 100644 benchmarks/results/iquest-contract/functional-replay-math-audit.json create mode 100644 benchmarks/results/iquest-contract/reference/LICENSE create mode 100644 benchmarks/results/iquest-contract/reference/README.md create mode 100644 benchmarks/results/iquest-contract/reference/__init__.py create mode 100644 benchmarks/results/iquest-contract/reference/config.json create mode 100644 benchmarks/results/iquest-contract/reference/configuration_iquestloopcoder.py create mode 100644 benchmarks/results/iquest-contract/reference/generation_config.json create mode 100644 benchmarks/results/iquest-contract/reference/header-resume-input.json create mode 100644 benchmarks/results/iquest-contract/reference/model.safetensors.index.json create mode 100644 benchmarks/results/iquest-contract/reference/modeling_iquestloopcoder.py create mode 100644 benchmarks/results/iquest-contract/reference/source_manifest.json create mode 100644 benchmarks/results/iquest-contract/reference/tokenization_iquestcoder.py create mode 100644 benchmarks/results/iquest-contract/reference/tokenizer.model create mode 100644 benchmarks/results/iquest-contract/reference/tokenizer_config.json create mode 100644 benchmarks/results/iquest-contract/reference/weight-header-audit.json create mode 100644 benchmarks/results/iquest-contract/reference/weight-headers/model-00001-of-00016.safetensors.header create mode 100644 benchmarks/results/iquest-contract/reference/weight-headers/model-00002-of-00016.safetensors.header create mode 100644 benchmarks/results/iquest-contract/reference/weight-headers/model-00003-of-00016.safetensors.header create mode 100644 benchmarks/results/iquest-contract/reference/weight-headers/model-00004-of-00016.safetensors.header create mode 100644 benchmarks/results/iquest-contract/reference/weight-headers/model-00005-of-00016.safetensors.header create mode 100644 benchmarks/results/iquest-contract/reference/weight-headers/model-00006-of-00016.safetensors.header create mode 100644 benchmarks/results/iquest-contract/reference/weight-headers/model-00007-of-00016.safetensors.header create mode 100644 benchmarks/results/iquest-contract/reference/weight-headers/model-00008-of-00016.safetensors.header create mode 100644 benchmarks/results/iquest-contract/reference/weight-headers/model-00009-of-00016.safetensors.header create mode 100644 benchmarks/results/iquest-contract/reference/weight-headers/model-00010-of-00016.safetensors.header create mode 100644 benchmarks/results/iquest-contract/reference/weight-headers/model-00011-of-00016.safetensors.header create mode 100644 benchmarks/results/iquest-contract/reference/weight-headers/model-00012-of-00016.safetensors.header create mode 100644 benchmarks/results/iquest-contract/reference/weight-headers/model-00013-of-00016.safetensors.header create mode 100644 benchmarks/results/iquest-contract/reference/weight-headers/model-00014-of-00016.safetensors.header create mode 100644 benchmarks/results/iquest-contract/reference/weight-headers/model-00015-of-00016.safetensors.header create mode 100644 benchmarks/results/iquest-contract/reference/weight-headers/model-00016-of-00016.safetensors.header create mode 100644 benchmarks/results/iquest-contract/uncached-explicit-tiny-8.input.json create mode 100644 benchmarks/results/iquest-contract/uncached-explicit-tiny-8.log create mode 100644 benchmarks/results/iquest-contract/weight-header-audit-attempt01.log create mode 100644 benchmarks/results/iquest-contract/weight-header-audit-attempt02.log create mode 100644 docs/iquest_semantic_qualification.md create mode 100644 vime_plugins/iquest/__init__.py create mode 100644 vime_plugins/iquest/replay.py diff --git a/benchmarks/audit_iquest_replay.py b/benchmarks/audit_iquest_replay.py new file mode 100644 index 000000000..1fd28ac95 --- /dev/null +++ b/benchmarks/audit_iquest_replay.py @@ -0,0 +1,212 @@ +"""Compare functional replay with unmodified official token-by-token autograd.""" + +import argparse +import copy +import hashlib +import importlib +import json +import sys +import types +from contextlib import nullcontext +from pathlib import Path + +import torch +import torch.nn.functional as F +from torch.nn.attention import SDPBackend, sdpa_kernel + +ROOT = Path(__file__).resolve().parents[1] +SOURCE = ROOT / "benchmarks/results/iquest-contract/reference" +sys.path.insert(0, str(ROOT)) +from vime_plugins.iquest.replay import replay + + +def official_forward(model, tokens: torch.Tensor) -> torch.Tensor: + cache, logits = None, [] + for position in range(tokens.shape[1]): + mask = torch.zeros((1, 1, 1, position + 1)) + result = model( + input_ids=tokens[:, position : position + 1], + past_key_values=cache, + attention_mask={"full_attention": mask}, + use_cache=True, + cache_position=torch.tensor([position]), + position_ids=torch.tensor([[position]]), + ) + cache = result.past_key_values + logits.append(result.logits) + return torch.cat(logits, dim=1) + + +def build_model(seed: int): + package = types.ModuleType("pinned_iquest") + package.__path__ = [str(SOURCE)] + sys.modules[package.__name__] = package + config_module = importlib.import_module("pinned_iquest.configuration_iquestloopcoder") + model_module = importlib.import_module("pinned_iquest.modeling_iquestloopcoder") + torch.manual_seed(seed) + config = config_module.IQuestLoopCoderConfig( + vocab_size=97, + hidden_size=32, + intermediate_size=48, + num_hidden_layers=2, + num_attention_heads=4, + num_key_value_heads=2, + head_dim=8, + max_position_embeddings=131072, + loop_num=2, + loop_window_size=64, + ) + config._attn_implementation = "eager" + model = model_module.IQuestLoopCoderForCausalLM(config).float() + with torch.no_grad(): + for gate in model.model.gate_projections: + gate.weight.normal_(std=0.1) + gate.bias.normal_(std=0.1) + return model + + +def main(math_backend: bool, output: Path) -> None: + torch.set_num_threads(1) + manifest = json.loads((SOURCE / "source_manifest.json").read_text()) + for entry in manifest["files"]: + assert hashlib.sha256((SOURCE / entry["path"]).read_bytes()).hexdigest() == entry["sha256"] + assert not output.exists() + receipt = { + "state": "RUNNING", + "revision": manifest["revision"], + "torch": torch.__version__, + "official_weights": False, + "device": "cpu", + "sdpa_backend": "MATH" if math_backend else "AUTO", + "gradient_relative_l2_gate": 2e-6, + "logits_atol": 1e-5, + "logits_rtol": 1e-5, + "optimizer": "AdamW", + "learning_rate": 1e-4, + "betas": [0.9, 0.999], + "eps": 1e-8, + "weight_decay": 0.1, + "cases": [], + "scope": "Tiny supervised numerical/Adam equivalence; not RL reward convergence or 40B execution.", + } + for seed in (42, 43): + for length in (1, 4, 8, 65): + for recompute in (False, True): + reference = build_model(seed) + candidate = copy.deepcopy(reference) + tokens = torch.randint(3, 97, (1, length)) + targets = torch.randint(0, 97, (length,)) + params = [dict(m.named_parameters()) for m in (reference, candidate)] + assert params[0].keys() == params[1].keys() + optimizers = [ + torch.optim.AdamW( + m.parameters(), + lr=1e-4, + betas=(0.9, 0.999), + eps=1e-8, + weight_decay=0.1, + ) + for m in (reference, candidate) + ] + case = { + "seed": seed, + "length": length, + "recompute": recompute, + "tokens": tokens.tolist(), + "targets": targets.tolist(), + "steps": [], + } + receipt["cases"].append(case) + for step in (1, 2): + before = [{k: p.detach().clone() for k, p in row.items()} for row in params] + for optimizer in optimizers: + optimizer.zero_grad(set_to_none=True) + expected = official_forward(reference, tokens) + actual = replay(candidate, tokens, recompute=recompute) + record = { + "step": step, + "logits_max_abs": (expected - actual).abs().max().item(), + "failures": [], + } + case["steps"].append(record) + output.write_text(json.dumps(receipt, indent=2) + "\n") + if not torch.allclose(actual, expected, atol=1e-5, rtol=1e-5): + record["failures"].append({"field": "logits"}) + losses = [F.cross_entropy(logits.reshape(-1, 97), targets) for logits in (expected, actual)] + for loss in losses: + loss.backward() + for row in params: + assert all(p.grad is not None and torch.isfinite(p.grad).all() for p in row.values()) + norm = sum(p.grad.double().square().sum().item() for p in params[0].values()) + error = sum((params[0][k].grad.double() - p.grad.double()).square().sum().item() for k, p in params[1].items()) + record["gradient_relative_l2"] = (error / norm) ** 0.5 + assert norm > 0 + if record["gradient_relative_l2"] > 2e-6: + record["failures"].append({"field": "gradient_relative_l2"}) + for optimizer in optimizers: + optimizer.step() + delta_max = 0.0 + for name in params[0]: + p, q = params[0][name], params[1][name] + dp, dq = p - before[0][name], q - before[1][name] + delta_max = max(delta_max, (dp - dq).abs().max().item()) + a, b = optimizers[0].state[p], optimizers[1].state[q] + assert a["step"].item() == b["step"].item() == step + for field, left, right, atol, rtol in ( + ("parameter_delta", dq, dp, 1e-7, 1e-5), + ("parameter", q, p, 1e-7, 1e-5), + ("exp_avg", b["exp_avg"], a["exp_avg"], 1e-8, 2e-6), + ( + "exp_avg_sq", + b["exp_avg_sq"], + a["exp_avg_sq"], + 1e-10, + 2e-6, + ), + ): + close = torch.isclose(left, right, atol=atol, rtol=rtol) + if not bool(close.all()): + record["failures"].append( + { + "tensor": name, + "field": field, + "mismatched_elements": int((~close).sum()), + "max_abs": (left - right).abs().max().item(), + } + ) + record.update( + loss_reference=losses[0].item(), + loss_candidate=losses[1].item(), + parameter_delta_max_abs=delta_max, + all_parameters_and_moments_checked=True, + nonzero_applied_update=all(any(bool((row[k] - initial[k]).any()) for k in row) for row, initial in zip(params, before, strict=True)), + passed=not record["failures"], + ) + assert record["nonzero_applied_update"] + output.write_text(json.dumps(receipt, indent=2) + "\n") + print( + json.dumps( + { + "seed": seed, + "length": length, + "recompute": recompute, + "steps": 2, + } + ), + flush=True, + ) + receipt["state"] = "PASS" if all(s["passed"] for c in receipt["cases"] for s in c["steps"]) else "FAILED_NUMERICAL_GATE" + receipt["case_count"] = 16 + receipt["paired_steps"] = 32 + output.write_text(json.dumps(receipt, indent=2) + "\n") + print(json.dumps({"state": receipt["state"], "cases": 16, "paired_steps": 32})) + raise SystemExit(0 if receipt["state"] == "PASS" else 1) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--sdpa-math", action="store_true") + parser.add_argument("--output", type=Path, required=True) + args = parser.parse_args() + with sdpa_kernel(SDPBackend.MATH) if args.sdpa_math else nullcontext(): + main(args.sdpa_math, args.output) diff --git a/benchmarks/probe_iquest_source.py b/benchmarks/probe_iquest_source.py new file mode 100644 index 000000000..f4c0db8f4 --- /dev/null +++ b/benchmarks/probe_iquest_source.py @@ -0,0 +1,120 @@ +"""Execute pinned, unmodified IQuest code with a tiny CPU configuration.""" + +import argparse +import importlib +import json +import sys +import types +from pathlib import Path + +import torch +import transformers + + +def main() -> None: + parser = argparse.ArgumentParser() + parser.add_argument( + "--case", + choices=("cached", "uncached", "checkpointed", "decode"), + required=True, + ) + parser.add_argument("--length", type=int, default=8) + parser.add_argument("--explicit-mask", action="store_true") + parser.add_argument("--output", type=Path, required=True) + args = parser.parse_args() + source = Path(__file__).resolve().parents[1] / "benchmarks/results/iquest-contract/reference" + package = types.ModuleType("pinned_iquest") + package.__path__ = [str(source)] + sys.modules[package.__name__] = package + config_module = importlib.import_module("pinned_iquest.configuration_iquestloopcoder") + model_module = importlib.import_module("pinned_iquest.modeling_iquestloopcoder") + torch.set_num_threads(1) + torch.manual_seed(42) + config = config_module.IQuestLoopCoderConfig( + vocab_size=97, + hidden_size=32, + intermediate_size=48, + num_hidden_layers=2, + num_attention_heads=4, + num_key_value_heads=2, + head_dim=8, + max_position_embeddings=131072, + loop_num=2, + loop_window_size=64, + attention_dropout=0.0, + use_cache=True, + ) + config._attn_implementation = "eager" + model = model_module.IQuestLoopCoderForCausalLM(config).float() + with torch.no_grad(): + for gate in model.model.gate_projections: + gate.weight.normal_(std=0.1) + gate.bias.normal_(std=0.1) + tokens = torch.randint(3, config.vocab_size, (1, args.length)) + receipt = { + "case": args.case, + "length": args.length, + "torch": torch.__version__, + "transformers": transformers.__version__, + "revision": json.loads((source / "source_manifest.json").read_text())["revision"], + "device": "cpu", + "official_weights": False, + "config": config.to_dict(), + "unique_parameter_count": sum(p.numel() for p in model.parameters()), + "explicit_causal_mask_input": args.explicit_mask, + } + args.output.with_suffix(".input.json").write_text(json.dumps(receipt, indent=2) + "\n") + print( + json.dumps({"state": "TINY_INPUT_READY", "case": args.case, "length": args.length}), + flush=True, + ) + + def forward(input_ids: torch.Tensor, cache=None): + kwargs = {} + if args.explicit_mask: + seen = 0 if cache is None else cache.get_seq_length() + positions = torch.arange(seen, seen + input_ids.shape[1]) + allowed = torch.arange(seen + input_ids.shape[1])[None, :] <= positions[:, None] + mask = torch.where(allowed, 0.0, torch.finfo(torch.float32).min)[None, None] + kwargs = { + "attention_mask": {"full_attention": mask}, + "cache_position": positions, + "position_ids": positions[None], + } + return model( + input_ids=input_ids, + past_key_values=cache, + use_cache=args.case != "uncached", + **kwargs, + ) + + if args.case == "checkpointed": + model.gradient_checkpointing_enable(gradient_checkpointing_kwargs={"use_reentrant": False}) + if args.case == "decode": + model.eval() + with torch.no_grad(): + full = forward(tokens).logits + cache = None + chunks = [] + for position in range(args.length): + result = forward(tokens[:, position : position + 1], cache) + cache = result.past_key_values + chunks.append(result.logits) + decoded = torch.cat(chunks, dim=1) + receipt["prefill_decode_max_abs"] = (full - decoded).abs().max().item() + receipt["prefill_decode_allclose_1e-5"] = torch.allclose(full, decoded, atol=1e-5, rtol=1e-5) + receipt["prefill_finite"] = bool(torch.isfinite(full).all()) + receipt["decode_finite"] = bool(torch.isfinite(decoded).all()) + else: + result = forward(tokens) + loss = result.logits.square().mean() + loss.backward() + receipt["loss"] = loss.item() + receipt["all_parameters_have_finite_gradients"] = all(p.grad is not None and torch.isfinite(p.grad).all().item() for p in model.parameters()) + receipt["gradient_norm"] = sum(p.grad.square().sum().item() for p in model.parameters()) ** 0.5 + args.output.write_text(json.dumps(receipt, indent=2) + "\n") + print(json.dumps({k: v for k, v in receipt.items() if k != "config"})) + + +if __name__ == "__main__": + main() diff --git a/benchmarks/results/iquest-contract/README.md b/benchmarks/results/iquest-contract/README.md new file mode 100644 index 000000000..8ff5f4477 --- /dev/null +++ b/benchmarks/results/iquest-contract/README.md @@ -0,0 +1,27 @@ +# ScaleRLT — IQuest semantic qualification + +The fixed official source and sixteen physical checkpoint headers are in `reference/`. No weight tensor body is included. The unique parameter count is 39,794,696,320. These are tiny CPU FP32 tests of the checkpoint's architecture, not a 40B run or RL reward curve. + +| Actual comparison | AUTO SDPA | MATH SDPA | Status | +| --- | ---: | ---: | --- | +| Paired AdamW steps, two seeds × four lengths × ordinary/recomputed × two steps | 32 | 32 | All executed | +| Maximum logits error against unmodified official token-by-token autograd | 7.15256×10⁻⁷ | 6.25849×10⁻⁷ | 32/32 pass original 10⁻⁵ absolute/relative | +| Maximum whole-gradient relative L2 error | 3.21867×10⁻⁷ | 3.04581×10⁻⁷ | 32/32 pass original 2×10⁻⁶ | +| Maximum parameter-delta difference | 2.39909×10⁻⁶ | 1.98185×10⁻⁶ | Original 10⁻⁷ absolute/10⁻⁵ relative gate fails | +| Complete update checks passed | 24/32 | 24/32 | **FAILED_NUMERICAL_GATE** | +| Adam moments and counters | 32/32 | 32/32 | Original checks pass | +| Speed ratio / GPU memory / RL reward convergence | NOT_MEASURED | NOT_MEASURED | No claim | + +The unmodified public full-prefill path differs from decode by 0.41336 at length eight and 0.50415 at length 65. Cache-free and HF checkpointed training lose the first-loop global KV. The default cache/mask API also fails in the existing Transformers 4.54.1 environment; explicit mask inputs isolate the mathematical tests without changing source or packages. All failed records remain alongside the complete matrices. + +The experimental replay is not registered as a learner provider. See [the contract report](../../../docs/iquest_semantic_qualification.md) for the complete boundaries. No failed check is promoted to full update qualification. + +Run in the existing matching environment: + +```sh +python benchmarks/audit_iquest_replay.py --output /tmp/scalerlt-iquest-auto.json +python benchmarks/audit_iquest_replay.py --sdpa-math --output /tmp/scalerlt-iquest-math.json +python benchmarks/probe_iquest_source.py --case decode --length 65 --explicit-mask --output /tmp/scalerlt-iquest-decode.json +``` + +Both complete replay audits currently return exit code 1 after writing all sixteen cases and thirty-two paired steps. The decode probe records an agreement failure in its JSON. Its exit code alone is not a numerical pass. Do not replace existing result files. The source manifest and `SHA256SUMS.json` bind the retained artifacts; original source notices and LICENSE are included. diff --git a/benchmarks/results/iquest-contract/SHA256SUMS.json b/benchmarks/results/iquest-contract/SHA256SUMS.json new file mode 100644 index 000000000..a69148142 --- /dev/null +++ b/benchmarks/results/iquest-contract/SHA256SUMS.json @@ -0,0 +1,54 @@ +{ + "README.md": "9c5cca797ee09495fc1f8bcde0be5f4919dc2841b0ec3b46a9bf7ca6d4c07fe9", + "cached-explicit-tiny-8.input.json": "42a4c1fab6a64d4c78e523f96aa15e8d427cce21f64de988af0d632d753dbbfc", + "cached-explicit-tiny-8.json": "396d98ff9c6e1f3b5d6628a2b152988a7ccd6925e435e39220df05980fb2f55d", + "cached-tiny-8-attempt08.log": "c3c265daac0bf261350edc7fd4b073bf6f54a5f18859a35df100a374f1f19415", + "cached-tiny-8.input.json": "d0f3051c4e86484679f390bb38b2ae3a1766d461560b31d3f6e62a65effc1281", + "checkpointed-explicit-tiny-8.input.json": "40aa66dae9b1bafe6bf7e53d7a40e7223fc5711a8fba3bae150a1df505b8b78d", + "checkpointed-explicit-tiny-8.log": "13cc8b40be0fabf626bae952d3eb99c998e84ea1224b67e6f1a44bba59a9dc5e", + "decode-explicit-tiny-65.input.json": "671800d6423ca8f514e6289d8a41a165da61424e6643963e7c6a1fb93155f21a", + "decode-explicit-tiny-65.json": "0450cd162b313a62f4c344f5fbbb073247f524a278a46f40e0e79399dffd8940", + "decode-explicit-tiny-8.input.json": "342a40a5ac3d4e5a3c8e473c88b3fd8d3d0568f665afb5b35e53514ed8aed67e", + "decode-explicit-tiny-8.json": "8dac6623699526fa4a447e369b5b38ecc1c7392afad2124b6292e7ed616a7179", + "functional-replay-audit-attempt01-provenance.json": "4600ffd5ac80698a48faaf804e2273f78b45c79d24c8372c2b4052c700d773af", + "functional-replay-audit-attempt01.json": "f693d9f0da640495cb58dfecc23e002aa0a97099e773435d1ee63f919a786e48", + "functional-replay-audit-attempt01.log": "6b0a547a9abff73d1ce800f111b46e6374e397f200d027f5d6dfabf503d4ff75", + "functional-replay-audit-attempt02.log": "8d4e8db2fb3cd2220e9cfb8ef15818245058a47489cce830702b95dd6c2ae562", + "functional-replay-audit.json": "144c0002c185043f0171e2b0f5a71e11d236c9e207022afac78c4e9c20beb32f", + "functional-replay-math-audit-attempt01.log": "633e0ed3c038a0766dca075a8392487c7d56d9f3529b6f028a0cfefc383cd08a", + "functional-replay-math-audit.json": "d9a5707f80a90c3c8dca7fc430a0cacfd7d7b342ab63ab0b180773e8b501c4e4", + "reference/LICENSE": "cefd38efbfd2ca094b39736be7bf323fd6eae65964bbd96187e866981d67bee0", + "reference/README.md": "87a11089dfbba555832e6f871f0ba0e02af983e265fb01c684908fbc4b2ea91e", + "reference/__init__.py": "40b8838e5c0e460136324d90cfa6fc409148a3929b00a2ac9b88b00fa0259b0d", + "reference/config.json": "d8fe4db01164b642779ddf1b322b924a2a4a2dc803027ddd5ed925097cc5c721", + "reference/configuration_iquestloopcoder.py": "172306263d98fb62b8cec593727b53187b6156d2fdaa99c43a37adde381e8807", + "reference/generation_config.json": "16856b186ca44da6ee8e9fea0d7f7024cb6217f794677bd3335f0608e11fc202", + "reference/header-resume-input.json": "69e648e4912ea691fbcca249770ae52d4cbc18437af8d22b35fc59ecdf29ac2b", + "reference/model.safetensors.index.json": "2b0a5682197ec8c98ac12de1b2be89d31182c32f8e967c1d9a8396318f268a8c", + "reference/modeling_iquestloopcoder.py": "4b15953c4b3f48f74c524dfbd3fa2edf4f24a2fb73c68c3dba3fdec44bc0c3ea", + "reference/source_manifest.json": "675d78ea9307094bff8fb06f8ec8908a68ff6577b9d1a0d5d0ed1b3dcdaae325", + "reference/tokenization_iquestcoder.py": "77c56f9aac1b382dddd56d9850fbadeee66c2eb974a2135ea72076b31837550e", + "reference/tokenizer.model": "7d3be68e090a927f31e0e378d7599b15c206dd47e4a73933775a746cc9c1cd91", + "reference/tokenizer_config.json": "90e4563e1bea1fc922749bbbf3c6134c07edef8dd0de1bd551ab99655dd6c246", + "reference/weight-header-audit.json": "c284e84c02f38171e186e5c5b395f6771f3f2ff44b9896999d3991478fa370f8", + "reference/weight-headers/model-00001-of-00016.safetensors.header": "5dca395450fbcd32877649dfbca2d4ee72be043630c81ef3d53b2f57d6a614e8", + "reference/weight-headers/model-00002-of-00016.safetensors.header": "4eff8d03cadbb5a151298fdd7041c96df2c750de0d689b2269a6cd80c1512974", + "reference/weight-headers/model-00003-of-00016.safetensors.header": "1806828ed03fce061be4e8dc097d09ee5853b820b9f1863b7ddd32800aac63f7", + "reference/weight-headers/model-00004-of-00016.safetensors.header": "8863b5419dda676dffca2ab8b2c27560b0038537c57ea5e1536b14840bbd820e", + "reference/weight-headers/model-00005-of-00016.safetensors.header": "05745e0b110ef7f99bdc52971709cf4a2958570ce6e6ffea97666d91578ae682", + "reference/weight-headers/model-00006-of-00016.safetensors.header": "718bed5ed94f4dc873b2d39c745f16ffaae8596ecc61c11bbe6f49677d5e1964", + "reference/weight-headers/model-00007-of-00016.safetensors.header": "480cbe37ad52908173c278c36530720f5430732e0e27483c1d5f5a30bad35e08", + "reference/weight-headers/model-00008-of-00016.safetensors.header": "115ef9f116b5c1b2b8f48fe7107761fae1b38a9e542279a2b463b9f4a9153b45", + "reference/weight-headers/model-00009-of-00016.safetensors.header": "d07bb1abb9b335b7d4d82f738438319aa02819d99440b45f78011a487f56ca5b", + "reference/weight-headers/model-00010-of-00016.safetensors.header": "6e12e5ad455197c93b2532e5b2efe4fb1a2b6423fed78953c90f8e51ffbb6b6d", + "reference/weight-headers/model-00011-of-00016.safetensors.header": "a2fd525a5d296391c9cf1977f95eff901b30a70d01a17d7e96c2becfe2a2d8b1", + "reference/weight-headers/model-00012-of-00016.safetensors.header": "809f79c4d6ecf6d9d20b9b3754b40ae3034d9437b9bb905b416ac38ea73236e9", + "reference/weight-headers/model-00013-of-00016.safetensors.header": "8da14d18fa7e03ca9340d56559829040d1d9a6eac8939762931cac4780a82945", + "reference/weight-headers/model-00014-of-00016.safetensors.header": "dd1a4bd813b7fc2b9c31b18f205364470bbbcb80ae539be39ca3531ce48b1192", + "reference/weight-headers/model-00015-of-00016.safetensors.header": "1c30029d91e69243e331f26911ecf68ad78124c2d58bda28b239302878db5c7b", + "reference/weight-headers/model-00016-of-00016.safetensors.header": "69b0cea8f93d6f980d36aca9a1b8709f28e9ff5c8da85a4e832c54ef266687bc", + "uncached-explicit-tiny-8.input.json": "8fba8875130e0b5c8fd00675f2e0c77bf483c624d522570b96eb18ee44ec4181", + "uncached-explicit-tiny-8.log": "82c447ed86a0adc703775ef7f2c42043a05640233805afaa081db439a0a2af88", + "weight-header-audit-attempt01.log": "80c9ba32496f2b16ba43f19d870a7173467caae9e2dcc325f487517c97d9c0a8", + "weight-header-audit-attempt02.log": "b6aaf4c740ddde52e1cfb2fa8c7efa4483fb30dbed6a39bd8bd2b063b7bc66db" +} diff --git a/benchmarks/results/iquest-contract/cached-explicit-tiny-8.input.json b/benchmarks/results/iquest-contract/cached-explicit-tiny-8.input.json new file mode 100644 index 000000000..e9c97887a --- /dev/null +++ b/benchmarks/results/iquest-contract/cached-explicit-tiny-8.input.json @@ -0,0 +1,94 @@ +{ + "case": "cached", + "length": 8, + "torch": "2.13.0", + "transformers": "4.54.1", + "revision": "61e8589747f6987ec7725e4ffe205f7a84561bd2", + "device": "cpu", + "official_weights": false, + "config": { + "vocab_size": 97, + "max_position_embeddings": 131072, + "hidden_size": 32, + "intermediate_size": 48, + "num_hidden_layers": 2, + "num_attention_heads": 4, + "head_dim": 8, + "num_key_value_heads": 2, + "hidden_act": "silu", + "initializer_range": 0.02, + "rms_norm_eps": 1e-05, + "use_cache": true, + "rope_theta": 500000.0, + "rope_scaling": null, + "attention_bias": false, + "attention_dropout": 0.0, + "mlp_bias": false, + "loop_num": 2, + "loop_window_size": 64, + "return_dict": true, + "output_hidden_states": false, + "torchscript": false, + "torch_dtype": null, + "pruned_heads": {}, + "tie_word_embeddings": false, + "chunk_size_feed_forward": 0, + "is_encoder_decoder": false, + "is_decoder": false, + "cross_attention_hidden_size": null, + "add_cross_attention": false, + "tie_encoder_decoder": false, + "architectures": null, + "finetuning_task": null, + "id2label": { + "0": "LABEL_0", + "1": "LABEL_1" + }, + "label2id": { + "LABEL_0": 0, + "LABEL_1": 1 + }, + "task_specific_params": null, + "problem_type": null, + "tokenizer_class": null, + "prefix": null, + "bos_token_id": 1, + "pad_token_id": null, + "eos_token_id": 2, + "sep_token_id": null, + "decoder_start_token_id": null, + "max_length": 20, + "min_length": 0, + "do_sample": false, + "early_stopping": false, + "num_beams": 1, + "num_beam_groups": 1, + "diversity_penalty": 0.0, + "temperature": 1.0, + "top_k": 50, + "top_p": 1.0, + "typical_p": 1.0, + "repetition_penalty": 1.0, + "length_penalty": 1.0, + "no_repeat_ngram_size": 0, + "encoder_no_repeat_ngram_size": 0, + "bad_words_ids": null, + "num_return_sequences": 1, + "output_scores": false, + "return_dict_in_generate": false, + "forced_bos_token_id": null, + "forced_eos_token_id": null, + "remove_invalid_values": false, + "exponential_decay_length_penalty": null, + "suppress_tokens": null, + "begin_suppress_tokens": null, + "_name_or_path": "", + "transformers_version": "4.54.1", + "tf_legacy_loss": false, + "use_bfloat16": false, + "model_type": "iquestloopcoder", + "output_attentions": false + }, + "unique_parameter_count": 21800, + "explicit_causal_mask_input": true +} diff --git a/benchmarks/results/iquest-contract/cached-explicit-tiny-8.json b/benchmarks/results/iquest-contract/cached-explicit-tiny-8.json new file mode 100644 index 000000000..b4d1b580a --- /dev/null +++ b/benchmarks/results/iquest-contract/cached-explicit-tiny-8.json @@ -0,0 +1,97 @@ +{ + "case": "cached", + "length": 8, + "torch": "2.13.0", + "transformers": "4.54.1", + "revision": "61e8589747f6987ec7725e4ffe205f7a84561bd2", + "device": "cpu", + "official_weights": false, + "config": { + "vocab_size": 97, + "max_position_embeddings": 131072, + "hidden_size": 32, + "intermediate_size": 48, + "num_hidden_layers": 2, + "num_attention_heads": 4, + "head_dim": 8, + "num_key_value_heads": 2, + "hidden_act": "silu", + "initializer_range": 0.02, + "rms_norm_eps": 1e-05, + "use_cache": true, + "rope_theta": 500000.0, + "rope_scaling": null, + "attention_bias": false, + "attention_dropout": 0.0, + "mlp_bias": false, + "loop_num": 2, + "loop_window_size": 64, + "return_dict": true, + "output_hidden_states": false, + "torchscript": false, + "torch_dtype": null, + "pruned_heads": {}, + "tie_word_embeddings": false, + "chunk_size_feed_forward": 0, + "is_encoder_decoder": false, + "is_decoder": false, + "cross_attention_hidden_size": null, + "add_cross_attention": false, + "tie_encoder_decoder": false, + "architectures": null, + "finetuning_task": null, + "id2label": { + "0": "LABEL_0", + "1": "LABEL_1" + }, + "label2id": { + "LABEL_0": 0, + "LABEL_1": 1 + }, + "task_specific_params": null, + "problem_type": null, + "tokenizer_class": null, + "prefix": null, + "bos_token_id": 1, + "pad_token_id": null, + "eos_token_id": 2, + "sep_token_id": null, + "decoder_start_token_id": null, + "max_length": 20, + "min_length": 0, + "do_sample": false, + "early_stopping": false, + "num_beams": 1, + "num_beam_groups": 1, + "diversity_penalty": 0.0, + "temperature": 1.0, + "top_k": 50, + "top_p": 1.0, + "typical_p": 1.0, + "repetition_penalty": 1.0, + "length_penalty": 1.0, + "no_repeat_ngram_size": 0, + "encoder_no_repeat_ngram_size": 0, + "bad_words_ids": null, + "num_return_sequences": 1, + "output_scores": false, + "return_dict_in_generate": false, + "forced_bos_token_id": null, + "forced_eos_token_id": null, + "remove_invalid_values": false, + "exponential_decay_length_penalty": null, + "suppress_tokens": null, + "begin_suppress_tokens": null, + "_name_or_path": "", + "transformers_version": "4.54.1", + "tf_legacy_loss": false, + "use_bfloat16": false, + "model_type": "iquestloopcoder", + "output_attentions": false + }, + "unique_parameter_count": 21800, + "explicit_causal_mask_input": true, + "loss": 0.32658153772354126, + "all_parameters_have_finite_gradients": true, + "gradient_norm": 0.3441292759579828 +} diff --git a/benchmarks/results/iquest-contract/cached-tiny-8-attempt08.log b/benchmarks/results/iquest-contract/cached-tiny-8-attempt08.log new file mode 100644 index 000000000..fb6b9c037 --- /dev/null +++ b/benchmarks/results/iquest-contract/cached-tiny-8-attempt08.log @@ -0,0 +1,375 @@ +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +torch=2.13.0 /Users/0z5a/Documents/infra/looped-grpo-integration-20261003/.venv/lib/python3.12/site-packages/torch/__init__.py +setuptools=84.0.0 /Users/0z5a/Documents/infra/looped-grpo-integration-20261003/.venv/lib/python3.12/site-packages/setuptools/__init__.py +resident same-RECORD metadata: datasets-5.0.1.dist-info/METADATA +resident same-RECORD metadata: tokenizers-0.21.4.dist-info/METADATA +resident same-RECORD metadata: filelock-4.0.9.dist-info/METADATA +resident same-RECORD metadata: tokenizers-0.21.4.dist-info/METADATA +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/timesfm/modeling_timesfm.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2_phoneme/tokenization_wav2vec2_phoneme.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/maskformer/feature_extraction_maskformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/markuplm/tokenization_markuplm.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/chameleon/modeling_chameleon.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/gemma3/image_processing_gemma3_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/gemma3/modeling_gemma3.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/esm/openfold_utils/loss.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/esm/modeling_esmfold.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/univnet/modeling_univnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rt_detr/image_processing_rt_detr.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rt_detr/configuration_rt_detr_resnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/jetmoe/modeling_jetmoe.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/lxmert/tokenization_lxmert_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/modeling_flax_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/image_processing_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/modeling_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/tokenization_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/groupvit/modeling_groupvit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/pvt/configuration_pvt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/llava_next_video/configuration_llava_next_video.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mask2former/modeling_mask2former.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/tapas/tokenization_tapas.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/data2vec/modeling_tf_data2vec_vision.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/speech_encoder_decoder/configuration_speech_encoder_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/zoedepth/modeling_zoedepth.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/seamless_m4t/tokenization_seamless_m4t_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/cohere2/modeling_cohere2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/unispeech_sat/modeling_unispeech_sat.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/jamba/configuration_jamba.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/layoutlmv3/image_processing_layoutlmv3_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/xlm_roberta/modeling_flax_xlm_roberta.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clipseg/configuration_clipseg.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mobilebert/modeling_tf_mobilebert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/informer/configuration_informer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/modernbert/configuration_modernbert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deit/image_processing_deit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/dpt/modeling_dpt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2/feature_extraction_wav2vec2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2/modeling_tf_wav2vec2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/voxtral/configuration_voxtral.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fastspeech2_conformer/tokenization_fastspeech2_conformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/siglip/processing_siglip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/colpali/configuration_colpali.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/pegasus/modeling_pegasus.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_5_vl/configuration_qwen2_5_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bart/configuration_bart.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/doge/configuration_doge.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/timm_wrapper/image_processing_timm_wrapper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/timm_wrapper/configuration_timm_wrapper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/janus/modeling_janus.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/janus/image_processing_janus.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/janus/processing_janus.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/modernbert_decoder/configuration_modernbert_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/modernbert_decoder/modeling_modernbert_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/d_fine/configuration_d_fine.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/vit/modeling_flax_vit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/vit/modeling_tf_vit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/segformer/feature_extraction_segformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/segformer/image_processing_segformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/vitmatte/image_processing_vitmatte.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/paligemma/modeling_paligemma.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/encoder_decoder/configuration_encoder_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/encoder_decoder/modeling_tf_encoder_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bert/tokenization_bert_tf.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2_conformer/modeling_wav2vec2_conformer.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/wav2vec2_conformer/configuration_wav2vec2_conformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/aria/modeling_aria.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/aria/image_processing_aria.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/owlvit/configuration_owlvit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/ijepa/modeling_ijepa.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics3/image_processing_idefics3.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics3/configuration_idefics3.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clap/processing_clap.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics/perceiver.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics/modeling_tf_idefics.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics/configuration_idefics.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/convbert/modeling_tf_convbert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mobilenet_v2/configuration_mobilenet_v2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/unispeech/modeling_unispeech.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics2/image_processing_idefics2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/imagegpt/configuration_imagegpt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/dia/tokenization_dia.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/dia/generation_dia.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/splinter/configuration_splinter.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/splinter/tokenization_splinter.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/longformer/tokenization_longformer_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/opt/modeling_flax_opt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/x_clip/modeling_x_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/cpm/tokenization_cpm_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/depth_anything/configuration_depth_anything.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/depth_anything/modeling_depth_anything.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/tvp/image_processing_tvp.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/aya_vision/configuration_aya_vision.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fuyu/processing_fuyu.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fuyu/image_processing_fuyu.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/encodec/modeling_encodec.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/lightglue/modeling_lightglue.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mt5/modeling_tf_mt5.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/speecht5/number_normalizer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/glm4_moe/configuration_glm4_moe.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_vl/modeling_qwen2_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_vl/configuration_qwen2_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_vl/processing_qwen2_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_5_omni/configuration_qwen2_5_omni.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/roberta_prelayernorm/modeling_roberta_prelayernorm.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/levit/image_processing_levit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/patchtsmixer/configuration_patchtsmixer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/seamless_m4t_v2/modeling_seamless_m4t_v2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/instructblip/modeling_instructblip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bartpho/tokenization_bartpho.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/internvl/modeling_internvl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/internvl/processing_internvl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/perceiver/configuration_perceiver.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/flaubert/tokenization_flaubert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/roc_bert/tokenization_roc_bert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/glm4v/processing_glm4v.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/textnet/image_processing_textnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/textnet/modeling_textnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/blenderbot_small/modeling_flax_blenderbot_small.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/blenderbot_small/tokenization_blenderbot_small.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/phi4_multimodal/feature_extraction_phi4_multimodal.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/megatron_bert/modeling_megatron_bert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/megatron_bert/configuration_megatron_bert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/funnel/configuration_funnel.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/phi/configuration_phi.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bert_japanese/tokenization_bert_japanese.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fsmt/modeling_fsmt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/xmod/configuration_xmod.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/persimmon/configuration_persimmon.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/gpt_neox_japanese/modeling_gpt_neox_japanese.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/layoutlm/tokenization_layoutlm_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/owlv2/configuration_owlv2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/ernie4_5/modeling_ernie4_5.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/kyutai_speech_to_text/configuration_kyutai_speech_to_text.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/kyutai_speech_to_text/feature_extraction_kyutai_speech_to_text.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/git/configuration_git.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/git/modeling_git.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mistral/configuration_mistral.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fnet/configuration_fnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/openai/modeling_tf_openai.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/whisper/processing_whisper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/whisper/modeling_tf_whisper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/whisper/english_normalizer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/llava_onevision/image_processing_llava_onevision.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rembert/tokenization_rembert_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rembert/tokenization_rembert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/seggpt/configuration_seggpt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mbart/configuration_mbart.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mbart/modeling_mbart.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/nat/modeling_nat.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/ernie_m/tokenization_ernie_m.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tvlt/configuration_tvlt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tvlt/modeling_tvlt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tvlt/feature_extraction_tvlt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/mctct/configuration_mctct.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/jukebox/modeling_jukebox.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tapex/tokenization_tapex.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/vit_hybrid/configuration_vit_hybrid.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/deta/modeling_deta.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/retribert/modeling_retribert.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/deprecated/speech_to_text_2/tokenization_speech_to_text_2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/speech_to_text_2/modeling_speech_to_text_2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/xglm/tokenization_xglm_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/distributed/tensor/_ops/_conv_ops.py +resident same-RECORD source: /Users/0z5a/Documents/infra/vime-sm120-initial-20260912/.venv/lib/python3.12/site-packages/torch/distributed/tensor/device_mesh.py +resident same-RECORD source: /Users/0z5a/Documents/infra/vime-sm120-initial-20260912/.venv/lib/python3.12/site-packages/torch/distributed/tensor/_utils.py +resident same-RECORD source: /Users/0z5a/Documents/infra/vime-sm120-initial-20260912/.venv/lib/python3.12/site-packages/torch/distributed/tensor/parallel/_data_parallel_utils.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/_dynamo/_trace_wrapped_higher_order_op.py +resident same-RECORD source: /Users/0z5a/Documents/infra/vime-sm120-initial-20260912/.venv/lib/python3.12/site-packages/torch/onnx/ops/__init__.py +resident same-RECORD source: /Users/0z5a/Documents/infra/vime-sm120-initial-20260912/.venv/lib/python3.12/site-packages/torch/onnx/ops/_impl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/vime-sm120-initial-20260912/.venv/lib/python3.12/site-packages/torch/onnx/ops/_impl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/timesfm/modeling_timesfm.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2_phoneme/tokenization_wav2vec2_phoneme.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/maskformer/feature_extraction_maskformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/markuplm/tokenization_markuplm.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/chameleon/modeling_chameleon.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/gemma3/image_processing_gemma3_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/gemma3/modeling_gemma3.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/esm/openfold_utils/loss.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/esm/modeling_esmfold.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/univnet/modeling_univnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rt_detr/image_processing_rt_detr.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rt_detr/configuration_rt_detr_resnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/jetmoe/modeling_jetmoe.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/lxmert/tokenization_lxmert_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/modeling_flax_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/image_processing_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/modeling_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/tokenization_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/groupvit/modeling_groupvit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/pvt/configuration_pvt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/llava_next_video/configuration_llava_next_video.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mask2former/modeling_mask2former.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/tapas/tokenization_tapas.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/data2vec/modeling_tf_data2vec_vision.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/speech_encoder_decoder/configuration_speech_encoder_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/zoedepth/modeling_zoedepth.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/seamless_m4t/tokenization_seamless_m4t_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/cohere2/modeling_cohere2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/unispeech_sat/modeling_unispeech_sat.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/jamba/configuration_jamba.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/layoutlmv3/image_processing_layoutlmv3_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/xlm_roberta/modeling_flax_xlm_roberta.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clipseg/configuration_clipseg.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mobilebert/modeling_tf_mobilebert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/informer/configuration_informer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/modernbert/configuration_modernbert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deit/image_processing_deit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/dpt/modeling_dpt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2/feature_extraction_wav2vec2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2/modeling_tf_wav2vec2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/voxtral/configuration_voxtral.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fastspeech2_conformer/tokenization_fastspeech2_conformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/siglip/processing_siglip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/colpali/configuration_colpali.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/pegasus/modeling_pegasus.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_5_vl/configuration_qwen2_5_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bart/configuration_bart.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/doge/configuration_doge.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/timm_wrapper/image_processing_timm_wrapper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/timm_wrapper/configuration_timm_wrapper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/janus/modeling_janus.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/janus/image_processing_janus.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/janus/processing_janus.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/modernbert_decoder/configuration_modernbert_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/modernbert_decoder/modeling_modernbert_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/d_fine/configuration_d_fine.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/vit/modeling_flax_vit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/vit/modeling_tf_vit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/segformer/feature_extraction_segformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/segformer/image_processing_segformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/vitmatte/image_processing_vitmatte.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/paligemma/modeling_paligemma.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/encoder_decoder/configuration_encoder_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/encoder_decoder/modeling_tf_encoder_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bert/tokenization_bert_tf.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2_conformer/modeling_wav2vec2_conformer.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/wav2vec2_conformer/configuration_wav2vec2_conformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/aria/modeling_aria.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/aria/image_processing_aria.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/owlvit/configuration_owlvit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/ijepa/modeling_ijepa.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics3/image_processing_idefics3.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics3/configuration_idefics3.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clap/processing_clap.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics/perceiver.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics/modeling_tf_idefics.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics/configuration_idefics.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/convbert/modeling_tf_convbert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mobilenet_v2/configuration_mobilenet_v2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/unispeech/modeling_unispeech.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics2/image_processing_idefics2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/imagegpt/configuration_imagegpt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/dia/tokenization_dia.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/dia/generation_dia.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/splinter/configuration_splinter.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/splinter/tokenization_splinter.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/longformer/tokenization_longformer_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/opt/modeling_flax_opt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/x_clip/modeling_x_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/cpm/tokenization_cpm_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/depth_anything/configuration_depth_anything.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/depth_anything/modeling_depth_anything.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/tvp/image_processing_tvp.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/aya_vision/configuration_aya_vision.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fuyu/processing_fuyu.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fuyu/image_processing_fuyu.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/encodec/modeling_encodec.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/lightglue/modeling_lightglue.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mt5/modeling_tf_mt5.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/speecht5/number_normalizer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/glm4_moe/configuration_glm4_moe.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_vl/modeling_qwen2_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_vl/configuration_qwen2_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_vl/processing_qwen2_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_5_omni/configuration_qwen2_5_omni.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/roberta_prelayernorm/modeling_roberta_prelayernorm.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/levit/image_processing_levit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/patchtsmixer/configuration_patchtsmixer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/seamless_m4t_v2/modeling_seamless_m4t_v2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/instructblip/modeling_instructblip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bartpho/tokenization_bartpho.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/internvl/modeling_internvl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/internvl/processing_internvl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/perceiver/configuration_perceiver.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/flaubert/tokenization_flaubert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/roc_bert/tokenization_roc_bert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/glm4v/processing_glm4v.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/textnet/image_processing_textnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/textnet/modeling_textnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/blenderbot_small/modeling_flax_blenderbot_small.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/blenderbot_small/tokenization_blenderbot_small.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/phi4_multimodal/feature_extraction_phi4_multimodal.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/megatron_bert/modeling_megatron_bert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/megatron_bert/configuration_megatron_bert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/funnel/configuration_funnel.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/phi/configuration_phi.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bert_japanese/tokenization_bert_japanese.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fsmt/modeling_fsmt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/xmod/configuration_xmod.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/persimmon/configuration_persimmon.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/gpt_neox_japanese/modeling_gpt_neox_japanese.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/layoutlm/tokenization_layoutlm_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/owlv2/configuration_owlv2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/ernie4_5/modeling_ernie4_5.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/kyutai_speech_to_text/configuration_kyutai_speech_to_text.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/kyutai_speech_to_text/feature_extraction_kyutai_speech_to_text.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/git/configuration_git.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/git/modeling_git.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mistral/configuration_mistral.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fnet/configuration_fnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/openai/modeling_tf_openai.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/whisper/processing_whisper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/whisper/modeling_tf_whisper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/whisper/english_normalizer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/llava_onevision/image_processing_llava_onevision.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rembert/tokenization_rembert_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rembert/tokenization_rembert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/seggpt/configuration_seggpt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mbart/configuration_mbart.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mbart/modeling_mbart.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/nat/modeling_nat.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/ernie_m/tokenization_ernie_m.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tvlt/configuration_tvlt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tvlt/modeling_tvlt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tvlt/feature_extraction_tvlt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/mctct/configuration_mctct.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/jukebox/modeling_jukebox.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tapex/tokenization_tapex.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/vit_hybrid/configuration_vit_hybrid.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/deta/modeling_deta.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/retribert/modeling_retribert.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/deprecated/speech_to_text_2/tokenization_speech_to_text_2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/speech_to_text_2/modeling_speech_to_text_2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/xglm/tokenization_xglm_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/quantizers/quantizer_aqlm.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/quantizers/quantizer_bnb_4bit.py +{"state": "TINY_INPUT_READY", "case": "cached", "length": 8} +/Users/0z5a/Documents/infra/flashrlt-20261005/bench/resident_pytest.py:198 +:287 +:98 +:88 +bench/probe_iquest_source.py:113 +bench/probe_iquest_source.py:97 +/Users/0z5a/Documents/infra/looped-grpo-integration-20261003/.venv/lib/python3.12/site-packages/torch/nn/modules/module.py:1778 +/Users/0z5a/Documents/infra/looped-grpo-integration-20261003/.venv/lib/python3.12/site-packages/torch/nn/modules/module.py:1789 +/Users/0z5a/Documents/infra/looped-grpo-integration-20261003/.venv/lib/python3.12/site-packages/transformers/utils/generic.py:961 +/Users/0z5a/Documents/infra/flashrlt-20261005/evidence/iquest-contract/61e8589747f6987ec7725e4ffe205f7a84561bd2/modeling_iquestloopcoder.py:1038 +/Users/0z5a/Documents/infra/looped-grpo-integration-20261003/.venv/lib/python3.12/site-packages/torch/nn/modules/module.py:1778 +/Users/0z5a/Documents/infra/looped-grpo-integration-20261003/.venv/lib/python3.12/site-packages/torch/nn/modules/module.py:1789 +/Users/0z5a/Documents/infra/looped-grpo-integration-20261003/.venv/lib/python3.12/site-packages/transformers/utils/generic.py:1069 +/Users/0z5a/Documents/infra/flashrlt-20261005/evidence/iquest-contract/61e8589747f6987ec7725e4ffe205f7a84561bd2/modeling_iquestloopcoder.py:942 +/Users/0z5a/Documents/infra/looped-grpo-integration-20261003/.venv/lib/python3.12/site-packages/transformers/masking_utils.py:761 +/Users/0z5a/Documents/infra/looped-grpo-integration-20261003/.venv/lib/python3.12/site-packages/transformers/masking_utils.py:700 +/Users/0z5a/Documents/infra/looped-grpo-integration-20261003/.venv/lib/python3.12/site-packages/transformers/cache_utils.py:1219 +IndexError: list index out of range diff --git a/benchmarks/results/iquest-contract/cached-tiny-8.input.json b/benchmarks/results/iquest-contract/cached-tiny-8.input.json new file mode 100644 index 000000000..c420face6 --- /dev/null +++ b/benchmarks/results/iquest-contract/cached-tiny-8.input.json @@ -0,0 +1,93 @@ +{ + "case": "cached", + "length": 8, + "torch": "2.13.0", + "transformers": "4.54.1", + "revision": "61e8589747f6987ec7725e4ffe205f7a84561bd2", + "device": "cpu", + "official_weights": false, + "config": { + "vocab_size": 97, + "max_position_embeddings": 131072, + "hidden_size": 32, + "intermediate_size": 48, + "num_hidden_layers": 2, + "num_attention_heads": 4, + "head_dim": 8, + "num_key_value_heads": 2, + "hidden_act": "silu", + "initializer_range": 0.02, + "rms_norm_eps": 1e-05, + "use_cache": true, + "rope_theta": 500000.0, + "rope_scaling": null, + "attention_bias": false, + "attention_dropout": 0.0, + "mlp_bias": false, + "loop_num": 2, + "loop_window_size": 64, + "return_dict": true, + "output_hidden_states": false, + "torchscript": false, + "torch_dtype": null, + "pruned_heads": {}, + "tie_word_embeddings": false, + "chunk_size_feed_forward": 0, + "is_encoder_decoder": false, + "is_decoder": false, + "cross_attention_hidden_size": null, + "add_cross_attention": false, + "tie_encoder_decoder": false, + "architectures": null, + "finetuning_task": null, + "id2label": { + "0": "LABEL_0", + "1": "LABEL_1" + }, + "label2id": { + "LABEL_0": 0, + "LABEL_1": 1 + }, + "task_specific_params": null, + "problem_type": null, + "tokenizer_class": null, + "prefix": null, + "bos_token_id": 1, + "pad_token_id": null, + "eos_token_id": 2, + "sep_token_id": null, + "decoder_start_token_id": null, + "max_length": 20, + "min_length": 0, + "do_sample": false, + "early_stopping": false, + "num_beams": 1, + "num_beam_groups": 1, + "diversity_penalty": 0.0, + "temperature": 1.0, + "top_k": 50, + "top_p": 1.0, + "typical_p": 1.0, + "repetition_penalty": 1.0, + "length_penalty": 1.0, + "no_repeat_ngram_size": 0, + "encoder_no_repeat_ngram_size": 0, + "bad_words_ids": null, + "num_return_sequences": 1, + "output_scores": false, + "return_dict_in_generate": false, + "forced_bos_token_id": null, + "forced_eos_token_id": null, + "remove_invalid_values": false, + "exponential_decay_length_penalty": null, + "suppress_tokens": null, + "begin_suppress_tokens": null, + "_name_or_path": "", + "transformers_version": "4.54.1", + "tf_legacy_loss": false, + "use_bfloat16": false, + "model_type": "iquestloopcoder", + "output_attentions": false + }, + "unique_parameter_count": 21800 +} diff --git a/benchmarks/results/iquest-contract/checkpointed-explicit-tiny-8.input.json b/benchmarks/results/iquest-contract/checkpointed-explicit-tiny-8.input.json new file mode 100644 index 000000000..67cb14456 --- /dev/null +++ b/benchmarks/results/iquest-contract/checkpointed-explicit-tiny-8.input.json @@ -0,0 +1,94 @@ +{ + "case": "checkpointed", + "length": 8, + "torch": "2.13.0", + "transformers": "4.54.1", + "revision": "61e8589747f6987ec7725e4ffe205f7a84561bd2", + "device": "cpu", + "official_weights": false, + "config": { + "vocab_size": 97, + "max_position_embeddings": 131072, + "hidden_size": 32, + "intermediate_size": 48, + "num_hidden_layers": 2, + "num_attention_heads": 4, + "head_dim": 8, + "num_key_value_heads": 2, + "hidden_act": "silu", + "initializer_range": 0.02, + "rms_norm_eps": 1e-05, + "use_cache": true, + "rope_theta": 500000.0, + "rope_scaling": null, + "attention_bias": false, + "attention_dropout": 0.0, + "mlp_bias": false, + "loop_num": 2, + "loop_window_size": 64, + "return_dict": true, + "output_hidden_states": false, + "torchscript": false, + "torch_dtype": null, + "pruned_heads": {}, + "tie_word_embeddings": false, + "chunk_size_feed_forward": 0, + "is_encoder_decoder": false, + "is_decoder": false, + "cross_attention_hidden_size": null, + "add_cross_attention": false, + "tie_encoder_decoder": false, + "architectures": null, + "finetuning_task": null, + "id2label": { + "0": "LABEL_0", + "1": "LABEL_1" + }, + "label2id": { + "LABEL_0": 0, + "LABEL_1": 1 + }, + "task_specific_params": null, + "problem_type": null, + "tokenizer_class": null, + "prefix": null, + "bos_token_id": 1, + "pad_token_id": null, + "eos_token_id": 2, + "sep_token_id": null, + "decoder_start_token_id": null, + "max_length": 20, + "min_length": 0, + "do_sample": false, + "early_stopping": false, + "num_beams": 1, + "num_beam_groups": 1, + "diversity_penalty": 0.0, + "temperature": 1.0, + "top_k": 50, + "top_p": 1.0, + "typical_p": 1.0, + "repetition_penalty": 1.0, + "length_penalty": 1.0, + "no_repeat_ngram_size": 0, + "encoder_no_repeat_ngram_size": 0, + "bad_words_ids": null, + "num_return_sequences": 1, + "output_scores": false, + "return_dict_in_generate": false, + "forced_bos_token_id": null, + "forced_eos_token_id": null, + "remove_invalid_values": false, + "exponential_decay_length_penalty": null, + "suppress_tokens": null, + "begin_suppress_tokens": null, + "_name_or_path": "", + "transformers_version": "4.54.1", + "tf_legacy_loss": false, + "use_bfloat16": false, + "model_type": "iquestloopcoder", + "output_attentions": false + }, + "unique_parameter_count": 21800, + "explicit_causal_mask_input": true +} diff --git a/benchmarks/results/iquest-contract/checkpointed-explicit-tiny-8.log b/benchmarks/results/iquest-contract/checkpointed-explicit-tiny-8.log new file mode 100644 index 000000000..1a6d9963d --- /dev/null +++ b/benchmarks/results/iquest-contract/checkpointed-explicit-tiny-8.log @@ -0,0 +1,384 @@ +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +torch=2.13.0 /Users/0z5a/Documents/infra/looped-grpo-integration-20261003/.venv/lib/python3.12/site-packages/torch/__init__.py +setuptools=84.0.0 /Users/0z5a/Documents/infra/looped-grpo-integration-20261003/.venv/lib/python3.12/site-packages/setuptools/__init__.py +resident same-RECORD metadata: datasets-5.0.1.dist-info/METADATA +resident same-RECORD metadata: tokenizers-0.21.4.dist-info/METADATA +resident same-RECORD metadata: filelock-4.0.9.dist-info/METADATA +resident same-RECORD metadata: tokenizers-0.21.4.dist-info/METADATA +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/timesfm/modeling_timesfm.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2_phoneme/tokenization_wav2vec2_phoneme.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/maskformer/feature_extraction_maskformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/markuplm/tokenization_markuplm.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/chameleon/modeling_chameleon.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/gemma3/image_processing_gemma3_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/gemma3/modeling_gemma3.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/esm/openfold_utils/loss.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/esm/modeling_esmfold.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/univnet/modeling_univnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rt_detr/image_processing_rt_detr.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rt_detr/configuration_rt_detr_resnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/jetmoe/modeling_jetmoe.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/lxmert/tokenization_lxmert_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/modeling_flax_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/image_processing_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/modeling_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/tokenization_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/groupvit/modeling_groupvit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/pvt/configuration_pvt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/llava_next_video/configuration_llava_next_video.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mask2former/modeling_mask2former.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/tapas/tokenization_tapas.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/data2vec/modeling_tf_data2vec_vision.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/speech_encoder_decoder/configuration_speech_encoder_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/zoedepth/modeling_zoedepth.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/seamless_m4t/tokenization_seamless_m4t_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/cohere2/modeling_cohere2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/unispeech_sat/modeling_unispeech_sat.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/jamba/configuration_jamba.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/layoutlmv3/image_processing_layoutlmv3_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/xlm_roberta/modeling_flax_xlm_roberta.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clipseg/configuration_clipseg.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mobilebert/modeling_tf_mobilebert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/informer/configuration_informer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/modernbert/configuration_modernbert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deit/image_processing_deit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/dpt/modeling_dpt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2/feature_extraction_wav2vec2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2/modeling_tf_wav2vec2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/voxtral/configuration_voxtral.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fastspeech2_conformer/tokenization_fastspeech2_conformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/siglip/processing_siglip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/colpali/configuration_colpali.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/pegasus/modeling_pegasus.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_5_vl/configuration_qwen2_5_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bart/configuration_bart.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/doge/configuration_doge.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/timm_wrapper/image_processing_timm_wrapper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/timm_wrapper/configuration_timm_wrapper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/janus/modeling_janus.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/janus/image_processing_janus.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/janus/processing_janus.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/modernbert_decoder/configuration_modernbert_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/modernbert_decoder/modeling_modernbert_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/d_fine/configuration_d_fine.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/vit/modeling_flax_vit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/vit/modeling_tf_vit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/segformer/feature_extraction_segformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/segformer/image_processing_segformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/vitmatte/image_processing_vitmatte.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/paligemma/modeling_paligemma.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/encoder_decoder/configuration_encoder_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/encoder_decoder/modeling_tf_encoder_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bert/tokenization_bert_tf.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2_conformer/modeling_wav2vec2_conformer.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/wav2vec2_conformer/configuration_wav2vec2_conformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/aria/modeling_aria.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/aria/image_processing_aria.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/owlvit/configuration_owlvit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/ijepa/modeling_ijepa.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics3/image_processing_idefics3.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics3/configuration_idefics3.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clap/processing_clap.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/mobilevit/modeling_tf_mobilevit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics/perceiver.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics/modeling_tf_idefics.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics/configuration_idefics.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/convbert/modeling_tf_convbert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mobilenet_v2/configuration_mobilenet_v2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/unispeech/modeling_unispeech.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics2/image_processing_idefics2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/imagegpt/configuration_imagegpt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/dia/tokenization_dia.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/dia/generation_dia.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/splinter/configuration_splinter.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/splinter/tokenization_splinter.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/longformer/tokenization_longformer_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/opt/modeling_flax_opt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/x_clip/modeling_x_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/cpm/tokenization_cpm_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/depth_anything/configuration_depth_anything.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/depth_anything/modeling_depth_anything.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/tvp/image_processing_tvp.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/aya_vision/configuration_aya_vision.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fuyu/processing_fuyu.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fuyu/image_processing_fuyu.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/encodec/modeling_encodec.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/lightglue/modeling_lightglue.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mt5/modeling_tf_mt5.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/speecht5/number_normalizer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/glm4_moe/configuration_glm4_moe.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_vl/modeling_qwen2_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_vl/configuration_qwen2_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_vl/processing_qwen2_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_5_omni/configuration_qwen2_5_omni.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/roberta_prelayernorm/modeling_roberta_prelayernorm.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/levit/image_processing_levit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/patchtsmixer/configuration_patchtsmixer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/seamless_m4t_v2/modeling_seamless_m4t_v2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/instructblip/modeling_instructblip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bartpho/tokenization_bartpho.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/internvl/modeling_internvl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/internvl/processing_internvl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/perceiver/configuration_perceiver.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/flaubert/tokenization_flaubert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/roc_bert/tokenization_roc_bert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/glm4v/processing_glm4v.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/textnet/image_processing_textnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/textnet/modeling_textnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/blenderbot_small/modeling_flax_blenderbot_small.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/blenderbot_small/tokenization_blenderbot_small.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/phi4_multimodal/feature_extraction_phi4_multimodal.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/megatron_bert/modeling_megatron_bert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/megatron_bert/configuration_megatron_bert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/funnel/configuration_funnel.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/phi/configuration_phi.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bert_japanese/tokenization_bert_japanese.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fsmt/modeling_fsmt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/xmod/configuration_xmod.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/persimmon/configuration_persimmon.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/gpt_neox_japanese/modeling_gpt_neox_japanese.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/layoutlm/tokenization_layoutlm_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/owlv2/configuration_owlv2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/ernie4_5/modeling_ernie4_5.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/kyutai_speech_to_text/configuration_kyutai_speech_to_text.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/kyutai_speech_to_text/feature_extraction_kyutai_speech_to_text.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/git/configuration_git.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/git/modeling_git.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mistral/configuration_mistral.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fnet/configuration_fnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/openai/modeling_tf_openai.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/whisper/processing_whisper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/whisper/modeling_tf_whisper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/whisper/english_normalizer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/llava_onevision/image_processing_llava_onevision.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rembert/tokenization_rembert_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rembert/tokenization_rembert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/seggpt/configuration_seggpt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mbart/configuration_mbart.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mbart/modeling_mbart.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/nat/modeling_nat.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/ernie_m/tokenization_ernie_m.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tvlt/configuration_tvlt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tvlt/modeling_tvlt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tvlt/feature_extraction_tvlt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/mctct/configuration_mctct.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/jukebox/modeling_jukebox.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tapex/tokenization_tapex.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/vit_hybrid/configuration_vit_hybrid.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/deta/modeling_deta.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/retribert/modeling_retribert.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/deprecated/speech_to_text_2/tokenization_speech_to_text_2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/speech_to_text_2/modeling_speech_to_text_2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/xglm/tokenization_xglm_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/_dynamo/_trace_wrapped_higher_order_op.py +resident same-RECORD source: /Users/0z5a/Documents/infra/vime-sm120-initial-20260912/.venv/lib/python3.12/site-packages/torch/onnx/ops/_impl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/vime-sm120-initial-20260912/.venv/lib/python3.12/site-packages/torch/onnx/ops/_impl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/timesfm/modeling_timesfm.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2_phoneme/tokenization_wav2vec2_phoneme.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/maskformer/feature_extraction_maskformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/markuplm/tokenization_markuplm.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/chameleon/modeling_chameleon.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/gemma3/image_processing_gemma3_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/gemma3/modeling_gemma3.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/esm/openfold_utils/loss.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/esm/modeling_esmfold.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/univnet/modeling_univnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rt_detr/image_processing_rt_detr.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rt_detr/configuration_rt_detr_resnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/jetmoe/modeling_jetmoe.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/lxmert/tokenization_lxmert_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/modeling_flax_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/image_processing_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/modeling_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/tokenization_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/groupvit/modeling_groupvit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/pvt/configuration_pvt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/llava_next_video/configuration_llava_next_video.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mask2former/modeling_mask2former.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/tapas/tokenization_tapas.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/data2vec/modeling_tf_data2vec_vision.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/speech_encoder_decoder/configuration_speech_encoder_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/zoedepth/modeling_zoedepth.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/seamless_m4t/tokenization_seamless_m4t_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/cohere2/modeling_cohere2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/unispeech_sat/modeling_unispeech_sat.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/jamba/configuration_jamba.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/layoutlmv3/image_processing_layoutlmv3_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/xlm_roberta/modeling_flax_xlm_roberta.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clipseg/configuration_clipseg.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mobilebert/modeling_tf_mobilebert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/informer/configuration_informer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/modernbert/configuration_modernbert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deit/image_processing_deit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/dpt/modeling_dpt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2/feature_extraction_wav2vec2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2/modeling_tf_wav2vec2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/voxtral/configuration_voxtral.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fastspeech2_conformer/tokenization_fastspeech2_conformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/siglip/processing_siglip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/colpali/configuration_colpali.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/pegasus/modeling_pegasus.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_5_vl/configuration_qwen2_5_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bart/configuration_bart.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/doge/configuration_doge.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/timm_wrapper/image_processing_timm_wrapper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/timm_wrapper/configuration_timm_wrapper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/janus/modeling_janus.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/janus/image_processing_janus.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/janus/processing_janus.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/modernbert_decoder/configuration_modernbert_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/modernbert_decoder/modeling_modernbert_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/d_fine/configuration_d_fine.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/vit/modeling_flax_vit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/vit/modeling_tf_vit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/segformer/feature_extraction_segformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/segformer/image_processing_segformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/vitmatte/image_processing_vitmatte.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/paligemma/modeling_paligemma.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/encoder_decoder/configuration_encoder_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/encoder_decoder/modeling_tf_encoder_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bert/tokenization_bert_tf.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2_conformer/modeling_wav2vec2_conformer.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/wav2vec2_conformer/configuration_wav2vec2_conformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/aria/modeling_aria.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/aria/image_processing_aria.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/owlvit/configuration_owlvit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/ijepa/modeling_ijepa.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics3/image_processing_idefics3.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics3/configuration_idefics3.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clap/processing_clap.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/mobilevit/modeling_tf_mobilevit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics/perceiver.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics/modeling_tf_idefics.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics/configuration_idefics.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/convbert/modeling_tf_convbert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mobilenet_v2/configuration_mobilenet_v2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/unispeech/modeling_unispeech.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics2/image_processing_idefics2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/imagegpt/configuration_imagegpt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/dia/tokenization_dia.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/dia/generation_dia.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/splinter/configuration_splinter.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/splinter/tokenization_splinter.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/longformer/tokenization_longformer_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/opt/modeling_flax_opt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/x_clip/modeling_x_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/cpm/tokenization_cpm_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/depth_anything/configuration_depth_anything.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/depth_anything/modeling_depth_anything.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/tvp/image_processing_tvp.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/aya_vision/configuration_aya_vision.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fuyu/processing_fuyu.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fuyu/image_processing_fuyu.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/encodec/modeling_encodec.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/lightglue/modeling_lightglue.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mt5/modeling_tf_mt5.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/speecht5/number_normalizer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/glm4_moe/configuration_glm4_moe.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_vl/modeling_qwen2_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_vl/configuration_qwen2_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_vl/processing_qwen2_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_5_omni/configuration_qwen2_5_omni.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/roberta_prelayernorm/modeling_roberta_prelayernorm.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/levit/image_processing_levit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/patchtsmixer/configuration_patchtsmixer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/seamless_m4t_v2/modeling_seamless_m4t_v2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/instructblip/modeling_instructblip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bartpho/tokenization_bartpho.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/internvl/modeling_internvl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/internvl/processing_internvl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/perceiver/configuration_perceiver.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/flaubert/tokenization_flaubert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/roc_bert/tokenization_roc_bert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/glm4v/processing_glm4v.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/textnet/image_processing_textnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/textnet/modeling_textnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/blenderbot_small/modeling_flax_blenderbot_small.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/blenderbot_small/tokenization_blenderbot_small.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/phi4_multimodal/feature_extraction_phi4_multimodal.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/megatron_bert/modeling_megatron_bert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/megatron_bert/configuration_megatron_bert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/funnel/configuration_funnel.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/phi/configuration_phi.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bert_japanese/tokenization_bert_japanese.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fsmt/modeling_fsmt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/xmod/configuration_xmod.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/persimmon/configuration_persimmon.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/gpt_neox_japanese/modeling_gpt_neox_japanese.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/layoutlm/tokenization_layoutlm_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/owlv2/configuration_owlv2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/ernie4_5/modeling_ernie4_5.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/kyutai_speech_to_text/configuration_kyutai_speech_to_text.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/kyutai_speech_to_text/feature_extraction_kyutai_speech_to_text.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/git/configuration_git.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/git/modeling_git.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mistral/configuration_mistral.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fnet/configuration_fnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/openai/modeling_tf_openai.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/whisper/processing_whisper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/whisper/modeling_tf_whisper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/whisper/english_normalizer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/llava_onevision/image_processing_llava_onevision.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rembert/tokenization_rembert_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rembert/tokenization_rembert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/seggpt/configuration_seggpt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mbart/configuration_mbart.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mbart/modeling_mbart.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/nat/modeling_nat.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/ernie_m/tokenization_ernie_m.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tvlt/configuration_tvlt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tvlt/modeling_tvlt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tvlt/feature_extraction_tvlt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/mctct/configuration_mctct.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/jukebox/modeling_jukebox.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tapex/tokenization_tapex.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/vit_hybrid/configuration_vit_hybrid.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/deta/modeling_deta.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/retribert/modeling_retribert.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/deprecated/speech_to_text_2/tokenization_speech_to_text_2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/speech_to_text_2/modeling_speech_to_text_2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/xglm/tokenization_xglm_fast.py +{"state": "TINY_INPUT_READY", "case": "checkpointed", "length": 8} +`use_cache=True` is incompatible with gradient checkpointing. Setting `use_cache=False`. +/Users/0z5a/Documents/infra/flashrlt-20261005/bench/resident_pytest.py:198 +:287 +:98 +:88 +bench/probe_iquest_source.py:140 +bench/probe_iquest_source.py:124 +bench/probe_iquest_source.py:95 +/Users/0z5a/Documents/infra/looped-grpo-integration-20261003/.venv/lib/python3.12/site-packages/torch/nn/modules/module.py:1778 +/Users/0z5a/Documents/infra/looped-grpo-integration-20261003/.venv/lib/python3.12/site-packages/torch/nn/modules/module.py:1789 +/Users/0z5a/Documents/infra/looped-grpo-integration-20261003/.venv/lib/python3.12/site-packages/transformers/utils/generic.py:961 +/Users/0z5a/Documents/infra/flashrlt-20261005/evidence/iquest-contract/61e8589747f6987ec7725e4ffe205f7a84561bd2/modeling_iquestloopcoder.py:1038 +/Users/0z5a/Documents/infra/looped-grpo-integration-20261003/.venv/lib/python3.12/site-packages/torch/nn/modules/module.py:1778 +/Users/0z5a/Documents/infra/looped-grpo-integration-20261003/.venv/lib/python3.12/site-packages/torch/nn/modules/module.py:1789 +/Users/0z5a/Documents/infra/looped-grpo-integration-20261003/.venv/lib/python3.12/site-packages/transformers/utils/generic.py:1069 +/Users/0z5a/Documents/infra/flashrlt-20261005/evidence/iquest-contract/61e8589747f6987ec7725e4ffe205f7a84561bd2/modeling_iquestloopcoder.py:960 +/Users/0z5a/Documents/infra/looped-grpo-integration-20261003/.venv/lib/python3.12/site-packages/transformers/modeling_layers.py:93 +/Users/0z5a/Documents/infra/looped-grpo-integration-20261003/.venv/lib/python3.12/site-packages/torch/_compile.py:54 +/Users/0z5a/Documents/infra/looped-grpo-integration-20261003/.venv/lib/python3.12/site-packages/torch/_dynamo/eval_frame.py:1446 +/Users/0z5a/Documents/infra/looped-grpo-integration-20261003/.venv/lib/python3.12/site-packages/torch/utils/checkpoint.py:522 +/Users/0z5a/Documents/infra/looped-grpo-integration-20261003/.venv/lib/python3.12/site-packages/torch/utils/checkpoint.py:1706 +/Users/0z5a/Documents/infra/looped-grpo-integration-20261003/.venv/lib/python3.12/site-packages/torch/utils/checkpoint.py:519 +/Users/0z5a/Documents/infra/looped-grpo-integration-20261003/.venv/lib/python3.12/site-packages/torch/nn/modules/module.py:1778 +/Users/0z5a/Documents/infra/looped-grpo-integration-20261003/.venv/lib/python3.12/site-packages/torch/nn/modules/module.py:1789 +/Users/0z5a/Documents/infra/flashrlt-20261005/evidence/iquest-contract/61e8589747f6987ec7725e4ffe205f7a84561bd2/modeling_iquestloopcoder.py:760 +/Users/0z5a/Documents/infra/looped-grpo-integration-20261003/.venv/lib/python3.12/site-packages/torch/nn/modules/module.py:1778 +/Users/0z5a/Documents/infra/looped-grpo-integration-20261003/.venv/lib/python3.12/site-packages/torch/nn/modules/module.py:1789 +/Users/0z5a/Documents/infra/flashrlt-20261005/evidence/iquest-contract/61e8589747f6987ec7725e4ffe205f7a84561bd2/modeling_iquestloopcoder.py:499 +/Users/0z5a/Documents/infra/flashrlt-20261005/evidence/iquest-contract/61e8589747f6987ec7725e4ffe205f7a84561bd2/modeling_iquestloopcoder.py:643 +/Users/0z5a/Documents/infra/flashrlt-20261005/evidence/iquest-contract/61e8589747f6987ec7725e4ffe205f7a84561bd2/modeling_iquestloopcoder.py:401 +/Users/0z5a/Documents/infra/flashrlt-20261005/evidence/iquest-contract/61e8589747f6987ec7725e4ffe205f7a84561bd2/modeling_iquestloopcoder.py:129 +AttributeError: 'NoneType' object has no attribute 'shape' diff --git a/benchmarks/results/iquest-contract/decode-explicit-tiny-65.input.json b/benchmarks/results/iquest-contract/decode-explicit-tiny-65.input.json new file mode 100644 index 000000000..65cc3ccc6 --- /dev/null +++ b/benchmarks/results/iquest-contract/decode-explicit-tiny-65.input.json @@ -0,0 +1,94 @@ +{ + "case": "decode", + "length": 65, + "torch": "2.13.0", + "transformers": "4.54.1", + "revision": "61e8589747f6987ec7725e4ffe205f7a84561bd2", + "device": "cpu", + "official_weights": false, + "config": { + "vocab_size": 97, + "max_position_embeddings": 131072, + "hidden_size": 32, + "intermediate_size": 48, + "num_hidden_layers": 2, + "num_attention_heads": 4, + "head_dim": 8, + "num_key_value_heads": 2, + "hidden_act": "silu", + "initializer_range": 0.02, + "rms_norm_eps": 1e-05, + "use_cache": true, + "rope_theta": 500000.0, + "rope_scaling": null, + "attention_bias": false, + "attention_dropout": 0.0, + "mlp_bias": false, + "loop_num": 2, + "loop_window_size": 64, + "return_dict": true, + "output_hidden_states": false, + "torchscript": false, + "torch_dtype": null, + "pruned_heads": {}, + "tie_word_embeddings": false, + "chunk_size_feed_forward": 0, + "is_encoder_decoder": false, + "is_decoder": false, + "cross_attention_hidden_size": null, + "add_cross_attention": false, + "tie_encoder_decoder": false, + "architectures": null, + "finetuning_task": null, + "id2label": { + "0": "LABEL_0", + "1": "LABEL_1" + }, + "label2id": { + "LABEL_0": 0, + "LABEL_1": 1 + }, + "task_specific_params": null, + "problem_type": null, + "tokenizer_class": null, + "prefix": null, + "bos_token_id": 1, + "pad_token_id": null, + "eos_token_id": 2, + "sep_token_id": null, + "decoder_start_token_id": null, + "max_length": 20, + "min_length": 0, + "do_sample": false, + "early_stopping": false, + "num_beams": 1, + "num_beam_groups": 1, + "diversity_penalty": 0.0, + "temperature": 1.0, + "top_k": 50, + "top_p": 1.0, + "typical_p": 1.0, + "repetition_penalty": 1.0, + "length_penalty": 1.0, + "no_repeat_ngram_size": 0, + "encoder_no_repeat_ngram_size": 0, + "bad_words_ids": null, + "num_return_sequences": 1, + "output_scores": false, + "return_dict_in_generate": false, + "forced_bos_token_id": null, + "forced_eos_token_id": null, + "remove_invalid_values": false, + "exponential_decay_length_penalty": null, + "suppress_tokens": null, + "begin_suppress_tokens": null, + "_name_or_path": "", + "transformers_version": "4.54.1", + "tf_legacy_loss": false, + "use_bfloat16": false, + "model_type": "iquestloopcoder", + "output_attentions": false + }, + "unique_parameter_count": 21800, + "explicit_causal_mask_input": true +} diff --git a/benchmarks/results/iquest-contract/decode-explicit-tiny-65.json b/benchmarks/results/iquest-contract/decode-explicit-tiny-65.json new file mode 100644 index 000000000..468096ce9 --- /dev/null +++ b/benchmarks/results/iquest-contract/decode-explicit-tiny-65.json @@ -0,0 +1,98 @@ +{ + "case": "decode", + "length": 65, + "torch": "2.13.0", + "transformers": "4.54.1", + "revision": "61e8589747f6987ec7725e4ffe205f7a84561bd2", + "device": "cpu", + "official_weights": false, + "config": { + "vocab_size": 97, + "max_position_embeddings": 131072, + "hidden_size": 32, + "intermediate_size": 48, + "num_hidden_layers": 2, + "num_attention_heads": 4, + "head_dim": 8, + "num_key_value_heads": 2, + "hidden_act": "silu", + "initializer_range": 0.02, + "rms_norm_eps": 1e-05, + "use_cache": true, + "rope_theta": 500000.0, + "rope_scaling": null, + "attention_bias": false, + "attention_dropout": 0.0, + "mlp_bias": false, + "loop_num": 2, + "loop_window_size": 64, + "return_dict": true, + "output_hidden_states": false, + "torchscript": false, + "torch_dtype": null, + "pruned_heads": {}, + "tie_word_embeddings": false, + "chunk_size_feed_forward": 0, + "is_encoder_decoder": false, + "is_decoder": false, + "cross_attention_hidden_size": null, + "add_cross_attention": false, + "tie_encoder_decoder": false, + "architectures": null, + "finetuning_task": null, + "id2label": { + "0": "LABEL_0", + "1": "LABEL_1" + }, + "label2id": { + "LABEL_0": 0, + "LABEL_1": 1 + }, + "task_specific_params": null, + "problem_type": null, + "tokenizer_class": null, + "prefix": null, + "bos_token_id": 1, + "pad_token_id": null, + "eos_token_id": 2, + "sep_token_id": null, + "decoder_start_token_id": null, + "max_length": 20, + "min_length": 0, + "do_sample": false, + "early_stopping": false, + "num_beams": 1, + "num_beam_groups": 1, + "diversity_penalty": 0.0, + "temperature": 1.0, + "top_k": 50, + "top_p": 1.0, + "typical_p": 1.0, + "repetition_penalty": 1.0, + "length_penalty": 1.0, + "no_repeat_ngram_size": 0, + "encoder_no_repeat_ngram_size": 0, + "bad_words_ids": null, + "num_return_sequences": 1, + "output_scores": false, + "return_dict_in_generate": false, + "forced_bos_token_id": null, + "forced_eos_token_id": null, + "remove_invalid_values": false, + "exponential_decay_length_penalty": null, + "suppress_tokens": null, + "begin_suppress_tokens": null, + "_name_or_path": "", + "transformers_version": "4.54.1", + "tf_legacy_loss": false, + "use_bfloat16": false, + "model_type": "iquestloopcoder", + "output_attentions": false + }, + "unique_parameter_count": 21800, + "explicit_causal_mask_input": true, + "prefill_decode_max_abs": 0.5041471123695374, + "prefill_decode_allclose_1e-5": false, + "prefill_finite": true, + "decode_finite": true +} diff --git a/benchmarks/results/iquest-contract/decode-explicit-tiny-8.input.json b/benchmarks/results/iquest-contract/decode-explicit-tiny-8.input.json new file mode 100644 index 000000000..5cb38a93a --- /dev/null +++ b/benchmarks/results/iquest-contract/decode-explicit-tiny-8.input.json @@ -0,0 +1,94 @@ +{ + "case": "decode", + "length": 8, + "torch": "2.13.0", + "transformers": "4.54.1", + "revision": "61e8589747f6987ec7725e4ffe205f7a84561bd2", + "device": "cpu", + "official_weights": false, + "config": { + "vocab_size": 97, + "max_position_embeddings": 131072, + "hidden_size": 32, + "intermediate_size": 48, + "num_hidden_layers": 2, + "num_attention_heads": 4, + "head_dim": 8, + "num_key_value_heads": 2, + "hidden_act": "silu", + "initializer_range": 0.02, + "rms_norm_eps": 1e-05, + "use_cache": true, + "rope_theta": 500000.0, + "rope_scaling": null, + "attention_bias": false, + "attention_dropout": 0.0, + "mlp_bias": false, + "loop_num": 2, + "loop_window_size": 64, + "return_dict": true, + "output_hidden_states": false, + "torchscript": false, + "torch_dtype": null, + "pruned_heads": {}, + "tie_word_embeddings": false, + "chunk_size_feed_forward": 0, + "is_encoder_decoder": false, + "is_decoder": false, + "cross_attention_hidden_size": null, + "add_cross_attention": false, + "tie_encoder_decoder": false, + "architectures": null, + "finetuning_task": null, + "id2label": { + "0": "LABEL_0", + "1": "LABEL_1" + }, + "label2id": { + "LABEL_0": 0, + "LABEL_1": 1 + }, + "task_specific_params": null, + "problem_type": null, + "tokenizer_class": null, + "prefix": null, + "bos_token_id": 1, + "pad_token_id": null, + "eos_token_id": 2, + "sep_token_id": null, + "decoder_start_token_id": null, + "max_length": 20, + "min_length": 0, + "do_sample": false, + "early_stopping": false, + "num_beams": 1, + "num_beam_groups": 1, + "diversity_penalty": 0.0, + "temperature": 1.0, + "top_k": 50, + "top_p": 1.0, + "typical_p": 1.0, + "repetition_penalty": 1.0, + "length_penalty": 1.0, + "no_repeat_ngram_size": 0, + "encoder_no_repeat_ngram_size": 0, + "bad_words_ids": null, + "num_return_sequences": 1, + "output_scores": false, + "return_dict_in_generate": false, + "forced_bos_token_id": null, + "forced_eos_token_id": null, + "remove_invalid_values": false, + "exponential_decay_length_penalty": null, + "suppress_tokens": null, + "begin_suppress_tokens": null, + "_name_or_path": "", + "transformers_version": "4.54.1", + "tf_legacy_loss": false, + "use_bfloat16": false, + "model_type": "iquestloopcoder", + "output_attentions": false + }, + "unique_parameter_count": 21800, + "explicit_causal_mask_input": true +} diff --git a/benchmarks/results/iquest-contract/decode-explicit-tiny-8.json b/benchmarks/results/iquest-contract/decode-explicit-tiny-8.json new file mode 100644 index 000000000..d20e88786 --- /dev/null +++ b/benchmarks/results/iquest-contract/decode-explicit-tiny-8.json @@ -0,0 +1,98 @@ +{ + "case": "decode", + "length": 8, + "torch": "2.13.0", + "transformers": "4.54.1", + "revision": "61e8589747f6987ec7725e4ffe205f7a84561bd2", + "device": "cpu", + "official_weights": false, + "config": { + "vocab_size": 97, + "max_position_embeddings": 131072, + "hidden_size": 32, + "intermediate_size": 48, + "num_hidden_layers": 2, + "num_attention_heads": 4, + "head_dim": 8, + "num_key_value_heads": 2, + "hidden_act": "silu", + "initializer_range": 0.02, + "rms_norm_eps": 1e-05, + "use_cache": true, + "rope_theta": 500000.0, + "rope_scaling": null, + "attention_bias": false, + "attention_dropout": 0.0, + "mlp_bias": false, + "loop_num": 2, + "loop_window_size": 64, + "return_dict": true, + "output_hidden_states": false, + "torchscript": false, + "torch_dtype": null, + "pruned_heads": {}, + "tie_word_embeddings": false, + "chunk_size_feed_forward": 0, + "is_encoder_decoder": false, + "is_decoder": false, + "cross_attention_hidden_size": null, + "add_cross_attention": false, + "tie_encoder_decoder": false, + "architectures": null, + "finetuning_task": null, + "id2label": { + "0": "LABEL_0", + "1": "LABEL_1" + }, + "label2id": { + "LABEL_0": 0, + "LABEL_1": 1 + }, + "task_specific_params": null, + "problem_type": null, + "tokenizer_class": null, + "prefix": null, + "bos_token_id": 1, + "pad_token_id": null, + "eos_token_id": 2, + "sep_token_id": null, + "decoder_start_token_id": null, + "max_length": 20, + "min_length": 0, + "do_sample": false, + "early_stopping": false, + "num_beams": 1, + "num_beam_groups": 1, + "diversity_penalty": 0.0, + "temperature": 1.0, + "top_k": 50, + "top_p": 1.0, + "typical_p": 1.0, + "repetition_penalty": 1.0, + "length_penalty": 1.0, + "no_repeat_ngram_size": 0, + "encoder_no_repeat_ngram_size": 0, + "bad_words_ids": null, + "num_return_sequences": 1, + "output_scores": false, + "return_dict_in_generate": false, + "forced_bos_token_id": null, + "forced_eos_token_id": null, + "remove_invalid_values": false, + "exponential_decay_length_penalty": null, + "suppress_tokens": null, + "begin_suppress_tokens": null, + "_name_or_path": "", + "transformers_version": "4.54.1", + "tf_legacy_loss": false, + "use_bfloat16": false, + "model_type": "iquestloopcoder", + "output_attentions": false + }, + "unique_parameter_count": 21800, + "explicit_causal_mask_input": true, + "prefill_decode_max_abs": 0.41336044669151306, + "prefill_decode_allclose_1e-5": false, + "prefill_finite": true, + "decode_finite": true +} diff --git a/benchmarks/results/iquest-contract/functional-replay-audit-attempt01-provenance.json b/benchmarks/results/iquest-contract/functional-replay-audit-attempt01-provenance.json new file mode 100644 index 000000000..607d60dd7 --- /dev/null +++ b/benchmarks/results/iquest-contract/functional-replay-audit-attempt01-provenance.json @@ -0,0 +1,9 @@ +{ + "driver_sha256": "f9cff8a04c1fc9090e1a41962c363ec870d2db113f5dd03c86f7f3976d51c1a1", + "prototype_sha256": "cdf28edb5b41dfdd6d223ef171e9163c33b73c5d118590a84c5277e9c37592fc", + "actual_exit_code": 1, + "failure": "One parameter delta differs by1.7881393432617188e-7 at original1e-7 absolute bound. First four complete cases passed; fifth incomplete.", + "gradient_relative_l2_gate": 2e-06, + "parameter_delta_atol": 1e-07, + "gates_changed": false +} diff --git a/benchmarks/results/iquest-contract/functional-replay-audit-attempt01.json b/benchmarks/results/iquest-contract/functional-replay-audit-attempt01.json new file mode 100644 index 000000000..711166066 --- /dev/null +++ b/benchmarks/results/iquest-contract/functional-replay-audit-attempt01.json @@ -0,0 +1,206 @@ +{ + "state": "RUNNING", + "revision": "61e8589747f6987ec7725e4ffe205f7a84561bd2", + "torch": "2.13.0", + "official_weights": false, + "device": "cpu", + "gradient_relative_l2_gate": 2e-06, + "logits_atol": 1e-05, + "logits_rtol": 1e-05, + "optimizer": "AdamW", + "learning_rate": 0.0001, + "betas": [ + 0.9, + 0.999 + ], + "eps": 1e-08, + "weight_decay": 0.1, + "cases": [ + { + "seed": 42, + "length": 1, + "recompute": false, + "tokens": [ + [ + 36 + ] + ], + "targets": [ + 0 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 0.0, + "gradient_relative_l2": 0.0, + "loss_reference": 5.2766923904418945, + "loss_candidate": 5.2766923904418945, + "parameter_delta_max_abs": 0.0, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true + }, + { + "step": 2, + "logits_max_abs": 0.0, + "gradient_relative_l2": 0.0, + "loss_reference": 5.24023962020874, + "loss_candidate": 5.24023962020874, + "parameter_delta_max_abs": 0.0, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true + } + ] + }, + { + "seed": 42, + "length": 1, + "recompute": true, + "tokens": [ + [ + 36 + ] + ], + "targets": [ + 0 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 0.0, + "gradient_relative_l2": 0.0, + "loss_reference": 5.2766923904418945, + "loss_candidate": 5.2766923904418945, + "parameter_delta_max_abs": 0.0, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true + }, + { + "step": 2, + "logits_max_abs": 0.0, + "gradient_relative_l2": 0.0, + "loss_reference": 5.24023962020874, + "loss_candidate": 5.24023962020874, + "parameter_delta_max_abs": 0.0, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true + } + ] + }, + { + "seed": 42, + "length": 4, + "recompute": false, + "tokens": [ + [ + 36, + 18, + 74, + 9 + ] + ], + "targets": [ + 2, + 61, + 29, + 52 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 3.5762786865234375e-07, + "gradient_relative_l2": 1.4622053521253907e-07, + "loss_reference": 4.553637504577637, + "loss_candidate": 4.553637504577637, + "parameter_delta_max_abs": 7.450580596923828e-09, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true + }, + { + "step": 2, + "logits_max_abs": 2.682209014892578e-07, + "gradient_relative_l2": 1.5220117685639182e-07, + "loss_reference": 4.529329776763916, + "loss_candidate": 4.529329299926758, + "parameter_delta_max_abs": 2.9802322387695312e-08, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true + } + ] + }, + { + "seed": 42, + "length": 4, + "recompute": true, + "tokens": [ + [ + 36, + 18, + 74, + 9 + ] + ], + "targets": [ + 2, + 61, + 29, + 52 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 3.5762786865234375e-07, + "gradient_relative_l2": 1.4622053521253907e-07, + "loss_reference": 4.553637504577637, + "loss_candidate": 4.553637504577637, + "parameter_delta_max_abs": 7.450580596923828e-09, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true + }, + { + "step": 2, + "logits_max_abs": 2.682209014892578e-07, + "gradient_relative_l2": 1.5220117685639182e-07, + "loss_reference": 4.529329776763916, + "loss_candidate": 4.529329299926758, + "parameter_delta_max_abs": 2.9802322387695312e-08, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true + } + ] + }, + { + "seed": 42, + "length": 8, + "recompute": false, + "tokens": [ + [ + 36, + 18, + 74, + 9, + 66, + 43, + 91, + 63 + ] + ], + "targets": [ + 63, + 62, + 41, + 66, + 86, + 49, + 16, + 53 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 3.5762786865234375e-07 + } + ] + } + ], + "scope": "Tiny supervised numerical/Adam equivalence; not RL reward convergence or 40B execution." +} diff --git a/benchmarks/results/iquest-contract/functional-replay-audit-attempt01.log b/benchmarks/results/iquest-contract/functional-replay-audit-attempt01.log new file mode 100644 index 000000000..d34eaf98c --- /dev/null +++ b/benchmarks/results/iquest-contract/functional-replay-audit-attempt01.log @@ -0,0 +1,371 @@ +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +torch=2.13.0 /Users/0z5a/Documents/infra/looped-grpo-integration-20261003/.venv/lib/python3.12/site-packages/torch/__init__.py +setuptools=84.0.0 /Users/0z5a/Documents/infra/looped-grpo-integration-20261003/.venv/lib/python3.12/site-packages/setuptools/__init__.py +resident same-RECORD metadata: datasets-5.0.1.dist-info/METADATA +resident same-RECORD metadata: tokenizers-0.21.4.dist-info/METADATA +resident same-RECORD metadata: filelock-4.0.9.dist-info/METADATA +resident same-RECORD metadata: tokenizers-0.21.4.dist-info/METADATA +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/timesfm/modeling_timesfm.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2_phoneme/tokenization_wav2vec2_phoneme.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/maskformer/feature_extraction_maskformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/markuplm/tokenization_markuplm.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/chameleon/modeling_chameleon.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/gemma3/image_processing_gemma3_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/gemma3/modeling_gemma3.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/esm/openfold_utils/loss.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/esm/modeling_esmfold.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/univnet/modeling_univnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rt_detr/image_processing_rt_detr.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rt_detr/configuration_rt_detr_resnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/jetmoe/modeling_jetmoe.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/lxmert/tokenization_lxmert_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/modeling_flax_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/image_processing_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/modeling_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/tokenization_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/groupvit/modeling_groupvit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/pvt/configuration_pvt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/llava_next_video/configuration_llava_next_video.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mask2former/modeling_mask2former.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/tapas/tokenization_tapas.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/data2vec/modeling_tf_data2vec_vision.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/speech_encoder_decoder/configuration_speech_encoder_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/zoedepth/modeling_zoedepth.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/seamless_m4t/tokenization_seamless_m4t_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/cohere2/modeling_cohere2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/unispeech_sat/modeling_unispeech_sat.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/jamba/configuration_jamba.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/layoutlmv3/image_processing_layoutlmv3_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/xlm_roberta/modeling_flax_xlm_roberta.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clipseg/configuration_clipseg.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mobilebert/modeling_tf_mobilebert.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/mobilebert/tokenization_mobilebert_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/informer/configuration_informer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/modernbert/configuration_modernbert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deit/image_processing_deit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/dpt/modeling_dpt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2/feature_extraction_wav2vec2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2/modeling_tf_wav2vec2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/voxtral/configuration_voxtral.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fastspeech2_conformer/tokenization_fastspeech2_conformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/siglip/processing_siglip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/colpali/configuration_colpali.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/pegasus/modeling_pegasus.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_5_vl/configuration_qwen2_5_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bart/configuration_bart.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/doge/configuration_doge.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/timm_wrapper/image_processing_timm_wrapper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/timm_wrapper/configuration_timm_wrapper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/janus/modeling_janus.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/janus/image_processing_janus.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/janus/processing_janus.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/modernbert_decoder/configuration_modernbert_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/modernbert_decoder/modeling_modernbert_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/d_fine/configuration_d_fine.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/vit/modeling_flax_vit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/vit/modeling_tf_vit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/segformer/feature_extraction_segformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/segformer/image_processing_segformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/vitmatte/image_processing_vitmatte.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/paligemma/modeling_paligemma.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/encoder_decoder/configuration_encoder_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/encoder_decoder/modeling_tf_encoder_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bert/tokenization_bert_tf.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2_conformer/modeling_wav2vec2_conformer.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/wav2vec2_conformer/configuration_wav2vec2_conformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/aria/modeling_aria.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/aria/image_processing_aria.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/owlvit/configuration_owlvit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/ijepa/modeling_ijepa.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics3/image_processing_idefics3.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics3/configuration_idefics3.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clap/processing_clap.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/mobilevit/modeling_tf_mobilevit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics/perceiver.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics/modeling_tf_idefics.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics/configuration_idefics.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/convbert/modeling_tf_convbert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mobilenet_v2/configuration_mobilenet_v2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/unispeech/modeling_unispeech.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics2/image_processing_idefics2.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/llava_next/image_processing_llava_next_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/imagegpt/configuration_imagegpt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/dia/tokenization_dia.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/dia/generation_dia.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/splinter/configuration_splinter.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/splinter/tokenization_splinter.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/longformer/tokenization_longformer_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/opt/modeling_flax_opt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/x_clip/modeling_x_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/cpm/tokenization_cpm_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/depth_anything/configuration_depth_anything.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/depth_anything/modeling_depth_anything.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/tvp/image_processing_tvp.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/aya_vision/configuration_aya_vision.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fuyu/processing_fuyu.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fuyu/image_processing_fuyu.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/encodec/modeling_encodec.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/lightglue/modeling_lightglue.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mt5/modeling_tf_mt5.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/speecht5/number_normalizer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/glm4_moe/configuration_glm4_moe.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_vl/modeling_qwen2_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_vl/configuration_qwen2_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_vl/processing_qwen2_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_5_omni/configuration_qwen2_5_omni.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/roberta_prelayernorm/modeling_roberta_prelayernorm.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/levit/image_processing_levit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/patchtsmixer/configuration_patchtsmixer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/seamless_m4t_v2/modeling_seamless_m4t_v2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/instructblip/modeling_instructblip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bartpho/tokenization_bartpho.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/internvl/modeling_internvl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/internvl/processing_internvl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/perceiver/configuration_perceiver.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/flaubert/tokenization_flaubert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/roc_bert/tokenization_roc_bert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/glm4v/processing_glm4v.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/textnet/image_processing_textnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/textnet/modeling_textnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/blenderbot_small/modeling_flax_blenderbot_small.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/blenderbot_small/tokenization_blenderbot_small.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/phi4_multimodal/feature_extraction_phi4_multimodal.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/megatron_bert/modeling_megatron_bert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/megatron_bert/configuration_megatron_bert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/funnel/configuration_funnel.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/phi/configuration_phi.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bert_japanese/tokenization_bert_japanese.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fsmt/modeling_fsmt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/xmod/configuration_xmod.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/persimmon/configuration_persimmon.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/gpt_neox_japanese/modeling_gpt_neox_japanese.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/layoutlm/tokenization_layoutlm_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/owlv2/configuration_owlv2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/ernie4_5/modeling_ernie4_5.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/kyutai_speech_to_text/configuration_kyutai_speech_to_text.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/kyutai_speech_to_text/feature_extraction_kyutai_speech_to_text.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/git/configuration_git.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/git/modeling_git.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mistral/configuration_mistral.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fnet/configuration_fnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/openai/modeling_tf_openai.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/whisper/processing_whisper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/whisper/modeling_tf_whisper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/whisper/english_normalizer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/llava_onevision/image_processing_llava_onevision.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rembert/tokenization_rembert_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rembert/tokenization_rembert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/seggpt/configuration_seggpt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mbart/configuration_mbart.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mbart/modeling_mbart.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/nat/modeling_nat.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/ernie_m/tokenization_ernie_m.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tvlt/configuration_tvlt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tvlt/modeling_tvlt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tvlt/feature_extraction_tvlt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/mctct/configuration_mctct.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/jukebox/modeling_jukebox.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tapex/tokenization_tapex.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/vit_hybrid/configuration_vit_hybrid.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/deta/modeling_deta.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/retribert/modeling_retribert.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/deprecated/speech_to_text_2/tokenization_speech_to_text_2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/speech_to_text_2/modeling_speech_to_text_2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/xglm/tokenization_xglm_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/_dynamo/_trace_wrapped_higher_order_op.py +resident same-RECORD source: /Users/0z5a/Documents/infra/vime-sm120-initial-20260912/.venv/lib/python3.12/site-packages/torch/onnx/ops/_impl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/vime-sm120-initial-20260912/.venv/lib/python3.12/site-packages/torch/onnx/ops/_impl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/timesfm/modeling_timesfm.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2_phoneme/tokenization_wav2vec2_phoneme.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/maskformer/feature_extraction_maskformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/markuplm/tokenization_markuplm.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/chameleon/modeling_chameleon.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/gemma3/image_processing_gemma3_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/gemma3/modeling_gemma3.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/esm/openfold_utils/loss.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/esm/modeling_esmfold.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/univnet/modeling_univnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rt_detr/image_processing_rt_detr.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rt_detr/configuration_rt_detr_resnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/jetmoe/modeling_jetmoe.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/lxmert/tokenization_lxmert_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/modeling_flax_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/image_processing_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/modeling_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/tokenization_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/groupvit/modeling_groupvit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/pvt/configuration_pvt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/llava_next_video/configuration_llava_next_video.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mask2former/modeling_mask2former.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/tapas/tokenization_tapas.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/data2vec/modeling_tf_data2vec_vision.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/speech_encoder_decoder/configuration_speech_encoder_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/zoedepth/modeling_zoedepth.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/seamless_m4t/tokenization_seamless_m4t_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/cohere2/modeling_cohere2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/unispeech_sat/modeling_unispeech_sat.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/jamba/configuration_jamba.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/layoutlmv3/image_processing_layoutlmv3_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/xlm_roberta/modeling_flax_xlm_roberta.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clipseg/configuration_clipseg.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mobilebert/modeling_tf_mobilebert.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/mobilebert/tokenization_mobilebert_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/informer/configuration_informer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/modernbert/configuration_modernbert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deit/image_processing_deit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/dpt/modeling_dpt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2/feature_extraction_wav2vec2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2/modeling_tf_wav2vec2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/voxtral/configuration_voxtral.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fastspeech2_conformer/tokenization_fastspeech2_conformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/siglip/processing_siglip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/colpali/configuration_colpali.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/pegasus/modeling_pegasus.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_5_vl/configuration_qwen2_5_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bart/configuration_bart.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/doge/configuration_doge.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/timm_wrapper/image_processing_timm_wrapper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/timm_wrapper/configuration_timm_wrapper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/janus/modeling_janus.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/janus/image_processing_janus.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/janus/processing_janus.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/modernbert_decoder/configuration_modernbert_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/modernbert_decoder/modeling_modernbert_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/d_fine/configuration_d_fine.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/vit/modeling_flax_vit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/vit/modeling_tf_vit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/segformer/feature_extraction_segformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/segformer/image_processing_segformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/vitmatte/image_processing_vitmatte.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/paligemma/modeling_paligemma.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/encoder_decoder/configuration_encoder_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/encoder_decoder/modeling_tf_encoder_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bert/tokenization_bert_tf.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2_conformer/modeling_wav2vec2_conformer.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/wav2vec2_conformer/configuration_wav2vec2_conformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/aria/modeling_aria.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/aria/image_processing_aria.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/owlvit/configuration_owlvit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/ijepa/modeling_ijepa.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics3/image_processing_idefics3.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics3/configuration_idefics3.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clap/processing_clap.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/mobilevit/modeling_tf_mobilevit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics/perceiver.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics/modeling_tf_idefics.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics/configuration_idefics.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/convbert/modeling_tf_convbert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mobilenet_v2/configuration_mobilenet_v2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/unispeech/modeling_unispeech.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics2/image_processing_idefics2.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/llava_next/image_processing_llava_next_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/imagegpt/configuration_imagegpt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/dia/tokenization_dia.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/dia/generation_dia.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/splinter/configuration_splinter.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/splinter/tokenization_splinter.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/longformer/tokenization_longformer_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/opt/modeling_flax_opt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/x_clip/modeling_x_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/cpm/tokenization_cpm_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/depth_anything/configuration_depth_anything.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/depth_anything/modeling_depth_anything.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/tvp/image_processing_tvp.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/aya_vision/configuration_aya_vision.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fuyu/processing_fuyu.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fuyu/image_processing_fuyu.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/encodec/modeling_encodec.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/lightglue/modeling_lightglue.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mt5/modeling_tf_mt5.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/speecht5/number_normalizer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/glm4_moe/configuration_glm4_moe.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_vl/modeling_qwen2_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_vl/configuration_qwen2_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_vl/processing_qwen2_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_5_omni/configuration_qwen2_5_omni.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/roberta_prelayernorm/modeling_roberta_prelayernorm.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/levit/image_processing_levit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/patchtsmixer/configuration_patchtsmixer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/seamless_m4t_v2/modeling_seamless_m4t_v2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/instructblip/modeling_instructblip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bartpho/tokenization_bartpho.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/internvl/modeling_internvl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/internvl/processing_internvl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/perceiver/configuration_perceiver.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/flaubert/tokenization_flaubert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/roc_bert/tokenization_roc_bert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/glm4v/processing_glm4v.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/textnet/image_processing_textnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/textnet/modeling_textnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/blenderbot_small/modeling_flax_blenderbot_small.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/blenderbot_small/tokenization_blenderbot_small.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/phi4_multimodal/feature_extraction_phi4_multimodal.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/megatron_bert/modeling_megatron_bert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/megatron_bert/configuration_megatron_bert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/funnel/configuration_funnel.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/phi/configuration_phi.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bert_japanese/tokenization_bert_japanese.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fsmt/modeling_fsmt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/xmod/configuration_xmod.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/persimmon/configuration_persimmon.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/gpt_neox_japanese/modeling_gpt_neox_japanese.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/layoutlm/tokenization_layoutlm_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/owlv2/configuration_owlv2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/ernie4_5/modeling_ernie4_5.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/kyutai_speech_to_text/configuration_kyutai_speech_to_text.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/kyutai_speech_to_text/feature_extraction_kyutai_speech_to_text.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/git/configuration_git.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/git/modeling_git.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mistral/configuration_mistral.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fnet/configuration_fnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/openai/modeling_tf_openai.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/whisper/processing_whisper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/whisper/modeling_tf_whisper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/whisper/english_normalizer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/llava_onevision/image_processing_llava_onevision.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rembert/tokenization_rembert_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rembert/tokenization_rembert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/seggpt/configuration_seggpt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mbart/configuration_mbart.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mbart/modeling_mbart.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/nat/modeling_nat.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/ernie_m/tokenization_ernie_m.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tvlt/configuration_tvlt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tvlt/modeling_tvlt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tvlt/feature_extraction_tvlt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/mctct/configuration_mctct.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/jukebox/modeling_jukebox.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tapex/tokenization_tapex.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/vit_hybrid/configuration_vit_hybrid.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/deta/modeling_deta.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/retribert/modeling_retribert.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/deprecated/speech_to_text_2/tokenization_speech_to_text_2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/speech_to_text_2/modeling_speech_to_text_2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/xglm/tokenization_xglm_fast.py +{"seed": 42, "length": 1, "recompute": false, "steps": 2} +{"seed": 42, "length": 1, "recompute": true, "steps": 2} +{"seed": 42, "length": 4, "recompute": false, "steps": 2} +{"seed": 42, "length": 4, "recompute": true, "steps": 2} +/Users/0z5a/Documents/infra/flashrlt-20261005/bench/resident_pytest.py:198 +:287 +:98 +:88 +bench/audit_iquest_replay.py:210 +bench/audit_iquest_replay.py:169 +/Users/0z5a/Documents/infra/looped-grpo-integration-20261003/.venv/lib/python3.12/site-packages/torch/testing/_comparison.py:1631 +AssertionError: Tensor-likes are not close! + +Mismatched elements: 1 / 1536 (0.1%) +Greatest absolute difference: 1.7881393432617188e-07 at index (42, 11) (up to 1e-07 allowed) +Greatest relative difference: 0.0018458698177710176 at index (42, 11) (up to 1e-05 allowed) diff --git a/benchmarks/results/iquest-contract/functional-replay-audit-attempt02.log b/benchmarks/results/iquest-contract/functional-replay-audit-attempt02.log new file mode 100644 index 000000000..53506f638 --- /dev/null +++ b/benchmarks/results/iquest-contract/functional-replay-audit-attempt02.log @@ -0,0 +1,376 @@ +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +torch=2.13.0 /Users/0z5a/Documents/infra/looped-grpo-integration-20261003/.venv/lib/python3.12/site-packages/torch/__init__.py +setuptools=84.0.0 /Users/0z5a/Documents/infra/looped-grpo-integration-20261003/.venv/lib/python3.12/site-packages/setuptools/__init__.py +resident same-RECORD metadata: datasets-5.0.1.dist-info/METADATA +resident same-RECORD metadata: tokenizers-0.21.4.dist-info/METADATA +resident same-RECORD metadata: filelock-4.0.9.dist-info/METADATA +resident same-RECORD metadata: tokenizers-0.21.4.dist-info/METADATA +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/timesfm/modeling_timesfm.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2_phoneme/tokenization_wav2vec2_phoneme.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/maskformer/feature_extraction_maskformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/markuplm/tokenization_markuplm.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/chameleon/modeling_chameleon.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/gemma3/image_processing_gemma3_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/gemma3/modeling_gemma3.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/esm/openfold_utils/loss.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/esm/modeling_esmfold.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/univnet/modeling_univnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rt_detr/image_processing_rt_detr.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rt_detr/configuration_rt_detr_resnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/jetmoe/modeling_jetmoe.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/lxmert/tokenization_lxmert_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/modeling_flax_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/image_processing_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/modeling_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/tokenization_clip.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/hubert/configuration_hubert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/groupvit/modeling_groupvit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/pvt/configuration_pvt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/llava_next_video/configuration_llava_next_video.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mask2former/modeling_mask2former.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/tapas/tokenization_tapas.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/data2vec/modeling_tf_data2vec_vision.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/speech_encoder_decoder/configuration_speech_encoder_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/zoedepth/modeling_zoedepth.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/seamless_m4t/tokenization_seamless_m4t_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/cohere2/modeling_cohere2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/unispeech_sat/modeling_unispeech_sat.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/jamba/configuration_jamba.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/layoutlmv3/image_processing_layoutlmv3_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/xlm_roberta/modeling_flax_xlm_roberta.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clipseg/configuration_clipseg.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mobilebert/modeling_tf_mobilebert.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/mobilebert/tokenization_mobilebert_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/informer/configuration_informer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/modernbert/configuration_modernbert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deit/image_processing_deit.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/dpt/configuration_dpt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/dpt/modeling_dpt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2/feature_extraction_wav2vec2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2/modeling_tf_wav2vec2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/voxtral/configuration_voxtral.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fastspeech2_conformer/tokenization_fastspeech2_conformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/siglip/processing_siglip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/colpali/configuration_colpali.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/pegasus/modeling_pegasus.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_5_vl/configuration_qwen2_5_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bart/configuration_bart.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/doge/configuration_doge.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/timm_wrapper/image_processing_timm_wrapper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/timm_wrapper/configuration_timm_wrapper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/janus/modeling_janus.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/janus/image_processing_janus.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/janus/processing_janus.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/modernbert_decoder/configuration_modernbert_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/modernbert_decoder/modeling_modernbert_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/d_fine/configuration_d_fine.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/vit/modeling_flax_vit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/vit/modeling_tf_vit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/segformer/feature_extraction_segformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/segformer/image_processing_segformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/vitmatte/image_processing_vitmatte.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/paligemma/modeling_paligemma.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/encoder_decoder/configuration_encoder_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/encoder_decoder/modeling_tf_encoder_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bert/tokenization_bert_tf.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2_conformer/modeling_wav2vec2_conformer.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/wav2vec2_conformer/configuration_wav2vec2_conformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/aria/modeling_aria.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/aria/image_processing_aria.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/owlvit/configuration_owlvit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/ijepa/modeling_ijepa.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics3/image_processing_idefics3.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics3/configuration_idefics3.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clap/processing_clap.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/mobilevit/modeling_tf_mobilevit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics/perceiver.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics/modeling_tf_idefics.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics/configuration_idefics.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/convbert/modeling_tf_convbert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mobilenet_v2/configuration_mobilenet_v2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/unispeech/modeling_unispeech.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics2/image_processing_idefics2.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/llava_next/image_processing_llava_next_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/imagegpt/configuration_imagegpt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/dia/tokenization_dia.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/dia/generation_dia.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/splinter/configuration_splinter.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/splinter/tokenization_splinter.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/longformer/tokenization_longformer_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/opt/modeling_flax_opt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/x_clip/modeling_x_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/cpm/tokenization_cpm_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/depth_anything/configuration_depth_anything.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/depth_anything/modeling_depth_anything.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/tvp/image_processing_tvp.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/aya_vision/configuration_aya_vision.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fuyu/processing_fuyu.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fuyu/image_processing_fuyu.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/encodec/modeling_encodec.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/lightglue/modeling_lightglue.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mt5/modeling_tf_mt5.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/speecht5/number_normalizer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/glm4_moe/configuration_glm4_moe.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_vl/modeling_qwen2_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_vl/configuration_qwen2_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_vl/processing_qwen2_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_5_omni/configuration_qwen2_5_omni.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/roberta_prelayernorm/modeling_roberta_prelayernorm.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/levit/image_processing_levit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/patchtsmixer/configuration_patchtsmixer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/seamless_m4t_v2/modeling_seamless_m4t_v2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/instructblip/modeling_instructblip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bartpho/tokenization_bartpho.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/internvl/modeling_internvl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/internvl/processing_internvl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/perceiver/configuration_perceiver.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/flaubert/tokenization_flaubert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/roc_bert/tokenization_roc_bert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/glm4v/processing_glm4v.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/textnet/image_processing_textnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/textnet/modeling_textnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/blenderbot_small/modeling_flax_blenderbot_small.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/blenderbot_small/tokenization_blenderbot_small.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/phi4_multimodal/feature_extraction_phi4_multimodal.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/megatron_bert/modeling_megatron_bert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/megatron_bert/configuration_megatron_bert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/funnel/configuration_funnel.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/phi/configuration_phi.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bert_japanese/tokenization_bert_japanese.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fsmt/modeling_fsmt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/xmod/configuration_xmod.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/persimmon/configuration_persimmon.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/gpt_neox_japanese/modeling_gpt_neox_japanese.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/layoutlm/tokenization_layoutlm_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/owlv2/configuration_owlv2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/ernie4_5/modeling_ernie4_5.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/kyutai_speech_to_text/configuration_kyutai_speech_to_text.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/kyutai_speech_to_text/feature_extraction_kyutai_speech_to_text.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/git/configuration_git.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/git/modeling_git.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mistral/configuration_mistral.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fnet/configuration_fnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/openai/modeling_tf_openai.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/whisper/processing_whisper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/whisper/modeling_tf_whisper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/whisper/english_normalizer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/llava_onevision/image_processing_llava_onevision.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rembert/tokenization_rembert_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rembert/tokenization_rembert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/seggpt/configuration_seggpt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mbart/configuration_mbart.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mbart/modeling_mbart.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/nat/modeling_nat.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/ernie_m/tokenization_ernie_m.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tvlt/configuration_tvlt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tvlt/modeling_tvlt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tvlt/feature_extraction_tvlt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/mctct/configuration_mctct.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/jukebox/modeling_jukebox.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tapex/tokenization_tapex.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/vit_hybrid/configuration_vit_hybrid.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/deta/modeling_deta.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/retribert/modeling_retribert.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/deprecated/speech_to_text_2/tokenization_speech_to_text_2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/speech_to_text_2/modeling_speech_to_text_2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/xglm/tokenization_xglm_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/_dynamo/_trace_wrapped_higher_order_op.py +resident same-RECORD source: /Users/0z5a/Documents/infra/vime-sm120-initial-20260912/.venv/lib/python3.12/site-packages/torch/onnx/ops/_impl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/vime-sm120-initial-20260912/.venv/lib/python3.12/site-packages/torch/onnx/ops/_impl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/timesfm/modeling_timesfm.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2_phoneme/tokenization_wav2vec2_phoneme.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/maskformer/feature_extraction_maskformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/markuplm/tokenization_markuplm.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/chameleon/modeling_chameleon.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/gemma3/image_processing_gemma3_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/gemma3/modeling_gemma3.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/esm/openfold_utils/loss.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/esm/modeling_esmfold.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/univnet/modeling_univnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rt_detr/image_processing_rt_detr.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rt_detr/configuration_rt_detr_resnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/jetmoe/modeling_jetmoe.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/lxmert/tokenization_lxmert_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/modeling_flax_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/image_processing_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/modeling_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/tokenization_clip.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/hubert/configuration_hubert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/groupvit/modeling_groupvit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/pvt/configuration_pvt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/llava_next_video/configuration_llava_next_video.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mask2former/modeling_mask2former.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/tapas/tokenization_tapas.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/data2vec/modeling_tf_data2vec_vision.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/speech_encoder_decoder/configuration_speech_encoder_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/zoedepth/modeling_zoedepth.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/seamless_m4t/tokenization_seamless_m4t_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/cohere2/modeling_cohere2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/unispeech_sat/modeling_unispeech_sat.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/jamba/configuration_jamba.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/layoutlmv3/image_processing_layoutlmv3_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/xlm_roberta/modeling_flax_xlm_roberta.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clipseg/configuration_clipseg.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mobilebert/modeling_tf_mobilebert.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/mobilebert/tokenization_mobilebert_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/informer/configuration_informer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/modernbert/configuration_modernbert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deit/image_processing_deit.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/dpt/configuration_dpt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/dpt/modeling_dpt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2/feature_extraction_wav2vec2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2/modeling_tf_wav2vec2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/voxtral/configuration_voxtral.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fastspeech2_conformer/tokenization_fastspeech2_conformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/siglip/processing_siglip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/colpali/configuration_colpali.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/pegasus/modeling_pegasus.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_5_vl/configuration_qwen2_5_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bart/configuration_bart.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/doge/configuration_doge.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/timm_wrapper/image_processing_timm_wrapper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/timm_wrapper/configuration_timm_wrapper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/janus/modeling_janus.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/janus/image_processing_janus.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/janus/processing_janus.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/modernbert_decoder/configuration_modernbert_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/modernbert_decoder/modeling_modernbert_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/d_fine/configuration_d_fine.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/vit/modeling_flax_vit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/vit/modeling_tf_vit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/segformer/feature_extraction_segformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/segformer/image_processing_segformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/vitmatte/image_processing_vitmatte.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/paligemma/modeling_paligemma.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/encoder_decoder/configuration_encoder_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/encoder_decoder/modeling_tf_encoder_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bert/tokenization_bert_tf.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2_conformer/modeling_wav2vec2_conformer.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/wav2vec2_conformer/configuration_wav2vec2_conformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/aria/modeling_aria.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/aria/image_processing_aria.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/owlvit/configuration_owlvit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/ijepa/modeling_ijepa.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics3/image_processing_idefics3.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics3/configuration_idefics3.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clap/processing_clap.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/mobilevit/modeling_tf_mobilevit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics/perceiver.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics/modeling_tf_idefics.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics/configuration_idefics.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/convbert/modeling_tf_convbert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mobilenet_v2/configuration_mobilenet_v2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/unispeech/modeling_unispeech.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics2/image_processing_idefics2.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/llava_next/image_processing_llava_next_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/imagegpt/configuration_imagegpt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/dia/tokenization_dia.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/dia/generation_dia.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/splinter/configuration_splinter.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/splinter/tokenization_splinter.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/longformer/tokenization_longformer_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/opt/modeling_flax_opt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/x_clip/modeling_x_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/cpm/tokenization_cpm_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/depth_anything/configuration_depth_anything.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/depth_anything/modeling_depth_anything.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/tvp/image_processing_tvp.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/aya_vision/configuration_aya_vision.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fuyu/processing_fuyu.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fuyu/image_processing_fuyu.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/encodec/modeling_encodec.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/lightglue/modeling_lightglue.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mt5/modeling_tf_mt5.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/speecht5/number_normalizer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/glm4_moe/configuration_glm4_moe.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_vl/modeling_qwen2_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_vl/configuration_qwen2_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_vl/processing_qwen2_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_5_omni/configuration_qwen2_5_omni.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/roberta_prelayernorm/modeling_roberta_prelayernorm.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/levit/image_processing_levit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/patchtsmixer/configuration_patchtsmixer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/seamless_m4t_v2/modeling_seamless_m4t_v2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/instructblip/modeling_instructblip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bartpho/tokenization_bartpho.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/internvl/modeling_internvl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/internvl/processing_internvl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/perceiver/configuration_perceiver.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/flaubert/tokenization_flaubert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/roc_bert/tokenization_roc_bert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/glm4v/processing_glm4v.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/textnet/image_processing_textnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/textnet/modeling_textnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/blenderbot_small/modeling_flax_blenderbot_small.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/blenderbot_small/tokenization_blenderbot_small.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/phi4_multimodal/feature_extraction_phi4_multimodal.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/megatron_bert/modeling_megatron_bert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/megatron_bert/configuration_megatron_bert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/funnel/configuration_funnel.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/phi/configuration_phi.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bert_japanese/tokenization_bert_japanese.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fsmt/modeling_fsmt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/xmod/configuration_xmod.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/persimmon/configuration_persimmon.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/gpt_neox_japanese/modeling_gpt_neox_japanese.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/layoutlm/tokenization_layoutlm_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/owlv2/configuration_owlv2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/ernie4_5/modeling_ernie4_5.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/kyutai_speech_to_text/configuration_kyutai_speech_to_text.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/kyutai_speech_to_text/feature_extraction_kyutai_speech_to_text.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/git/configuration_git.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/git/modeling_git.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mistral/configuration_mistral.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fnet/configuration_fnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/openai/modeling_tf_openai.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/whisper/processing_whisper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/whisper/modeling_tf_whisper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/whisper/english_normalizer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/llava_onevision/image_processing_llava_onevision.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rembert/tokenization_rembert_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rembert/tokenization_rembert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/seggpt/configuration_seggpt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mbart/configuration_mbart.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mbart/modeling_mbart.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/nat/modeling_nat.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/ernie_m/tokenization_ernie_m.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tvlt/configuration_tvlt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tvlt/modeling_tvlt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tvlt/feature_extraction_tvlt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/mctct/configuration_mctct.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/jukebox/modeling_jukebox.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tapex/tokenization_tapex.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/vit_hybrid/configuration_vit_hybrid.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/deta/modeling_deta.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/retribert/modeling_retribert.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/deprecated/speech_to_text_2/tokenization_speech_to_text_2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/speech_to_text_2/modeling_speech_to_text_2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/xglm/tokenization_xglm_fast.py +{"seed": 42, "length": 1, "recompute": false, "steps": 2} +{"seed": 42, "length": 1, "recompute": true, "steps": 2} +{"seed": 42, "length": 4, "recompute": false, "steps": 2} +{"seed": 42, "length": 4, "recompute": true, "steps": 2} +{"seed": 42, "length": 8, "recompute": false, "steps": 2} +{"seed": 42, "length": 8, "recompute": true, "steps": 2} +{"seed": 42, "length": 65, "recompute": false, "steps": 2} +{"seed": 42, "length": 65, "recompute": true, "steps": 2} +{"seed": 43, "length": 1, "recompute": false, "steps": 2} +{"seed": 43, "length": 1, "recompute": true, "steps": 2} +{"seed": 43, "length": 4, "recompute": false, "steps": 2} +{"seed": 43, "length": 4, "recompute": true, "steps": 2} +{"seed": 43, "length": 8, "recompute": false, "steps": 2} +{"seed": 43, "length": 8, "recompute": true, "steps": 2} +{"seed": 43, "length": 65, "recompute": false, "steps": 2} +{"seed": 43, "length": 65, "recompute": true, "steps": 2} +{"state": "FAILED_NUMERICAL_GATE", "cases": 16, "paired_steps": 32} diff --git a/benchmarks/results/iquest-contract/functional-replay-audit.json b/benchmarks/results/iquest-contract/functional-replay-audit.json new file mode 100644 index 000000000..20337a3d8 --- /dev/null +++ b/benchmarks/results/iquest-contract/functional-replay-audit.json @@ -0,0 +1,1310 @@ +{ + "state": "FAILED_NUMERICAL_GATE", + "revision": "61e8589747f6987ec7725e4ffe205f7a84561bd2", + "torch": "2.13.0", + "official_weights": false, + "device": "cpu", + "gradient_relative_l2_gate": 2e-06, + "logits_atol": 1e-05, + "logits_rtol": 1e-05, + "optimizer": "AdamW", + "learning_rate": 0.0001, + "betas": [ + 0.9, + 0.999 + ], + "eps": 1e-08, + "weight_decay": 0.1, + "cases": [ + { + "seed": 42, + "length": 1, + "recompute": false, + "tokens": [ + [ + 36 + ] + ], + "targets": [ + 0 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 0.0, + "failures": [], + "gradient_relative_l2": 0.0, + "loss_reference": 5.2766923904418945, + "loss_candidate": 5.2766923904418945, + "parameter_delta_max_abs": 0.0, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + }, + { + "step": 2, + "logits_max_abs": 0.0, + "failures": [], + "gradient_relative_l2": 0.0, + "loss_reference": 5.24023962020874, + "loss_candidate": 5.24023962020874, + "parameter_delta_max_abs": 0.0, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + } + ] + }, + { + "seed": 42, + "length": 1, + "recompute": true, + "tokens": [ + [ + 36 + ] + ], + "targets": [ + 0 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 0.0, + "failures": [], + "gradient_relative_l2": 0.0, + "loss_reference": 5.2766923904418945, + "loss_candidate": 5.2766923904418945, + "parameter_delta_max_abs": 0.0, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + }, + { + "step": 2, + "logits_max_abs": 0.0, + "failures": [], + "gradient_relative_l2": 0.0, + "loss_reference": 5.24023962020874, + "loss_candidate": 5.24023962020874, + "parameter_delta_max_abs": 0.0, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + } + ] + }, + { + "seed": 42, + "length": 4, + "recompute": false, + "tokens": [ + [ + 36, + 18, + 74, + 9 + ] + ], + "targets": [ + 2, + 61, + 29, + 52 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 3.5762786865234375e-07, + "failures": [], + "gradient_relative_l2": 1.4622053521253907e-07, + "loss_reference": 4.553637504577637, + "loss_candidate": 4.553637504577637, + "parameter_delta_max_abs": 7.450580596923828e-09, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + }, + { + "step": 2, + "logits_max_abs": 2.682209014892578e-07, + "failures": [], + "gradient_relative_l2": 1.5220117685639182e-07, + "loss_reference": 4.529329776763916, + "loss_candidate": 4.529329299926758, + "parameter_delta_max_abs": 2.9802322387695312e-08, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + } + ] + }, + { + "seed": 42, + "length": 4, + "recompute": true, + "tokens": [ + [ + 36, + 18, + 74, + 9 + ] + ], + "targets": [ + 2, + 61, + 29, + 52 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 3.5762786865234375e-07, + "failures": [], + "gradient_relative_l2": 1.4622053521253907e-07, + "loss_reference": 4.553637504577637, + "loss_candidate": 4.553637504577637, + "parameter_delta_max_abs": 7.450580596923828e-09, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + }, + { + "step": 2, + "logits_max_abs": 2.682209014892578e-07, + "failures": [], + "gradient_relative_l2": 1.5220117685639182e-07, + "loss_reference": 4.529329776763916, + "loss_candidate": 4.529329299926758, + "parameter_delta_max_abs": 2.9802322387695312e-08, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + } + ] + }, + { + "seed": 42, + "length": 8, + "recompute": false, + "tokens": [ + [ + 36, + 18, + 74, + 9, + 66, + 43, + 91, + 63 + ] + ], + "targets": [ + 63, + 62, + 41, + 66, + 86, + 49, + 16, + 53 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 3.5762786865234375e-07, + "failures": [ + { + "tensor": "model.layers.1.mlp.gate_proj.weight", + "field": "parameter_delta", + "mismatched_elements": 1, + "max_abs": 1.7881393432617188e-07 + } + ], + "gradient_relative_l2": 2.157212363916451e-07, + "loss_reference": 4.706143856048584, + "loss_candidate": 4.706143856048584, + "parameter_delta_max_abs": 1.7881393432617188e-07, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": false + }, + { + "step": 2, + "logits_max_abs": 2.980232238769531e-07, + "failures": [], + "gradient_relative_l2": 1.8812555691567062e-07, + "loss_reference": 4.6882195472717285, + "loss_candidate": 4.6882195472717285, + "parameter_delta_max_abs": 2.9802322387695312e-08, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + } + ] + }, + { + "seed": 42, + "length": 8, + "recompute": true, + "tokens": [ + [ + 36, + 18, + 74, + 9, + 66, + 43, + 91, + 63 + ] + ], + "targets": [ + 63, + 62, + 41, + 66, + 86, + 49, + 16, + 53 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 3.5762786865234375e-07, + "failures": [ + { + "tensor": "model.layers.1.mlp.gate_proj.weight", + "field": "parameter_delta", + "mismatched_elements": 1, + "max_abs": 1.7881393432617188e-07 + } + ], + "gradient_relative_l2": 2.157212363916451e-07, + "loss_reference": 4.706143856048584, + "loss_candidate": 4.706143856048584, + "parameter_delta_max_abs": 1.7881393432617188e-07, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": false + }, + { + "step": 2, + "logits_max_abs": 2.980232238769531e-07, + "failures": [], + "gradient_relative_l2": 1.8812555691567062e-07, + "loss_reference": 4.6882195472717285, + "loss_candidate": 4.6882195472717285, + "parameter_delta_max_abs": 2.9802322387695312e-08, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + } + ] + }, + { + "seed": 42, + "length": 65, + "recompute": false, + "tokens": [ + [ + 36, + 18, + 74, + 9, + 66, + 43, + 91, + 63, + 19, + 70, + 5, + 79, + 72, + 61, + 87, + 9, + 85, + 47, + 73, + 66, + 22, + 40, + 94, + 41, + 35, + 15, + 74, + 62, + 95, + 17, + 46, + 40, + 88, + 50, + 71, + 66, + 68, + 71, + 43, + 89, + 64, + 18, + 34, + 14, + 19, + 49, + 48, + 56, + 26, + 79, + 28, + 81, + 26, + 51, + 7, + 76, + 55, + 79, + 56, + 83, + 48, + 13, + 79, + 63, + 69 + ] + ], + "targets": [ + 66, + 42, + 11, + 29, + 78, + 14, + 59, + 18, + 21, + 14, + 48, + 49, + 47, + 94, + 3, + 49, + 49, + 52, + 42, + 21, + 9, + 69, + 8, + 83, + 0, + 17, + 35, + 25, + 8, + 20, + 71, + 39, + 19, + 18, + 37, + 49, + 40, + 9, + 26, + 63, + 86, + 26, + 37, + 17, + 2, + 6, + 28, + 78, + 80, + 21, + 42, + 80, + 78, + 47, + 23, + 88, + 2, + 65, + 67, + 68, + 11, + 87, + 96, + 19, + 42 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 4.76837158203125e-07, + "failures": [ + { + "tensor": "model.layers.0.mlp.down_proj.weight", + "field": "parameter_delta", + "mismatched_elements": 1, + "max_abs": 2.3990869522094727e-06 + }, + { + "tensor": "model.layers.0.mlp.down_proj.weight", + "field": "parameter", + "mismatched_elements": 1, + "max_abs": 2.3990869522094727e-06 + } + ], + "gradient_relative_l2": 2.652557820595656e-07, + "loss_reference": 4.591853618621826, + "loss_candidate": 4.591853618621826, + "parameter_delta_max_abs": 2.3990869522094727e-06, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": false + }, + { + "step": 2, + "logits_max_abs": 7.152557373046875e-07, + "failures": [ + { + "tensor": "model.layers.0.mlp.down_proj.weight", + "field": "parameter", + "mismatched_elements": 1, + "max_abs": 2.4139881134033203e-06 + } + ], + "gradient_relative_l2": 3.2186702337661606e-07, + "loss_reference": 4.585211753845215, + "loss_candidate": 4.585211753845215, + "parameter_delta_max_abs": 3.725290298461914e-08, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": false + } + ] + }, + { + "seed": 42, + "length": 65, + "recompute": true, + "tokens": [ + [ + 36, + 18, + 74, + 9, + 66, + 43, + 91, + 63, + 19, + 70, + 5, + 79, + 72, + 61, + 87, + 9, + 85, + 47, + 73, + 66, + 22, + 40, + 94, + 41, + 35, + 15, + 74, + 62, + 95, + 17, + 46, + 40, + 88, + 50, + 71, + 66, + 68, + 71, + 43, + 89, + 64, + 18, + 34, + 14, + 19, + 49, + 48, + 56, + 26, + 79, + 28, + 81, + 26, + 51, + 7, + 76, + 55, + 79, + 56, + 83, + 48, + 13, + 79, + 63, + 69 + ] + ], + "targets": [ + 66, + 42, + 11, + 29, + 78, + 14, + 59, + 18, + 21, + 14, + 48, + 49, + 47, + 94, + 3, + 49, + 49, + 52, + 42, + 21, + 9, + 69, + 8, + 83, + 0, + 17, + 35, + 25, + 8, + 20, + 71, + 39, + 19, + 18, + 37, + 49, + 40, + 9, + 26, + 63, + 86, + 26, + 37, + 17, + 2, + 6, + 28, + 78, + 80, + 21, + 42, + 80, + 78, + 47, + 23, + 88, + 2, + 65, + 67, + 68, + 11, + 87, + 96, + 19, + 42 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 4.76837158203125e-07, + "failures": [ + { + "tensor": "model.layers.0.mlp.down_proj.weight", + "field": "parameter_delta", + "mismatched_elements": 1, + "max_abs": 2.3990869522094727e-06 + }, + { + "tensor": "model.layers.0.mlp.down_proj.weight", + "field": "parameter", + "mismatched_elements": 1, + "max_abs": 2.3990869522094727e-06 + } + ], + "gradient_relative_l2": 2.652557820595656e-07, + "loss_reference": 4.591853618621826, + "loss_candidate": 4.591853618621826, + "parameter_delta_max_abs": 2.3990869522094727e-06, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": false + }, + { + "step": 2, + "logits_max_abs": 7.152557373046875e-07, + "failures": [ + { + "tensor": "model.layers.0.mlp.down_proj.weight", + "field": "parameter", + "mismatched_elements": 1, + "max_abs": 2.4139881134033203e-06 + } + ], + "gradient_relative_l2": 3.2186702337661606e-07, + "loss_reference": 4.585211753845215, + "loss_candidate": 4.585211753845215, + "parameter_delta_max_abs": 3.725290298461914e-08, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": false + } + ] + }, + { + "seed": 43, + "length": 1, + "recompute": false, + "tokens": [ + [ + 41 + ] + ], + "targets": [ + 39 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 0.0, + "failures": [], + "gradient_relative_l2": 0.0, + "loss_reference": 4.7143659591674805, + "loss_candidate": 4.7143659591674805, + "parameter_delta_max_abs": 0.0, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + }, + { + "step": 2, + "logits_max_abs": 0.0, + "failures": [], + "gradient_relative_l2": 0.0, + "loss_reference": 4.682393550872803, + "loss_candidate": 4.682393550872803, + "parameter_delta_max_abs": 0.0, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + } + ] + }, + { + "seed": 43, + "length": 1, + "recompute": true, + "tokens": [ + [ + 41 + ] + ], + "targets": [ + 39 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 0.0, + "failures": [], + "gradient_relative_l2": 0.0, + "loss_reference": 4.7143659591674805, + "loss_candidate": 4.7143659591674805, + "parameter_delta_max_abs": 0.0, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + }, + { + "step": 2, + "logits_max_abs": 0.0, + "failures": [], + "gradient_relative_l2": 0.0, + "loss_reference": 4.682393550872803, + "loss_candidate": 4.682393550872803, + "parameter_delta_max_abs": 0.0, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + } + ] + }, + { + "seed": 43, + "length": 4, + "recompute": false, + "tokens": [ + [ + 41, + 37, + 69, + 7 + ] + ], + "targets": [ + 10, + 85, + 78, + 14 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 2.384185791015625e-07, + "failures": [], + "gradient_relative_l2": 1.5759216394079447e-07, + "loss_reference": 4.155712127685547, + "loss_candidate": 4.155712127685547, + "parameter_delta_max_abs": 1.4901161193847656e-08, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + }, + { + "step": 2, + "logits_max_abs": 3.5762786865234375e-07, + "failures": [], + "gradient_relative_l2": 1.8323617298532977e-07, + "loss_reference": 4.13065242767334, + "loss_candidate": 4.13065242767334, + "parameter_delta_max_abs": 2.0489096641540527e-08, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + } + ] + }, + { + "seed": 43, + "length": 4, + "recompute": true, + "tokens": [ + [ + 41, + 37, + 69, + 7 + ] + ], + "targets": [ + 10, + 85, + 78, + 14 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 2.384185791015625e-07, + "failures": [], + "gradient_relative_l2": 1.5759216394079447e-07, + "loss_reference": 4.155712127685547, + "loss_candidate": 4.155712127685547, + "parameter_delta_max_abs": 1.4901161193847656e-08, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + }, + { + "step": 2, + "logits_max_abs": 3.5762786865234375e-07, + "failures": [], + "gradient_relative_l2": 1.8323617298532977e-07, + "loss_reference": 4.13065242767334, + "loss_candidate": 4.13065242767334, + "parameter_delta_max_abs": 2.0489096641540527e-08, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + } + ] + }, + { + "seed": 43, + "length": 8, + "recompute": false, + "tokens": [ + [ + 41, + 37, + 69, + 7, + 53, + 16, + 74, + 60 + ] + ], + "targets": [ + 47, + 0, + 86, + 94, + 32, + 15, + 51, + 54 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 2.980232238769531e-07, + "failures": [], + "gradient_relative_l2": 2.0124109255572636e-07, + "loss_reference": 5.068241119384766, + "loss_candidate": 5.068241596221924, + "parameter_delta_max_abs": 2.9802322387695312e-08, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + }, + { + "step": 2, + "logits_max_abs": 3.5762786865234375e-07, + "failures": [], + "gradient_relative_l2": 1.904253669715577e-07, + "loss_reference": 5.05097770690918, + "loss_candidate": 5.05097770690918, + "parameter_delta_max_abs": 3.259629011154175e-08, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + } + ] + }, + { + "seed": 43, + "length": 8, + "recompute": true, + "tokens": [ + [ + 41, + 37, + 69, + 7, + 53, + 16, + 74, + 60 + ] + ], + "targets": [ + 47, + 0, + 86, + 94, + 32, + 15, + 51, + 54 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 2.980232238769531e-07, + "failures": [], + "gradient_relative_l2": 2.0124109255572636e-07, + "loss_reference": 5.068241119384766, + "loss_candidate": 5.068241596221924, + "parameter_delta_max_abs": 2.9802322387695312e-08, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + }, + { + "step": 2, + "logits_max_abs": 3.5762786865234375e-07, + "failures": [], + "gradient_relative_l2": 1.904253669715577e-07, + "loss_reference": 5.05097770690918, + "loss_candidate": 5.05097770690918, + "parameter_delta_max_abs": 3.259629011154175e-08, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + } + ] + }, + { + "seed": 43, + "length": 65, + "recompute": false, + "tokens": [ + [ + 41, + 37, + 69, + 7, + 53, + 16, + 74, + 60, + 86, + 66, + 95, + 38, + 64, + 90, + 62, + 18, + 45, + 75, + 89, + 59, + 49, + 71, + 89, + 13, + 16, + 13, + 31, + 8, + 5, + 43, + 36, + 59, + 29, + 9, + 45, + 71, + 17, + 17, + 65, + 95, + 54, + 56, + 9, + 15, + 28, + 31, + 47, + 89, + 48, + 8, + 51, + 64, + 42, + 63, + 86, + 14, + 21, + 91, + 44, + 43, + 39, + 61, + 23, + 69, + 74 + ] + ], + "targets": [ + 63, + 26, + 48, + 81, + 58, + 75, + 29, + 8, + 32, + 40, + 15, + 62, + 69, + 78, + 62, + 17, + 68, + 25, + 86, + 72, + 92, + 10, + 63, + 63, + 94, + 21, + 63, + 6, + 87, + 57, + 25, + 65, + 63, + 72, + 30, + 43, + 73, + 57, + 84, + 7, + 3, + 45, + 66, + 57, + 10, + 19, + 61, + 48, + 14, + 39, + 79, + 17, + 43, + 87, + 69, + 80, + 6, + 70, + 60, + 22, + 31, + 36, + 83, + 47, + 46 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 4.76837158203125e-07, + "failures": [ + { + "tensor": "model.layers.1.self_attn.o_proj.weight", + "field": "parameter_delta", + "mismatched_elements": 1, + "max_abs": 2.1606683731079102e-07 + } + ], + "gradient_relative_l2": 2.6332313782247524e-07, + "loss_reference": 4.665134906768799, + "loss_candidate": 4.665134906768799, + "parameter_delta_max_abs": 2.1606683731079102e-07, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": false + }, + { + "step": 2, + "logits_max_abs": 4.76837158203125e-07, + "failures": [], + "gradient_relative_l2": 2.838259423124515e-07, + "loss_reference": 4.657588481903076, + "loss_candidate": 4.657588481903076, + "parameter_delta_max_abs": 2.2351741790771484e-08, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + } + ] + }, + { + "seed": 43, + "length": 65, + "recompute": true, + "tokens": [ + [ + 41, + 37, + 69, + 7, + 53, + 16, + 74, + 60, + 86, + 66, + 95, + 38, + 64, + 90, + 62, + 18, + 45, + 75, + 89, + 59, + 49, + 71, + 89, + 13, + 16, + 13, + 31, + 8, + 5, + 43, + 36, + 59, + 29, + 9, + 45, + 71, + 17, + 17, + 65, + 95, + 54, + 56, + 9, + 15, + 28, + 31, + 47, + 89, + 48, + 8, + 51, + 64, + 42, + 63, + 86, + 14, + 21, + 91, + 44, + 43, + 39, + 61, + 23, + 69, + 74 + ] + ], + "targets": [ + 63, + 26, + 48, + 81, + 58, + 75, + 29, + 8, + 32, + 40, + 15, + 62, + 69, + 78, + 62, + 17, + 68, + 25, + 86, + 72, + 92, + 10, + 63, + 63, + 94, + 21, + 63, + 6, + 87, + 57, + 25, + 65, + 63, + 72, + 30, + 43, + 73, + 57, + 84, + 7, + 3, + 45, + 66, + 57, + 10, + 19, + 61, + 48, + 14, + 39, + 79, + 17, + 43, + 87, + 69, + 80, + 6, + 70, + 60, + 22, + 31, + 36, + 83, + 47, + 46 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 4.76837158203125e-07, + "failures": [ + { + "tensor": "model.layers.1.self_attn.o_proj.weight", + "field": "parameter_delta", + "mismatched_elements": 1, + "max_abs": 2.1606683731079102e-07 + } + ], + "gradient_relative_l2": 2.6332313782247524e-07, + "loss_reference": 4.665134906768799, + "loss_candidate": 4.665134906768799, + "parameter_delta_max_abs": 2.1606683731079102e-07, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": false + }, + { + "step": 2, + "logits_max_abs": 4.76837158203125e-07, + "failures": [], + "gradient_relative_l2": 2.838259423124515e-07, + "loss_reference": 4.657588481903076, + "loss_candidate": 4.657588481903076, + "parameter_delta_max_abs": 2.2351741790771484e-08, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + } + ] + } + ], + "scope": "Tiny supervised numerical/Adam equivalence; not RL reward convergence or 40B execution.", + "case_count": 16, + "paired_steps": 32, + "prototype_sha256": "cdf28edb5b41dfdd6d223ef171e9163c33b73c5d118590a84c5277e9c37592fc", + "parameter_delta_atol": 1e-07, + "parameter_delta_rtol": 1e-05 +} diff --git a/benchmarks/results/iquest-contract/functional-replay-math-audit-attempt01.log b/benchmarks/results/iquest-contract/functional-replay-math-audit-attempt01.log new file mode 100644 index 000000000..d537e2c20 --- /dev/null +++ b/benchmarks/results/iquest-contract/functional-replay-math-audit-attempt01.log @@ -0,0 +1,377 @@ +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/nn/functional.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/ao/quantization/observer.py +torch=2.13.0 /Users/0z5a/Documents/infra/looped-grpo-integration-20261003/.venv/lib/python3.12/site-packages/torch/__init__.py +setuptools=84.0.0 /Users/0z5a/Documents/infra/looped-grpo-integration-20261003/.venv/lib/python3.12/site-packages/setuptools/__init__.py +resident same-RECORD metadata: datasets-5.0.1.dist-info/METADATA +resident same-RECORD metadata: tokenizers-0.21.4.dist-info/METADATA +resident same-RECORD metadata: filelock-4.0.9.dist-info/METADATA +resident same-RECORD metadata: tokenizers-0.21.4.dist-info/METADATA +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/timesfm/modeling_timesfm.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2_phoneme/tokenization_wav2vec2_phoneme.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/maskformer/feature_extraction_maskformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/markuplm/tokenization_markuplm.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/chameleon/modeling_chameleon.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/gemma3/image_processing_gemma3_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/gemma3/modeling_gemma3.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/esm/openfold_utils/loss.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/esm/modeling_esmfold.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/univnet/modeling_univnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rt_detr/image_processing_rt_detr.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rt_detr/configuration_rt_detr_resnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/jetmoe/modeling_jetmoe.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/lxmert/tokenization_lxmert_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/modeling_flax_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/image_processing_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/modeling_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/tokenization_clip.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/hubert/configuration_hubert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/groupvit/modeling_groupvit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/pvt/configuration_pvt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/llava_next_video/configuration_llava_next_video.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mask2former/modeling_mask2former.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/tapas/tokenization_tapas.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/data2vec/modeling_tf_data2vec_vision.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/speech_encoder_decoder/configuration_speech_encoder_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/zoedepth/modeling_zoedepth.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/seamless_m4t/tokenization_seamless_m4t_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/cohere2/modeling_cohere2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/unispeech_sat/modeling_unispeech_sat.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/jamba/configuration_jamba.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/layoutlmv3/image_processing_layoutlmv3_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/xlm_roberta/modeling_flax_xlm_roberta.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clipseg/configuration_clipseg.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mobilebert/modeling_tf_mobilebert.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/mobilebert/tokenization_mobilebert_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/informer/configuration_informer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/modernbert/configuration_modernbert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deit/image_processing_deit.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/dpt/configuration_dpt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/dpt/modeling_dpt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2/feature_extraction_wav2vec2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2/modeling_tf_wav2vec2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/voxtral/configuration_voxtral.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fastspeech2_conformer/tokenization_fastspeech2_conformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/siglip/processing_siglip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/colpali/configuration_colpali.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/pegasus/modeling_pegasus.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_5_vl/configuration_qwen2_5_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bart/configuration_bart.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/doge/configuration_doge.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/timm_wrapper/image_processing_timm_wrapper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/timm_wrapper/configuration_timm_wrapper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/janus/modeling_janus.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/janus/image_processing_janus.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/janus/processing_janus.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/modernbert_decoder/configuration_modernbert_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/modernbert_decoder/modeling_modernbert_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/d_fine/configuration_d_fine.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/vit/modeling_flax_vit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/vit/modeling_tf_vit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/segformer/feature_extraction_segformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/segformer/image_processing_segformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/vitmatte/image_processing_vitmatte.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/paligemma/modeling_paligemma.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/encoder_decoder/configuration_encoder_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/encoder_decoder/modeling_tf_encoder_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bert/tokenization_bert_tf.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2_conformer/modeling_wav2vec2_conformer.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/wav2vec2_conformer/configuration_wav2vec2_conformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/aria/modeling_aria.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/aria/image_processing_aria.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/owlvit/configuration_owlvit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/ijepa/modeling_ijepa.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics3/image_processing_idefics3.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics3/configuration_idefics3.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clap/processing_clap.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/mobilevit/modeling_tf_mobilevit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics/perceiver.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics/modeling_tf_idefics.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics/configuration_idefics.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/convbert/modeling_tf_convbert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mobilenet_v2/configuration_mobilenet_v2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/unispeech/modeling_unispeech.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics2/image_processing_idefics2.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/llava_next/image_processing_llava_next_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/imagegpt/configuration_imagegpt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/dia/tokenization_dia.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/dia/generation_dia.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/splinter/configuration_splinter.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/splinter/tokenization_splinter.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/longformer/tokenization_longformer_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/opt/modeling_flax_opt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/x_clip/modeling_x_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/cpm/tokenization_cpm_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/depth_anything/configuration_depth_anything.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/depth_anything/modeling_depth_anything.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/tvp/image_processing_tvp.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/aya_vision/configuration_aya_vision.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fuyu/processing_fuyu.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fuyu/image_processing_fuyu.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/encodec/modeling_encodec.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/lightglue/modeling_lightglue.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mt5/modeling_tf_mt5.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/speecht5/number_normalizer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/glm4_moe/configuration_glm4_moe.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_vl/modeling_qwen2_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_vl/configuration_qwen2_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_vl/processing_qwen2_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_5_omni/configuration_qwen2_5_omni.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/roberta_prelayernorm/modeling_roberta_prelayernorm.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/levit/image_processing_levit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/patchtsmixer/configuration_patchtsmixer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/seamless_m4t_v2/modeling_seamless_m4t_v2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/instructblip/modeling_instructblip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bartpho/tokenization_bartpho.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/internvl/modeling_internvl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/internvl/processing_internvl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/perceiver/configuration_perceiver.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/flaubert/tokenization_flaubert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/roc_bert/tokenization_roc_bert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/glm4v/processing_glm4v.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/textnet/image_processing_textnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/textnet/modeling_textnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/blenderbot_small/modeling_flax_blenderbot_small.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/blenderbot_small/tokenization_blenderbot_small.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/phi4_multimodal/feature_extraction_phi4_multimodal.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/megatron_bert/modeling_megatron_bert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/megatron_bert/configuration_megatron_bert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/funnel/configuration_funnel.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/phi/configuration_phi.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bert_japanese/tokenization_bert_japanese.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fsmt/modeling_fsmt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/xmod/configuration_xmod.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/persimmon/configuration_persimmon.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/gpt_neox_japanese/modeling_gpt_neox_japanese.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/layoutlm/tokenization_layoutlm_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/owlv2/configuration_owlv2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/ernie4_5/modeling_ernie4_5.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/kyutai_speech_to_text/configuration_kyutai_speech_to_text.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/kyutai_speech_to_text/feature_extraction_kyutai_speech_to_text.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/git/configuration_git.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/git/modeling_git.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mistral/configuration_mistral.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fnet/configuration_fnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/openai/modeling_tf_openai.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/whisper/processing_whisper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/whisper/modeling_tf_whisper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/whisper/english_normalizer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/llava_onevision/image_processing_llava_onevision.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rembert/tokenization_rembert_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rembert/tokenization_rembert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/seggpt/configuration_seggpt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mbart/configuration_mbart.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mbart/modeling_mbart.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/nat/modeling_nat.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/ernie_m/tokenization_ernie_m.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tvlt/configuration_tvlt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tvlt/modeling_tvlt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tvlt/feature_extraction_tvlt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/mctct/configuration_mctct.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/jukebox/modeling_jukebox.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tapex/tokenization_tapex.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/vit_hybrid/configuration_vit_hybrid.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/deta/modeling_deta.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/retribert/modeling_retribert.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/deprecated/speech_to_text_2/tokenization_speech_to_text_2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/speech_to_text_2/modeling_speech_to_text_2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/xglm/tokenization_xglm_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/torch/_dynamo/_trace_wrapped_higher_order_op.py +resident same-RECORD source: /Users/0z5a/Documents/infra/vime-sm120-initial-20260912/.venv/lib/python3.12/site-packages/torch/onnx/ops/_impl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/vime-sm120-initial-20260912/.venv/lib/python3.12/site-packages/torch/onnx/ops/_impl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/timesfm/modeling_timesfm.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2_phoneme/tokenization_wav2vec2_phoneme.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/maskformer/feature_extraction_maskformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/markuplm/tokenization_markuplm.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/chameleon/modeling_chameleon.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/gemma3/image_processing_gemma3_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/gemma3/modeling_gemma3.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/esm/openfold_utils/loss.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/esm/modeling_esmfold.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/univnet/modeling_univnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rt_detr/image_processing_rt_detr.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rt_detr/configuration_rt_detr_resnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/jetmoe/modeling_jetmoe.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/lxmert/tokenization_lxmert_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/modeling_flax_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/image_processing_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/modeling_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clip/tokenization_clip.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/hubert/configuration_hubert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/groupvit/modeling_groupvit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/pvt/configuration_pvt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/llava_next_video/configuration_llava_next_video.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mask2former/modeling_mask2former.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/tapas/tokenization_tapas.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/data2vec/modeling_tf_data2vec_vision.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/speech_encoder_decoder/configuration_speech_encoder_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/zoedepth/modeling_zoedepth.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/seamless_m4t/tokenization_seamless_m4t_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/cohere2/modeling_cohere2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/unispeech_sat/modeling_unispeech_sat.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/jamba/configuration_jamba.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/layoutlmv3/image_processing_layoutlmv3_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/xlm_roberta/modeling_flax_xlm_roberta.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clipseg/configuration_clipseg.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mobilebert/modeling_tf_mobilebert.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/mobilebert/tokenization_mobilebert_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/informer/configuration_informer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/modernbert/configuration_modernbert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deit/image_processing_deit.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/dpt/configuration_dpt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/dpt/modeling_dpt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2/feature_extraction_wav2vec2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2/modeling_tf_wav2vec2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/voxtral/configuration_voxtral.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fastspeech2_conformer/tokenization_fastspeech2_conformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/siglip/processing_siglip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/colpali/configuration_colpali.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/pegasus/modeling_pegasus.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_5_vl/configuration_qwen2_5_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bart/configuration_bart.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/doge/configuration_doge.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/timm_wrapper/image_processing_timm_wrapper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/timm_wrapper/configuration_timm_wrapper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/janus/modeling_janus.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/janus/image_processing_janus.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/janus/processing_janus.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/modernbert_decoder/configuration_modernbert_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/modernbert_decoder/modeling_modernbert_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/d_fine/configuration_d_fine.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/vit/modeling_flax_vit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/vit/modeling_tf_vit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/segformer/feature_extraction_segformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/segformer/image_processing_segformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/vitmatte/image_processing_vitmatte.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/paligemma/modeling_paligemma.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/encoder_decoder/configuration_encoder_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/encoder_decoder/modeling_tf_encoder_decoder.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bert/tokenization_bert_tf.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/wav2vec2_conformer/modeling_wav2vec2_conformer.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/wav2vec2_conformer/configuration_wav2vec2_conformer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/aria/modeling_aria.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/aria/image_processing_aria.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/owlvit/configuration_owlvit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/ijepa/modeling_ijepa.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics3/image_processing_idefics3.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics3/configuration_idefics3.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/clap/processing_clap.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/mobilevit/modeling_tf_mobilevit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics/perceiver.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics/modeling_tf_idefics.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics/configuration_idefics.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/convbert/modeling_tf_convbert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mobilenet_v2/configuration_mobilenet_v2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/unispeech/modeling_unispeech.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/idefics2/image_processing_idefics2.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/llava_next/image_processing_llava_next_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/imagegpt/configuration_imagegpt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/dia/tokenization_dia.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/dia/generation_dia.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/splinter/configuration_splinter.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/splinter/tokenization_splinter.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/longformer/tokenization_longformer_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/opt/modeling_flax_opt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/x_clip/modeling_x_clip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/cpm/tokenization_cpm_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/depth_anything/configuration_depth_anything.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/depth_anything/modeling_depth_anything.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/tvp/image_processing_tvp.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/aya_vision/configuration_aya_vision.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fuyu/processing_fuyu.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fuyu/image_processing_fuyu.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/encodec/modeling_encodec.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/lightglue/modeling_lightglue.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mt5/modeling_tf_mt5.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/speecht5/number_normalizer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/glm4_moe/configuration_glm4_moe.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_vl/modeling_qwen2_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_vl/configuration_qwen2_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_vl/processing_qwen2_vl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/qwen2_5_omni/configuration_qwen2_5_omni.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/roberta_prelayernorm/modeling_roberta_prelayernorm.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/levit/image_processing_levit.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/patchtsmixer/configuration_patchtsmixer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/seamless_m4t_v2/modeling_seamless_m4t_v2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/instructblip/modeling_instructblip.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bartpho/tokenization_bartpho.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/internvl/modeling_internvl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/internvl/processing_internvl.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/perceiver/configuration_perceiver.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/flaubert/tokenization_flaubert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/roc_bert/tokenization_roc_bert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/glm4v/processing_glm4v.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/textnet/image_processing_textnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/textnet/modeling_textnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/blenderbot_small/modeling_flax_blenderbot_small.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/blenderbot_small/tokenization_blenderbot_small.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/phi4_multimodal/feature_extraction_phi4_multimodal.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/megatron_bert/modeling_megatron_bert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/megatron_bert/configuration_megatron_bert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/funnel/configuration_funnel.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/phi/configuration_phi.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/bert_japanese/tokenization_bert_japanese.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fsmt/modeling_fsmt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/xmod/configuration_xmod.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/persimmon/configuration_persimmon.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/gpt_neox_japanese/modeling_gpt_neox_japanese.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/layoutlm/tokenization_layoutlm_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/owlv2/configuration_owlv2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/ernie4_5/modeling_ernie4_5.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/kyutai_speech_to_text/configuration_kyutai_speech_to_text.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/kyutai_speech_to_text/feature_extraction_kyutai_speech_to_text.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/git/configuration_git.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/git/modeling_git.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mistral/configuration_mistral.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/fnet/configuration_fnet.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/openai/modeling_tf_openai.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/whisper/processing_whisper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/whisper/modeling_tf_whisper.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/whisper/english_normalizer.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/llava_onevision/image_processing_llava_onevision.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rembert/tokenization_rembert_fast.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/rembert/tokenization_rembert.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/seggpt/configuration_seggpt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mbart/configuration_mbart.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/mbart/modeling_mbart.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/nat/modeling_nat.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/ernie_m/tokenization_ernie_m.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tvlt/configuration_tvlt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tvlt/modeling_tvlt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tvlt/feature_extraction_tvlt.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/mctct/configuration_mctct.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/jukebox/modeling_jukebox.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/tapex/tokenization_tapex.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/vit_hybrid/configuration_vit_hybrid.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/deta/modeling_deta.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/retribert/modeling_retribert.py +resident same-RECORD source: /Users/0z5a/.cache/uv/archive-v0/a4R-zCEhdV2k87pLRfvR3/transformers/models/deprecated/speech_to_text_2/tokenization_speech_to_text_2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/deprecated/speech_to_text_2/modeling_speech_to_text_2.py +resident same-RECORD source: /Users/0z5a/Documents/infra/flashrlt-20261005/evidence/resident-dependencies/transformers/models/xglm/tokenization_xglm_fast.py +{"seed": 42, "length": 1, "recompute": false, "steps": 2} +{"seed": 42, "length": 1, "recompute": true, "steps": 2} +{"seed": 42, "length": 4, "recompute": false, "steps": 2} +{"seed": 42, "length": 4, "recompute": true, "steps": 2} +{"seed": 42, "length": 8, "recompute": false, "steps": 2} +{"seed": 42, "length": 8, "recompute": true, "steps": 2} +{"seed": 42, "length": 65, "recompute": false, "steps": 2} +{"seed": 42, "length": 65, "recompute": true, "steps": 2} +{"seed": 43, "length": 1, "recompute": false, "steps": 2} +{"seed": 43, "length": 1, "recompute": true, "steps": 2} +{"seed": 43, "length": 4, "recompute": false, "steps": 2} +{"seed": 43, "length": 4, "recompute": true, "steps": 2} +{"seed": 43, "length": 8, "recompute": false, "steps": 2} +{"seed": 43, "length": 8, "recompute": true, "steps": 2} +{"seed": 43, "length": 65, "recompute": false, "steps": 2} +{"seed": 43, "length": 65, "recompute": true, "steps": 2} +{"state": "FAILED_NUMERICAL_GATE", "cases": 16, "paired_steps": 32} diff --git a/benchmarks/results/iquest-contract/functional-replay-math-audit.json b/benchmarks/results/iquest-contract/functional-replay-math-audit.json new file mode 100644 index 000000000..ae8011939 --- /dev/null +++ b/benchmarks/results/iquest-contract/functional-replay-math-audit.json @@ -0,0 +1,1311 @@ +{ + "state": "FAILED_NUMERICAL_GATE", + "revision": "61e8589747f6987ec7725e4ffe205f7a84561bd2", + "torch": "2.13.0", + "official_weights": false, + "device": "cpu", + "sdpa_backend": "MATH", + "gradient_relative_l2_gate": 2e-06, + "logits_atol": 1e-05, + "logits_rtol": 1e-05, + "optimizer": "AdamW", + "learning_rate": 0.0001, + "betas": [ + 0.9, + 0.999 + ], + "eps": 1e-08, + "weight_decay": 0.1, + "cases": [ + { + "seed": 42, + "length": 1, + "recompute": false, + "tokens": [ + [ + 36 + ] + ], + "targets": [ + 0 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 0.0, + "failures": [], + "gradient_relative_l2": 0.0, + "loss_reference": 5.2766923904418945, + "loss_candidate": 5.2766923904418945, + "parameter_delta_max_abs": 0.0, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + }, + { + "step": 2, + "logits_max_abs": 0.0, + "failures": [], + "gradient_relative_l2": 0.0, + "loss_reference": 5.24023962020874, + "loss_candidate": 5.24023962020874, + "parameter_delta_max_abs": 0.0, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + } + ] + }, + { + "seed": 42, + "length": 1, + "recompute": true, + "tokens": [ + [ + 36 + ] + ], + "targets": [ + 0 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 0.0, + "failures": [], + "gradient_relative_l2": 0.0, + "loss_reference": 5.2766923904418945, + "loss_candidate": 5.2766923904418945, + "parameter_delta_max_abs": 0.0, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + }, + { + "step": 2, + "logits_max_abs": 0.0, + "failures": [], + "gradient_relative_l2": 0.0, + "loss_reference": 5.24023962020874, + "loss_candidate": 5.24023962020874, + "parameter_delta_max_abs": 0.0, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + } + ] + }, + { + "seed": 42, + "length": 4, + "recompute": false, + "tokens": [ + [ + 36, + 18, + 74, + 9 + ] + ], + "targets": [ + 2, + 61, + 29, + 52 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 2.5331974029541016e-07, + "failures": [], + "gradient_relative_l2": 1.467064204113856e-07, + "loss_reference": 4.553637504577637, + "loss_candidate": 4.553637504577637, + "parameter_delta_max_abs": 7.450580596923828e-09, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + }, + { + "step": 2, + "logits_max_abs": 2.384185791015625e-07, + "failures": [], + "gradient_relative_l2": 1.4031483142315044e-07, + "loss_reference": 4.529329776763916, + "loss_candidate": 4.529329299926758, + "parameter_delta_max_abs": 1.4901161193847656e-08, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + } + ] + }, + { + "seed": 42, + "length": 4, + "recompute": true, + "tokens": [ + [ + 36, + 18, + 74, + 9 + ] + ], + "targets": [ + 2, + 61, + 29, + 52 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 2.5331974029541016e-07, + "failures": [], + "gradient_relative_l2": 1.467064204113856e-07, + "loss_reference": 4.553637504577637, + "loss_candidate": 4.553637504577637, + "parameter_delta_max_abs": 7.450580596923828e-09, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + }, + { + "step": 2, + "logits_max_abs": 2.384185791015625e-07, + "failures": [], + "gradient_relative_l2": 1.4031483142315044e-07, + "loss_reference": 4.529329776763916, + "loss_candidate": 4.529329299926758, + "parameter_delta_max_abs": 1.4901161193847656e-08, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + } + ] + }, + { + "seed": 42, + "length": 8, + "recompute": false, + "tokens": [ + [ + 36, + 18, + 74, + 9, + 66, + 43, + 91, + 63 + ] + ], + "targets": [ + 63, + 62, + 41, + 66, + 86, + 49, + 16, + 53 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 3.5762786865234375e-07, + "failures": [ + { + "tensor": "model.layers.1.mlp.gate_proj.weight", + "field": "parameter_delta", + "mismatched_elements": 1, + "max_abs": 1.1920928955078125e-07 + } + ], + "gradient_relative_l2": 2.1936654883315191e-07, + "loss_reference": 4.706143856048584, + "loss_candidate": 4.706143856048584, + "parameter_delta_max_abs": 1.1920928955078125e-07, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": false + }, + { + "step": 2, + "logits_max_abs": 2.682209014892578e-07, + "failures": [], + "gradient_relative_l2": 1.7789788518861875e-07, + "loss_reference": 4.6882195472717285, + "loss_candidate": 4.6882195472717285, + "parameter_delta_max_abs": 1.4901161193847656e-08, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + } + ] + }, + { + "seed": 42, + "length": 8, + "recompute": true, + "tokens": [ + [ + 36, + 18, + 74, + 9, + 66, + 43, + 91, + 63 + ] + ], + "targets": [ + 63, + 62, + 41, + 66, + 86, + 49, + 16, + 53 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 3.5762786865234375e-07, + "failures": [ + { + "tensor": "model.layers.1.mlp.gate_proj.weight", + "field": "parameter_delta", + "mismatched_elements": 1, + "max_abs": 1.1920928955078125e-07 + } + ], + "gradient_relative_l2": 2.1936654883315191e-07, + "loss_reference": 4.706143856048584, + "loss_candidate": 4.706143856048584, + "parameter_delta_max_abs": 1.1920928955078125e-07, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": false + }, + { + "step": 2, + "logits_max_abs": 2.682209014892578e-07, + "failures": [], + "gradient_relative_l2": 1.7789788518861875e-07, + "loss_reference": 4.6882195472717285, + "loss_candidate": 4.6882195472717285, + "parameter_delta_max_abs": 1.4901161193847656e-08, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + } + ] + }, + { + "seed": 42, + "length": 65, + "recompute": false, + "tokens": [ + [ + 36, + 18, + 74, + 9, + 66, + 43, + 91, + 63, + 19, + 70, + 5, + 79, + 72, + 61, + 87, + 9, + 85, + 47, + 73, + 66, + 22, + 40, + 94, + 41, + 35, + 15, + 74, + 62, + 95, + 17, + 46, + 40, + 88, + 50, + 71, + 66, + 68, + 71, + 43, + 89, + 64, + 18, + 34, + 14, + 19, + 49, + 48, + 56, + 26, + 79, + 28, + 81, + 26, + 51, + 7, + 76, + 55, + 79, + 56, + 83, + 48, + 13, + 79, + 63, + 69 + ] + ], + "targets": [ + 66, + 42, + 11, + 29, + 78, + 14, + 59, + 18, + 21, + 14, + 48, + 49, + 47, + 94, + 3, + 49, + 49, + 52, + 42, + 21, + 9, + 69, + 8, + 83, + 0, + 17, + 35, + 25, + 8, + 20, + 71, + 39, + 19, + 18, + 37, + 49, + 40, + 9, + 26, + 63, + 86, + 26, + 37, + 17, + 2, + 6, + 28, + 78, + 80, + 21, + 42, + 80, + 78, + 47, + 23, + 88, + 2, + 65, + 67, + 68, + 11, + 87, + 96, + 19, + 42 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 4.76837158203125e-07, + "failures": [ + { + "tensor": "model.layers.0.mlp.down_proj.weight", + "field": "parameter_delta", + "mismatched_elements": 1, + "max_abs": 1.9818544387817383e-06 + }, + { + "tensor": "model.layers.0.mlp.down_proj.weight", + "field": "parameter", + "mismatched_elements": 1, + "max_abs": 1.9818544387817383e-06 + } + ], + "gradient_relative_l2": 2.6241594921539816e-07, + "loss_reference": 4.591853618621826, + "loss_candidate": 4.591853618621826, + "parameter_delta_max_abs": 1.9818544387817383e-06, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": false + }, + { + "step": 2, + "logits_max_abs": 6.258487701416016e-07, + "failures": [ + { + "tensor": "model.layers.0.mlp.down_proj.weight", + "field": "parameter", + "mismatched_elements": 1, + "max_abs": 1.996755599975586e-06 + } + ], + "gradient_relative_l2": 3.04581396807327e-07, + "loss_reference": 4.585211753845215, + "loss_candidate": 4.585211753845215, + "parameter_delta_max_abs": 2.9802322387695312e-08, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": false + } + ] + }, + { + "seed": 42, + "length": 65, + "recompute": true, + "tokens": [ + [ + 36, + 18, + 74, + 9, + 66, + 43, + 91, + 63, + 19, + 70, + 5, + 79, + 72, + 61, + 87, + 9, + 85, + 47, + 73, + 66, + 22, + 40, + 94, + 41, + 35, + 15, + 74, + 62, + 95, + 17, + 46, + 40, + 88, + 50, + 71, + 66, + 68, + 71, + 43, + 89, + 64, + 18, + 34, + 14, + 19, + 49, + 48, + 56, + 26, + 79, + 28, + 81, + 26, + 51, + 7, + 76, + 55, + 79, + 56, + 83, + 48, + 13, + 79, + 63, + 69 + ] + ], + "targets": [ + 66, + 42, + 11, + 29, + 78, + 14, + 59, + 18, + 21, + 14, + 48, + 49, + 47, + 94, + 3, + 49, + 49, + 52, + 42, + 21, + 9, + 69, + 8, + 83, + 0, + 17, + 35, + 25, + 8, + 20, + 71, + 39, + 19, + 18, + 37, + 49, + 40, + 9, + 26, + 63, + 86, + 26, + 37, + 17, + 2, + 6, + 28, + 78, + 80, + 21, + 42, + 80, + 78, + 47, + 23, + 88, + 2, + 65, + 67, + 68, + 11, + 87, + 96, + 19, + 42 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 4.76837158203125e-07, + "failures": [ + { + "tensor": "model.layers.0.mlp.down_proj.weight", + "field": "parameter_delta", + "mismatched_elements": 1, + "max_abs": 1.9818544387817383e-06 + }, + { + "tensor": "model.layers.0.mlp.down_proj.weight", + "field": "parameter", + "mismatched_elements": 1, + "max_abs": 1.9818544387817383e-06 + } + ], + "gradient_relative_l2": 2.6241594921539816e-07, + "loss_reference": 4.591853618621826, + "loss_candidate": 4.591853618621826, + "parameter_delta_max_abs": 1.9818544387817383e-06, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": false + }, + { + "step": 2, + "logits_max_abs": 6.258487701416016e-07, + "failures": [ + { + "tensor": "model.layers.0.mlp.down_proj.weight", + "field": "parameter", + "mismatched_elements": 1, + "max_abs": 1.996755599975586e-06 + } + ], + "gradient_relative_l2": 3.04581396807327e-07, + "loss_reference": 4.585211753845215, + "loss_candidate": 4.585211753845215, + "parameter_delta_max_abs": 2.9802322387695312e-08, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": false + } + ] + }, + { + "seed": 43, + "length": 1, + "recompute": false, + "tokens": [ + [ + 41 + ] + ], + "targets": [ + 39 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 0.0, + "failures": [], + "gradient_relative_l2": 0.0, + "loss_reference": 4.7143659591674805, + "loss_candidate": 4.7143659591674805, + "parameter_delta_max_abs": 0.0, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + }, + { + "step": 2, + "logits_max_abs": 0.0, + "failures": [], + "gradient_relative_l2": 0.0, + "loss_reference": 4.682393550872803, + "loss_candidate": 4.682393550872803, + "parameter_delta_max_abs": 0.0, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + } + ] + }, + { + "seed": 43, + "length": 1, + "recompute": true, + "tokens": [ + [ + 41 + ] + ], + "targets": [ + 39 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 0.0, + "failures": [], + "gradient_relative_l2": 0.0, + "loss_reference": 4.7143659591674805, + "loss_candidate": 4.7143659591674805, + "parameter_delta_max_abs": 0.0, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + }, + { + "step": 2, + "logits_max_abs": 0.0, + "failures": [], + "gradient_relative_l2": 0.0, + "loss_reference": 4.682393550872803, + "loss_candidate": 4.682393550872803, + "parameter_delta_max_abs": 0.0, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + } + ] + }, + { + "seed": 43, + "length": 4, + "recompute": false, + "tokens": [ + [ + 41, + 37, + 69, + 7 + ] + ], + "targets": [ + 10, + 85, + 78, + 14 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 2.384185791015625e-07, + "failures": [], + "gradient_relative_l2": 1.5299823638318051e-07, + "loss_reference": 4.155712127685547, + "loss_candidate": 4.155712127685547, + "parameter_delta_max_abs": 1.4901161193847656e-08, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + }, + { + "step": 2, + "logits_max_abs": 2.384185791015625e-07, + "failures": [], + "gradient_relative_l2": 1.5779121045767353e-07, + "loss_reference": 4.13065242767334, + "loss_candidate": 4.13065242767334, + "parameter_delta_max_abs": 1.6763806343078613e-08, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + } + ] + }, + { + "seed": 43, + "length": 4, + "recompute": true, + "tokens": [ + [ + 41, + 37, + 69, + 7 + ] + ], + "targets": [ + 10, + 85, + 78, + 14 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 2.384185791015625e-07, + "failures": [], + "gradient_relative_l2": 1.5299823638318051e-07, + "loss_reference": 4.155712127685547, + "loss_candidate": 4.155712127685547, + "parameter_delta_max_abs": 1.4901161193847656e-08, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + }, + { + "step": 2, + "logits_max_abs": 2.384185791015625e-07, + "failures": [], + "gradient_relative_l2": 1.5779121045767353e-07, + "loss_reference": 4.13065242767334, + "loss_candidate": 4.13065242767334, + "parameter_delta_max_abs": 1.6763806343078613e-08, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + } + ] + }, + { + "seed": 43, + "length": 8, + "recompute": false, + "tokens": [ + [ + 41, + 37, + 69, + 7, + 53, + 16, + 74, + 60 + ] + ], + "targets": [ + 47, + 0, + 86, + 94, + 32, + 15, + 51, + 54 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 3.5762786865234375e-07, + "failures": [], + "gradient_relative_l2": 2.0755403898758715e-07, + "loss_reference": 5.068241119384766, + "loss_candidate": 5.068241119384766, + "parameter_delta_max_abs": 1.4901161193847656e-08, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + }, + { + "step": 2, + "logits_max_abs": 3.5762786865234375e-07, + "failures": [], + "gradient_relative_l2": 2.0145367451122857e-07, + "loss_reference": 5.05097770690918, + "loss_candidate": 5.05097770690918, + "parameter_delta_max_abs": 2.60770320892334e-08, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + } + ] + }, + { + "seed": 43, + "length": 8, + "recompute": true, + "tokens": [ + [ + 41, + 37, + 69, + 7, + 53, + 16, + 74, + 60 + ] + ], + "targets": [ + 47, + 0, + 86, + 94, + 32, + 15, + 51, + 54 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 3.5762786865234375e-07, + "failures": [], + "gradient_relative_l2": 2.0755403898758715e-07, + "loss_reference": 5.068241119384766, + "loss_candidate": 5.068241119384766, + "parameter_delta_max_abs": 1.4901161193847656e-08, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + }, + { + "step": 2, + "logits_max_abs": 3.5762786865234375e-07, + "failures": [], + "gradient_relative_l2": 2.0145367451122857e-07, + "loss_reference": 5.05097770690918, + "loss_candidate": 5.05097770690918, + "parameter_delta_max_abs": 2.60770320892334e-08, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + } + ] + }, + { + "seed": 43, + "length": 65, + "recompute": false, + "tokens": [ + [ + 41, + 37, + 69, + 7, + 53, + 16, + 74, + 60, + 86, + 66, + 95, + 38, + 64, + 90, + 62, + 18, + 45, + 75, + 89, + 59, + 49, + 71, + 89, + 13, + 16, + 13, + 31, + 8, + 5, + 43, + 36, + 59, + 29, + 9, + 45, + 71, + 17, + 17, + 65, + 95, + 54, + 56, + 9, + 15, + 28, + 31, + 47, + 89, + 48, + 8, + 51, + 64, + 42, + 63, + 86, + 14, + 21, + 91, + 44, + 43, + 39, + 61, + 23, + 69, + 74 + ] + ], + "targets": [ + 63, + 26, + 48, + 81, + 58, + 75, + 29, + 8, + 32, + 40, + 15, + 62, + 69, + 78, + 62, + 17, + 68, + 25, + 86, + 72, + 92, + 10, + 63, + 63, + 94, + 21, + 63, + 6, + 87, + 57, + 25, + 65, + 63, + 72, + 30, + 43, + 73, + 57, + 84, + 7, + 3, + 45, + 66, + 57, + 10, + 19, + 61, + 48, + 14, + 39, + 79, + 17, + 43, + 87, + 69, + 80, + 6, + 70, + 60, + 22, + 31, + 36, + 83, + 47, + 46 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 5.960464477539062e-07, + "failures": [ + { + "tensor": "model.layers.1.self_attn.o_proj.weight", + "field": "parameter_delta", + "mismatched_elements": 1, + "max_abs": 1.2665987014770508e-07 + } + ], + "gradient_relative_l2": 2.6744974994108295e-07, + "loss_reference": 4.665134906768799, + "loss_candidate": 4.665134906768799, + "parameter_delta_max_abs": 1.2665987014770508e-07, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": false + }, + { + "step": 2, + "logits_max_abs": 4.76837158203125e-07, + "failures": [], + "gradient_relative_l2": 2.777231646506259e-07, + "loss_reference": 4.657588481903076, + "loss_candidate": 4.657588481903076, + "parameter_delta_max_abs": 5.960464477539063e-08, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + } + ] + }, + { + "seed": 43, + "length": 65, + "recompute": true, + "tokens": [ + [ + 41, + 37, + 69, + 7, + 53, + 16, + 74, + 60, + 86, + 66, + 95, + 38, + 64, + 90, + 62, + 18, + 45, + 75, + 89, + 59, + 49, + 71, + 89, + 13, + 16, + 13, + 31, + 8, + 5, + 43, + 36, + 59, + 29, + 9, + 45, + 71, + 17, + 17, + 65, + 95, + 54, + 56, + 9, + 15, + 28, + 31, + 47, + 89, + 48, + 8, + 51, + 64, + 42, + 63, + 86, + 14, + 21, + 91, + 44, + 43, + 39, + 61, + 23, + 69, + 74 + ] + ], + "targets": [ + 63, + 26, + 48, + 81, + 58, + 75, + 29, + 8, + 32, + 40, + 15, + 62, + 69, + 78, + 62, + 17, + 68, + 25, + 86, + 72, + 92, + 10, + 63, + 63, + 94, + 21, + 63, + 6, + 87, + 57, + 25, + 65, + 63, + 72, + 30, + 43, + 73, + 57, + 84, + 7, + 3, + 45, + 66, + 57, + 10, + 19, + 61, + 48, + 14, + 39, + 79, + 17, + 43, + 87, + 69, + 80, + 6, + 70, + 60, + 22, + 31, + 36, + 83, + 47, + 46 + ], + "steps": [ + { + "step": 1, + "logits_max_abs": 5.960464477539062e-07, + "failures": [ + { + "tensor": "model.layers.1.self_attn.o_proj.weight", + "field": "parameter_delta", + "mismatched_elements": 1, + "max_abs": 1.2665987014770508e-07 + } + ], + "gradient_relative_l2": 2.6744974994108295e-07, + "loss_reference": 4.665134906768799, + "loss_candidate": 4.665134906768799, + "parameter_delta_max_abs": 1.2665987014770508e-07, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": false + }, + { + "step": 2, + "logits_max_abs": 4.76837158203125e-07, + "failures": [], + "gradient_relative_l2": 2.777231646506259e-07, + "loss_reference": 4.657588481903076, + "loss_candidate": 4.657588481903076, + "parameter_delta_max_abs": 5.960464477539063e-08, + "all_parameters_and_moments_checked": true, + "nonzero_applied_update": true, + "passed": true + } + ] + } + ], + "scope": "Tiny supervised numerical/Adam equivalence; not RL reward convergence or 40B execution.", + "case_count": 16, + "paired_steps": 32, + "prototype_sha256": "cdf28edb5b41dfdd6d223ef171e9163c33b73c5d118590a84c5277e9c37592fc", + "parameter_delta_atol": 1e-07, + "parameter_delta_rtol": 1e-05 +} diff --git a/benchmarks/results/iquest-contract/reference/LICENSE b/benchmarks/results/iquest-contract/reference/LICENSE new file mode 100644 index 000000000..67ab50597 --- /dev/null +++ b/benchmarks/results/iquest-contract/reference/LICENSE @@ -0,0 +1,26 @@ +Modified MIT License + +Software Copyright© 2025 IQuest Research + +Our only modification is that, if the Software (or any derivative works +thereof) is used for any of your commercial products or services, you shall +prominently display "IQuest Coder" on the user interface of such product or +service. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + diff --git a/benchmarks/results/iquest-contract/reference/README.md b/benchmarks/results/iquest-contract/reference/README.md new file mode 100644 index 000000000..b999037c9 --- /dev/null +++ b/benchmarks/results/iquest-contract/reference/README.md @@ -0,0 +1,182 @@ +--- +license: other +license_name: iquestcoder +license_link: >- + https://huggingface.co/IQuestLab/IQuest-Coder-V1-40B-Instruct/blob/main/LICENSE +language: + - en +library_name: transformers +--- + +![Evaluation Results](./papers/iquest-coder-v1-logo.png) + +

+ 📘 Blog +  •  + 📄 Technical Report +

+ +# IQuest-Coder-V1 Model Family + +| Model | Link | +|-------|------| +| IQuest-Coder-V1-40B-Base-Stage1 | [🤗 Hugging Face](https://huggingface.co/IQuestLab/IQuest-Coder-V1-40B-Base-Stage1) | +| IQuest-Coder-V1-40B-Base | [🤗 Hugging Face](https://huggingface.co/IQuestLab/IQuest-Coder-V1-40B-Base) | +| IQuest-Coder-V1-40B-Instruct | [🤗 Hugging Face](https://huggingface.co/IQuestLab/IQuest-Coder-V1-40B-Instruct) | +| IQuest-Coder-V1-40B-Loop-Instruct | [🤗 Hugging Face](https://huggingface.co/IQuestLab/IQuest-Coder-V1-40B-Loop-Instruct) | + +[Clarification: Regarding the Performance of IQuest-Coder-V1](https://github.com/IQuestLab/IQuest-Coder-V1/issues/14#issuecomment-3705756919) + +## Sampling Parameters +For the IQuest-Coder-V1-Instruct: We suggest using Temperature=0.6, TopP=0.85, TopK=20. + + +## IQuest-Coder-V1 Highlights + +IQuest-Coder-V1 is a new family of code large language models (LLMs) designed to advance autonomous software engineering and code intelligence. Built on the innovative code-flow multi-stage training paradigm, IQuest-Coder-V1 captures the dynamic evolution of software logic, delivering state-of-the-art performance across critical dimensions: + +- **State-of-the-Art Performance**: Achieves leading results on SWE-Bench Verified (76.2%), BigCodeBench (49.9%), LiveCodeBench v6 (81.1%), and other major coding benchmarks, surpassing competitive models across agentic software engineering, competitive programming, and complex tool use. +- **Code-Flow Training Paradigm**: Moving beyond static code representations, our models learn from repository evolution patterns, commit transitions, and dynamic code transformations to understand real-world software development processes. +- **Dual Specialization Paths**: Bifurcated post-training delivers two specialized variants—Thinking models (utilizing reasoning-driven RL for complex problem-solving) and Instruct models (optimized for general coding assistance and instruction-following). +- **Efficient Architecture**: The IQuest-Coder-V1-Loop variant introduces a recurrent mechanism that optimizes the trade-off between model capacity and deployment footprint. +- **Native Long Context**: All models natively support up to 128K tokens without requiring additional scaling techniques. + +## Model Overview + +The IQuest-Coder-V1 series includes models ranging from 7B to 40B parameters, with both standard and Loop variants: + +| Model | Parameters | Layers | Hidden Size | Attention Heads (Q/KV) | Context Length | +|-------|------------|--------|-------------|------------------------|----------------| +| IQuest-Coder-V1-7B-Instruct | 7B | 14 | 5120 | 40/8 | 128K | +| IQuest-Coder-V1-7B-Thinking | 7B | 14 | 5120 | 40/8 | 128K | +| IQuest-Coder-V1-14B-Instruct | 14B | 28 | 5120 | 40/8 | 128K | +| IQuest-Coder-V1-14B-Thinking | 14B | 28 | 5120 | 40/8 | 128K | +| IQuest-Coder-V1-40B-Instruct | 40B | 80 | 5120 | 40/8 | 128K | +| IQuest-Coder-V1-40B-Thinking | 40B | 80 | 5120 | 40/8 | 128K | +| IQuest-Coder-V1-40B-Loop-Instruct | 40B | 80 (2 iterations) | 5120 | 40/8 | 128K | +| IQuest-Coder-V1-40B-Loop-Thinking | 40B | 80 (2 iterations) | 5120 | 40/8 | 128K | + +**Architecture Features:** + +- Grouped Query Attention (GQA) for efficient inference +- Native 128K context length support +- Vocabulary size: 76,800 tokens +- Loop variants use recurrent transformer design with shared parameters across two iterations + +For more details, please refer to our Technical Report, GitHub. + +## Quickstart + +IQuest-Coder-V1 uses custom modeling code via Hugging Face's auto_map feature. We recommend using transformers==4.56.0. + +### Basic Usage with Transformers + +```python +from transformers import AutoModelForCausalLM, AutoTokenizer + +model_name = "IQuestLab/IQuest-Coder-V1-40B-Instruct" + +# Load the tokenizer and model +tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True) +model = AutoModelForCausalLM.from_pretrained( + model_name, + torch_dtype="auto", + device_map="cuda:0", + trust_remote_code=True, +) + +# Prepare the input +prompt = "Write a Python function to calculate the Fibonacci sequence using dynamic programming." +messages = [ + {"role": "user", "content": prompt} +] +text = tokenizer.apply_chat_template( + messages, + tokenize=False, + add_generation_prompt=True +) +model_inputs = tokenizer([text], return_tensors="pt").to(model.device) + +# Generate response +generated_ids = model.generate( + **model_inputs, + max_new_tokens=8192 +) +generated_ids = generated_ids[0][len(model_inputs.input_ids[0]):] +response = tokenizer.decode(generated_ids, skip_special_tokens=True) + +print(response) +``` + +### Using Thinking Models + +For complex reasoning tasks, use the Thinking variant: + +```python +model_name = "IQuest/IQuest-Coder-V1-40B-Thinking" + +# The Thinking model includes explicit reasoning traces +# Use similar code as above, but expect longer, more detailed responses +# with step-by-step problem decomposition +``` + +### Deployment with vLLM + +For production deployment, you can use vLLM to create an OpenAI-compatible API endpoint. Please refer to the [vLLM PR](https://github.com/vllm-project/vllm/pull/31575/files) for implementation details. + +```bash +vllm serve IQuestLab/IQuest-Coder-V1-40B-Instruct --tensor-parallel-size 8 +``` + +For Thinking models with reasoning support: + +```bash +vllm serve IQuestLab/IQuest-Coder-V1-40B-Thinking --reasoning-parser qwen3 --tensor-parallel-size 8 +``` + + +## Evaluation Results +![Evaluation Results](./papers/results.png) + +## Limitations + +- **Reasoning vs. Efficiency Trade-off**: Thinking models provide superior reasoning but generate longer responses; Instruct models are more efficient for straightforward tasks. +- **Code Execution**: Models generate code but do not execute it; always validate outputs in sandboxed environments. +- **Domain Specificity**: While trained on diverse codebases, performance may vary on highly specialized or proprietary frameworks. +- **Factuality**: Models may generate plausible but incorrect code; verify critical implementations thoroughly. + +## Citation + +If you find our work helpful, please cite: + +```bibtex +@article{iquest-coder-v1-2025, + title={IQuest-Coder-V1 Technical Report}, + author={IQuest Coder Team}, + url={https://github.com/IQuestLab/IQuest-Coder-V1/blob/main/papers/IQuest_Coder_Technical_Report.pdf} + year={2025} +} +@article{codescaling, + title={Scaling Laws for Code: Every Programming Language Matters}, + author={Yang, Jian and Guo, Shawn and Jing, Lin and Zhang, Wei and Liu, Aishan and Hao, Chuan and Li, Zhoujun and Zhao, Wayne Xin and Liu, Xianglong and Lv, Weifeng and others}, + journal={arXiv preprint arXiv:2512.13472}, + year={2025} +} +@article{close_the_loop, + title={Close the Loop: Synthesizing Infinite Tool-Use Data via Multi-Agent Role-Playing}, + author={Yuwen Li, Wei Zhang, Zelong Huang, Mason Yang, Jiajun Wu, Shawn Guo, Huahao Hu, Lingyi Sun, Jian Yang, Mingjie Tang, Byran Dai}, + journal={arXiv preprint arXiv:2512.23611}, + year={2025} +} +@article{loopcoder, + title={LoopCoder: Scaling Code Intelligence via Looped Language Models}, + author={Jian Yang, Wei Zhang, Shawn Guo, Yizhi Li, Lin Jing, Zhengmao Ye, Shark Liu, Yuyang Song, Jiajun Wu, Che Liu, T. Zheng, Siwei Wu, L. Liao, X. Ma, Chuan Hao, Ran Tao, Yan Xing, Jianzhou Wang, Mingjie Tang, Aishan Liu, Zhoujun Li, Xianglong Liu, Weifeng Lv1, Bryan Dai}, + year={2025} +} +@article{swe_compress, + title={Context as a Tool: Context Management for Long-Horizon SWE-Agents}, + author={hukai Liu, Jian Yang, Bo Jiang, Yizhi Li, Jinyang Guo, Xianglong Liu, Bryan Dai}, + journal={arXiv preprint arXiv:2512.22087}, + year={2025} +} +``` diff --git a/benchmarks/results/iquest-contract/reference/__init__.py b/benchmarks/results/iquest-contract/reference/__init__.py new file mode 100644 index 000000000..67e6df6de --- /dev/null +++ b/benchmarks/results/iquest-contract/reference/__init__.py @@ -0,0 +1,26 @@ +"""IQuestLoopCoder model package.""" + +from .configuration_iquestloopcoder import IQuestLoopCoderConfig +from .modeling_iquestloopcoder import ( + IQuestLoopCoderPreTrainedModel, + IQuestLoopCoderModel, + IQuestLoopCoderForCausalLM, + IQuestLoopCoderCache, +) +from .tokenization_iquestcoder import IQuestCoderTokenizer + +try: + from .tokenization_iquestcoder import IQuestCoderTokenizerFast +except ImportError: + IQuestCoderTokenizerFast = None + +__all__ = [ + "IQuestLoopCoderConfig", + "IQuestLoopCoderPreTrainedModel", + "IQuestLoopCoderModel", + "IQuestLoopCoderForCausalLM", + "IQuestLoopCoderCache", + "IQuestCoderTokenizer", + "IQuestCoderTokenizerFast", +] + diff --git a/benchmarks/results/iquest-contract/reference/config.json b/benchmarks/results/iquest-contract/reference/config.json new file mode 100644 index 000000000..a9af0646f --- /dev/null +++ b/benchmarks/results/iquest-contract/reference/config.json @@ -0,0 +1,34 @@ +{ + "_name_or_path": "iquestloopcoder", + "architectures": [ + "IQuestLoopCoderForCausalLM" + ], + "model_type": "iquestloopcoder", + "vocab_size": 76800, + "hidden_size": 5120, + "intermediate_size": 27648, + "num_hidden_layers": 80, + "eos_token_id": [2, 75864, 75869], + "num_attention_heads": 40, + "num_key_value_heads": 8, + "head_dim": 128, + "hidden_act": "silu", + "max_position_embeddings": 131072, + "initializer_range": 0.02, + "rms_norm_eps": 1e-05, + "use_cache": true, + "tie_word_embeddings": false, + "rope_theta": 500000, + "attention_bias": false, + "attention_dropout": 0.0, + "mlp_bias": false, + "loop_num": 2, + "loop_window_size": 64, + "torch_dtype": "bfloat16", + "transformers_version": "4.55.4", + "auto_map": { + "AutoConfig": "configuration_iquestloopcoder.IQuestLoopCoderConfig", + "AutoModel": "modeling_iquestloopcoder.IQuestLoopCoderModel", + "AutoModelForCausalLM": "modeling_iquestloopcoder.IQuestLoopCoderForCausalLM" + } +} diff --git a/benchmarks/results/iquest-contract/reference/configuration_iquestloopcoder.py b/benchmarks/results/iquest-contract/reference/configuration_iquestloopcoder.py new file mode 100644 index 000000000..043cf0ecf --- /dev/null +++ b/benchmarks/results/iquest-contract/reference/configuration_iquestloopcoder.py @@ -0,0 +1,132 @@ +# Copyright 2024 IQuestLoopCoder Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +"""IQuestLoopCoder model configuration""" + +from transformers.configuration_utils import PretrainedConfig +from transformers.utils import logging + +logger = logging.get_logger(__name__) + + +class IQuestLoopCoderConfig(PretrainedConfig): + r""" + Configuration class for IQuestLoopCoder model. + + IQuestLoopCoder extends the standard LLaMA architecture with a loop mechanism: + - Loop 1: Standard attention, stores K1, V1 + - Loop 2+: Mixed attention with gated combination of global (K1,V1) and local (K2,V2) KV + + The gate is computed as: gate = sigmoid(W @ Q + bias) + Mixed output = gate * Attention(Q, K1, V1) + (1 - gate) * SlidingWindowAttention(Q, K2, V2) + + Args: + vocab_size (`int`, *optional*, defaults to 76800): + Vocabulary size of the model. + hidden_size (`int`, *optional*, defaults to 5120): + Dimension of the hidden representations. + intermediate_size (`int`, *optional*, defaults to 27648): + Dimension of the MLP representations (FFN hidden size). + num_hidden_layers (`int`, *optional*, defaults to 80): + Number of hidden layers in the Transformer decoder. + num_attention_heads (`int`, *optional*, defaults to 40): + Number of attention heads for each attention layer. + num_key_value_heads (`int`, *optional*, defaults to 8): + Number of key-value heads (for GQA). If None, defaults to num_attention_heads. + head_dim (`int`, *optional*, defaults to 128): + Dimension of each attention head (hidden_size // num_attention_heads). + hidden_act (`str` or `function`, *optional*, defaults to `"silu"`): + Activation function in the MLP. + max_position_embeddings (`int`, *optional*, defaults to 8192): + Maximum sequence length. + initializer_range (`float`, *optional*, defaults to 0.02): + Standard deviation for weight initialization. + rms_norm_eps (`float`, *optional*, defaults to 1e-5): + Epsilon for RMS normalization layers. + use_cache (`bool`, *optional*, defaults to `True`): + Whether to use past key/values for generation. + tie_word_embeddings (`bool`, *optional*, defaults to `False`): + Whether to tie input and output embeddings. + rope_theta (`float`, *optional*, defaults to 500000.0): + Base value for rotary position embeddings. + attention_bias (`bool`, *optional*, defaults to `False`): + Whether to use bias in attention layers. + attention_dropout (`float`, *optional*, defaults to 0.0): + Dropout ratio for attention weights. + mlp_bias (`bool`, *optional*, defaults to `False`): + Whether to use bias in MLP layers. + + # Loop-specific parameters + loop_num (`int`, *optional*, defaults to 2): + Number of loops through the decoder. + loop_window_size (`int`, *optional*, defaults to 64): + Window size for sliding window attention in Loop 2+. + """ + + model_type = "iquestloopcoder" + keys_to_ignore_at_inference = ["past_key_values"] + + def __init__( + self, + vocab_size=76800, + hidden_size=5120, + intermediate_size=27648, + num_hidden_layers=80, + num_attention_heads=40, + num_key_value_heads=8, + head_dim=128, + hidden_act="silu", + max_position_embeddings=8192, + initializer_range=0.02, + rms_norm_eps=1e-5, + use_cache=True, + pad_token_id=None, + bos_token_id=1, + eos_token_id=2, + tie_word_embeddings=False, + rope_theta=500000.0, + rope_scaling=None, + attention_bias=False, + attention_dropout=0.0, + mlp_bias=False, + # Loop-specific parameters + loop_num=2, + loop_window_size=64, + **kwargs, + ): + self.vocab_size = vocab_size + self.max_position_embeddings = max_position_embeddings + self.hidden_size = hidden_size + self.intermediate_size = intermediate_size + self.num_hidden_layers = num_hidden_layers + self.num_attention_heads = num_attention_heads + self.head_dim = head_dim + + # GQA support + if num_key_value_heads is None: + num_key_value_heads = num_attention_heads + self.num_key_value_heads = num_key_value_heads + + self.hidden_act = hidden_act + self.initializer_range = initializer_range + self.rms_norm_eps = rms_norm_eps + self.use_cache = use_cache + self.rope_theta = rope_theta + self.rope_scaling = rope_scaling + self.attention_bias = attention_bias + self.attention_dropout = attention_dropout + self.mlp_bias = mlp_bias + + # Loop-specific + self.loop_num = loop_num + self.loop_window_size = loop_window_size + + super().__init__( + pad_token_id=pad_token_id, + bos_token_id=bos_token_id, + eos_token_id=eos_token_id, + tie_word_embeddings=tie_word_embeddings, + **kwargs, + ) + diff --git a/benchmarks/results/iquest-contract/reference/generation_config.json b/benchmarks/results/iquest-contract/reference/generation_config.json new file mode 100644 index 000000000..45ee99831 --- /dev/null +++ b/benchmarks/results/iquest-contract/reference/generation_config.json @@ -0,0 +1,6 @@ +{ + "_from_model_config": true, + "bos_token_id": 1, + "eos_token_id": [2, 75864, 75869], + "transformers_version": "4.55.4" +} diff --git a/benchmarks/results/iquest-contract/reference/header-resume-input.json b/benchmarks/results/iquest-contract/reference/header-resume-input.json new file mode 100644 index 000000000..b65bf39ab --- /dev/null +++ b/benchmarks/results/iquest-contract/reference/header-resume-input.json @@ -0,0 +1,26 @@ +{ + "initial_auditor_sha256": "da2549caed159524c6dfbd6b439e323fdb8e21f0bbb6581afef863c7fd117117", + "cached_headers_written_after_range_and_storage_validation": { + "model-00014-of-00016.safetensors": "dd1a4bd813b7fc2b9c31b18f205364470bbbcb80ae539be39ca3531ce48b1192", + "model-00002-of-00016.safetensors": "4eff8d03cadbb5a151298fdd7041c96df2c750de0d689b2269a6cd80c1512974", + "model-00007-of-00016.safetensors": "480cbe37ad52908173c278c36530720f5430732e0e27483c1d5f5a30bad35e08", + "model-00009-of-00016.safetensors": "d07bb1abb9b335b7d4d82f738438319aa02819d99440b45f78011a487f56ca5b", + "model-00010-of-00016.safetensors": "6e12e5ad455197c93b2532e5b2efe4fb1a2b6423fed78953c90f8e51ffbb6b6d", + "model-00006-of-00016.safetensors": "718bed5ed94f4dc873b2d39c745f16ffaae8596ecc61c11bbe6f49677d5e1964", + "model-00015-of-00016.safetensors": "1c30029d91e69243e331f26911ecf68ad78124c2d58bda28b239302878db5c7b", + "model-00003-of-00016.safetensors": "1806828ed03fce061be4e8dc097d09ee5853b820b9f1863b7ddd32800aac63f7", + "model-00016-of-00016.safetensors": "69b0cea8f93d6f980d36aca9a1b8709f28e9ff5c8da85a4e832c54ef266687bc", + "model-00013-of-00016.safetensors": "8da14d18fa7e03ca9340d56559829040d1d9a6eac8939762931cac4780a82945", + "model-00005-of-00016.safetensors": "05745e0b110ef7f99bdc52971709cf4a2958570ce6e6ffea97666d91578ae682", + "model-00012-of-00016.safetensors": "809f79c4d6ecf6d9d20b9b3754b40ae3034d9437b9bb905b416ac38ea73236e9", + "model-00004-of-00016.safetensors": "8863b5419dda676dffca2ab8b2c27560b0038537c57ea5e1536b14840bbd820e", + "model-00001-of-00016.safetensors": "5dca395450fbcd32877649dfbca2d4ee72be043630c81ef3d53b2f57d6a614e8" + }, + "missing": [ + "model-00008-of-00016.safetensors", + "model-00011-of-00016.safetensors" + ], + "initial_attempt": "../weight-header-audit-attempt01.log", + "initial_exit_code": 1, + "failure": "transient TLS EOF during HTTP range request; full shards not downloaded" +} diff --git a/benchmarks/results/iquest-contract/reference/model.safetensors.index.json b/benchmarks/results/iquest-contract/reference/model.safetensors.index.json new file mode 100644 index 000000000..2463da428 --- /dev/null +++ b/benchmarks/results/iquest-contract/reference/model.safetensors.index.json @@ -0,0 +1,890 @@ +{ + "metadata": { + "total_size": 79589392640 + }, + "weight_map": { + "lm_head.weight": "model-00001-of-00016.safetensors", + "model.embed_tokens.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.0.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.0.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.1.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.1.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.10.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.10.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.11.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.11.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.12.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.12.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.13.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.13.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.14.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.14.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.15.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.15.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.16.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.16.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.17.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.17.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.18.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.18.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.19.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.19.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.2.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.2.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.20.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.20.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.21.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.21.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.22.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.22.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.23.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.23.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.24.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.24.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.25.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.25.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.26.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.26.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.27.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.27.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.28.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.28.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.29.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.29.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.3.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.3.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.30.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.30.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.31.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.31.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.32.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.32.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.33.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.33.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.34.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.34.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.35.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.35.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.36.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.36.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.37.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.37.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.38.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.38.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.39.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.39.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.4.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.4.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.40.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.40.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.41.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.41.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.42.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.42.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.43.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.43.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.44.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.44.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.45.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.45.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.46.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.46.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.47.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.47.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.48.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.48.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.49.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.49.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.5.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.5.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.50.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.50.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.51.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.51.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.52.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.52.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.53.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.53.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.54.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.54.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.55.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.55.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.56.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.56.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.57.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.57.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.58.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.58.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.59.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.59.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.6.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.6.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.60.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.60.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.61.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.61.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.62.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.62.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.63.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.63.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.64.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.64.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.65.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.65.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.66.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.66.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.67.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.67.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.68.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.68.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.69.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.69.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.7.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.7.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.70.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.70.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.71.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.71.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.72.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.72.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.73.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.73.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.74.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.74.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.75.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.75.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.76.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.76.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.77.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.77.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.78.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.78.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.79.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.79.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.8.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.8.weight": "model-00001-of-00016.safetensors", + "model.gate_projections.9.bias": "model-00001-of-00016.safetensors", + "model.gate_projections.9.weight": "model-00001-of-00016.safetensors", + "model.layers.0.input_layernorm.weight": "model-00001-of-00016.safetensors", + "model.layers.0.mlp.down_proj.weight": "model-00001-of-00016.safetensors", + "model.layers.0.mlp.gate_proj.weight": "model-00001-of-00016.safetensors", + "model.layers.0.mlp.up_proj.weight": "model-00001-of-00016.safetensors", + "model.layers.0.post_attention_layernorm.weight": "model-00001-of-00016.safetensors", + "model.layers.0.self_attn.k_proj.weight": "model-00001-of-00016.safetensors", + "model.layers.0.self_attn.o_proj.weight": "model-00001-of-00016.safetensors", + "model.layers.0.self_attn.q_proj.weight": "model-00001-of-00016.safetensors", + "model.layers.0.self_attn.v_proj.weight": "model-00001-of-00016.safetensors", + "model.layers.1.input_layernorm.weight": "model-00001-of-00016.safetensors", + "model.layers.1.mlp.down_proj.weight": "model-00001-of-00016.safetensors", + "model.layers.1.mlp.gate_proj.weight": "model-00001-of-00016.safetensors", + "model.layers.1.mlp.up_proj.weight": "model-00001-of-00016.safetensors", + "model.layers.1.post_attention_layernorm.weight": "model-00001-of-00016.safetensors", + "model.layers.1.self_attn.k_proj.weight": "model-00001-of-00016.safetensors", + "model.layers.1.self_attn.o_proj.weight": "model-00001-of-00016.safetensors", + "model.layers.1.self_attn.q_proj.weight": "model-00001-of-00016.safetensors", + "model.layers.1.self_attn.v_proj.weight": "model-00001-of-00016.safetensors", + "model.layers.10.input_layernorm.weight": "model-00001-of-00016.safetensors", + "model.layers.10.mlp.down_proj.weight": "model-00001-of-00016.safetensors", + "model.layers.10.mlp.gate_proj.weight": "model-00001-of-00016.safetensors", + "model.layers.10.mlp.up_proj.weight": "model-00001-of-00016.safetensors", + "model.layers.10.post_attention_layernorm.weight": "model-00001-of-00016.safetensors", + "model.layers.10.self_attn.k_proj.weight": "model-00001-of-00016.safetensors", + "model.layers.10.self_attn.o_proj.weight": "model-00001-of-00016.safetensors", + "model.layers.10.self_attn.q_proj.weight": "model-00001-of-00016.safetensors", + "model.layers.10.self_attn.v_proj.weight": "model-00001-of-00016.safetensors", + "model.layers.11.input_layernorm.weight": "model-00001-of-00016.safetensors", + "model.layers.11.mlp.down_proj.weight": "model-00001-of-00016.safetensors", + "model.layers.11.mlp.gate_proj.weight": "model-00001-of-00016.safetensors", + "model.layers.11.mlp.up_proj.weight": "model-00001-of-00016.safetensors", + "model.layers.11.post_attention_layernorm.weight": "model-00001-of-00016.safetensors", + "model.layers.11.self_attn.k_proj.weight": "model-00001-of-00016.safetensors", + "model.layers.11.self_attn.o_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.11.self_attn.q_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.11.self_attn.v_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.12.input_layernorm.weight": "model-00002-of-00016.safetensors", + "model.layers.12.mlp.down_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.12.mlp.gate_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.12.mlp.up_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.12.post_attention_layernorm.weight": "model-00002-of-00016.safetensors", + "model.layers.12.self_attn.k_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.12.self_attn.o_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.12.self_attn.q_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.12.self_attn.v_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.13.input_layernorm.weight": "model-00002-of-00016.safetensors", + "model.layers.13.mlp.down_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.13.mlp.gate_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.13.mlp.up_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.13.post_attention_layernorm.weight": "model-00002-of-00016.safetensors", + "model.layers.13.self_attn.k_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.13.self_attn.o_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.13.self_attn.q_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.13.self_attn.v_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.14.input_layernorm.weight": "model-00002-of-00016.safetensors", + "model.layers.14.mlp.down_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.14.mlp.gate_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.14.mlp.up_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.14.post_attention_layernorm.weight": "model-00002-of-00016.safetensors", + "model.layers.14.self_attn.k_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.14.self_attn.o_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.14.self_attn.q_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.14.self_attn.v_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.15.input_layernorm.weight": "model-00002-of-00016.safetensors", + "model.layers.15.mlp.down_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.15.mlp.gate_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.15.mlp.up_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.15.post_attention_layernorm.weight": "model-00002-of-00016.safetensors", + "model.layers.15.self_attn.k_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.15.self_attn.o_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.15.self_attn.q_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.15.self_attn.v_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.16.input_layernorm.weight": "model-00002-of-00016.safetensors", + "model.layers.16.mlp.down_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.16.mlp.gate_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.16.mlp.up_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.16.post_attention_layernorm.weight": "model-00002-of-00016.safetensors", + "model.layers.16.self_attn.k_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.16.self_attn.o_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.16.self_attn.q_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.16.self_attn.v_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.17.input_layernorm.weight": "model-00002-of-00016.safetensors", + "model.layers.17.mlp.down_proj.weight": "model-00002-of-00016.safetensors", + "model.layers.17.mlp.gate_proj.weight": "model-00003-of-00016.safetensors", + "model.layers.17.mlp.up_proj.weight": "model-00003-of-00016.safetensors", + "model.layers.17.post_attention_layernorm.weight": "model-00003-of-00016.safetensors", + "model.layers.17.self_attn.k_proj.weight": "model-00003-of-00016.safetensors", + "model.layers.17.self_attn.o_proj.weight": "model-00003-of-00016.safetensors", + "model.layers.17.self_attn.q_proj.weight": "model-00003-of-00016.safetensors", + "model.layers.17.self_attn.v_proj.weight": "model-00003-of-00016.safetensors", + "model.layers.18.input_layernorm.weight": "model-00003-of-00016.safetensors", + "model.layers.18.mlp.down_proj.weight": "model-00003-of-00016.safetensors", + "model.layers.18.mlp.gate_proj.weight": "model-00003-of-00016.safetensors", + "model.layers.18.mlp.up_proj.weight": "model-00003-of-00016.safetensors", + "model.layers.18.post_attention_layernorm.weight": "model-00003-of-00016.safetensors", + "model.layers.18.self_attn.k_proj.weight": "model-00003-of-00016.safetensors", + "model.layers.18.self_attn.o_proj.weight": "model-00003-of-00016.safetensors", + "model.layers.18.self_attn.q_proj.weight": "model-00003-of-00016.safetensors", + "model.layers.18.self_attn.v_proj.weight": "model-00003-of-00016.safetensors", + "model.layers.19.input_layernorm.weight": "model-00003-of-00016.safetensors", + "model.layers.19.mlp.down_proj.weight": "model-00003-of-00016.safetensors", + "model.layers.19.mlp.gate_proj.weight": "model-00003-of-00016.safetensors", + "model.layers.19.mlp.up_proj.weight": "model-00003-of-00016.safetensors", + "model.layers.19.post_attention_layernorm.weight": "model-00003-of-00016.safetensors", + "model.layers.19.self_attn.k_proj.weight": "model-00003-of-00016.safetensors", + "model.layers.19.self_attn.o_proj.weight": "model-00003-of-00016.safetensors", + "model.layers.19.self_attn.q_proj.weight": "model-00003-of-00016.safetensors", + "model.layers.19.self_attn.v_proj.weight": "model-00003-of-00016.safetensors", + "model.layers.2.input_layernorm.weight": "model-00003-of-00016.safetensors", + "model.layers.2.mlp.down_proj.weight": "model-00003-of-00016.safetensors", + "model.layers.2.mlp.gate_proj.weight": "model-00003-of-00016.safetensors", + "model.layers.2.mlp.up_proj.weight": "model-00003-of-00016.safetensors", + "model.layers.2.post_attention_layernorm.weight": "model-00003-of-00016.safetensors", + "model.layers.2.self_attn.k_proj.weight": "model-00003-of-00016.safetensors", + "model.layers.2.self_attn.o_proj.weight": "model-00003-of-00016.safetensors", + "model.layers.2.self_attn.q_proj.weight": "model-00003-of-00016.safetensors", + "model.layers.2.self_attn.v_proj.weight": "model-00003-of-00016.safetensors", + "model.layers.20.input_layernorm.weight": "model-00003-of-00016.safetensors", + "model.layers.20.mlp.down_proj.weight": "model-00003-of-00016.safetensors", + "model.layers.20.mlp.gate_proj.weight": "model-00003-of-00016.safetensors", + "model.layers.20.mlp.up_proj.weight": "model-00003-of-00016.safetensors", + "model.layers.20.post_attention_layernorm.weight": "model-00003-of-00016.safetensors", + "model.layers.20.self_attn.k_proj.weight": "model-00003-of-00016.safetensors", + "model.layers.20.self_attn.o_proj.weight": "model-00003-of-00016.safetensors", + "model.layers.20.self_attn.q_proj.weight": "model-00003-of-00016.safetensors", + "model.layers.20.self_attn.v_proj.weight": "model-00003-of-00016.safetensors", + "model.layers.21.input_layernorm.weight": "model-00003-of-00016.safetensors", + "model.layers.21.mlp.down_proj.weight": "model-00003-of-00016.safetensors", + "model.layers.21.mlp.gate_proj.weight": "model-00003-of-00016.safetensors", + "model.layers.21.mlp.up_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.21.post_attention_layernorm.weight": "model-00004-of-00016.safetensors", + "model.layers.21.self_attn.k_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.21.self_attn.o_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.21.self_attn.q_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.21.self_attn.v_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.22.input_layernorm.weight": "model-00004-of-00016.safetensors", + "model.layers.22.mlp.down_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.22.mlp.gate_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.22.mlp.up_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.22.post_attention_layernorm.weight": "model-00004-of-00016.safetensors", + "model.layers.22.self_attn.k_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.22.self_attn.o_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.22.self_attn.q_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.22.self_attn.v_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.23.input_layernorm.weight": "model-00004-of-00016.safetensors", + "model.layers.23.mlp.down_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.23.mlp.gate_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.23.mlp.up_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.23.post_attention_layernorm.weight": "model-00004-of-00016.safetensors", + "model.layers.23.self_attn.k_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.23.self_attn.o_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.23.self_attn.q_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.23.self_attn.v_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.24.input_layernorm.weight": "model-00004-of-00016.safetensors", + "model.layers.24.mlp.down_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.24.mlp.gate_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.24.mlp.up_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.24.post_attention_layernorm.weight": "model-00004-of-00016.safetensors", + "model.layers.24.self_attn.k_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.24.self_attn.o_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.24.self_attn.q_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.24.self_attn.v_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.25.input_layernorm.weight": "model-00004-of-00016.safetensors", + "model.layers.25.mlp.down_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.25.mlp.gate_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.25.mlp.up_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.25.post_attention_layernorm.weight": "model-00004-of-00016.safetensors", + "model.layers.25.self_attn.k_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.25.self_attn.o_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.25.self_attn.q_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.25.self_attn.v_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.26.input_layernorm.weight": "model-00004-of-00016.safetensors", + "model.layers.26.mlp.down_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.26.mlp.gate_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.26.mlp.up_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.26.post_attention_layernorm.weight": "model-00004-of-00016.safetensors", + "model.layers.26.self_attn.k_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.26.self_attn.o_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.26.self_attn.q_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.26.self_attn.v_proj.weight": "model-00004-of-00016.safetensors", + "model.layers.27.input_layernorm.weight": "model-00004-of-00016.safetensors", + "model.layers.27.mlp.down_proj.weight": "model-00005-of-00016.safetensors", + "model.layers.27.mlp.gate_proj.weight": "model-00005-of-00016.safetensors", + "model.layers.27.mlp.up_proj.weight": "model-00005-of-00016.safetensors", + "model.layers.27.post_attention_layernorm.weight": "model-00005-of-00016.safetensors", + "model.layers.27.self_attn.k_proj.weight": "model-00005-of-00016.safetensors", + "model.layers.27.self_attn.o_proj.weight": "model-00005-of-00016.safetensors", + "model.layers.27.self_attn.q_proj.weight": "model-00005-of-00016.safetensors", + "model.layers.27.self_attn.v_proj.weight": "model-00005-of-00016.safetensors", + "model.layers.28.input_layernorm.weight": "model-00005-of-00016.safetensors", + "model.layers.28.mlp.down_proj.weight": "model-00005-of-00016.safetensors", + "model.layers.28.mlp.gate_proj.weight": "model-00005-of-00016.safetensors", + "model.layers.28.mlp.up_proj.weight": "model-00005-of-00016.safetensors", + "model.layers.28.post_attention_layernorm.weight": "model-00005-of-00016.safetensors", + "model.layers.28.self_attn.k_proj.weight": "model-00005-of-00016.safetensors", + "model.layers.28.self_attn.o_proj.weight": "model-00005-of-00016.safetensors", + "model.layers.28.self_attn.q_proj.weight": "model-00005-of-00016.safetensors", + "model.layers.28.self_attn.v_proj.weight": "model-00005-of-00016.safetensors", + "model.layers.29.input_layernorm.weight": "model-00005-of-00016.safetensors", + "model.layers.29.mlp.down_proj.weight": "model-00005-of-00016.safetensors", + "model.layers.29.mlp.gate_proj.weight": "model-00005-of-00016.safetensors", + "model.layers.29.mlp.up_proj.weight": "model-00005-of-00016.safetensors", + "model.layers.29.post_attention_layernorm.weight": "model-00005-of-00016.safetensors", + "model.layers.29.self_attn.k_proj.weight": "model-00005-of-00016.safetensors", + "model.layers.29.self_attn.o_proj.weight": "model-00005-of-00016.safetensors", + "model.layers.29.self_attn.q_proj.weight": "model-00005-of-00016.safetensors", + "model.layers.29.self_attn.v_proj.weight": "model-00005-of-00016.safetensors", + "model.layers.3.input_layernorm.weight": "model-00005-of-00016.safetensors", + "model.layers.3.mlp.down_proj.weight": "model-00005-of-00016.safetensors", + "model.layers.3.mlp.gate_proj.weight": "model-00005-of-00016.safetensors", + "model.layers.3.mlp.up_proj.weight": "model-00005-of-00016.safetensors", + "model.layers.3.post_attention_layernorm.weight": "model-00005-of-00016.safetensors", + "model.layers.3.self_attn.k_proj.weight": "model-00005-of-00016.safetensors", + "model.layers.3.self_attn.o_proj.weight": "model-00005-of-00016.safetensors", + "model.layers.3.self_attn.q_proj.weight": "model-00005-of-00016.safetensors", + "model.layers.3.self_attn.v_proj.weight": "model-00005-of-00016.safetensors", + "model.layers.30.input_layernorm.weight": "model-00005-of-00016.safetensors", + "model.layers.30.mlp.down_proj.weight": "model-00005-of-00016.safetensors", + "model.layers.30.mlp.gate_proj.weight": "model-00005-of-00016.safetensors", + "model.layers.30.mlp.up_proj.weight": "model-00005-of-00016.safetensors", + "model.layers.30.post_attention_layernorm.weight": "model-00005-of-00016.safetensors", + "model.layers.30.self_attn.k_proj.weight": "model-00005-of-00016.safetensors", + "model.layers.30.self_attn.o_proj.weight": "model-00005-of-00016.safetensors", + "model.layers.30.self_attn.q_proj.weight": "model-00005-of-00016.safetensors", + "model.layers.30.self_attn.v_proj.weight": "model-00005-of-00016.safetensors", + "model.layers.31.input_layernorm.weight": "model-00005-of-00016.safetensors", + "model.layers.31.mlp.down_proj.weight": "model-00005-of-00016.safetensors", + "model.layers.31.mlp.gate_proj.weight": "model-00006-of-00016.safetensors", + "model.layers.31.mlp.up_proj.weight": "model-00006-of-00016.safetensors", + "model.layers.31.post_attention_layernorm.weight": "model-00006-of-00016.safetensors", + "model.layers.31.self_attn.k_proj.weight": "model-00006-of-00016.safetensors", + "model.layers.31.self_attn.o_proj.weight": "model-00006-of-00016.safetensors", + "model.layers.31.self_attn.q_proj.weight": "model-00006-of-00016.safetensors", + "model.layers.31.self_attn.v_proj.weight": "model-00006-of-00016.safetensors", + "model.layers.32.input_layernorm.weight": "model-00006-of-00016.safetensors", + "model.layers.32.mlp.down_proj.weight": "model-00006-of-00016.safetensors", + "model.layers.32.mlp.gate_proj.weight": "model-00006-of-00016.safetensors", + "model.layers.32.mlp.up_proj.weight": "model-00006-of-00016.safetensors", + "model.layers.32.post_attention_layernorm.weight": "model-00006-of-00016.safetensors", + "model.layers.32.self_attn.k_proj.weight": "model-00006-of-00016.safetensors", + "model.layers.32.self_attn.o_proj.weight": "model-00006-of-00016.safetensors", + "model.layers.32.self_attn.q_proj.weight": "model-00006-of-00016.safetensors", + "model.layers.32.self_attn.v_proj.weight": "model-00006-of-00016.safetensors", + "model.layers.33.input_layernorm.weight": "model-00006-of-00016.safetensors", + "model.layers.33.mlp.down_proj.weight": "model-00006-of-00016.safetensors", + "model.layers.33.mlp.gate_proj.weight": "model-00006-of-00016.safetensors", + "model.layers.33.mlp.up_proj.weight": "model-00006-of-00016.safetensors", + "model.layers.33.post_attention_layernorm.weight": "model-00006-of-00016.safetensors", + "model.layers.33.self_attn.k_proj.weight": "model-00006-of-00016.safetensors", + "model.layers.33.self_attn.o_proj.weight": "model-00006-of-00016.safetensors", + "model.layers.33.self_attn.q_proj.weight": "model-00006-of-00016.safetensors", + "model.layers.33.self_attn.v_proj.weight": "model-00006-of-00016.safetensors", + "model.layers.34.input_layernorm.weight": "model-00006-of-00016.safetensors", + "model.layers.34.mlp.down_proj.weight": "model-00006-of-00016.safetensors", + "model.layers.34.mlp.gate_proj.weight": "model-00006-of-00016.safetensors", + "model.layers.34.mlp.up_proj.weight": "model-00006-of-00016.safetensors", + "model.layers.34.post_attention_layernorm.weight": "model-00006-of-00016.safetensors", + "model.layers.34.self_attn.k_proj.weight": "model-00006-of-00016.safetensors", + "model.layers.34.self_attn.o_proj.weight": "model-00006-of-00016.safetensors", + "model.layers.34.self_attn.q_proj.weight": "model-00006-of-00016.safetensors", + "model.layers.34.self_attn.v_proj.weight": "model-00006-of-00016.safetensors", + "model.layers.35.input_layernorm.weight": "model-00006-of-00016.safetensors", + "model.layers.35.mlp.down_proj.weight": "model-00006-of-00016.safetensors", + "model.layers.35.mlp.gate_proj.weight": "model-00006-of-00016.safetensors", + "model.layers.35.mlp.up_proj.weight": "model-00006-of-00016.safetensors", + "model.layers.35.post_attention_layernorm.weight": "model-00006-of-00016.safetensors", + "model.layers.35.self_attn.k_proj.weight": "model-00006-of-00016.safetensors", + "model.layers.35.self_attn.o_proj.weight": "model-00006-of-00016.safetensors", + "model.layers.35.self_attn.q_proj.weight": "model-00006-of-00016.safetensors", + "model.layers.35.self_attn.v_proj.weight": "model-00006-of-00016.safetensors", + "model.layers.36.input_layernorm.weight": "model-00006-of-00016.safetensors", + "model.layers.36.mlp.down_proj.weight": "model-00006-of-00016.safetensors", + "model.layers.36.mlp.gate_proj.weight": "model-00006-of-00016.safetensors", + "model.layers.36.mlp.up_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.36.post_attention_layernorm.weight": "model-00007-of-00016.safetensors", + "model.layers.36.self_attn.k_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.36.self_attn.o_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.36.self_attn.q_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.36.self_attn.v_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.37.input_layernorm.weight": "model-00007-of-00016.safetensors", + "model.layers.37.mlp.down_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.37.mlp.gate_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.37.mlp.up_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.37.post_attention_layernorm.weight": "model-00007-of-00016.safetensors", + "model.layers.37.self_attn.k_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.37.self_attn.o_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.37.self_attn.q_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.37.self_attn.v_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.38.input_layernorm.weight": "model-00007-of-00016.safetensors", + "model.layers.38.mlp.down_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.38.mlp.gate_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.38.mlp.up_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.38.post_attention_layernorm.weight": "model-00007-of-00016.safetensors", + "model.layers.38.self_attn.k_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.38.self_attn.o_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.38.self_attn.q_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.38.self_attn.v_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.39.input_layernorm.weight": "model-00007-of-00016.safetensors", + "model.layers.39.mlp.down_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.39.mlp.gate_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.39.mlp.up_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.39.post_attention_layernorm.weight": "model-00007-of-00016.safetensors", + "model.layers.39.self_attn.k_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.39.self_attn.o_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.39.self_attn.q_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.39.self_attn.v_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.4.input_layernorm.weight": "model-00007-of-00016.safetensors", + "model.layers.4.mlp.down_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.4.mlp.gate_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.4.mlp.up_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.4.post_attention_layernorm.weight": "model-00007-of-00016.safetensors", + "model.layers.4.self_attn.k_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.4.self_attn.o_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.4.self_attn.q_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.4.self_attn.v_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.40.input_layernorm.weight": "model-00007-of-00016.safetensors", + "model.layers.40.mlp.down_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.40.mlp.gate_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.40.mlp.up_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.40.post_attention_layernorm.weight": "model-00007-of-00016.safetensors", + "model.layers.40.self_attn.k_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.40.self_attn.o_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.40.self_attn.q_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.40.self_attn.v_proj.weight": "model-00007-of-00016.safetensors", + "model.layers.41.input_layernorm.weight": "model-00007-of-00016.safetensors", + "model.layers.41.mlp.down_proj.weight": "model-00008-of-00016.safetensors", + "model.layers.41.mlp.gate_proj.weight": "model-00008-of-00016.safetensors", + "model.layers.41.mlp.up_proj.weight": "model-00008-of-00016.safetensors", + "model.layers.41.post_attention_layernorm.weight": "model-00008-of-00016.safetensors", + "model.layers.41.self_attn.k_proj.weight": "model-00008-of-00016.safetensors", + "model.layers.41.self_attn.o_proj.weight": "model-00008-of-00016.safetensors", + "model.layers.41.self_attn.q_proj.weight": "model-00008-of-00016.safetensors", + "model.layers.41.self_attn.v_proj.weight": "model-00008-of-00016.safetensors", + "model.layers.42.input_layernorm.weight": "model-00008-of-00016.safetensors", + "model.layers.42.mlp.down_proj.weight": "model-00008-of-00016.safetensors", + "model.layers.42.mlp.gate_proj.weight": "model-00008-of-00016.safetensors", + "model.layers.42.mlp.up_proj.weight": "model-00008-of-00016.safetensors", + "model.layers.42.post_attention_layernorm.weight": "model-00008-of-00016.safetensors", + "model.layers.42.self_attn.k_proj.weight": "model-00008-of-00016.safetensors", + "model.layers.42.self_attn.o_proj.weight": "model-00008-of-00016.safetensors", + "model.layers.42.self_attn.q_proj.weight": "model-00008-of-00016.safetensors", + "model.layers.42.self_attn.v_proj.weight": "model-00008-of-00016.safetensors", + "model.layers.43.input_layernorm.weight": "model-00008-of-00016.safetensors", + "model.layers.43.mlp.down_proj.weight": "model-00008-of-00016.safetensors", + "model.layers.43.mlp.gate_proj.weight": "model-00008-of-00016.safetensors", + "model.layers.43.mlp.up_proj.weight": "model-00008-of-00016.safetensors", + "model.layers.43.post_attention_layernorm.weight": "model-00008-of-00016.safetensors", + "model.layers.43.self_attn.k_proj.weight": "model-00008-of-00016.safetensors", + "model.layers.43.self_attn.o_proj.weight": "model-00008-of-00016.safetensors", + "model.layers.43.self_attn.q_proj.weight": "model-00008-of-00016.safetensors", + "model.layers.43.self_attn.v_proj.weight": "model-00008-of-00016.safetensors", + "model.layers.44.input_layernorm.weight": "model-00008-of-00016.safetensors", + "model.layers.44.mlp.down_proj.weight": "model-00008-of-00016.safetensors", + "model.layers.44.mlp.gate_proj.weight": "model-00008-of-00016.safetensors", + "model.layers.44.mlp.up_proj.weight": "model-00008-of-00016.safetensors", + "model.layers.44.post_attention_layernorm.weight": "model-00008-of-00016.safetensors", + "model.layers.44.self_attn.k_proj.weight": "model-00008-of-00016.safetensors", + "model.layers.44.self_attn.o_proj.weight": "model-00008-of-00016.safetensors", + "model.layers.44.self_attn.q_proj.weight": "model-00008-of-00016.safetensors", + "model.layers.44.self_attn.v_proj.weight": "model-00008-of-00016.safetensors", + "model.layers.45.input_layernorm.weight": "model-00008-of-00016.safetensors", + "model.layers.45.mlp.down_proj.weight": "model-00008-of-00016.safetensors", + "model.layers.45.mlp.gate_proj.weight": "model-00008-of-00016.safetensors", + "model.layers.45.mlp.up_proj.weight": "model-00008-of-00016.safetensors", + "model.layers.45.post_attention_layernorm.weight": "model-00008-of-00016.safetensors", + "model.layers.45.self_attn.k_proj.weight": "model-00008-of-00016.safetensors", + "model.layers.45.self_attn.o_proj.weight": "model-00008-of-00016.safetensors", + "model.layers.45.self_attn.q_proj.weight": "model-00008-of-00016.safetensors", + "model.layers.45.self_attn.v_proj.weight": "model-00008-of-00016.safetensors", + "model.layers.46.input_layernorm.weight": "model-00008-of-00016.safetensors", + "model.layers.46.mlp.down_proj.weight": "model-00008-of-00016.safetensors", + "model.layers.46.mlp.gate_proj.weight": "model-00009-of-00016.safetensors", + "model.layers.46.mlp.up_proj.weight": "model-00009-of-00016.safetensors", + "model.layers.46.post_attention_layernorm.weight": "model-00009-of-00016.safetensors", + "model.layers.46.self_attn.k_proj.weight": "model-00009-of-00016.safetensors", + "model.layers.46.self_attn.o_proj.weight": "model-00009-of-00016.safetensors", + "model.layers.46.self_attn.q_proj.weight": "model-00009-of-00016.safetensors", + "model.layers.46.self_attn.v_proj.weight": "model-00009-of-00016.safetensors", + "model.layers.47.input_layernorm.weight": "model-00009-of-00016.safetensors", + "model.layers.47.mlp.down_proj.weight": "model-00009-of-00016.safetensors", + "model.layers.47.mlp.gate_proj.weight": "model-00009-of-00016.safetensors", + "model.layers.47.mlp.up_proj.weight": "model-00009-of-00016.safetensors", + "model.layers.47.post_attention_layernorm.weight": "model-00009-of-00016.safetensors", + "model.layers.47.self_attn.k_proj.weight": "model-00009-of-00016.safetensors", + "model.layers.47.self_attn.o_proj.weight": "model-00009-of-00016.safetensors", + "model.layers.47.self_attn.q_proj.weight": "model-00009-of-00016.safetensors", + "model.layers.47.self_attn.v_proj.weight": "model-00009-of-00016.safetensors", + "model.layers.48.input_layernorm.weight": "model-00009-of-00016.safetensors", + "model.layers.48.mlp.down_proj.weight": "model-00009-of-00016.safetensors", + "model.layers.48.mlp.gate_proj.weight": "model-00009-of-00016.safetensors", + "model.layers.48.mlp.up_proj.weight": "model-00009-of-00016.safetensors", + "model.layers.48.post_attention_layernorm.weight": "model-00009-of-00016.safetensors", + "model.layers.48.self_attn.k_proj.weight": "model-00009-of-00016.safetensors", + "model.layers.48.self_attn.o_proj.weight": "model-00009-of-00016.safetensors", + "model.layers.48.self_attn.q_proj.weight": "model-00009-of-00016.safetensors", + "model.layers.48.self_attn.v_proj.weight": "model-00009-of-00016.safetensors", + "model.layers.49.input_layernorm.weight": "model-00009-of-00016.safetensors", + "model.layers.49.mlp.down_proj.weight": "model-00009-of-00016.safetensors", + "model.layers.49.mlp.gate_proj.weight": "model-00009-of-00016.safetensors", + "model.layers.49.mlp.up_proj.weight": "model-00009-of-00016.safetensors", + "model.layers.49.post_attention_layernorm.weight": "model-00009-of-00016.safetensors", + "model.layers.49.self_attn.k_proj.weight": "model-00009-of-00016.safetensors", + "model.layers.49.self_attn.o_proj.weight": "model-00009-of-00016.safetensors", + "model.layers.49.self_attn.q_proj.weight": "model-00009-of-00016.safetensors", + "model.layers.49.self_attn.v_proj.weight": "model-00009-of-00016.safetensors", + "model.layers.5.input_layernorm.weight": "model-00009-of-00016.safetensors", + "model.layers.5.mlp.down_proj.weight": "model-00009-of-00016.safetensors", + "model.layers.5.mlp.gate_proj.weight": "model-00009-of-00016.safetensors", + "model.layers.5.mlp.up_proj.weight": "model-00009-of-00016.safetensors", + "model.layers.5.post_attention_layernorm.weight": "model-00009-of-00016.safetensors", + "model.layers.5.self_attn.k_proj.weight": "model-00009-of-00016.safetensors", + "model.layers.5.self_attn.o_proj.weight": "model-00009-of-00016.safetensors", + "model.layers.5.self_attn.q_proj.weight": "model-00009-of-00016.safetensors", + "model.layers.5.self_attn.v_proj.weight": "model-00009-of-00016.safetensors", + "model.layers.50.input_layernorm.weight": "model-00009-of-00016.safetensors", + "model.layers.50.mlp.down_proj.weight": "model-00009-of-00016.safetensors", + "model.layers.50.mlp.gate_proj.weight": "model-00009-of-00016.safetensors", + "model.layers.50.mlp.up_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.50.post_attention_layernorm.weight": "model-00010-of-00016.safetensors", + "model.layers.50.self_attn.k_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.50.self_attn.o_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.50.self_attn.q_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.50.self_attn.v_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.51.input_layernorm.weight": "model-00010-of-00016.safetensors", + "model.layers.51.mlp.down_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.51.mlp.gate_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.51.mlp.up_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.51.post_attention_layernorm.weight": "model-00010-of-00016.safetensors", + "model.layers.51.self_attn.k_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.51.self_attn.o_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.51.self_attn.q_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.51.self_attn.v_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.52.input_layernorm.weight": "model-00010-of-00016.safetensors", + "model.layers.52.mlp.down_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.52.mlp.gate_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.52.mlp.up_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.52.post_attention_layernorm.weight": "model-00010-of-00016.safetensors", + "model.layers.52.self_attn.k_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.52.self_attn.o_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.52.self_attn.q_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.52.self_attn.v_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.53.input_layernorm.weight": "model-00010-of-00016.safetensors", + "model.layers.53.mlp.down_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.53.mlp.gate_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.53.mlp.up_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.53.post_attention_layernorm.weight": "model-00010-of-00016.safetensors", + "model.layers.53.self_attn.k_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.53.self_attn.o_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.53.self_attn.q_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.53.self_attn.v_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.54.input_layernorm.weight": "model-00010-of-00016.safetensors", + "model.layers.54.mlp.down_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.54.mlp.gate_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.54.mlp.up_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.54.post_attention_layernorm.weight": "model-00010-of-00016.safetensors", + "model.layers.54.self_attn.k_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.54.self_attn.o_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.54.self_attn.q_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.54.self_attn.v_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.55.input_layernorm.weight": "model-00010-of-00016.safetensors", + "model.layers.55.mlp.down_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.55.mlp.gate_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.55.mlp.up_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.55.post_attention_layernorm.weight": "model-00010-of-00016.safetensors", + "model.layers.55.self_attn.k_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.55.self_attn.o_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.55.self_attn.q_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.55.self_attn.v_proj.weight": "model-00010-of-00016.safetensors", + "model.layers.56.input_layernorm.weight": "model-00010-of-00016.safetensors", + "model.layers.56.mlp.down_proj.weight": "model-00011-of-00016.safetensors", + "model.layers.56.mlp.gate_proj.weight": "model-00011-of-00016.safetensors", + "model.layers.56.mlp.up_proj.weight": "model-00011-of-00016.safetensors", + "model.layers.56.post_attention_layernorm.weight": "model-00011-of-00016.safetensors", + "model.layers.56.self_attn.k_proj.weight": "model-00011-of-00016.safetensors", + "model.layers.56.self_attn.o_proj.weight": "model-00011-of-00016.safetensors", + "model.layers.56.self_attn.q_proj.weight": "model-00011-of-00016.safetensors", + "model.layers.56.self_attn.v_proj.weight": "model-00011-of-00016.safetensors", + "model.layers.57.input_layernorm.weight": "model-00011-of-00016.safetensors", + "model.layers.57.mlp.down_proj.weight": "model-00011-of-00016.safetensors", + "model.layers.57.mlp.gate_proj.weight": "model-00011-of-00016.safetensors", + "model.layers.57.mlp.up_proj.weight": "model-00011-of-00016.safetensors", + "model.layers.57.post_attention_layernorm.weight": "model-00011-of-00016.safetensors", + "model.layers.57.self_attn.k_proj.weight": "model-00011-of-00016.safetensors", + "model.layers.57.self_attn.o_proj.weight": "model-00011-of-00016.safetensors", + "model.layers.57.self_attn.q_proj.weight": "model-00011-of-00016.safetensors", + "model.layers.57.self_attn.v_proj.weight": "model-00011-of-00016.safetensors", + "model.layers.58.input_layernorm.weight": "model-00011-of-00016.safetensors", + "model.layers.58.mlp.down_proj.weight": "model-00011-of-00016.safetensors", + "model.layers.58.mlp.gate_proj.weight": "model-00011-of-00016.safetensors", + "model.layers.58.mlp.up_proj.weight": "model-00011-of-00016.safetensors", + "model.layers.58.post_attention_layernorm.weight": "model-00011-of-00016.safetensors", + "model.layers.58.self_attn.k_proj.weight": "model-00011-of-00016.safetensors", + "model.layers.58.self_attn.o_proj.weight": "model-00011-of-00016.safetensors", + "model.layers.58.self_attn.q_proj.weight": "model-00011-of-00016.safetensors", + "model.layers.58.self_attn.v_proj.weight": "model-00011-of-00016.safetensors", + "model.layers.59.input_layernorm.weight": "model-00011-of-00016.safetensors", + "model.layers.59.mlp.down_proj.weight": "model-00011-of-00016.safetensors", + "model.layers.59.mlp.gate_proj.weight": "model-00011-of-00016.safetensors", + "model.layers.59.mlp.up_proj.weight": "model-00011-of-00016.safetensors", + "model.layers.59.post_attention_layernorm.weight": "model-00011-of-00016.safetensors", + "model.layers.59.self_attn.k_proj.weight": "model-00011-of-00016.safetensors", + "model.layers.59.self_attn.o_proj.weight": "model-00011-of-00016.safetensors", + "model.layers.59.self_attn.q_proj.weight": "model-00011-of-00016.safetensors", + "model.layers.59.self_attn.v_proj.weight": "model-00011-of-00016.safetensors", + "model.layers.6.input_layernorm.weight": "model-00011-of-00016.safetensors", + "model.layers.6.mlp.down_proj.weight": "model-00011-of-00016.safetensors", + "model.layers.6.mlp.gate_proj.weight": "model-00011-of-00016.safetensors", + "model.layers.6.mlp.up_proj.weight": "model-00011-of-00016.safetensors", + "model.layers.6.post_attention_layernorm.weight": "model-00011-of-00016.safetensors", + "model.layers.6.self_attn.k_proj.weight": "model-00011-of-00016.safetensors", + "model.layers.6.self_attn.o_proj.weight": "model-00011-of-00016.safetensors", + "model.layers.6.self_attn.q_proj.weight": "model-00011-of-00016.safetensors", + "model.layers.6.self_attn.v_proj.weight": "model-00011-of-00016.safetensors", + "model.layers.60.input_layernorm.weight": "model-00011-of-00016.safetensors", + "model.layers.60.mlp.down_proj.weight": "model-00011-of-00016.safetensors", + "model.layers.60.mlp.gate_proj.weight": "model-00012-of-00016.safetensors", + "model.layers.60.mlp.up_proj.weight": "model-00012-of-00016.safetensors", + "model.layers.60.post_attention_layernorm.weight": "model-00012-of-00016.safetensors", + "model.layers.60.self_attn.k_proj.weight": "model-00012-of-00016.safetensors", + "model.layers.60.self_attn.o_proj.weight": "model-00012-of-00016.safetensors", + "model.layers.60.self_attn.q_proj.weight": "model-00012-of-00016.safetensors", + "model.layers.60.self_attn.v_proj.weight": "model-00012-of-00016.safetensors", + "model.layers.61.input_layernorm.weight": "model-00012-of-00016.safetensors", + "model.layers.61.mlp.down_proj.weight": "model-00012-of-00016.safetensors", + "model.layers.61.mlp.gate_proj.weight": "model-00012-of-00016.safetensors", + "model.layers.61.mlp.up_proj.weight": "model-00012-of-00016.safetensors", + "model.layers.61.post_attention_layernorm.weight": "model-00012-of-00016.safetensors", + "model.layers.61.self_attn.k_proj.weight": "model-00012-of-00016.safetensors", + "model.layers.61.self_attn.o_proj.weight": "model-00012-of-00016.safetensors", + "model.layers.61.self_attn.q_proj.weight": "model-00012-of-00016.safetensors", + "model.layers.61.self_attn.v_proj.weight": "model-00012-of-00016.safetensors", + "model.layers.62.input_layernorm.weight": "model-00012-of-00016.safetensors", + "model.layers.62.mlp.down_proj.weight": "model-00012-of-00016.safetensors", + "model.layers.62.mlp.gate_proj.weight": "model-00012-of-00016.safetensors", + "model.layers.62.mlp.up_proj.weight": "model-00012-of-00016.safetensors", + "model.layers.62.post_attention_layernorm.weight": "model-00012-of-00016.safetensors", + "model.layers.62.self_attn.k_proj.weight": "model-00012-of-00016.safetensors", + "model.layers.62.self_attn.o_proj.weight": "model-00012-of-00016.safetensors", + "model.layers.62.self_attn.q_proj.weight": "model-00012-of-00016.safetensors", + "model.layers.62.self_attn.v_proj.weight": "model-00012-of-00016.safetensors", + "model.layers.63.input_layernorm.weight": "model-00012-of-00016.safetensors", + "model.layers.63.mlp.down_proj.weight": "model-00012-of-00016.safetensors", + "model.layers.63.mlp.gate_proj.weight": "model-00012-of-00016.safetensors", + "model.layers.63.mlp.up_proj.weight": "model-00012-of-00016.safetensors", + "model.layers.63.post_attention_layernorm.weight": "model-00012-of-00016.safetensors", + "model.layers.63.self_attn.k_proj.weight": "model-00012-of-00016.safetensors", + "model.layers.63.self_attn.o_proj.weight": "model-00012-of-00016.safetensors", + "model.layers.63.self_attn.q_proj.weight": "model-00012-of-00016.safetensors", + "model.layers.63.self_attn.v_proj.weight": "model-00012-of-00016.safetensors", + "model.layers.64.input_layernorm.weight": "model-00012-of-00016.safetensors", + "model.layers.64.mlp.down_proj.weight": "model-00012-of-00016.safetensors", + "model.layers.64.mlp.gate_proj.weight": "model-00012-of-00016.safetensors", + "model.layers.64.mlp.up_proj.weight": "model-00012-of-00016.safetensors", + "model.layers.64.post_attention_layernorm.weight": "model-00012-of-00016.safetensors", + "model.layers.64.self_attn.k_proj.weight": "model-00012-of-00016.safetensors", + "model.layers.64.self_attn.o_proj.weight": "model-00012-of-00016.safetensors", + "model.layers.64.self_attn.q_proj.weight": "model-00012-of-00016.safetensors", + "model.layers.64.self_attn.v_proj.weight": "model-00012-of-00016.safetensors", + "model.layers.65.input_layernorm.weight": "model-00012-of-00016.safetensors", + "model.layers.65.mlp.down_proj.weight": "model-00012-of-00016.safetensors", + "model.layers.65.mlp.gate_proj.weight": "model-00012-of-00016.safetensors", + "model.layers.65.mlp.up_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.65.post_attention_layernorm.weight": "model-00013-of-00016.safetensors", + "model.layers.65.self_attn.k_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.65.self_attn.o_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.65.self_attn.q_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.65.self_attn.v_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.66.input_layernorm.weight": "model-00013-of-00016.safetensors", + "model.layers.66.mlp.down_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.66.mlp.gate_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.66.mlp.up_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.66.post_attention_layernorm.weight": "model-00013-of-00016.safetensors", + "model.layers.66.self_attn.k_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.66.self_attn.o_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.66.self_attn.q_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.66.self_attn.v_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.67.input_layernorm.weight": "model-00013-of-00016.safetensors", + "model.layers.67.mlp.down_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.67.mlp.gate_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.67.mlp.up_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.67.post_attention_layernorm.weight": "model-00013-of-00016.safetensors", + "model.layers.67.self_attn.k_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.67.self_attn.o_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.67.self_attn.q_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.67.self_attn.v_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.68.input_layernorm.weight": "model-00013-of-00016.safetensors", + "model.layers.68.mlp.down_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.68.mlp.gate_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.68.mlp.up_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.68.post_attention_layernorm.weight": "model-00013-of-00016.safetensors", + "model.layers.68.self_attn.k_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.68.self_attn.o_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.68.self_attn.q_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.68.self_attn.v_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.69.input_layernorm.weight": "model-00013-of-00016.safetensors", + "model.layers.69.mlp.down_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.69.mlp.gate_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.69.mlp.up_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.69.post_attention_layernorm.weight": "model-00013-of-00016.safetensors", + "model.layers.69.self_attn.k_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.69.self_attn.o_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.69.self_attn.q_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.69.self_attn.v_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.7.input_layernorm.weight": "model-00013-of-00016.safetensors", + "model.layers.7.mlp.down_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.7.mlp.gate_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.7.mlp.up_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.7.post_attention_layernorm.weight": "model-00013-of-00016.safetensors", + "model.layers.7.self_attn.k_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.7.self_attn.o_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.7.self_attn.q_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.7.self_attn.v_proj.weight": "model-00013-of-00016.safetensors", + "model.layers.70.input_layernorm.weight": "model-00013-of-00016.safetensors", + "model.layers.70.mlp.down_proj.weight": "model-00014-of-00016.safetensors", + "model.layers.70.mlp.gate_proj.weight": "model-00014-of-00016.safetensors", + "model.layers.70.mlp.up_proj.weight": "model-00014-of-00016.safetensors", + "model.layers.70.post_attention_layernorm.weight": "model-00014-of-00016.safetensors", + "model.layers.70.self_attn.k_proj.weight": "model-00014-of-00016.safetensors", + "model.layers.70.self_attn.o_proj.weight": "model-00014-of-00016.safetensors", + "model.layers.70.self_attn.q_proj.weight": "model-00014-of-00016.safetensors", + "model.layers.70.self_attn.v_proj.weight": "model-00014-of-00016.safetensors", + "model.layers.71.input_layernorm.weight": "model-00014-of-00016.safetensors", + "model.layers.71.mlp.down_proj.weight": "model-00014-of-00016.safetensors", + "model.layers.71.mlp.gate_proj.weight": "model-00014-of-00016.safetensors", + "model.layers.71.mlp.up_proj.weight": "model-00014-of-00016.safetensors", + "model.layers.71.post_attention_layernorm.weight": "model-00014-of-00016.safetensors", + "model.layers.71.self_attn.k_proj.weight": "model-00014-of-00016.safetensors", + "model.layers.71.self_attn.o_proj.weight": "model-00014-of-00016.safetensors", + "model.layers.71.self_attn.q_proj.weight": "model-00014-of-00016.safetensors", + "model.layers.71.self_attn.v_proj.weight": "model-00014-of-00016.safetensors", + "model.layers.72.input_layernorm.weight": "model-00014-of-00016.safetensors", + "model.layers.72.mlp.down_proj.weight": "model-00014-of-00016.safetensors", + "model.layers.72.mlp.gate_proj.weight": "model-00014-of-00016.safetensors", + "model.layers.72.mlp.up_proj.weight": "model-00014-of-00016.safetensors", + "model.layers.72.post_attention_layernorm.weight": "model-00014-of-00016.safetensors", + "model.layers.72.self_attn.k_proj.weight": "model-00014-of-00016.safetensors", + "model.layers.72.self_attn.o_proj.weight": "model-00014-of-00016.safetensors", + "model.layers.72.self_attn.q_proj.weight": "model-00014-of-00016.safetensors", + "model.layers.72.self_attn.v_proj.weight": "model-00014-of-00016.safetensors", + "model.layers.73.input_layernorm.weight": "model-00014-of-00016.safetensors", + "model.layers.73.mlp.down_proj.weight": "model-00014-of-00016.safetensors", + "model.layers.73.mlp.gate_proj.weight": "model-00014-of-00016.safetensors", + "model.layers.73.mlp.up_proj.weight": "model-00014-of-00016.safetensors", + "model.layers.73.post_attention_layernorm.weight": "model-00014-of-00016.safetensors", + "model.layers.73.self_attn.k_proj.weight": "model-00014-of-00016.safetensors", + "model.layers.73.self_attn.o_proj.weight": "model-00014-of-00016.safetensors", + "model.layers.73.self_attn.q_proj.weight": "model-00014-of-00016.safetensors", + "model.layers.73.self_attn.v_proj.weight": "model-00014-of-00016.safetensors", + "model.layers.74.input_layernorm.weight": "model-00014-of-00016.safetensors", + "model.layers.74.mlp.down_proj.weight": "model-00014-of-00016.safetensors", + "model.layers.74.mlp.gate_proj.weight": "model-00014-of-00016.safetensors", + "model.layers.74.mlp.up_proj.weight": "model-00014-of-00016.safetensors", + "model.layers.74.post_attention_layernorm.weight": "model-00014-of-00016.safetensors", + "model.layers.74.self_attn.k_proj.weight": "model-00014-of-00016.safetensors", + "model.layers.74.self_attn.o_proj.weight": "model-00014-of-00016.safetensors", + "model.layers.74.self_attn.q_proj.weight": "model-00014-of-00016.safetensors", + "model.layers.74.self_attn.v_proj.weight": "model-00014-of-00016.safetensors", + "model.layers.75.input_layernorm.weight": "model-00014-of-00016.safetensors", + "model.layers.75.mlp.down_proj.weight": "model-00014-of-00016.safetensors", + "model.layers.75.mlp.gate_proj.weight": "model-00015-of-00016.safetensors", + "model.layers.75.mlp.up_proj.weight": "model-00015-of-00016.safetensors", + "model.layers.75.post_attention_layernorm.weight": "model-00015-of-00016.safetensors", + "model.layers.75.self_attn.k_proj.weight": "model-00015-of-00016.safetensors", + "model.layers.75.self_attn.o_proj.weight": "model-00015-of-00016.safetensors", + "model.layers.75.self_attn.q_proj.weight": "model-00015-of-00016.safetensors", + "model.layers.75.self_attn.v_proj.weight": "model-00015-of-00016.safetensors", + "model.layers.76.input_layernorm.weight": "model-00015-of-00016.safetensors", + "model.layers.76.mlp.down_proj.weight": "model-00015-of-00016.safetensors", + "model.layers.76.mlp.gate_proj.weight": "model-00015-of-00016.safetensors", + "model.layers.76.mlp.up_proj.weight": "model-00015-of-00016.safetensors", + "model.layers.76.post_attention_layernorm.weight": "model-00015-of-00016.safetensors", + "model.layers.76.self_attn.k_proj.weight": "model-00015-of-00016.safetensors", + "model.layers.76.self_attn.o_proj.weight": "model-00015-of-00016.safetensors", + "model.layers.76.self_attn.q_proj.weight": "model-00015-of-00016.safetensors", + "model.layers.76.self_attn.v_proj.weight": "model-00015-of-00016.safetensors", + "model.layers.77.input_layernorm.weight": "model-00015-of-00016.safetensors", + "model.layers.77.mlp.down_proj.weight": "model-00015-of-00016.safetensors", + "model.layers.77.mlp.gate_proj.weight": "model-00015-of-00016.safetensors", + "model.layers.77.mlp.up_proj.weight": "model-00015-of-00016.safetensors", + "model.layers.77.post_attention_layernorm.weight": "model-00015-of-00016.safetensors", + "model.layers.77.self_attn.k_proj.weight": "model-00015-of-00016.safetensors", + "model.layers.77.self_attn.o_proj.weight": "model-00015-of-00016.safetensors", + "model.layers.77.self_attn.q_proj.weight": "model-00015-of-00016.safetensors", + "model.layers.77.self_attn.v_proj.weight": "model-00015-of-00016.safetensors", + "model.layers.78.input_layernorm.weight": "model-00015-of-00016.safetensors", + "model.layers.78.mlp.down_proj.weight": "model-00015-of-00016.safetensors", + "model.layers.78.mlp.gate_proj.weight": "model-00015-of-00016.safetensors", + "model.layers.78.mlp.up_proj.weight": "model-00015-of-00016.safetensors", + "model.layers.78.post_attention_layernorm.weight": "model-00015-of-00016.safetensors", + "model.layers.78.self_attn.k_proj.weight": "model-00015-of-00016.safetensors", + "model.layers.78.self_attn.o_proj.weight": "model-00015-of-00016.safetensors", + "model.layers.78.self_attn.q_proj.weight": "model-00015-of-00016.safetensors", + "model.layers.78.self_attn.v_proj.weight": "model-00015-of-00016.safetensors", + "model.layers.79.input_layernorm.weight": "model-00015-of-00016.safetensors", + "model.layers.79.mlp.down_proj.weight": "model-00015-of-00016.safetensors", + "model.layers.79.mlp.gate_proj.weight": "model-00015-of-00016.safetensors", + "model.layers.79.mlp.up_proj.weight": "model-00015-of-00016.safetensors", + "model.layers.79.post_attention_layernorm.weight": "model-00015-of-00016.safetensors", + "model.layers.79.self_attn.k_proj.weight": "model-00015-of-00016.safetensors", + "model.layers.79.self_attn.o_proj.weight": "model-00015-of-00016.safetensors", + "model.layers.79.self_attn.q_proj.weight": "model-00015-of-00016.safetensors", + "model.layers.79.self_attn.v_proj.weight": "model-00015-of-00016.safetensors", + "model.layers.8.input_layernorm.weight": "model-00015-of-00016.safetensors", + "model.layers.8.mlp.down_proj.weight": "model-00015-of-00016.safetensors", + "model.layers.8.mlp.gate_proj.weight": "model-00015-of-00016.safetensors", + "model.layers.8.mlp.up_proj.weight": "model-00016-of-00016.safetensors", + "model.layers.8.post_attention_layernorm.weight": "model-00016-of-00016.safetensors", + "model.layers.8.self_attn.k_proj.weight": "model-00016-of-00016.safetensors", + "model.layers.8.self_attn.o_proj.weight": "model-00016-of-00016.safetensors", + "model.layers.8.self_attn.q_proj.weight": "model-00016-of-00016.safetensors", + "model.layers.8.self_attn.v_proj.weight": "model-00016-of-00016.safetensors", + "model.layers.9.input_layernorm.weight": "model-00016-of-00016.safetensors", + "model.layers.9.mlp.down_proj.weight": "model-00016-of-00016.safetensors", + "model.layers.9.mlp.gate_proj.weight": "model-00016-of-00016.safetensors", + "model.layers.9.mlp.up_proj.weight": "model-00016-of-00016.safetensors", + "model.layers.9.post_attention_layernorm.weight": "model-00016-of-00016.safetensors", + "model.layers.9.self_attn.k_proj.weight": "model-00016-of-00016.safetensors", + "model.layers.9.self_attn.o_proj.weight": "model-00016-of-00016.safetensors", + "model.layers.9.self_attn.q_proj.weight": "model-00016-of-00016.safetensors", + "model.layers.9.self_attn.v_proj.weight": "model-00016-of-00016.safetensors", + "model.norm.weight": "model-00016-of-00016.safetensors" + } +} \ No newline at end of file diff --git a/benchmarks/results/iquest-contract/reference/modeling_iquestloopcoder.py b/benchmarks/results/iquest-contract/reference/modeling_iquestloopcoder.py new file mode 100644 index 000000000..1cdd6fa67 --- /dev/null +++ b/benchmarks/results/iquest-contract/reference/modeling_iquestloopcoder.py @@ -0,0 +1,1113 @@ +""" +Modified MIT License + +Software Copyright© 2025 IQuest Research + +Our only modification is that, if the Software (or any derivative works +thereof) is used for any of your commercial products or services, you shall +prominently display "IQuest Coder" on the user interface of such product or +service. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +""" + +import logging +from typing import Any, Callable, Optional, Union, Tuple, List + +import torch +from torch import nn + +from transformers.activations import ACT2FN +from transformers.cache_utils import Cache +from transformers.generation import GenerationMixin +from transformers.integrations import use_kernel_forward_from_hub +from transformers.masking_utils import ( + create_causal_mask, + create_sliding_window_causal_mask, +) +from transformers.modeling_flash_attention_utils import FlashAttentionKwargs +from transformers.modeling_layers import ( + GenericForQuestionAnswering, + GenericForSequenceClassification, + GenericForTokenClassification, + GradientCheckpointingLayer, +) +from transformers.modeling_outputs import ( + BaseModelOutputWithPast, + CausalLMOutputWithPast, +) +from transformers.modeling_rope_utils import ROPE_INIT_FUNCTIONS, dynamic_rope_update +from transformers.modeling_utils import ALL_ATTENTION_FUNCTIONS, PreTrainedModel +from transformers.processing_utils import Unpack +from transformers.utils import TransformersKwargs, auto_docstring, can_return_tuple +from transformers.utils.generic import check_model_inputs +from .configuration_iquestloopcoder import IQuestLoopCoderConfig + + +logger = logging.getLogger(__name__) + + +def needs_iquestloopcoder_cache( + cache: Optional[Cache] +) -> bool: + # need to test more conditions + if cache is None: + return True + if isinstance(cache, IQuestLoopCoderCache): + return False + return True + +class IQuestLoopCoderMLP(nn.Module): + def __init__(self, config): + super().__init__() + self.config = config + self.hidden_size = config.hidden_size + self.intermediate_size = config.intermediate_size + self.gate_proj = nn.Linear(self.hidden_size, self.intermediate_size, bias=False) + self.up_proj = nn.Linear(self.hidden_size, self.intermediate_size, bias=False) + self.down_proj = nn.Linear(self.intermediate_size, self.hidden_size, bias=False) + self.act_fn = ACT2FN[config.hidden_act] + + def forward(self, x): + down_proj = self.down_proj(self.act_fn(self.gate_proj(x)) * self.up_proj(x)) + return down_proj + + +def rotate_half(x): + """Rotates half the hidden dims of the input.""" + x1 = x[..., : x.shape[-1] // 2] + x2 = x[..., x.shape[-1] // 2 :] + return torch.cat((-x2, x1), dim=-1) + + +def apply_rotary_pos_emb(q, k, cos, sin, position_ids=None, unsqueeze_dim=1): + """Applies Rotary Position Embedding to the query and key tensors. + + Args: + q (`torch.Tensor`): The query tensor. + k (`torch.Tensor`): The key tensor. + cos (`torch.Tensor`): The cosine part of the rotary embedding. + sin (`torch.Tensor`): The sine part of the rotary embedding. + position_ids (`torch.Tensor`, *optional*): + Deprecated and unused. + unsqueeze_dim (`int`, *optional*, defaults to 1): + The 'unsqueeze_dim' argument specifies the dimension along which to unsqueeze cos[position_ids] and + sin[position_ids] so that they can be properly broadcasted to the dimensions of q and k. For example, note + that cos[position_ids] and sin[position_ids] have the shape [batch_size, seq_len, head_dim]. Then, if q and + k have the shape [batch_size, heads, seq_len, head_dim], then setting unsqueeze_dim=1 makes + cos[position_ids] and sin[position_ids] broadcastable to the shapes of q and k. Similarly, if q and k have + the shape [batch_size, seq_len, heads, head_dim], then set unsqueeze_dim=2. + Returns: + `tuple(torch.Tensor)` comprising of the query and key tensors rotated using the Rotary Position Embedding. + """ + cos = cos.unsqueeze(unsqueeze_dim) + sin = sin.unsqueeze(unsqueeze_dim) + q_embed = (q * cos) + (rotate_half(q) * sin) + k_embed = (k * cos) + (rotate_half(k) * sin) + return q_embed, k_embed + + +def repeat_kv(hidden_states: torch.Tensor, n_rep: int) -> torch.Tensor: + """ + This is the equivalent of torch.repeat_interleave(x, dim=1, repeats=n_rep). The hidden states go from (batch, + num_key_value_heads, seqlen, head_dim) to (batch, num_attention_heads, seqlen, head_dim) + """ + batch, num_key_value_heads, slen, head_dim = hidden_states.shape + if n_rep == 1: + return hidden_states + hidden_states = hidden_states[:, :, None, :, :].expand( + batch, num_key_value_heads, n_rep, slen, head_dim + ) + return hidden_states.reshape(batch, num_key_value_heads * n_rep, slen, head_dim) + + +class IQuestLoopCoderCache(Cache): + """Cache implementation for IQuestLoopCoder that manages shared and local KV caches. + + - shared_key_cache/shared_value_cache: Stores KV from Loop 1 (global context) + - local_key_cache/local_value_cache: Stores KV from Loop 2+ (local window, only window_size tokens) + """ + + def __init__(self, window_size: int, num_layers: int, loop_num: int=2): + # We intentionally don't call super().__init__ because the parent assumes static cache sizes. + self.window_size = window_size + self.num_layers = num_layers + self.loop_num = loop_num + + # Shared cache: stores Loop 1 KV (global context) + self.shared_key_cache: List[Optional[torch.Tensor]] = [None] * self.num_layers + self.shared_value_cache: List[Optional[torch.Tensor]] = [None] * self.num_layers + + # Local cache: stores Loop 2+ KV (sliding window, only window_size tokens) + self.local_key_cache: List[Optional[torch.Tensor]] = [None] * (self.loop_num-1) * self.num_layers + self.local_value_cache: List[Optional[torch.Tensor]] = [None] * (self.loop_num-1) * self.num_layers + + self.layers: List[Any] = [] # attribute expected by HF Cache utilities + self._seen_tokens = 0 + + def update_shared( + self, + key_states: torch.Tensor, + value_states: torch.Tensor, + layer_idx: int, + cache_kwargs: Optional[dict] = None, + ) -> Tuple[torch.Tensor, torch.Tensor]: + """Update shared cache (Loop 1 KV).""" + # only store the first loop's kv cache + loop_idx = cache_kwargs.get("loop_idx", 0) + assert loop_idx == 0 + if layer_idx < 0 or layer_idx >= self.num_layers: + raise ValueError(f"layer_idx must be in [0, {self.num_layers}), got {layer_idx}") + + cached_key = self.shared_key_cache[layer_idx] + cached_value = self.shared_value_cache[layer_idx] + + if cached_key is None: + self.shared_key_cache[layer_idx] = key_states + self.shared_value_cache[layer_idx] = value_states + else: + if ( + key_states.shape[0] != cached_key.shape[0] + or key_states.shape[1] != cached_key.shape[1] + or key_states.shape[3] != cached_key.shape[3] + ): + raise ValueError( + "Cached and incoming key/value tensors must match on batch, head, and head_dim dimensions." + ) + assert key_states.shape[2] == 1 + assert value_states.shape[2] == 1 + self.shared_key_cache[layer_idx] = torch.cat([cached_key, key_states], dim=2) + self.shared_value_cache[layer_idx] = torch.cat([cached_value, value_states], dim=2) + + result_key = self.shared_key_cache[layer_idx] + result_value = self.shared_value_cache[layer_idx] + assert result_key is not None and result_value is not None + + # Track sequence length + self._seen_tokens = result_key.shape[2] + return result_key, result_value + + def update_local( + self, + key_states: torch.Tensor, + value_states: torch.Tensor, + layer_idx: int, + cache_kwargs: Optional[dict] = None, + ) -> Tuple[torch.Tensor, torch.Tensor]: + """Update local cache (Loop 2+ KV) with sliding window management. + + Ensures the local cache always contains at most window_size tokens. + Local cache only stores loop_idx > 0 (i.e., loop_idx = 1, 2, ...). + For loop_idx = 1, cache_idx = layer_idx + 0 * num_layers = layer_idx (0 to num_layers-1) + For loop_idx = 2, cache_idx = layer_idx + 1 * num_layers (num_layers to 2*num_layers-1) + """ + # only store the local kv cache for loop_idx > 0 + loop_idx = cache_kwargs.get("loop_idx", 0) + assert loop_idx > 0, f"update_local should only be called for loop_idx > 0, got {loop_idx}" + if layer_idx < 0 or layer_idx >= self.num_layers: + raise ValueError(f"layer_idx must be in [0, {self.num_layers}), got {layer_idx}") + + # Local cache size is (loop_num-1) * num_layers + # loop_idx = 1 maps to indices 0 to num_layers-1 + # loop_idx = 2 maps to indices num_layers to 2*num_layers-1 + # So offset = (loop_idx - 1) * num_layers + cache_idx = layer_idx + (loop_idx - 1) * self.num_layers + + # Validate cache_idx is within bounds + max_cache_idx = (self.loop_num - 1) * self.num_layers + if cache_idx >= max_cache_idx: + raise IndexError( + f"cache_idx {cache_idx} out of range. " + f"loop_idx={loop_idx}, layer_idx={layer_idx}, " + f"max_cache_idx={max_cache_idx - 1}" + ) + cached_key = self.local_key_cache[cache_idx] + cached_value = self.local_value_cache[cache_idx] + + if cached_key is None: + # First token in local cache, for prefill + # If prefill sequence is longer than window_size, only keep the last window_size tokens + seq_len = key_states.shape[2] + if seq_len > self.window_size: + # Keep only the last window_size tokens + start_idx = seq_len - self.window_size + self.local_key_cache[cache_idx] = key_states[:, :, start_idx:, :] + self.local_value_cache[cache_idx] = value_states[:, :, start_idx:, :] + else: + self.local_key_cache[cache_idx] = key_states + self.local_value_cache[cache_idx] = value_states + else: + # store the local kv cache for decode + if ( + key_states.shape[0] != cached_key.shape[0] + or key_states.shape[1] != cached_key.shape[1] + or key_states.shape[3] != cached_key.shape[3] + ): + raise ValueError( + "Cached and incoming key/value tensors must match on batch, head, and head_dim dimensions." + ) + assert cached_value is not None + assert key_states.shape[2] == 1 + assert value_states.shape[2] == 1 + # Concatenate new tokens + new_key = torch.cat([cached_key, key_states], dim=2) + new_value = torch.cat([cached_value, value_states], dim=2) + + # Ensure the total length doesn't exceed window_size + total_len = new_key.shape[2] + if total_len > self.window_size: + # Keep only the last window_size tokens + self.local_key_cache[cache_idx] = new_key[:, :, -self.window_size:, :] + self.local_value_cache[cache_idx] = new_value[:, :, -self.window_size:, :] + else: + self.local_key_cache[cache_idx] = new_key + self.local_value_cache[cache_idx] = new_value + + result_key = self.local_key_cache[cache_idx] + result_value = self.local_value_cache[cache_idx] + assert result_key is not None and result_value is not None + # Ensure the result is at most window_size (can be less during prefill when sequence is shorter) + assert result_key.shape[2] <= self.window_size, f"Local cache size {result_key.shape[2]} exceeds window_size {self.window_size}" + + return result_key, result_value + + def get_shared(self, layer_idx: int|List[int]) -> Tuple[Optional[torch.Tensor], Optional[torch.Tensor]]: + """Get shared cache for some layer.""" + if isinstance(layer_idx, list): + return [self.get_shared(layer_idx) for layer_idx in layer_idx] + if layer_idx < 0 or layer_idx >= self.num_layers: + raise ValueError(f"layer_idx must be in [0, {self.num_layers}), got {layer_idx}") + return self.shared_key_cache[layer_idx], self.shared_value_cache[layer_idx] + + def get_local(self, layer_idx: int|List[int], loop_idx: int) -> Tuple[Optional[torch.Tensor], Optional[torch.Tensor]]: + """Get local cache for a layer.""" + assert loop_idx > 0, f"get_local should only be called for loop_idx > 0, got {loop_idx}" + if isinstance(layer_idx, list): + return [self.get_local(layer_idx, loop_idx) for layer_idx in layer_idx] + if layer_idx < 0 or layer_idx >= self.num_layers: + raise ValueError(f"layer_idx must be in [0, {self.num_layers}), got {layer_idx}") + + # Local cache size is (loop_num-1) * num_layers + # loop_idx = 1 maps to indices 0 to num_layers-1 + # loop_idx = 2 maps to indices num_layers to 2*num_layers-1 + # So offset = (loop_idx - 1) * num_layers + cache_idx = layer_idx + (loop_idx - 1) * self.num_layers + + # Validate cache_idx is within bounds + max_cache_idx = (self.loop_num - 1) * self.num_layers + if cache_idx >= max_cache_idx: + raise IndexError( + f"cache_idx {cache_idx} out of range. " + f"loop_idx={loop_idx}, layer_idx={layer_idx}, " + f"max_cache_idx={max_cache_idx - 1}" + ) + + return self.local_key_cache[cache_idx], self.local_value_cache[cache_idx] + + def update( + self, + key_states: torch.Tensor, + value_states: torch.Tensor, + layer_idx: int, + cache_kwargs: Optional[dict] = None, + ) -> Tuple[torch.Tensor, torch.Tensor]: + """Default update method (for compatibility, updates shared cache).""" + loop_idx = cache_kwargs.get("loop_idx", 0) + assert loop_idx < self.loop_num + if loop_idx == 0: + return self.update_shared(key_states, value_states, layer_idx, cache_kwargs) + else: + return self.update_local(key_states, value_states, layer_idx, cache_kwargs) + + def get_seq_length(self, layer_idx: Optional[int] = 0) -> int: + """Get sequence length from shared cache.""" + if layer_idx is None: + layer_idx = 0 + if layer_idx < 0 or layer_idx >= self.loop_num * self.num_layers: + return 0 + cached_key = self.shared_key_cache[layer_idx] + if cached_key is None: + return 0 + return cached_key.shape[2] + + def get_max_length(self) -> Optional[int]: + return None + + def get_usable_length( + self, new_seq_length: int, layer_idx: Optional[int] = 0 + ) -> int: + return self.get_seq_length(layer_idx) + + def reorder_cache(self, beam_idx: torch.LongTensor) -> None: + # pass + raise NotImplementedError("Reorder cache for beam search is not implemented") + """Reorder cache for beam search. + + Reorders both shared cache (Loop 1) and local cache (Loop 2+) according to beam_idx. + """ + # Reorder shared cache (Loop 1, loop_idx=0) + for layer_idx in range(self.num_layers): + if self.shared_key_cache[layer_idx] is not None: + device = self.shared_key_cache[layer_idx].device + self.shared_key_cache[layer_idx] = self.shared_key_cache[layer_idx].index_select(0, beam_idx.to(device)) + self.shared_value_cache[layer_idx] = self.shared_value_cache[layer_idx].index_select(0, beam_idx.to(device)) + + # Reorder local cache (Loop 2+, loop_idx > 0) + # Local cache size is (loop_num-1) * num_layers + for cache_idx in range(len(self.local_key_cache)): + if self.local_key_cache[cache_idx] is not None: + device = self.local_key_cache[cache_idx].device + self.local_key_cache[cache_idx] = self.local_key_cache[cache_idx].index_select(0, beam_idx.to(device)) + self.local_value_cache[cache_idx] = self.local_value_cache[cache_idx].index_select(0, beam_idx.to(device)) + + @property + def is_compileable(self) -> bool: + return False + + def clear(self) -> None: + """Clear all caches.""" + logger.debug("Clearing IQuestLoopCoderCache") + self.shared_key_cache = [None] * self.num_layers + self.shared_value_cache = [None] * self.num_layers + self.local_key_cache = [None] * self.num_layers * (self.loop_num-1) + self.local_value_cache = [None] * self.num_layers * (self.loop_num-1) + self._seen_tokens = 0 + + +def eager_attention_forward( + module: nn.Module, + query: torch.Tensor, + key: torch.Tensor, + value: torch.Tensor, + attention_mask: Optional[torch.Tensor], + scaling: float, + dropout: float = 0.0, + **kwargs: Unpack[TransformersKwargs], +): + key_states = repeat_kv(key, module.num_key_value_groups) + value_states = repeat_kv(value, module.num_key_value_groups) + + attn_weights = torch.matmul(query, key_states.transpose(2, 3)) * scaling + if attention_mask is not None: + causal_mask = attention_mask[:, :, :, : key_states.shape[-2]] + attn_weights = attn_weights + causal_mask + + attn_weights = nn.functional.softmax(attn_weights, dim=-1, dtype=torch.float32).to( + query.dtype + ) + attn_weights = nn.functional.dropout( + attn_weights, p=dropout, training=module.training + ) + attn_output = torch.matmul(attn_weights, value_states) + attn_output = attn_output.transpose(1, 2).contiguous() + + return attn_output, attn_weights + +class LoopGateProjection(nn.Module): + """Gate projection for mixed attention in Loop 2+. + + Computes: g = sigmoid(linear(Q)) for each head independently. + This gate determines how much to use Loop1's KV (global) vs current loop's KV (local). + """ + + def __init__(self, num_heads: int, head_dim: int): + super().__init__() + self.num_heads = num_heads + self.head_dim = head_dim + # Each head has its own gate: Linear(head_dim -> 1) per head + # Implemented as [num_heads, head_dim] weight + [num_heads] bias + self.weight = nn.Parameter(torch.zeros(num_heads, head_dim)) + self.bias = nn.Parameter(torch.zeros(num_heads)) + + def forward(self, query: torch.Tensor) -> torch.Tensor: + """Compute gate values from query tensor. + + Args: + query: [batch, num_heads, seq_len, head_dim] + + Returns: + gate: [batch, num_heads, seq_len, 1] + """ + # query: [batch, num_heads, seq_len, head_dim] + # weight: [num_heads, head_dim] + # For each head h: gate_h = query[:, h, :, :] @ weight[h, :].T + bias[h] + # Using einsum: gate = einsum('bhsd,hd->bhs', query, weight) + bias + gate_logits = torch.einsum('bhsd,hd->bhs', query, self.weight) # [batch, num_heads, seq_len] + gate_logits = gate_logits + self.bias[None, :, None] # broadcast bias + gate = torch.sigmoid(gate_logits) + return gate.unsqueeze(-1) # [batch, num_heads, seq_len, 1] + +class IQuestLoopCoderAttention(nn.Module): + """Multi-headed attention from 'Attention Is All You Need' paper""" + + def __init__(self, config: IQuestLoopCoderConfig, layer_idx: int): + super().__init__() + self.config = config + assert layer_idx >= 0 and layer_idx < config.num_hidden_layers + self.layer_idx = layer_idx + + self.head_dim = getattr( + config, "head_dim", config.hidden_size // config.num_attention_heads + ) + self.num_key_value_groups = ( + config.num_attention_heads // config.num_key_value_heads + ) + self.scaling = self.head_dim**-0.5 + self.attention_dropout = config.attention_dropout + self.is_causal = True + self.q_proj = nn.Linear( + config.hidden_size, config.num_attention_heads * self.head_dim, bias=False + ) + self.k_proj = nn.Linear( + config.hidden_size, config.num_key_value_heads * self.head_dim, bias=False + ) + self.v_proj = nn.Linear( + config.hidden_size, config.num_key_value_heads * self.head_dim, bias=False + ) + self.o_proj = nn.Linear( + config.num_attention_heads * self.head_dim, config.hidden_size, bias=False + ) + + def forward( + self, + hidden_states: torch.Tensor, + position_embeddings: tuple[torch.Tensor, torch.Tensor], + attention_mask: Optional[torch.Tensor], + past_key_value: Optional[Cache] = None, + cache_position: Optional[torch.LongTensor] = None, + loop_idx: int = 0, + gate_proj: Optional[LoopGateProjection] = None, + **kwargs: Unpack[FlashAttentionKwargs], + ) -> tuple[torch.Tensor, Optional[torch.Tensor], Optional[tuple[torch.Tensor]]]: + if loop_idx == 0: + return self.forward_loop1(hidden_states, loop_idx, position_embeddings, attention_mask, past_key_value, cache_position, **kwargs) + else: + return self.forward_loop2(hidden_states, loop_idx, position_embeddings, attention_mask, past_key_value, cache_position, gate_proj, **kwargs) + + def forward_loop1( + self, + hidden_states: torch.Tensor, + loop_idx: int, + position_embeddings: tuple[torch.Tensor, torch.Tensor], + attention_mask: Optional[torch.Tensor], + past_key_value: Optional[IQuestLoopCoderCache] = None, + cache_position: Optional[torch.LongTensor] = None, + **kwargs: Unpack[FlashAttentionKwargs]) -> tuple[torch.Tensor, Optional[torch.Tensor], Optional[tuple[torch.Tensor]]]: + input_shape = hidden_states.shape[:-1] + hidden_shape = (*input_shape, -1, self.head_dim) + + query_states = self.q_proj(hidden_states).view(hidden_shape).transpose(1, 2) + key_states = self.k_proj(hidden_states).view(hidden_shape).transpose(1, 2) + value_states = self.v_proj(hidden_states).view(hidden_shape).transpose(1, 2) + + cos, sin = position_embeddings + query_states, key_states = apply_rotary_pos_emb( + query_states, key_states, cos, sin + ) + + if past_key_value is not None: + # sin and cos are specific to RoPE models; cache_position needed for the static cache + cache_kwargs = {"sin": sin, "cos": cos, "cache_position": cache_position, "loop_idx": loop_idx} + key_states, value_states = past_key_value.update( + key_states, + value_states, + self.layer_idx, + cache_kwargs, + ) + + attention_interface: Callable = eager_attention_forward + if self.config._attn_implementation != "eager": + attention_interface = ALL_ATTENTION_FUNCTIONS[ + self.config._attn_implementation + ] + + attn_output, attn_weights = attention_interface( + self, + query_states, + key_states, + value_states, + attention_mask, + dropout=0.0 if not self.training else self.attention_dropout, + scaling=self.scaling, + **kwargs, + ) + + attn_output = attn_output.reshape(*input_shape, -1).contiguous() + attn_output = self.o_proj(attn_output) + return attn_output, (attn_weights) + + + def forward_loop2( + self, + hidden_states: torch.Tensor, + loop_idx: int, + position_embeddings: tuple[torch.Tensor, torch.Tensor], + attention_mask: Optional[torch.Tensor], + past_key_value: Optional[IQuestLoopCoderCache] = None, + cache_position: Optional[torch.LongTensor] = None, + gate_proj: Optional[LoopGateProjection] = None, + **kwargs: Unpack[FlashAttentionKwargs]) -> tuple[torch.Tensor, Optional[torch.Tensor], Optional[tuple[torch.Tensor]]]: + + input_shape = hidden_states.shape[:-1] + hidden_shape = (*input_shape, -1, self.head_dim) + + query_states = self.q_proj(hidden_states).view(hidden_shape).transpose(1, 2) + key_states_local = self.k_proj(hidden_states).view(hidden_shape).transpose(1, 2) + value_states_local = self.v_proj(hidden_states).view(hidden_shape).transpose(1, 2) + + cos, sin = position_embeddings + query_states, key_states_local = apply_rotary_pos_emb( + query_states, key_states_local, cos, sin + ) + + key_states_share, value_states_share = None, None + if past_key_value is not None: + # get key_share, value_share from past_key_value + cache_kwargs = {"sin": sin, "cos": cos, "cache_position": cache_position, "loop_idx": loop_idx} + key_states_share, value_states_share = past_key_value.get_shared(self.layer_idx) + key_states_local, value_states_local = past_key_value.update( + key_states_local, + value_states_local, + self.layer_idx, + cache_kwargs, + ) + + attention_interface: Callable = eager_attention_forward + if self.config._attn_implementation != "eager": + attention_interface = ALL_ATTENTION_FUNCTIONS[ + self.config._attn_implementation + ] + + # Create masks for global and local attention + # Global attention: full causal mask (can see all tokens in shared cache) + # Local attention: causal mask for local window (can only see window_size tokens in local cache) + attention_mask_global = attention_mask # Use full causal mask for global attention + + # For local attention, create a mask that matches the local cache size + # The local cache already contains only the last window_size tokens, + # so we need a causal mask that allows attention within this window + attention_mask_local = None + if key_states_local is not None and value_states_local is not None: + # Local cache has shape [batch, num_heads, local_seq_len, head_dim] + # where local_seq_len <= window_size + local_seq_len = key_states_local.shape[2] + bsz = query_states.shape[0] + q_len = query_states.shape[2] + + # Create a causal mask for local attention + # This allows each query position to attend to all positions up to and including itself + # within the local window (which is already the last window_size tokens) + device = query_states.device + dtype = query_states.dtype + + if attention_mask is not None: + # If we have a global mask, we need to adapt it for local attention + # The global mask shape is [batch, 1, q_len, global_kv_len] + # For local attention, we only need the last local_seq_len positions + global_kv_len = attention_mask.shape[-1] + + if global_kv_len >= local_seq_len: + # Extract the last local_seq_len columns from the global mask + # This represents attention to the last window_size tokens + attention_mask_local = attention_mask[..., -local_seq_len:] + else: + # If global mask is shorter than local_seq_len, create a simple causal mask + # This can happen during prefill when local cache is being built + attention_mask_local = torch.triu( + torch.ones((q_len, local_seq_len), device=device, dtype=dtype) * float("-inf"), + diagonal=1 + ).unsqueeze(0).expand(bsz, -1, -1, -1) # [batch, 1, q_len, local_seq_len] + else: + # No global mask provided, create a simple causal mask for local attention + # This allows full attention within the local window (causal) + attention_mask_local = torch.triu( + torch.ones((q_len, local_seq_len), device=device, dtype=dtype) * float("-inf"), + diagonal=1 + ).unsqueeze(0).expand(bsz, -1, -1, -1) # [batch, 1, q_len, local_seq_len] + + # global attn: attend to all tokens in shared cache + attn_output_global, attn_weights_global = attention_interface( + self, + query_states, + key_states_share, + value_states_share, + attention_mask_global, + dropout=0.0 if not self.training else self.attention_dropout, + scaling=self.scaling, + **kwargs, + ) + + # local attn: attend only to tokens in local cache (window_size) + attn_output_local, attn_weights_local = attention_interface( + self, + query_states, + key_states_local, + value_states_local, + attention_mask_local, + dropout=0.0 if not self.training else self.attention_dropout, + scaling=self.scaling, + **kwargs, + ) + + # attention_interface returns [batch, seq_len, num_heads, head_dim] for eager_attention_forward + # but Flash Attention might return [batch, num_heads, seq_len, head_dim] + # We need [batch, num_heads, seq_len, head_dim] to match gate shape + q_len = query_states.shape[2] # Query sequence length + num_heads = query_states.shape[1] + + # Normalize attn_output_global to [batch, num_heads, q_len, head_dim] + if attn_output_global.dim() == 4: + # Check if shape is [batch, seq_len, num_heads, head_dim] (eager) or [batch, num_heads, seq_len, head_dim] (flash) + if attn_output_global.shape[1] == q_len: + # Shape is [batch, seq_len, num_heads, head_dim], transpose to [batch, num_heads, seq_len, head_dim] + attn_output_global = attn_output_global.transpose(1, 2) + # Ensure sequence length matches query length (take first q_len tokens) + if attn_output_global.shape[2] > q_len: + attn_output_global = attn_output_global[:, :, :q_len, :] + elif attn_output_global.shape[2] < q_len: + # This shouldn't happen, but handle it gracefully + raise ValueError(f"attn_output_global seq_len {attn_output_global.shape[2]} < q_len {q_len}") + + # Normalize attn_output_local to [batch, num_heads, q_len, head_dim] + if attn_output_local.dim() == 4: + # Check if shape is [batch, seq_len, num_heads, head_dim] (eager) or [batch, num_heads, seq_len, head_dim] (flash) + if attn_output_local.shape[1] == q_len: + # Shape is [batch, seq_len, num_heads, head_dim], transpose to [batch, num_heads, seq_len, head_dim] + attn_output_local = attn_output_local.transpose(1, 2) + # Ensure sequence length matches query length (take first q_len tokens) + if attn_output_local.shape[2] > q_len: + attn_output_local = attn_output_local[:, :, :q_len, :] + elif attn_output_local.shape[2] < q_len: + # This shouldn't happen, but handle it gracefully + raise ValueError(f"attn_output_local seq_len {attn_output_local.shape[2]} < q_len {q_len}") + + assert gate_proj is not None + gate = gate_proj(query_states) # [batch, num_heads, seq_len, 1] + mixed_attn_output = attn_output_local * (1 - gate) + attn_output_global * gate + + mixed_attn_output = mixed_attn_output.reshape(*input_shape, -1).contiguous() + mixed_attn_output = self.o_proj(mixed_attn_output) + return mixed_attn_output, (attn_weights_global, attn_weights_local, attn_output_global, attn_output_local, gate) + + +@use_kernel_forward_from_hub("RMSNorm") +class IQuestLoopCoderRMSNorm(nn.Module): + def __init__(self, hidden_size, eps=1e-6): + """ + IQuestLoopCoderRMSNorm is equivalent to T5LayerNorm + """ + super().__init__() + self.weight = nn.Parameter(torch.ones(hidden_size)) + self.variance_epsilon = eps + + def forward(self, hidden_states): + input_dtype = hidden_states.dtype + hidden_states = hidden_states.to(torch.float32) + variance = hidden_states.pow(2).mean(-1, keepdim=True) + hidden_states = hidden_states * torch.rsqrt(variance + self.variance_epsilon) + return self.weight * hidden_states.to(input_dtype) + + def extra_repr(self): + return f"{tuple(self.weight.shape)}, eps={self.variance_epsilon}" + + +class IQuestLoopCoderDecoderLayer(GradientCheckpointingLayer): + def __init__(self, config: IQuestLoopCoderConfig, layer_idx: int): + super().__init__() + self.hidden_size = config.hidden_size + + self.self_attn = IQuestLoopCoderAttention(config=config, layer_idx=layer_idx) + + self.mlp = IQuestLoopCoderMLP(config) + self.input_layernorm = IQuestLoopCoderRMSNorm(config.hidden_size, eps=config.rms_norm_eps) + self.post_attention_layernorm = IQuestLoopCoderRMSNorm( + config.hidden_size, eps=config.rms_norm_eps + ) + self.layer_idx = layer_idx + + def forward( + self, + hidden_states: torch.Tensor, + loop_idx: int = 0, + gate_proj: Optional[LoopGateProjection] = None, + attention_mask: Optional[torch.Tensor] = None, + position_ids: Optional[torch.LongTensor] = None, + past_key_value: Optional[Cache] = None, + use_cache: Optional[bool] = False, + cache_position: Optional[torch.LongTensor] = None, + position_embeddings: Optional[ + tuple[torch.Tensor, torch.Tensor] + ] = None, # necessary, but kept here for BC + **kwargs: Unpack[TransformersKwargs], + ) -> tuple[torch.Tensor]: + residual = hidden_states + hidden_states = self.input_layernorm(hidden_states) + # Self Attention + hidden_states, _ = self.self_attn( + hidden_states=hidden_states, + attention_mask=attention_mask, + position_ids=position_ids, + past_key_value=past_key_value, + use_cache=use_cache, + cache_position=cache_position, + loop_idx=loop_idx, + position_embeddings=position_embeddings, + gate_proj=gate_proj if loop_idx > 0 else None, + **kwargs, + ) + + hidden_states = residual + hidden_states + + # Fully Connected + residual = hidden_states + hidden_states = self.post_attention_layernorm(hidden_states) + hidden_states = self.mlp(hidden_states) + hidden_states = residual + hidden_states + return hidden_states + + +@auto_docstring +class IQuestLoopCoderPreTrainedModel(PreTrainedModel): + config: IQuestLoopCoderConfig + base_model_prefix = "model" + supports_gradient_checkpointing = True + _no_split_modules = ["IQuestLoopCoderDecoderLayer"] + _skip_keys_device_placement = ["past_key_values"] + _supports_flash_attn = True + _supports_sdpa = True + _supports_flex_attn = True + + _can_compile_fullgraph = True + _supports_attention_backend = True + _can_record_outputs = { + "hidden_states": IQuestLoopCoderDecoderLayer, + "attentions": IQuestLoopCoderAttention, + } + + # Important for inference with `device_map` / low_cpu_mem_usage: + # Avoid initializing parameters that are not present in the checkpoint. + # Those should keep their constructor-time initialization (e.g. zeros for LoopGateProjection), + # instead of being materialized from meta/empty tensors which can contain NaNs. + def _init_weights(self, module: nn.Module) -> None: + return + + +class IQuestLoopCoderRotaryEmbedding(nn.Module): + def __init__(self, config: IQuestLoopCoderConfig, device=None): + super().__init__() + # BC: "rope_type" was originally "type" + if hasattr(config, "rope_scaling") and isinstance(config.rope_scaling, dict): + self.rope_type = config.rope_scaling.get( + "rope_type", config.rope_scaling.get("type") + ) + else: + self.rope_type = "default" + self.max_seq_len_cached = config.max_position_embeddings + self.original_max_seq_len = config.max_position_embeddings + + self.config = config + self.rope_init_fn = ROPE_INIT_FUNCTIONS[self.rope_type] + + inv_freq, self.attention_scaling = self.rope_init_fn(self.config, device) + self.register_buffer("inv_freq", inv_freq, persistent=False) + self.original_inv_freq = self.inv_freq + + @torch.no_grad() + @dynamic_rope_update # power user: used with advanced RoPE types (e.g. dynamic rope) + def forward(self, x, position_ids): + inv_freq_expanded = ( + self.inv_freq[None, :, None] + .float() + .expand(position_ids.shape[0], -1, 1) + .to(x.device) + ) + position_ids_expanded = position_ids[:, None, :].float() + + device_type = ( + x.device.type + if isinstance(x.device.type, str) and x.device.type != "mps" + else "cpu" + ) + with torch.autocast(device_type=device_type, enabled=False): # Force float32 + freqs = ( + inv_freq_expanded.float() @ position_ids_expanded.float() + ).transpose(1, 2) + emb = torch.cat((freqs, freqs), dim=-1) + cos = emb.cos() * self.attention_scaling + sin = emb.sin() * self.attention_scaling + + return cos.to(dtype=x.dtype), sin.to(dtype=x.dtype) + + +@auto_docstring +class IQuestLoopCoderModel(IQuestLoopCoderPreTrainedModel): + def __init__(self, config: IQuestLoopCoderConfig): + super().__init__(config) + self.padding_idx = config.pad_token_id + self.vocab_size = config.vocab_size + + self.embed_tokens = nn.Embedding( + config.vocab_size, config.hidden_size, self.padding_idx + ) + self.layers = nn.ModuleList( + [ + IQuestLoopCoderDecoderLayer(config, layer_idx) + for layer_idx in range(config.num_hidden_layers) + ] + ) + self.norm = IQuestLoopCoderRMSNorm(config.hidden_size, eps=config.rms_norm_eps) + self.rotary_emb = IQuestLoopCoderRotaryEmbedding(config=config) + self.gradient_checkpointing = False + self.loop_num = getattr(self.config, "loop_num", 2) + self.loop_window_size = getattr(self.config, "loop_window_size", 64) + + # Gate projections for Loop 2+ (one per layer) + self.gate_projections = nn.ModuleList([ + LoopGateProjection(config.num_attention_heads, config.head_dim) + for _ in range(config.num_hidden_layers) + ]) + + # Initialize weights and apply final processing + self.post_init() + + @check_model_inputs + @auto_docstring + def forward( + self, + input_ids: Optional[torch.LongTensor] = None, + attention_mask: Optional[torch.Tensor] = None, + position_ids: Optional[torch.LongTensor] = None, + past_key_values: Optional[Cache] = None, + inputs_embeds: Optional[torch.FloatTensor] = None, + use_cache: Optional[bool] = None, + cache_position: Optional[torch.LongTensor] = None, + **kwargs: Unpack[TransformersKwargs], + ) -> BaseModelOutputWithPast: + + if (input_ids is None) ^ (inputs_embeds is not None): + raise ValueError( + "You must specify exactly one of input_ids or inputs_embeds" + ) + + if inputs_embeds is None: + inputs_embeds = self.embed_tokens(input_ids) + + if use_cache is None: + use_cache = self.config.use_cache + + if use_cache: + if needs_iquestloopcoder_cache(past_key_values): + past_key_values = IQuestLoopCoderCache(self.loop_window_size, self.config.num_hidden_layers, self.loop_num) + + if cache_position is None: + past_seen_tokens = ( + past_key_values.get_seq_length() if past_key_values is not None else 0 + ) + cache_position = torch.arange( + past_seen_tokens, + past_seen_tokens + inputs_embeds.shape[1], + device=inputs_embeds.device, + ) + + if position_ids is None: + position_ids = cache_position.unsqueeze(0) + + # It may already have been prepared by e.g. `generate` + if not isinstance(causal_mask_mapping := attention_mask, dict): + # Prepare mask arguments + mask_kwargs = { + "config": self.config, + "input_embeds": inputs_embeds, + "attention_mask": attention_mask, + "cache_position": cache_position, + "past_key_values": past_key_values, + "position_ids": position_ids, + } + # Create the full causal mask for all layers + # All layers use full_attention (no sliding window layers) + full_attention_mask = create_causal_mask(**mask_kwargs) + causal_mask_mapping = { + "full_attention": full_attention_mask, + } + + hidden_states = inputs_embeds + + # create position embeddings to be shared across the decoder layers + position_embeddings = self.rotary_emb(hidden_states, position_ids) + hidden_states_list = [] + + for loop_idx in range(self.loop_num): + # For each loop, use the full_attention mask + # Loop 1: uses full_attention mask directly + # Loop 2+: forward_loop2 will create local mask internally, but uses full_attention mask for global attention + loop_attention_mask = causal_mask_mapping["full_attention"] + + for layer_idx, decoder_layer in enumerate(self.layers[: self.config.num_hidden_layers]): + hidden_states = decoder_layer( + hidden_states, + loop_idx, + gate_proj=self.gate_projections[layer_idx] if loop_idx > 0 else None, + attention_mask=loop_attention_mask, + position_ids=position_ids, + past_key_value=past_key_values, + use_cache=use_cache, + cache_position=cache_position, + position_embeddings=position_embeddings, + **kwargs, + ) + if loop_idx < self.loop_num - 1: + hidden_states_list.append(hidden_states) + + hidden_states = self.norm(hidden_states) + hidden_states_list.append(hidden_states) + + return ( + BaseModelOutputWithPast( + last_hidden_state=hidden_states, + past_key_values=past_key_values if use_cache else None, + ), + hidden_states_list, + ) + + +@auto_docstring +class IQuestLoopCoderForCausalLM(IQuestLoopCoderPreTrainedModel, GenerationMixin): + _tied_weights_keys = ["lm_head.weight"] + _tp_plan = {"lm_head": "colwise_rep"} + _pp_plan = {"lm_head": (["hidden_states"], ["logits"])} + + def __init__(self, config): + super().__init__(config) + self.model = IQuestLoopCoderModel(config) + self.vocab_size = config.vocab_size + self.lm_head = nn.Linear(config.hidden_size, config.vocab_size, bias=False) + + # 分块大小配置 + self.chunk_size = getattr(config, "chunk_size", 2) # 默认分块大小为2 + + self.post_init() + + def get_input_embeddings(self): + return self.model.embed_tokens + + def set_input_embeddings(self, value): + self.model.embed_tokens = value + + def get_output_embeddings(self): + return self.lm_head + + def set_output_embeddings(self, new_embeddings): + self.lm_head = new_embeddings + + def set_decoder(self, decoder): + self.model = decoder + + def get_decoder(self): + return self.model + + @can_return_tuple + @auto_docstring + def forward( + self, + input_ids: Optional[torch.LongTensor] = None, + attention_mask: Optional[torch.Tensor] = None, + position_ids: Optional[torch.LongTensor] = None, + past_key_values: Optional[Cache] = None, + inputs_embeds: Optional[torch.FloatTensor] = None, + labels: Optional[torch.LongTensor] = None, + use_cache: Optional[bool] = None, + cache_position: Optional[torch.LongTensor] = None, + logits_to_keep: Union[int, torch.Tensor] = 0, + **kwargs: Unpack[TransformersKwargs], + ) -> CausalLMOutputWithPast: + + outputs, hidden_states_list = self.model( + input_ids=input_ids, + attention_mask=attention_mask, + position_ids=position_ids, + past_key_values=past_key_values, + inputs_embeds=inputs_embeds, + use_cache=use_cache, + cache_position=cache_position, + **kwargs, + ) + slice_indices = ( + slice(-logits_to_keep, None) + if isinstance(logits_to_keep, int) + else logits_to_keep + ) + + def _select_token_positions(tensor: torch.Tensor) -> torch.Tensor: + if isinstance(slice_indices, slice): + return tensor[:, slice_indices, ...] + if isinstance(slice_indices, torch.Tensor): + return tensor.index_select(1, slice_indices.to(tensor.device)) + raise TypeError( + f"Unsupported index type for logits_to_keep: {type(slice_indices)}" + ) + + stacked_exit_pdf = None + + expected_logits_cache: Optional[torch.Tensor] = None + + def compute_expected_logits() -> Optional[torch.Tensor]: + nonlocal expected_logits_cache + if expected_logits_cache is not None: + return expected_logits_cache + if stacked_exit_pdf is None or not hidden_states_list: + return None + token_exit_pdf = _select_token_positions(stacked_exit_pdf) + expected_logits = None + for step_idx, hidden in enumerate(hidden_states_list): + step_hidden = _select_token_positions(hidden) + step_logits = self.lm_head(step_hidden) + weight = ( + token_exit_pdf[..., step_idx].unsqueeze(-1).to(step_logits.dtype) + ) + expected_logits = ( + step_logits * weight + if expected_logits is None + else expected_logits + step_logits * weight + ) + expected_logits_cache = expected_logits + return expected_logits_cache + + logits: Optional[torch.Tensor] = None + loss: Optional[torch.Tensor] = None + + hidden_states = outputs.last_hidden_state + logits = self.lm_head(hidden_states) + logits = logits.float() + + if labels is not None: + shift_logits = logits[..., :-1, :].contiguous() + shift_labels = labels[..., 1:].contiguous() + loss_fct = nn.CrossEntropyLoss() + shift_logits = shift_logits.view(-1, self.config.vocab_size) + shift_labels = shift_labels.view(-1) + shift_labels = shift_labels.to(shift_logits.device) + loss = loss_fct(shift_logits, shift_labels) + + result = CausalLMOutputWithPast( + loss=loss, + logits=logits, + past_key_values=outputs.past_key_values, + hidden_states=outputs.hidden_states, + attentions=outputs.attentions, + ) + + return result diff --git a/benchmarks/results/iquest-contract/reference/source_manifest.json b/benchmarks/results/iquest-contract/reference/source_manifest.json new file mode 100644 index 000000000..9e8894528 --- /dev/null +++ b/benchmarks/results/iquest-contract/reference/source_manifest.json @@ -0,0 +1,77 @@ +{ + "model_id": "IQuestLab/IQuest-Coder-V1-40B-Loop-Instruct", + "revision": "61e8589747f6987ec7725e4ffe205f7a84561bd2", + "observed_unix": 1791242003.423913, + "repository_sha256": "e3c0e088a0b8b70615add634ded78cb04e1a06d037cd28966369489fcc8e161d", + "scope": "official source, configuration, tokenizer and weight index only", + "weight_shards_downloaded": 0, + "official_model_execution": "NOT_RUN", + "files": [ + { + "path": "LICENSE", + "size_bytes": 1324, + "sha256": "cefd38efbfd2ca094b39736be7bf323fd6eae65964bbd96187e866981d67bee0", + "url": "https://huggingface.co/IQuestLab/IQuest-Coder-V1-40B-Loop-Instruct/resolve/61e8589747f6987ec7725e4ffe205f7a84561bd2/LICENSE" + }, + { + "path": "README.md", + "size_bytes": 8093, + "sha256": "87a11089dfbba555832e6f871f0ba0e02af983e265fb01c684908fbc4b2ea91e", + "url": "https://huggingface.co/IQuestLab/IQuest-Coder-V1-40B-Loop-Instruct/resolve/61e8589747f6987ec7725e4ffe205f7a84561bd2/README.md" + }, + { + "path": "__init__.py", + "size_bytes": 686, + "sha256": "40b8838e5c0e460136324d90cfa6fc409148a3929b00a2ac9b88b00fa0259b0d", + "url": "https://huggingface.co/IQuestLab/IQuest-Coder-V1-40B-Loop-Instruct/resolve/61e8589747f6987ec7725e4ffe205f7a84561bd2/__init__.py" + }, + { + "path": "config.json", + "size_bytes": 969, + "sha256": "d8fe4db01164b642779ddf1b322b924a2a4a2dc803027ddd5ed925097cc5c721", + "url": "https://huggingface.co/IQuestLab/IQuest-Coder-V1-40B-Loop-Instruct/resolve/61e8589747f6987ec7725e4ffe205f7a84561bd2/config.json" + }, + { + "path": "configuration_iquestloopcoder.py", + "size_bytes": 5292, + "sha256": "172306263d98fb62b8cec593727b53187b6156d2fdaa99c43a37adde381e8807", + "url": "https://huggingface.co/IQuestLab/IQuest-Coder-V1-40B-Loop-Instruct/resolve/61e8589747f6987ec7725e4ffe205f7a84561bd2/configuration_iquestloopcoder.py" + }, + { + "path": "modeling_iquestloopcoder.py", + "size_bytes": 48994, + "sha256": "4b15953c4b3f48f74c524dfbd3fa2edf4f24a2fb73c68c3dba3fdec44bc0c3ea", + "url": "https://huggingface.co/IQuestLab/IQuest-Coder-V1-40B-Loop-Instruct/resolve/61e8589747f6987ec7725e4ffe205f7a84561bd2/modeling_iquestloopcoder.py" + }, + { + "path": "tokenization_iquestcoder.py", + "size_bytes": 21762, + "sha256": "77c56f9aac1b382dddd56d9850fbadeee66c2eb974a2135ea72076b31837550e", + "url": "https://huggingface.co/IQuestLab/IQuest-Coder-V1-40B-Loop-Instruct/resolve/61e8589747f6987ec7725e4ffe205f7a84561bd2/tokenization_iquestcoder.py" + }, + { + "path": "generation_config.json", + "size_bytes": 127, + "sha256": "16856b186ca44da6ee8e9fea0d7f7024cb6217f794677bd3335f0608e11fc202", + "url": "https://huggingface.co/IQuestLab/IQuest-Coder-V1-40B-Loop-Instruct/resolve/61e8589747f6987ec7725e4ffe205f7a84561bd2/generation_config.json" + }, + { + "path": "model.safetensors.index.json", + "size_bytes": 71593, + "sha256": "2b0a5682197ec8c98ac12de1b2be89d31182c32f8e967c1d9a8396318f268a8c", + "url": "https://huggingface.co/IQuestLab/IQuest-Coder-V1-40B-Loop-Instruct/resolve/61e8589747f6987ec7725e4ffe205f7a84561bd2/model.safetensors.index.json" + }, + { + "path": "tokenizer_config.json", + "size_bytes": 8623, + "sha256": "90e4563e1bea1fc922749bbbf3c6134c07edef8dd0de1bd551ab99655dd6c246", + "url": "https://huggingface.co/IQuestLab/IQuest-Coder-V1-40B-Loop-Instruct/resolve/61e8589747f6987ec7725e4ffe205f7a84561bd2/tokenizer_config.json" + }, + { + "path": "tokenizer.model", + "size_bytes": 1345108, + "sha256": "7d3be68e090a927f31e0e378d7599b15c206dd47e4a73933775a746cc9c1cd91", + "url": "https://huggingface.co/IQuestLab/IQuest-Coder-V1-40B-Loop-Instruct/resolve/61e8589747f6987ec7725e4ffe205f7a84561bd2/tokenizer.model" + } + ] +} diff --git a/benchmarks/results/iquest-contract/reference/tokenization_iquestcoder.py b/benchmarks/results/iquest-contract/reference/tokenization_iquestcoder.py new file mode 100644 index 000000000..9863d290f --- /dev/null +++ b/benchmarks/results/iquest-contract/reference/tokenization_iquestcoder.py @@ -0,0 +1,552 @@ +"""Tokenization classes for IQuestCoder.""" + +import os +from shutil import copyfile +from typing import Any, Dict, List, Optional, Tuple, Union + +import sentencepiece as spm + +from transformers.tokenization_utils import AddedToken, PreTrainedTokenizer +from transformers.utils import logging + + +logger = logging.get_logger(__name__) + +VOCAB_FILES_NAMES = {"vocab_file": "tokenizer.model"} + +PRETRAINED_VOCAB_FILES_MAP = { + "vocab_file": {}, + "tokenizer_file": {}, +} +PRETRAINED_POSITIONAL_EMBEDDINGS_SIZES = {} + + + +class IQuestCoderTokenizer(PreTrainedTokenizer): + + vocab_files_names = VOCAB_FILES_NAMES + pretrained_vocab_files_map = PRETRAINED_VOCAB_FILES_MAP + max_model_input_sizes = PRETRAINED_POSITIONAL_EMBEDDINGS_SIZES + model_input_names = ["input_ids", "attention_mask"] + + def __init__( + self, + vocab_file, + unk_token="", + bos_token="", + eos_token="", + pad_token=None, + sp_model_kwargs: Optional[Dict[str, Any]] = None, + add_bos_token=True, + add_eos_token=False, + clean_up_tokenization_spaces=False, + add_prefix_space=False, + legacy=None, + use_default_system_prompt=False, + chat_template=None, + **kwargs, + ): + self.sp_model_kwargs = {} if sp_model_kwargs is None else sp_model_kwargs + bos_token = AddedToken(bos_token, lstrip=False, rstrip=False) if isinstance(bos_token, str) else bos_token + eos_token = AddedToken(eos_token, lstrip=False, rstrip=False) if isinstance(eos_token, str) else eos_token + unk_token = AddedToken(unk_token, lstrip=False, rstrip=False) if isinstance(unk_token, str) else unk_token + pad_token = AddedToken(pad_token, lstrip=False, rstrip=False) if isinstance(pad_token, str) else pad_token + + # Legacy behavior handling + if legacy is None: + logger.warning_once( + f"You are using the default legacy behaviour of the {self.__class__.__name__}. This is" + " expected, and simply means that the `legacy` (previous) behavior will be used so nothing changes for you." + " If you want to use the new behaviour, set `legacy=False`. This should only be set if you understand what it" + " means, and thoroughly read the reason why this was added as explained in" + " https://github.com/huggingface/transformers/pull/24565" + ) + legacy = True + + self.legacy = legacy + self.vocab_file = vocab_file + self.add_bos_token = add_bos_token + self.add_eos_token = add_eos_token + self.add_prefix_space = add_prefix_space + self.use_default_system_prompt = use_default_system_prompt + self.sp_model = spm.SentencePieceProcessor(**self.sp_model_kwargs) + self.sp_model.Load(vocab_file) + + + + super().__init__( + bos_token=bos_token, + eos_token=eos_token, + unk_token=unk_token, + pad_token=pad_token, + add_bos_token=add_bos_token, + add_eos_token=add_eos_token, + sp_model_kwargs=self.sp_model_kwargs, + clean_up_tokenization_spaces=clean_up_tokenization_spaces, + add_prefix_space=add_prefix_space, + legacy=legacy, + use_default_system_prompt=use_default_system_prompt, + chat_template=chat_template, + **kwargs, + ) + + def __getstate__(self): + state = self.__dict__.copy() + state["sp_model"] = None + return state + + def __setstate__(self, d): + self.__dict__ = d + self.sp_model = spm.SentencePieceProcessor(**self.sp_model_kwargs) + self.sp_model.Load(self.vocab_file) + + @property + def vocab_size(self) -> int: + """Returns the vocabulary size.""" + return self.sp_model.get_piece_size() + + def get_vocab(self) -> Dict[str, int]: + """Returns the vocabulary as a dictionary of token to index.""" + vocab = {self.convert_ids_to_tokens(i): i for i in range(self.vocab_size)} + vocab.update(self.added_tokens_encoder) + return vocab + + def _tokenize(self, text: str) -> List[str]: + """ + Tokenize a string. + + Args: + text (`str`): The text to tokenize. + + Returns: + `List[str]`: The list of tokens. + """ + if self.add_prefix_space: + text = " " + text + + if self.legacy: + return self.sp_model.encode(text, out_type=str) + + # Non-legacy behavior: handle special tokens properly + return self.sp_model.encode(text, out_type=str) + + def _convert_token_to_id(self, token: str) -> int: + """Converts a token (str) to an id using the vocab.""" + return self.sp_model.piece_to_id(token) + + def _convert_id_to_token(self, index: int) -> str: + """Converts an index (integer) to a token (str) using the vocab.""" + token = self.sp_model.IdToPiece(index) + return token + + def convert_tokens_to_string(self, tokens: List[str]) -> str: + """ + Converts a sequence of tokens (strings) to a single string. + + This method handles special tokens separately to ensure they are not + decoded using the SentencePiece model. + + Args: + tokens (`List[str]`): The list of tokens to convert. + + Returns: + `str`: The decoded string. + """ + current_sub_tokens = [] + out_string = "" + prev_is_special = False + for i, token in enumerate(tokens): + # make sure that special tokens are not decoded using sentencepiece model + if token in self.all_special_tokens: + if not prev_is_special and i != 0: + out_string += " " + out_string += self.sp_model.decode(current_sub_tokens) + token + prev_is_special = True + current_sub_tokens = [] + else: + current_sub_tokens.append(token) + prev_is_special = False + out_string += self.sp_model.decode(current_sub_tokens) + return out_string + + def save_vocabulary(self, save_directory: str, filename_prefix: Optional[str] = None) -> Tuple[str]: + """ + Save the vocabulary and special tokens file to a directory. + + Args: + save_directory (`str`): + The directory in which to save the vocabulary. + filename_prefix (`str`, *optional*): + An optional prefix to add to the named of the saved files. + + Returns: + `Tuple(str)`: Paths to the files saved. + """ + if not os.path.isdir(save_directory): + logger.error(f"Vocabulary path ({save_directory}) should be a directory") + return + out_vocab_file = os.path.join( + save_directory, (filename_prefix + "-" if filename_prefix else "") + VOCAB_FILES_NAMES["vocab_file"] + ) + + if os.path.abspath(self.vocab_file) != os.path.abspath(out_vocab_file) and os.path.isfile(self.vocab_file): + copyfile(self.vocab_file, out_vocab_file) + elif not os.path.isfile(self.vocab_file): + with open(out_vocab_file, "wb") as fi: + content_spiece_model = self.sp_model.serialized_model_proto() + fi.write(content_spiece_model) + + return (out_vocab_file,) + + def build_inputs_with_special_tokens( + self, + token_ids_0: List[int], + token_ids_1: Optional[List[int]] = None + ) -> List[int]: + """ + Build model inputs from a sequence or a pair of sequences for sequence classification tasks by concatenating + and adding special tokens. + + An IQuestCoder sequence has the following format: + + - single sequence: ` X ` (if add_eos_token is True) or ` X` (default) + - pair of sequences: ` A B ` (if add_eos_token is True) or ` A B` (default) + + Args: + token_ids_0 (`List[int]`): + List of IDs to which the special tokens will be added. + token_ids_1 (`List[int]`, *optional*): + Optional second list of IDs for sequence pairs. + + Returns: + `List[int]`: List of input IDs with the appropriate special tokens. + """ + bos_token_id = [self.bos_token_id] if self.add_bos_token else [] + eos_token_id = [self.eos_token_id] if self.add_eos_token else [] + + output = bos_token_id + token_ids_0 + eos_token_id + + if token_ids_1 is not None: + output = output + bos_token_id + token_ids_1 + eos_token_id + + return output + + def get_special_tokens_mask( + self, + token_ids_0: List[int], + token_ids_1: Optional[List[int]] = None, + already_has_special_tokens: bool = False + ) -> List[int]: + """ + Retrieve sequence ids from a token list that has no special tokens added. This method is called when adding + special tokens using the tokenizer `prepare_for_model` method. + + Args: + token_ids_0 (`List[int]`): + List of IDs. + token_ids_1 (`List[int]`, *optional*): + Optional second list of IDs for sequence pairs. + already_has_special_tokens (`bool`, *optional*, defaults to `False`): + Whether or not the token list is already formatted with special tokens for the model. + + Returns: + `List[int]`: A list of integers in the range [0, 1]: 1 for a special token, 0 for a sequence token. + """ + if already_has_special_tokens: + return super().get_special_tokens_mask( + token_ids_0=token_ids_0, token_ids_1=token_ids_1, already_has_special_tokens=True + ) + + bos_token_id = [1] if self.add_bos_token else [] + eos_token_id = [1] if self.add_eos_token else [] + + if token_ids_1 is None: + return bos_token_id + ([0] * len(token_ids_0)) + eos_token_id + return ( + bos_token_id + + ([0] * len(token_ids_0)) + + eos_token_id + + bos_token_id + + ([0] * len(token_ids_1)) + + eos_token_id + ) + + def create_token_type_ids_from_sequences( + self, + token_ids_0: List[int], + token_ids_1: Optional[List[int]] = None + ) -> List[int]: + """ + Create a mask from the two sequences passed to be used in a sequence-pair classification task. + + An IQuestCoder sequence pair mask has the following format: + + ``` + 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 + | first sequence | second sequence | + ``` + + If `token_ids_1` is `None`, this method only returns the first portion of the mask (0s). + + Args: + token_ids_0 (`List[int]`): + List of IDs. + token_ids_1 (`List[int]`, *optional*): + Optional second list of IDs for sequence pairs. + + Returns: + `List[int]`: List of token type IDs according to the given sequence(s). + """ + bos_token_id = [self.bos_token_id] if self.add_bos_token else [] + eos_token_id = [self.eos_token_id] if self.add_eos_token else [] + + output = [0] * len(bos_token_id + token_ids_0 + eos_token_id) + + if token_ids_1 is not None: + output += [1] * len(bos_token_id + token_ids_1 + eos_token_id) + + return output + + @property + def default_chat_template(self) -> str: + """ + Returns the default chat template for IQuestCoder. + + This template formats conversations with system, user, and assistant roles. + """ + return DEFAULT_CHAT_TEMPLATE + + def apply_chat_template( + self, + conversation: Union[List[Dict[str, str]], "Conversation"], + chat_template: Optional[str] = None, + add_generation_prompt: bool = False, + tokenize: bool = True, + padding: bool = False, + truncation: bool = False, + max_length: Optional[int] = None, + return_tensors: Optional[str] = None, + return_dict: bool = False, + **tokenizer_kwargs, + ): + """ + Apply a chat template to format a conversation. + + Args: + conversation (`List[Dict[str, str]]` or `Conversation`): + A list of dicts with "role" and "content" keys, representing the conversation history. + chat_template (`str`, *optional*): + A Jinja template to use for formatting. If not provided, the tokenizer's default will be used. + add_generation_prompt (`bool`, *optional*, defaults to `False`): + Whether to add a generation prompt at the end for the assistant to continue. + tokenize (`bool`, *optional*, defaults to `True`): + Whether to tokenize the output. If `False`, returns a string. + padding (`bool`, *optional*, defaults to `False`): + Whether to pad sequences. + truncation (`bool`, *optional*, defaults to `False`): + Whether to truncate sequences. + max_length (`int`, *optional*): + Maximum length of the output. + return_tensors (`str`, *optional*): + The type of tensors to return ("pt", "tf", "np", or None). + return_dict (`bool`, *optional*, defaults to `False`): + Whether to return a dictionary with additional information. + **tokenizer_kwargs: + Additional keyword arguments passed to the tokenizer. + + Returns: + `Union[str, List[int], BatchEncoding]`: The formatted (and optionally tokenized) conversation. + + Example: + ```python + >>> tokenizer = IQuestCoderTokenizer.from_pretrained("path/to/model") + >>> conversation = [ + ... {"role": "system", "content": "You are a helpful assistant."}, + ... {"role": "user", "content": "Hello!"}, + ... {"role": "assistant", "content": "Hi there! How can I help you today?"}, + ... {"role": "user", "content": "What's the weather like?"}, + ... ] + >>> tokenizer.apply_chat_template(conversation, add_generation_prompt=True, tokenize=False) + '<|system|>\\nYou are a helpful assistant.\\n<|user|>\\nHello!\\n...' + ``` + """ + # Use parent class implementation with our template + return super().apply_chat_template( + conversation, + chat_template=chat_template, + add_generation_prompt=add_generation_prompt, + tokenize=tokenize, + padding=padding, + truncation=truncation, + max_length=max_length, + return_tensors=return_tensors, + return_dict=return_dict, + **tokenizer_kwargs, + ) + + +# Try to import and create Fast tokenizer version +try: + from transformers import PreTrainedTokenizerFast + from tokenizers import Tokenizer, decoders, models, normalizers, pre_tokenizers, processors + + class IQuestCoderTokenizerFast(PreTrainedTokenizerFast): + """ + Construct a "fast" IQuestCoder tokenizer (backed by HuggingFace's *tokenizers* library). + + This is a fast implementation of [`IQuestCoderTokenizer`] using the 🤗 Tokenizers library. + + Args: + vocab_file (`str`, *optional*): + Path to the vocabulary file (SentencePiece model). + tokenizer_file (`str`, *optional*): + Path to a tokenizer JSON file. + unk_token (`str`, *optional*, defaults to `""`): + The unknown token. + bos_token (`str`, *optional*, defaults to `""`): + The beginning of sequence token. + eos_token (`str`, *optional*, defaults to `""`): + The end of sequence token. + pad_token (`str`, *optional*): + The token used for padding. + add_bos_token (`bool`, *optional*, defaults to `True`): + Whether to add a BOS token at the start of sequences. + add_eos_token (`bool`, *optional*, defaults to `False`): + Whether to add an EOS token at the end of sequences. + add_prefix_space (`bool`, *optional*, defaults to `False`): + Whether to add an initial space to the input. + use_default_system_prompt (`bool`, *optional*, defaults to `False`): + Whether to use the default system prompt. + chat_template (`str`, *optional*): + A Jinja template for formatting conversations. + + Example: + ```python + >>> from tokenization_iquestcoder import IQuestCoderTokenizerFast + + >>> tokenizer = IQuestCoderTokenizerFast.from_pretrained("path/to/model") + >>> tokenizer.encode("Hello, world!") + [1, 15043, 29892, 3186, 29991] + ``` + """ + + vocab_files_names = VOCAB_FILES_NAMES + pretrained_vocab_files_map = PRETRAINED_VOCAB_FILES_MAP + max_model_input_sizes = PRETRAINED_POSITIONAL_EMBEDDINGS_SIZES + model_input_names = ["input_ids", "attention_mask"] + slow_tokenizer_class = IQuestCoderTokenizer + + def __init__( + self, + vocab_file=None, + tokenizer_file=None, + unk_token="", + bos_token="", + eos_token="", + pad_token=None, + add_bos_token=True, + add_eos_token=False, + add_prefix_space=False, + use_default_system_prompt=False, + chat_template=None, + **kwargs, + ): + self.add_bos_token = add_bos_token + self.add_eos_token = add_eos_token + self.add_prefix_space = add_prefix_space + self.use_default_system_prompt = use_default_system_prompt + + if chat_template is None: + chat_template = DEFAULT_CHAT_TEMPLATE + + super().__init__( + vocab_file=vocab_file, + tokenizer_file=tokenizer_file, + unk_token=unk_token, + bos_token=bos_token, + eos_token=eos_token, + pad_token=pad_token, + add_bos_token=add_bos_token, + add_eos_token=add_eos_token, + add_prefix_space=add_prefix_space, + use_default_system_prompt=use_default_system_prompt, + chat_template=chat_template, + **kwargs, + ) + + @property + def can_save_slow_tokenizer(self) -> bool: + return os.path.isfile(self.vocab_file) if self.vocab_file else False + + @property + def default_chat_template(self) -> str: + """Returns the default chat template.""" + return DEFAULT_CHAT_TEMPLATE + + def build_inputs_with_special_tokens( + self, + token_ids_0: List[int], + token_ids_1: Optional[List[int]] = None + ) -> List[int]: + """Build model inputs with special tokens.""" + bos_token_id = [self.bos_token_id] if self.add_bos_token else [] + eos_token_id = [self.eos_token_id] if self.add_eos_token else [] + + output = bos_token_id + token_ids_0 + eos_token_id + + if token_ids_1 is not None: + output = output + bos_token_id + token_ids_1 + eos_token_id + + return output + + def get_special_tokens_mask( + self, + token_ids_0: List[int], + token_ids_1: Optional[List[int]] = None, + already_has_special_tokens: bool = False + ) -> List[int]: + """Retrieve special tokens mask.""" + if already_has_special_tokens: + return super().get_special_tokens_mask( + token_ids_0=token_ids_0, token_ids_1=token_ids_1, already_has_special_tokens=True + ) + + bos_token_id = [1] if self.add_bos_token else [] + eos_token_id = [1] if self.add_eos_token else [] + + if token_ids_1 is None: + return bos_token_id + ([0] * len(token_ids_0)) + eos_token_id + return ( + bos_token_id + + ([0] * len(token_ids_0)) + + eos_token_id + + bos_token_id + + ([0] * len(token_ids_1)) + + eos_token_id + ) + + def create_token_type_ids_from_sequences( + self, + token_ids_0: List[int], + token_ids_1: Optional[List[int]] = None + ) -> List[int]: + """Create token type IDs from sequences.""" + bos_token_id = [self.bos_token_id] if self.add_bos_token else [] + eos_token_id = [self.eos_token_id] if self.add_eos_token else [] + + output = [0] * len(bos_token_id + token_ids_0 + eos_token_id) + + if token_ids_1 is not None: + output += [1] * len(bos_token_id + token_ids_1 + eos_token_id) + + return output + +except ImportError: + # tokenizers library not available, Fast tokenizer not supported + IQuestCoderTokenizerFast = None + logger.info( + "The `tokenizers` library is not installed. " + "IQuestCoderTokenizerFast will not be available. " + "Install it with `pip install tokenizers`." + ) + diff --git a/benchmarks/results/iquest-contract/reference/tokenizer.model b/benchmarks/results/iquest-contract/reference/tokenizer.model new file mode 100644 index 0000000000000000000000000000000000000000..8427d2615d4300bb8979082130431d77ae43f47b GIT binary patch literal 1345108 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

72U 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