Downloads · 30 days
10
25% of all-time downloads
MaestroS231/relict-core-objective-resolution-qlora
relict-core-objective-resolution-qlora is a text generation model from MaestroS231. Use it when you need the model to write or continue text. It is set up for peft. The card lists the license as agpl-3.0.
QLoRA adapter fine-tuned on top of Qwen/Qwen3-4B-Instruct-2507, built for Relict Core's Objective Resolution task: turning a natural-language biological/gene-editing objective into a structured, machine-readable resol…
Downloads · 30 days
10
25% of all-time downloads
All-time downloads
40
Public
Repo size
77.6 MB
Likes
0
Public
Click a slice to open those files.
.safetensors66.1 MB · 85%
From the Hugging Face model README
QLoRA adapter fine-tuned on top of Qwen/Qwen3-4B-Instruct-2507, built for Relict Core's Objective Resolution task: turning a natural-language biological/gene-editing objective into a structured, machine-readable resolution.
Relict Core is a self-hostable engine that turns a stated research objective into an evidence-grounded, constrained editing strategy. This adapter is the model component of the first pipeline stage — it does not retrieve evidence, plan a strategy, or validate anything; it only resolves what the user is actually asking for, or flags that the request is too ambiguous to proceed without clarification.
Given an objective (e.g. "Increase drought tolerance in wheat by upregulating the DREB1A transcription factor pathway"), the model outputs a structured object:
{
"target_phenotypes": [...],
"biological_processes": [...],
"desired_change": "...",
"relevant_concepts": [...],
"retrieval_targets": [...],
"ambiguity_status": "CLEAR"
}
If the objective can't be resolved without guessing — a missing direction, an
underspecified parameter, a vague request like "make the crop overall better" —
ambiguity_status is "CLARIFICATION_REQUIRED" and every other field is null.
The model is trained to prefer asking for clarification over fabricating a
resolution; a false "CLEAR" is considered worse than an unnecessary
clarification request.
Evaluated against a 48-example, 6-domain held-out set (agriculture, conservation,
de-extinction, population-control, precision-medicine, synthetic-biology),
comparing this fine-tuned adapter against the prompted Qwen3-4B-Instruct-2507
baseline on ambiguity_status match:
| Passed | |
|---|---|
| Baseline (prompted, no fine-tune) | 45 / 48 |
| This adapter | 47 / 48 |
This adapter has one identified, reproducible failure mode: objectives involving
MHC (major histocompatibility complex) genetic-diversity language in
conservation-domain contexts are prone to being incorrectly flagged as
CLARIFICATION_REQUIRED even when the objective is actually clear. Example:
"Increase genetic diversity at the MHC class II locus in the captive black
rhino population" — a genuinely clear objective — is misclassified by this
adapter (baseline classifies it correctly).
This traces to a data quality issue in a subset of conservation-domain training records that were mislabeled during dataset construction (correct, clear content paired with an incorrect ambiguity label). It is a training-data problem, not architectural — retested against two different checkpoints from the same training run with identical results, ruling out undertraining/overfitting as the cause. Treat outputs on conservation-domain, genetic-diversity-related objectives with extra scrutiny until the underlying training data is corrected and the model is retrained.
Loading this adapter requires a CUDA-capable GPU. Base model loading uses 4-bit
quantization via bitsandbytes, which does not run on CPU-only or non-NVIDIA
hardware. There is currently no CPU-compatible (GGUF/llama.cpp) build of this
adapter.
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
from peft import PeftModel
BASE_MODEL = "Qwen/Qwen3-4B-Instruct-2507"
ADAPTER = "MaestroS231/relict-core-objective-resolution-qlora"
bnb_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_compute_dtype=torch.bfloat16,
bnb_4bit_use_double_quant=True,
)
base_model = AutoModelForCausalLM.from_pretrained(
BASE_MODEL, quantization_config=bnb_config, device_map="auto"
)
model = PeftModel.from_pretrained(base_model, ADAPTER)
tokenizer = AutoTokenizer.from_pretrained(ADAPTER)
messages = [{"role": "user", "content": "<your formatted objective-resolution prompt>"}]
input_text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(input_text, return_tensors="pt").to(model.device)
output_ids = model.generate(**inputs, max_new_tokens=512, do_sample=False, pad_token_id=tokenizer.pad_token_id)
print(tokenizer.decode(output_ids[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))
trl's SFTTrainerpyproject.toml in the Relict Core repository
for exact pinned versions used in this project.