Views
No views yet
Diamegs/PIT-4B-FT-202212 on synthetic and natural QA pairs derived from S&P-500 earnings-call transcripts. Built under point-in-time (PIT) discipline: the base model is pretrained on a chronologically-filtered FineWeb snapshot ending December 2022, and the SFT corpus is restricted to transcripts dated on or before the same cutoff, so no future information leaks into training.Diamegs/PIT-4B-FT-202212 (4B params, decoder-only, 2048-token context, instruction-tuned PIT checkpoint)| Bucket | Context | Question | Answer |
|---|---|---|---|
| Forward synthetic | Full prepared remarks (anonymized for generation) | Qwen2.5-32B-generated | Extracted evidence span |
| Forward natural | Embedding-selected paragraphs (BGE-base-en-v1.5) | Analyst question (verbatim) | Management response (echo-stripped) |
| Inverse natural | Management response | Template rotation | Analyst question (verbatim) |
| Unanswerable | Prepared remarks (anonymized) | Grounded but unanswerable | Fixed refusal |
transformers + peft + trl.SFTTrainer<|user|>\n...<|end|>\n<|assistant|>\n...<|end|>)verify_and_filter.py)run_config.json in this repo. Per-step training metrics: sft.metrics.csv.Diamegs/PIT-4B-FT-202212.1from peft import AutoPeftModelForCausalLM
2from transformers import AutoTokenizer
3
4repo = "jdecim/SFT_202212-earnings-sft"
5
6tok = AutoTokenizer.from_pretrained(repo, trust_remote_code=True)
7model = AutoPeftModelForCausalLM.from_pretrained(
8 repo, trust_remote_code=True, torch_dtype="bfloat16",
9)
10model.eval()
11
12prompt = "<|user|>\nWhat did management say about Q3 margins?\n<|end|>\n<|assistant|>\n"
13inputs = tok(prompt, return_tensors="pt").to(model.device)
14out = model.generate(**inputs, max_new_tokens=256)
15print(tok.decode(out[0], skip_special_tokens=False))jdecim/SFT_202112-earnings-sft — same recipe, base Diamegs/PIT-4B-FT-202112 (2021-12 cutoff)