界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
数据与研究 · SKILL.md

evaluation-and-training

evaluation-and-training

【数据与研究】Route sentence-transformers evaluation and training tasks across SentenceTransformer, CrossEncoder, and SparseEncoder trainers, losses, evaluators, dataset shapes, samplers, smoke tests, and safe training scaffolding.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: evaluation-and-training description: "Route sentence-transformers evaluation and training tasks across SentenceTransformer, CrossEncoder, and SparseEncoder trainers, losses, evaluators, dataset shapes, samplers, smoke tests, and safe training scaffolding." disable-model-invocation: true metadata: disco-role: operating license: Apache 2.0

Evaluation and Training

Use this sub-skill when a task asks how to evaluate, fine-tune, smoke-test, or debug training for SentenceTransformer, CrossEncoder, or SparseEncoder models.

Keep this file as the router. Open the references before writing code or giving final training advice.

Route by request

RequestRead firstUse for
Build a safe training workflowreferences/training-reference.mdTrainer classes, training args, datasets, samplers, model cards, baseline eval, smoke tests
Pick evaluator or metric_for_best_modelreferences/evaluation-reference.mdEvaluator families, primary metric keys, baseline/final eval practice
Match data shape to lossreferences/loss-routing.mdDense, reranker, sparse, distillation, pair/list/triplet routing
Diagnose failuresreferences/troubleshooting.mdInstall extras, API misuse, metrics, samplers, optional backends/services
Validate a proposed plan without trainingscripts/training_plan_check.pyStatic checks for model type, data shape, loss, evaluator, sampler, and extras

Model-type routing

  • Use SentenceTransformerTrainer for dense bi-encoders: retrieval embeddings, STS, clustering, paraphrase mining, distillation, Matryoshka, static embeddings, and most vector-search fine-tuning.
  • Use CrossEncoderTrainer for rerankers or pair classifiers: pair scoring, top-K reranking, NLI-style classification, BCE/ranking/listwise reranker losses.
  • Use SparseEncoderTrainer for SPLADE-style learned sparse retrieval: sparse vectors, inverted-index retrieval, FLOPS regularization, sparse/distillation losses.
  • If the task is really about choosing model architecture, prompts, multimodal support, reranking inference, sparse search, or backend export, route to the relevant model or backend sub-skill first, then return here for evaluation/training details.

Non-negotiable training checks

  • Install the training stack before training: pip install "sentence-transformers[train]"; add image, audio, or video extras only for multimodal data.
  • Use datasets.Dataset or DatasetDict; label columns must be named label, labels, score, or scores; other columns are inputs and their order matters.
  • Run the evaluator once before trainer.train() to record a baseline, then compare final or best-checkpoint metrics against it.
  • For contrastive dense/sparse losses, set batch_sampler=BatchSamplers.NO_DUPLICATES; for batch triplet losses, use BatchSamplers.GROUP_BY_LABEL.
  • For multi-dataset training, set multi_dataset_batch_sampler=MultiDatasetBatchSamplers.PROPORTIONAL or ROUND_ROBIN deliberately.
  • Smoke-test every long run with a tiny dataset slice and max_steps=1 before committing GPU time.

Script quick check

Run the bundled checker to catch common plan mismatches before writing a full script:

python sub-skills/evaluation-and-training/scripts/training_plan_check.py \
  --model-type cross-encoder \
  --data-shape pair-binary \
  --loss BinaryCrossEntropyLoss \
  --evaluator CrossEncoderRerankingEvaluator

The checker is static and does not import or train sentence-transformers; it validates routing assumptions and prints warnings to carry into the real script.

我的收藏