Skip to page content
SAVRN
Search Plan a project

Open-weight model · Text generation

kinshield-gpt-oss-20b-lora

by Solomonwilsonr Solomonwilsonr/kinshield-gpt-oss-20b-lora

kinshield-gpt-oss-20b-lora is an open-weight model for text generation from Solomonwilsonr, released under Apache License 2.0. Its published files total 768.0 MB.

A QLoRA adapter for OpenAI's gpt-oss-20b that turns it into KinShield's phone-call evidence detector. KinShield is an entry in the AWS "Zero to Shipped" hackathon.

Parameters—
Context—
Weights740.1 MB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads—

Model Card

By Solomonwilsonr, published under apache-2.0, revision b11e609084bc.

A QLoRA adapter for OpenAI's gpt-oss-20b that turns it into KinShield's phone-call evidence detector. KinShield is an entry in the AWS "Zero to Shipped" hackathon. The model reads a call transcript and returns strict JSON with: - a risk level (LOW / MEDIUM / HIGH) and a score - every warning sign, with the exact quoted line, a timestamp, one of 7 fixed signals and a weight It answers directly on the harmony final channel, without writing out reasoning first. Status: this is a research result. The live KinShield app still uses the stock gpt-oss-20b on Amazon Bedrock. This adapter is not hosted anywhere public. The adapter matches gpt-oss-120b, a model about 6× larger, and edges out the stock…

Read Solomonwilsonr's full model card

A QLoRA adapter for OpenAI's gpt-oss-20b that turns it into KinShield's phone-call evidence detector. KinShield is an entry in the AWS "Zero to Shipped" hackathon. The model reads a call transcript and returns strict JSON with: - a risk level (LOW / MEDIUM / HIGH) and a score - every warning sign, with the exact quoted line, a timestamp, one of 7 fixed signals and a weight

It answers directly on the harmony final channel, without writing out reasoning first.

Status: this is a research result. The live KinShield app still uses the stock gpt-oss-20b on Amazon Bedrock. This adapter is not hosted anywhere public.

Results: 63 hand-written benchmark calls (31 scams, 32 safe), none used in training

Model Correct Scams rated HIGH Scams flagged (MEDIUM or HIGH) Safe calls flagged
gpt-oss-20b, stock (Bedrock, same prompt) 61/63 29/31 31/31 0/32
gpt-oss-120b, stock (Bedrock, reasoning medium) 62/63 30/31 31/31 0/32
gpt-oss-20b + this LoRA 62/63 30/31 31/31 0/32

The adapter matches gpt-oss-120b, a model about 6× larger, and edges out the stock 20b by one call (scam_031). On the original 47-call set, all three score 46/47. The gain is small and the test set is small, so read it as "matches 120b", not "beats it".

This model then taught KinShield-Tiny v3, a 22M int8 classifier. v3 improved from 57/63 to 60/63 over v2, which learned from the stock 20b.

How it was made

  1. Data. gpt-oss-20b on Bedrock generated 1,565 synthetic calls: scams, hard negatives and ordinary calls, in English and Hinglish.
  2. Stronger labels. gpt-oss-120b (reasoning medium) labelled every call with KinShield's detector prompt and the same server-side normalisation.
  3. Intent filter. A label was kept only if it agreed with what the call was written to be: scams must score MEDIUM or HIGH, and safe calls must score LOW. The 120b label was used first, with the 20b label as a fallback. 151 calls that neither model labelled correctly were dropped, leaving 1,201 calls for training and 213 for validation.
  4. QLoRA. Trained with Unsloth on an NVIDIA DGX Spark (GB10): - 4-bit base model, LoRA rank 16 (alpha 32) on q/k/v/o and the MoE gate_up_proj/down_proj - 2 epochs, learning rate 2e-4 with a cosine schedule, effective batch 8, maximum length 3,072 - loss on the assistant answer only

Training took 90 minutes and used about 19 GB. Validation loss fell 0.049 → 0.039 → 0.037 → 0.035.

Use

from unsloth import FastLanguageModel
model, tok = FastLanguageModel.from_pretrained("Solomonwilsonr/kinshield-gpt-oss-20b-lora",
                                               max_seq_length=3072, load_in_4bit=True)
FastLanguageModel.for_inference(model)
SYSTEM = open("system_prompt.txt").read()  # KinShield detector prompt, included in this repo
prompt = tok.apply_chat_template(
    [{"role": "system", "content": SYSTEM},
     {"role": "user", "content": "[00:00] caller: Grandma, it's me...\n[00:05] victim: Leo?"}],
    tokenize=False, add_generation_prompt=True, reasoning_effort="low") + "<|channel|>final<|message|>"
out = model.generate(**tok(prompt, return_tensors="pt", add_special_tokens=False).to("cuda"),
                     max_new_tokens=800, do_sample=False)

Important: append <|channel|>final<|message|> to the generation prompt, exactly as in training. Without it, the model may start a short analysis channel first.

Limits

  • Synthetic data only. All training data is synthetic and LLM-labelled; there are no real calls. The test set is 63 calls written by the same team, so a single call moves accuracy by about 1.6 points.
  • Slower than the hosted model. On the DGX Spark (HF generate, 4-bit, batch 8) it takes about 5 s per call. The stock model on Bedrock answers in under 1 s.
  • Text only. It handles English and Hinglish transcripts. It doesn't detect voice cloning; it reasons about what the caller asks for.
  • Not a safety guarantee. It is a hackathon research prototype. Don't use it to make decisions about real people.

Identity and Version

Repository
Solomonwilsonr/kinshield-gpt-oss-20b-lora
Publisher
Solomonwilsonr
Task
Text generation
Modality
Text
Library
peft
Parameters
Not stated by the source
Languages
en, hi
Revision
b11e609084bc3bad82e91d5d870d536fb726bebb
First published
2026-10-03
Last updated
2026-10-03

Files and Weights

9 files, 768.0 MB in total. The weights are 1 file totalling 740.1 MB in safetensors.

Weights1 file · 740.1 MB
Configuration2 files · 14.7 KB
Tokenizer2 files · 27.9 MB
Documentation1 file · 4.5 KB
Other2 files · 19.6 KB
Repository1 file · 1.6 KB
Every file
FileTypeSizeSHA-256
adapter_model.safetensorsWeights740.1 MB 86e2e5888535
adapter_config.jsonConfiguration1.6 KB —
train_meta.jsonConfiguration13.1 KB —
README.mdDocumentation4.5 KB —
chat_template.jinjaOther15.1 KB —
system_prompt.txtOther4.5 KB —
.gitattributesRepository1.6 KB —
tokenizer.jsonTokenizer27.9 MB 0614fe83cada
tokenizer_config.jsonTokenizer4.3 KB —

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
740.1 MB
Download from Solomonwilsonr

Released by Solomonwilsonr through its official repository on Hugging Face. Read the license.

Built From

  • Adapter of unsloth/gpt-oss-20b-unsloth-bnb-4bit
  • Derived from unsloth/gpt-oss-20b-unsloth-bnb-4bit

Memory Requirements

PrecisionWeights in memory
As published740.1 MB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Questions About kinshield-gpt-oss-20b-lora

Can I use kinshield-gpt-oss-20b-lora commercially?

Yes. kinshield-gpt-oss-20b-lora is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.

Similar Models

Model · Text generation

opt-125m

AI at Meta

OPT was first introduced in Open Pre-trained Transformer Language Models and first released in metaseq's repository on May 3rd 2022 by Meta AI. Disclaimer: The team releasing OPT wrote an official model card, which is available in Appendix D of the paper. Content from this model card has been written by the Hugging Face team. To quote the first two paragraphs of the official paper OPT was predominantly pretrained with English text, but a small amount of non-English data is still present within the training corpus via CommonCrawl. The model was pretrained using a causal language modeling (CLM) objective. OPT belongs to the same family of decoder-only models like GPT-3. As such, it was…

Open weights other 2,048 tokens transformers

Model · Text generation

Ornith-1.5-9B-GGUF

Ornith

Chirp Chirp! We are introducing Ornith-1.5, a major step toward building foundation models through end-to-end self-improvement. Ornith-1.5 extends Ornith-1.0 (which was developed on top of Qwen3.5 and Gemma4 with additional continued pretraining, mid-training, and post-training) by expanding the self-improvement loop from scaffold and rollout optimization to jointly optimizing task generation, scaffold construction, and solution rollouts. Rather than relying on a fixed set of human-curated tasks and manually designed harnesses, Ornith-1.5 continuously generates new training tasks, discovers effective strategies for solving them, and improves the policy through reinforcement learning. For…

Open weights mit transformers

Model · Text generation

Ornith-1.5-35B-A3B-GGUF

Ornith

Chirp Chirp! We are introducing Ornith-1.5, a major step toward building foundation models through end-to-end self-improvement. Ornith-1.5 extends Ornith-1.0 (which was developed on top of Qwen3.5 and Gemma4 with additional continued pretraining, mid-training, and post-training) by expanding the self-improvement loop from scaffold and rollout optimization to jointly optimizing task generation, scaffold construction, and solution rollouts. Rather than relying on a fixed set of human-curated tasks and manually designed harnesses, Ornith-1.5 continuously generates new training tasks, discovers effective strategies for solving them, and improves the policy through reinforcement learning. For…

Open weights mit transformers

Model · Text generation

Ternary-Bonsai-2-27B-gguf

Prism ML

Full 27B-class reasoning in ternary transformer weights, for llama.cpp (CUDA, Metal, CPU) - \~5.9 GB language model (down from \~54 GB FP16) — full 27B-class reasoning on a standard laptop or a single GPU - 98.2% of FP16 intelligence retained: 84.78 average across 14 thinking-mode benchmarks — far above the conventional IQ2XXS build (72.59) at about 82% of its footprint, and within 0.4 points of UD-Q4KXL at three times the footprint - Retains thinking, reasoning, and agentic behavior deep in the sub-4-bit regime, where conventional low-bit representations collapse: math within half a point of full precision (96.57), coding level with the baseline (89.42), agentic tool calling at 74.92…

Open weights apache-2.0 llama.cpp

Uncensored Qwen3.8-27B, published as GGUF quantizations with the multi token prediction (MTP) head retained and verified. Refusal behaviour has been substantially reduced, not eliminated. See Measured behaviour for the numbers. Capabilities, training data, and architecture are otherwise unchanged. - Refusal directions removed with Heretic, which co minimizes refusal count against KL divergence from the base model. No handwritten refusal removal code, no finetuning, no additional training data. - Abliteration runs at bf16 (no 4 bit quantization). the resulting LoRA is merged into the bf16 base, so the published weights are not a quantized round trip. - mtp. tensors are copied verbatim from…

Open weights apache-2.0 llama.cpp

Model · Text generation

Ornith-1.0-9B-GGUF

Ornith

Aloha! Today, we are releasing Ornith-1.0, a self-improving family of open-source models for agentic coding. This model card documents Ornith-1.0-9B, the most lightweight member of the Ornith family, designed for efficient single-GPU deployment. Ornith-1.0-9B is a dense ~9B model (≈19 GB in bf16), so it serves comfortably on a single 80GB GPU. The recipes below stand up an OpenAI-compatible server; add --tensor-parallel-size / --tp if you want to shard across more GPUs. For a quick local test (or to script offline generation), load the model directly with Transformers. Make sure you have a recent release installed — see the Transformers installation guide; Ornith-1.0-9B requires…

Open weights mit transformers