interp-engine 1.7.1__tar.gz → 1.7.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {interp_engine-1.7.1 → interp_engine-1.7.2}/PKG-INFO +1 -1
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/capture.py +4 -1
- {interp_engine-1.7.1 → interp_engine-1.7.2}/pyproject.toml +1 -1
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_unified_free_functions.py +24 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/.gitignore +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/LICENSE +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/README.md +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/README.md +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/__init__.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/bench_spec.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/cells.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/probe.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/probe_lens_stream.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/publish.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/report_bench.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/results/deepseek-v4-flash-0731__eager.json +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/results/deepseek-v4-flash-0731__vllm-cudagraph.json +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/results/deepseek-v4-flash-0731__vllm-static.json +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/results/deepseek-v4-flash-0731__vllm.json +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/results/gemma-2-2b__eager.json +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/results/gemma-2-2b__vllm-cudagraph.json +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/results/gemma-2-2b__vllm-static.json +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/results/gemma-2-2b__vllm.json +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/results/llama-3.1-8b__eager.json +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/results/llama-3.1-8b__vllm-cudagraph.json +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/results/llama-3.1-8b__vllm-static.json +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/results/llama-3.1-8b__vllm.json +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/results/qwen3-4b__eager.json +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/results/qwen3-4b__vllm-cudagraph.json +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/results/qwen3-4b__vllm-static.json +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/results/qwen3-4b__vllm.json +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/results/qwen3.8-27b__eager.json +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/results/qwen3.8-27b__vllm-cudagraph.json +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/results/qwen3.8-27b__vllm-static.json +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/results/qwen3.8-27b__vllm.json +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/results-latest.md +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/run_all.sh +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/run_bench.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/workloads.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/docs/AGENT_INTEGRATION.md +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/docs/ARCHITECTURE_QUIRKS.md +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/docs/COMPATIBILITY.md +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/docs/ENGINE_HOOK_MAPPINGS.md +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/docs/GRADIENTS.md +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/docs/INTERNALS.md +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/docs/PERFORMANCE.md +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/docs/PORTING.md +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/docs/README.md +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/docs/SUPPORTED_POINTS.md +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/docs/USAGE.md +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/__init__.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/_loop.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/address.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/arch.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/attn_config.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/attn_scores.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/autograd_support.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/chat_compose.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/chat_conventions.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/chat_formatters.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/cuda_preflight.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/dispatch.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/facts.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/hooks.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/lens.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/load.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/mappers.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/memory.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/model.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/moe_routing.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/notebook_stdout.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/points.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/protocol.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/residual_basis.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/select.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/steer.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/steer_specs.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/sync.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/tokenize.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/vllm_backend.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/vllm_capture/__init__.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/vllm_capture/_demux.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/vllm_capture/_hooks.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/vllm_capture/_payload.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/vllm_capture/_tree.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/vllm_capture/attn.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/vllm_capture/capture.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/vllm_capture/graphs.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/vllm_capture/lens/__init__.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/vllm_capture/lens/intervene.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/vllm_capture/lens/readout.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/vllm_capture/lens/unembed.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/vllm_capture/mhc.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/vllm_capture/native.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/vllm_capture/requests.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/vllm_capture/static.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/vllm_capture/steering.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/interp_engine/vllm_plugin.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/conftest.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/harness.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/model_expectations.yaml +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/synthetic_families.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_address.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_attn_config_tripwire.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_attn_probs_indexing.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_attn_scores.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_attn_z_gqa.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_autograd_support.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_bench_workloads.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_capability_refusals.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_capture_addressing.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_chat_compose.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_chat_formatters.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_chat_templates.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_core.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_cuda_preflight.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_doc_code_fences.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_eager_autograd.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_facts.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_family_points.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_gated_attn_out.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_gpu_sizer.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_head_contributions.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_hook_call_conventions.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_layer_kinds.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_load.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_logit_transform.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_mappers.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_memory.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_mlp_internals.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_model_expectations.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_moe.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_multimodal_arch.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_new_models_gpu.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_no_chat_template.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_normalized_hook.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_notebook_stdout.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_packaging.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_parity_gpt2.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_per_layer_attn_dims.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_points_registry.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_protocol.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_published_benchmarks.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_qk_norm.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_qkv_layout.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_reasoning_spans.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_release.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_resid_mid.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_residual_basis.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_sandwich_norms.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_select.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_sliding_window_attn.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_small_models_gpu.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_static_dsv4_gpu.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_static_parity_gpu.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_static_set.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_static_warmup.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_steer_context.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_steer_math_parity.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_sync_loop.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_sync_parity.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_unresolved_families.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_vllm_capture_gpu.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_vllm_capture_scales.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_vllm_engine_loop.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_vllm_graph_path.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_vllm_graphs_on_gpu.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_vllm_hook_availability.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_vllm_hyper_connections.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_vllm_kv_isolation.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_vllm_new_points.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_vllm_only_families.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_vllm_plugin.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_vllm_wire_grammar.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_vocabulary_boundary.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_worker_lens_capture_readout.py +0 -0
- {interp_engine-1.7.1 → interp_engine-1.7.2}/tests/test_worker_lens_readout.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: interp-engine
|
|
3
|
-
Version: 1.7.
|
|
3
|
+
Version: 1.7.2
|
|
4
4
|
Summary: A fast, standardized, and easy to use interpretability engine.
|
|
5
5
|
Project-URL: Homepage, https://github.com/decoderesearch/interp-engine
|
|
6
6
|
Project-URL: Repository, https://github.com/decoderesearch/interp-engine
|
|
@@ -224,7 +224,10 @@ def _run_with_cache_eager(
|
|
|
224
224
|
attention_mask: torch.Tensor | None = None,
|
|
225
225
|
) -> Cache:
|
|
226
226
|
"""Capture in-process off the live module tree. See :func:`run_with_cache`."""
|
|
227
|
-
|
|
227
|
+
# Placed here rather than by each caller: these ids go straight into `hf_model`, so a list or a
|
|
228
|
+
# host tensor -- both documented inputs -- fails on every accelerator otherwise, through either
|
|
229
|
+
# entry point that shares this body. A tensor already on the device is unmoved.
|
|
230
|
+
input_ids = as_batched_tokens(tokens, device=model.device)
|
|
228
231
|
addresses = _normalize_points(points)
|
|
229
232
|
cache = Cache()
|
|
230
233
|
|
|
@@ -8,6 +8,7 @@ checked against these same shapes by ``scripts/vllm_capture_generation_check.py`
|
|
|
8
8
|
|
|
9
9
|
import asyncio
|
|
10
10
|
|
|
11
|
+
import pytest
|
|
11
12
|
import torch
|
|
12
13
|
|
|
13
14
|
from interp_engine import (
|
|
@@ -75,6 +76,29 @@ def test_capture_attention_returns_scores_probs_and_per_head_value(gpt2: EagerMo
|
|
|
75
76
|
assert got[layer]["value"].shape == (seq, gpt2.n_kv_heads, gpt2.head_dim)
|
|
76
77
|
|
|
77
78
|
|
|
79
|
+
def test_every_eager_entry_point_takes_a_plain_list_of_ids(gpt2: EagerModel, prompt: str):
|
|
80
|
+
"""A list of ints is a documented input, and it is the one that used to reach the device wrong.
|
|
81
|
+
|
|
82
|
+
The tests around this one all pass ``to_tokens`` output, a tensor already on the model's device,
|
|
83
|
+
so the host tensor a list builds was never exercised and both functions below raised on any
|
|
84
|
+
accelerator. ``EagerModel.capture`` hid it by placing its own tensor. On a CPU box both arms are
|
|
85
|
+
the same tensor and this only pins the signature; the device half is the gpu test below.
|
|
86
|
+
"""
|
|
87
|
+
ids = [int(t) for t in gpt2.to_tokens(prompt)[0]]
|
|
88
|
+
assert sorted(capture_attention(gpt2, ids, [0])) == [0]
|
|
89
|
+
assert run_with_cache(gpt2, ids, [("resid_post", 0)]).get("resid_post", 0).shape[1] == len(ids)
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
@pytest.mark.gpu
|
|
93
|
+
@pytest.mark.skipif(not torch.cuda.is_available(), reason="a host tensor only misplaces on an accelerator")
|
|
94
|
+
def test_a_list_of_ids_reaches_the_accelerator(prompt: str):
|
|
95
|
+
"""The regression itself: ids built off-device must be moved before they reach ``hf_model``."""
|
|
96
|
+
model = EagerModel("openai-community/gpt2", device="cuda", attn_implementation="eager")
|
|
97
|
+
ids = [int(t) for t in model.to_tokens(prompt)[0]]
|
|
98
|
+
assert capture_attention(model, ids, [0])[0]["scores"].device.type == "cuda"
|
|
99
|
+
assert run_with_cache(model, ids, [("resid_post", 0)]).get("resid_post", 0).device.type == "cuda"
|
|
100
|
+
|
|
101
|
+
|
|
78
102
|
def test_capture_attention_agrees_with_the_points_it_is_built_from(gpt2: EagerModel, prompt: str):
|
|
79
103
|
ids = gpt2.to_tokens(prompt)
|
|
80
104
|
got = capture_attention(gpt2, ids, [4])
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/results/deepseek-v4-flash-0731__eager.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/results/deepseek-v4-flash-0731__vllm.json
RENAMED
|
File without changes
|
|
File without changes
|
{interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/results/gemma-2-2b__vllm-cudagraph.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/results/llama-3.1-8b__vllm-cudagraph.json
RENAMED
|
File without changes
|
{interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/results/llama-3.1-8b__vllm-static.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/results/qwen3-4b__vllm-cudagraph.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/results/qwen3.8-27b__vllm-cudagraph.json
RENAMED
|
File without changes
|
{interp_engine-1.7.1 → interp_engine-1.7.2}/benchmarks/results/qwen3.8-27b__vllm-static.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|