← Lesson
Fine-Tuning
Joeven
Run
Reset
Python loads on first run
import math vocab = ["search", "sql", "finish"] logits = [0.2, 0.2, 0.2] gold = 1 def ce(logits, k): m = max(logits) exps = [math.exp(z - m) for z in logits] z = sum(exps) p = exps[k] / z return -math.log(max(p, 1e-12)), p loss0, p0 = ce(logits, gold) print("before loss", round(loss0, 3), "p_gold", round(p0, 3), "argmax", vocab[max(range(3), key=lambda i: logits[i])]) logits[gold] += 1.5 loss1, p1 = ce(logits, gold) print("after loss", round(loss1, 3), "p_gold", round(p1, 3), "argmax", vocab[max(range(3), key=lambda i: logits[i])]) print("logits", [round(x, 3) for x in logits]) print("SFT is this idea on millions of tokens")
Run to execute this in your browser. Nothing is sent to a server.