Relict Core β€” Objective Resolution (Task 1) QLoRA Adapter

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.

What it does

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.

Evaluation

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

Known limitation

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.

Requirements

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.

Usage

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))

Training details

  • Base model: Qwen/Qwen3-4B-Instruct-2507
  • Method: QLoRA, 4-bit quantization, LoRA rank 16, alpha 32
  • Dataset: 2,502 records across 6 domains (agriculture, conservation, de-extinction, population-control, precision-medicine, synthetic-biology), 30/30/20/20 split across four structural categories (standard-clear, direction-ambiguous, fully-vague, multi-goal-clear)
  • Trained with trl's SFTTrainer

Framework versions

  • PEFT 0.20.0
  • Transformers, PyTorch, TRL: see pyproject.toml in the Relict Core repository for exact pinned versions used in this project.
Downloads last month
21
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for MaestroS231/relict-core-objective-resolution-qlora

Adapter
(5676)
this model