Text Classification
Transformers
Safetensors
English
qwen3_5_text
text-generation
system-one
typed-decisions
decision-model
calibrated-probabilities
knowledge-distillation
jev
noul
choice
score
lora
qwen3_5
dual-head
vllm
Eval Results (legacy)
Instructions to use autotrust/JEV with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use autotrust/JEV with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-classification", model="autotrust/JEV")# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("autotrust/JEV") model = AutoModelForCausalLM.from_pretrained("autotrust/JEV", device_map="auto") - Notebooks
- Google Colab
- Kaggle
File size: 2,238 Bytes
b16c3a6 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | #!/usr/bin/env python3
"""HumanEval pass@1 through vLLM (AR path of a dual-head bundle). Same prompts / truncation / checker as humaneval.py.
python3 scripts/vllm_humaneval.py --model exports/jev-judge-qwen35-9b-v0.8 --out reports/humaneval_vllm_9b.json
"""
from __future__ import annotations
import argparse
import json
import os
import sys
import time
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
from humaneval import load_problems, run_check, truncate # noqa: E402
def main() -> None:
ap = argparse.ArgumentParser()
ap.add_argument("--model", required=True)
ap.add_argument("--out", required=True)
ap.add_argument("--max-new-tokens", type=int, default=384)
ap.add_argument("--gpu-mem", type=float, default=0.85)
args = ap.parse_args()
from vllm import LLM, SamplingParams
problems = load_problems()
t0 = time.time()
llm = LLM(model=args.model, dtype="bfloat16", gpu_memory_utilization=args.gpu_mem, max_model_len=4096,
enable_prefix_caching=False)
load_s = time.time() - t0
sp = SamplingParams(temperature=0.0, max_tokens=args.max_new_tokens)
t0 = time.time()
outs = llm.generate([p["prompt"] for p in problems], sp, use_tqdm=False)
gen_s = time.time() - t0
n_tok = sum(len(o.outputs[0].token_ids) for o in outs)
results, passed = [], 0
for p, o in zip(problems, outs):
comp = truncate(o.outputs[0].text)
ok, err = run_check(p["prompt"] + comp + "\n\n" + p["test"] + "\n" + f"check({p['entry_point']})\n")
passed += ok
results.append({"task_id": p["task_id"], "passed": ok, "completion": comp, "error": err})
summary = {"model": args.model, "engine": "vllm", "n": len(problems), "passed": passed, "pass@1": passed / len(problems),
"generation_s": gen_s, "generated_tokens": n_tok, "gen_tok_per_s": n_tok / gen_s, "load_s": load_s, "results": results}
with open(args.out, "w") as f:
json.dump(summary, f, indent=1)
print(f"vLLM HumanEval pass@1 = {passed/len(problems):.4f} ({passed}/{len(problems)}) | generation {gen_s:.1f}s "
f"({n_tok/gen_s:.0f} generated tok/s) | load {load_s:.0f}s -> {args.out}")
if __name__ == "__main__":
main()
|