Train your own embedding model
Beat the baseline & ship·5 min

The baseline

0 / 1

Before claiming victory, establish the bar. The baseline is the un-trained encoder: random init, mean-pool, L2-normalize, brute-force cosine — 'embeddings without learning.' On the frozen eval set it scores well below the trained model, and because nothing about it is random at grade time (fixed init, fixed set), its recall is a single reproducible number.

baseline = encode with the frozen init, no training
params = initParams(initSeed)        # random, untrained
recall5(params, evalSet)             # ≈ 0.44 on our pool
The number you have to crush

The baseline recall is reported right next to the trained recall in the next step ({recall, baselineRecall}). It is low on purpose — it is exactly what the contrastive training has to beat by a wide margin.