from causapscal.lens import Lens
= Lens.from_preset("gpt") lens
Loaded pretrained model gpt2 into HookedTransformer
Loaded pretrained model gpt2 into HookedTransformer
PHRASE = "Quelle est la couleur du chat de Hermione Granger?"
print(lens.model.to_str_tokens(PHRASE))
[ '<|endoftext|>', 'Q', 'uel', 'le', ' est', ' la', ' cou', 'le', 'ur', ' du', ' chat', ' de', ' Hermione', ' Granger', '?' ]
vocab = lens.model.to_string(t.arange(lens.model.cfg.d_vocab).unsqueeze(-1))
print(vocab[:5])
print(len(vocab))
['!', '"', '#', '$', '%']
50257
tensor([[50256, 48, 2731, 293, 1556, 8591, 2284, 293, 333, 7043, 8537, 390, 19959, 46236, 30]], device='cuda:0')
predictions = logits[0, -1, :].topk(k=5)
print(lens.model.to_string(predictions.indices.unsqueeze(-1)))
['\n', ' (', '\n\n', ' I', ' A']
str_tokens = filtered_to_str_tokens(lens.model, [PHRASE])
LAYER = 7
EXAMPLE = 0
for layer in range(lens.model.cfg.n_layers):
plot_attention_patterns(
cache["pattern", layer][EXAMPLE], str_tokens[EXAMPLE], layer=layer
)
PHRASE = "Ceci est une superbe phrase qui ne sert à - Sckathapscal Gorphineus Quantifilius Artificewick des Vents. Ceci est une superbe phrase qui ne sert à - Sckathapscal Gorphineus Quantifilius Artificewick des Vents."
str_tokens = filtered_to_str_tokens(lens.model, [PHRASE])
tokens = lens.model.to_tokens(PHRASE)
logits, cache = lens.model.run_with_cache(tokens)
['orph', 'morph', 'omorph', 'obi', 'omb']