Bruv1-0.8B
Bruv1-0.8B is a locally fine-tuned Qwen3.5-0.8B text decision model. It reads an evidence state, a question, and two to sixteen labeled options, then scores the next-token letters A–P. The merged checkpoint works with Hugging Face Transformers; the .kevala pack in this repository runs in Kevala. Training code and pinned recipes are open source.
The starting data mixture and one-epoch LoRA settings come from Together's Tev1 recipe at revision 57399714e6b5ef215c9c821cab35a7d5fbc5482b. Bruv is a separate local training implementation and does not use Together's training service or weights. It uses Kevala's direct-option prompt and conditional label loss, rather than Tev1's full completion and EOS loss.
Training
- Base:
Qwen/Qwen3.5-0.8Brevision2fc06364715b967f1860aea9cf38778875588b17. - Data: all 37,840 Tev1
new-v1training records, one epoch; 4,568 development records. The sources are MultiNLI, BoolQ, Banking77, AG News, SST-5, synthetic policies, routing, and research classification. Records with 24 options were deterministically reduced to 16 while retaining the correct answer. No raw records are redistributed here. - Objective: cross-entropy over only the valid A–P next-token logits at the end of Kevala's non-thinking Qwen chat prompt. No sequence packing.
- Optimizer: LoRA rank 8, alpha 16, all linear transformer projections, AdamW, learning rate
5e-5, 3% warmup, cosine decay, effective batch 8 (2 × 4accumulation), seed 42, maximum input 2,048 tokens. All 37,840 records fit without truncation. - Hardware: NVIDIA GeForce RTX 5070 Ti 16 GB, BF16. 4,730 optimizer steps took 1,879 seconds. Peak PyTorch allocated GPU memory was 6.74 GiB.
- Training input SHA-256:
81eba531a7e49b7846cf94f386cca6b493de103f5a071676579e985db77697a5.
Tev1's table and builder total 37,840 training examples. The article's prose also states 38,340; that figure does not match its table or this pinned build. Tev1's published starting script specifies one epoch. Its exact historical hosted job configuration was not independently verified.
Evaluation
Both columns use BF16 original or merged weights with the same prompt and direct-option scorer. Accuracy is the fraction of records with the correct option letter.
| Split | Records | Frozen Qwen | Bruv1-0.8B |
|---|---|---|---|
| Development | 4,568 | 43.4% | 84.9% |
| Held-out test | 2,800 | 37.7% | 80.1% |
| Transfer policies and routing | 1,800 | 30.3% | 79.1% |
| Research classification challenge | 768 | 63.7% | 95.4% |
These splits come from Tev1's builder and share task families with its training mixture. They do not establish broad reasoning ability, safety behavior, or calibrated confidence. Kevala's separate browser decision ranking measures the quantized pack on different fixtures, including option rotations.
Kevala pack
bruv1-0.8b-q8.kevala is 855,225,920 bytes, SHA-256 263504207975b9b739c110dc2a40d84c3e5c4ed8abb1dd8167d460189d9f4ad4. It was converted from this merged checkpoint at source revision 178d1cd9b3965e32a50aba1c812b6795e8dc74bb using Kevala's Qwen3.5 architecture converter. On 12 reference requests, the native Q8 pack matched the original FP32 model's token IDs and selected option every time; maximum absolute option-probability difference was 0.011643. These are parity fixtures, not an accuracy estimate.
Use
from transformers import AutoModelForCausalLM, AutoTokenizer
repo = "bvolpato/bruv1-0.8b"
tokenizer = AutoTokenizer.from_pretrained(repo)
model = AutoModelForCausalLM.from_pretrained(repo, dtype="auto")
Use the Bruv evaluation and prompt code to score option letters consistently. Ordinary text generation is not the evaluated behavior. In Kevala, select Bruv 0.8B or load the named pack through the typed decision API.
The Qwen base weights are Apache 2.0, Bruv code is MIT, and the public source datasets have separate terms. See Tev1's source provenance. This model card does not assert that every underlying dataset permits unrestricted commercial redistribution.