canho/qwen3-emb-0.6b-msmarco-n2506-ckpt40
Qwen/Qwen3-Embedding-0.6B full fine-tuned with ms-swift InfoNCE, checkpoint at step 40 of 375
(epoch 0.54; best eval-loss checkpoint of the run so far: checkpoint-40).
- Training data: microsoft/ms_marco v1.1 train, 2,506 queries sampled with seed 42 (exactly 1 selected passage; the first 9 unselected passages of the same query as hard negatives)
- Recipe: Qwen3-Embedding SWIFT.md (
swift sft --task_type embedding --loss_type infonce), lr 6e-6 (cosine), 5 epochs, 2 GPUs x per-device 4 x grad-acc 4 = 32 queries/step, in-batch negatives across the 8 queries of a micro-batch, temperature 0.1, DeepSpeed ZeRO-3, bf16, 5% held out for eval, checkpoint every 20 steps, seed 42. - Query prompt (set in
config_sentence_transformers.json, prepended to every query): 'Query:'; documents without a prompt.
from sentence_transformers import SentenceTransformer
m = SentenceTransformer("canho/qwen3-emb-0.6b-msmarco-n2506-ckpt40", processor_kwargs={"padding_side": "left"})
q = m.encode(["..."], prompt_name="query"); d = m.encode(["..."])