Spaces:
Sleeping
Sleeping
Commit ·
cb213d9
1
Parent(s): 670d882
Fixed ablation graphs first token population, still need to fix original graphs when no beam selected
Browse files
app.py
CHANGED
|
@@ -939,12 +939,32 @@ def run_ablation_experiment(n_clicks, selected_heads, activation_data, model_nam
|
|
| 939 |
# Mark as ablated so UI knows
|
| 940 |
ablated_data['ablated'] = True
|
| 941 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 942 |
ablated_output = ablated_data.get('actual_output', {})
|
| 943 |
ablated_token = ablated_output.get('token', '')
|
| 944 |
ablated_prob = ablated_output.get('probability', 0)
|
| 945 |
|
| 946 |
results_display = create_ablation_results_display(
|
| 947 |
-
|
| 948 |
selected_heads, selected_beam, ablated_beam
|
| 949 |
)
|
| 950 |
|
|
|
|
| 939 |
# Mark as ablated so UI knows
|
| 940 |
ablated_data['ablated'] = True
|
| 941 |
|
| 942 |
+
# Ensure original data has generation info for the comparison display.
|
| 943 |
+
# When no beam was selected (multi-token without "Select for Comparison"),
|
| 944 |
+
# activation_data lacks generated_tokens/per_position_top5.
|
| 945 |
+
original_data_for_display = activation_data
|
| 946 |
+
if not activation_data.get('generated_tokens'):
|
| 947 |
+
original_beam_results = perform_beam_search(
|
| 948 |
+
model, tokenizer, prompt, beam_width, max_new_tokens
|
| 949 |
+
)
|
| 950 |
+
if original_beam_results:
|
| 951 |
+
original_text = original_beam_results[0]['text']
|
| 952 |
+
original_data_for_display = execute_forward_pass(
|
| 953 |
+
model, tokenizer, original_text, config, original_prompt=prompt
|
| 954 |
+
)
|
| 955 |
+
# Auto-populate selected_beam for text display
|
| 956 |
+
if not selected_beam:
|
| 957 |
+
selected_beam = {
|
| 958 |
+
'text': original_text,
|
| 959 |
+
'score': original_beam_results[0].get('score', 0)
|
| 960 |
+
}
|
| 961 |
+
|
| 962 |
ablated_output = ablated_data.get('actual_output', {})
|
| 963 |
ablated_token = ablated_output.get('token', '')
|
| 964 |
ablated_prob = ablated_output.get('probability', 0)
|
| 965 |
|
| 966 |
results_display = create_ablation_results_display(
|
| 967 |
+
original_data_for_display, ablated_data,
|
| 968 |
selected_heads, selected_beam, ablated_beam
|
| 969 |
)
|
| 970 |
|