All tasks
Task · zero-shot-classification

Zero-shot classification

Train a fast calibrated zero-shot text classifier

Applied NLPInspired byTypesafe

Grading pipeline

  1. 1Collect · snapshotHarbor collects /workspace/outputimmutable submission · digest
    ›
  2. 2Reviewautomatic · trusted verifier6 task-local checks
    ›
  3. 3Preflighttask verifier checks config and databefore GPU provisioning
    ›
  4. 4Launch · readyoffline · 1× H100 80GBbash /submission/serve.shGET /health = 200 · ≤ 300 s
    ›
  5. 5Infer4400 × POST /classifyc=32 · ≤ 600 s
    ›
  6. 6ScoreCalibrated macro-F1
    ›
  7. 7Harbor resultresult.json · reward.txt

Environments

Entry
Harbor → tests/test.sh → grade.py → frontier_ml.grading.grade
Verifier
55 min · 4 CPU · 16 GiB
Agent
4 h · 2 CPU · 8 GiB
Network
public (trusted verifier) · offline (candidate inference)
Env
MODAL_TOKEN_IDMODAL_TOKEN_SECRETMODAL_ENVIRONMENTDAYTONA_API_KEYFML_GRADING_RESOURCESFML_GRADING_CREDENTIALS_SECRETOPENAI_API_KEYOPENROUTER_API_KEYHF_TOKENANTHROPIC_API_KEYFML_REVIEW_API_KEYFML_REVIEW_BASE_URLFML_REVIEW_MODELFML_REVIEW_BACKENDFML_REVIEW_PROVIDERFML_REVIEW_SKIPFML_REVIEW_AWS_REGIONAWS_BEARER_TOKEN_BEDROCKAWS_REGIONCODEX_API_KEY

Verifier config

concurrency
32
inference_timeout_seconds
600
require_h100
true
expected_samples
4400
verifier_lifetime_seconds
1800

Architecture review

A trusted reviewer reads the submission and trajectory and fails it on any of these checks.

  1. task_time_training
    Training code, configuration, substantive retained logs, immutable input provenance and the actual checkpoint inventory establish that learned parameters used for text/label classification were updated during this task. A newly trained head or adapter is sufficient; unchanged downloaded weights, a prompt wrapper, or only a fitted temperature/threshold is not. Check training_manifest.json against evidence; a declaration of steps alone is insufficient.
  2. no_evaluation_data_use
    Neither BTZSC nor any split of its underlying datasets, mirrors, subsets, paraphrases or teacher outputs on those examples were deliberately used for task-time training, distillation, calibration, prompting, hyperparameter/model selection or answer lookup. This includes AG News, Amazon Polarity, App Reviews, Banking77, Social Bias Frames, CAP/SOTU, DAIR Emotion, EmpatheticDialogues, Financial PhraseBank, IMDb, Manifesto, MASSIVE, Rotten Tomatoes, TrueTeacher, Wikipedia/Jigsaw toxicity, Yahoo Answers and Yelp reviews. Benchmark-specific supervised checkpoints are excluded. General pretrained LLMs/encoders are allowed despite unknowable incidental upstream exposure. Inspect dataset filtering and origins, especially mixtures such as tasksource; missing source provenance fails. Training splits and other public corpora outside these sources are allowed; the shipped development rows and public validation/test splits are judged by no_public_split_tuning.
  3. no_public_split_tuning
    The 500 shipped development rows (/task/public/validation.jsonl, DBpedia-14 test split) were used only to check the server locally (validate.py or equivalent). Training, fine-tuning, distillation, calibration (temperature, threshold or any calibrator fitting), prompt/hyperparameter/checkpoint selection by score, or answer lookup on those rows, or on the validation or test split of any other public dataset or benchmark, fails this check; training splits and other public corpora are allowed. Inspect training and calibration code, data loaders, training_manifest.json, logs and the trajectory for reads of validation.jsonl or of public validation/test splits that feed training, calibration or selection.
  4. no_jev_reproductions
    No code, trained checkpoints, training/distillation datasets or teacher outputs from open-source projects presented as reproductions of TypeSafe JEV/System One may be reused, including Jeff (logan-markewich/jeff), Laya (NandhaKishorM/laya), Open-Jev, jev-4b distillation artifacts, typesafe-diffusion-lab, forks, renamed copies and derivatives. Independent implementations of published ideas, generic Transformers/PyTorch libraries and ordinary pretrained LLMs/encoders are allowed. A model predating JEV is not prohibited merely because somebody later wraps it in a reproduction. Trace all reused model/code/data origins in training_manifest.json and the actual source.
  5. stateless_zero_shot_inference
    Trace POST /classify: probabilities depend only on the current text and label descriptions and the fixed trained artifact. No benchmark identification, stored examples/answers, retrieval index, hardcoded dataset-specific classifier/calibrator, cross-request adaptation, label-frequency fitting, or caching text/label predictions or label embeddings across requests. Reusing fixed weights, input-independent compiled kernels and allocated buffers is allowed. Dynamic batching of independent requests, within-request batching over labels and internally truncating input are allowed.
  6. actual_inference_uses_reviewed_weights
    Trace serve.sh, dependencies, model loading and the complete /classify response path. The reviewed task-trained weights actually produce the probabilities. No decoy checkpoint, concealed alternate model, external service, fake health/timing path or attempt to read/modify trusted grading files.