Views
No views yet
google/gemma-3-4b-itgoogle/gemma-3-4b-it and answer questions about
them in natural language, trained with LatentQA.read0 through read33 (34 layers),
each a LoRA adapter (r=32, alpha=64, dropout=0.05) over all attention and MLP
projections. All were trained with layer_to_write=0 for 8105 steps.
Tokenizer files sit at the repo root and apply to every layer.1import torch
2from transformers import AutoModelForCausalLM, AutoTokenizer
3from peft import PeftModel
4
5REPO = "copenlu/CulTrace-latentqa-decoder-gemma-3-4b-it"
6BASE = "google/gemma-3-4b-it"
7
8# The tokenizer carries a pad token the base model does not ship with.
9tokenizer = AutoTokenizer.from_pretrained(REPO, padding_side="left", add_eos_token=True)
10tokenizer.pad_token_id = 0
11
12decoder = AutoModelForCausalLM.from_pretrained(BASE, torch_dtype=torch.bfloat16)
13decoder.resize_token_embeddings(len(tokenizer)) # required -- see below
14decoder = PeftModel.from_pretrained(decoder, REPO, subfolder="read15")resize_token_embeddings must run before the adapter is attached: training
resized the embedding matrix to len(tokenizer), and the LoRA weights were
fitted against that geometry. Skipping it gives a shape mismatch or silently
wrong logits.