Nexus Swarm Worker — FARCA-GRPO Adapter (Qwen3-8B)
LoRA adapter for the worker node in the NEXUS Swarm v4a-max distributed offensive security agent system. Reinforcement-learned from the SFT adapter using FARCA-GRPO (Factuality-Aware Reward with Claim Attribution + Group Relative Policy Optimization).
Role: Worker
The worker is the executor of the swarm. It receives specific, scoped subtasks from the orchestrator and executes them immediately with minimal reasoning. Designed to run on an RTX 3070 Laptop (8 GB) on the control node.
Core behavior:
- Execute delegated tasks with correct tool calls — no re-planning
- Keep reasoning to one sentence maximum before each tool call
- Parse and structure tool output for the orchestrator to consume
- Never delegate to other nodes — the worker is the executor
Pipeline Position
DAPT (offsec corpus) → SFT → FARCA-GRPO (this model) → DPO → GGUF
| Stage | Model |
|---|---|
| Base | Qwen/Qwen3-8B |
| SFT | atlas-institute/qwen3-8b-worker-sft |
| FARCA-GRPO (this) | atlas-institute/qwen3-8b-worker-farca |
| GGUF | atlas-institute/qwen3-8b-worker-gguf |
Swarm Topology
| Node | GPU | Role | Model |
|---|---|---|---|
| nexus-k1 | RTX 5060 Ti 16 GB | Orchestrator | Qwen3-14B Q4_K_M |
| nexus-control | RTX 3070 8 GB | Worker | Qwen3-8B Q4_K_M |
| nexus-3060 | RTX 3060 6 GB | Explore | Gemma-3-4B-it Q8_0 |
| nexus-opi5p | RK3588 NPU | Triage | Qwen3.5-0.8B w8a8 |
| nexus-opi5b | RK3588S ARM | Embeddings | — |
Training Details
FARCA-GRPO
FARCA extends standard GRPO with a factuality-aware reward signal. Claims in generated responses are extracted via rule-based methods, verified against reference documents using NLI, and scored for semantic relevance using sentence embeddings.
- Prompt dataset: atlas-institute/code-trainer-v11-grpo-worker (400 prompts)
- Generations per prompt: 4
- Learning rate: 5e-7
- KL coefficient: 0.1
- Max new tokens: 768
- Claim extraction: Rule-based
- NLI model: vectara/hallucination_evaluation_model
- Sentence encoder: all-MiniLM-L6-v2
- NLI weight / Rule weight: 0.4 / 0.6
- Precision: BF16
- Hardware: NVIDIA A100 80 GB (HuggingFace Jobs)
Worker-Specific Reward Weights
The worker reward function emphasizes execution correctness over reasoning depth:
| Component | Weight | Rationale |
|---|---|---|
has_valid_tool_call_tags |
0.25 | Correct format is critical for tool execution |
tool_name_in_schema |
0.20 | Must call real tools only |
no_hallucinated_tools |
0.15 | No invented tool names |
ends_cleanly_after_tag |
0.15 | Clean output termination |
tool_selection_quality |
0.10 | Right tool for the job |
reasoning_efficiency |
0.10 | Concise reasoning preferred |
has_reasoning_prefix |
0.05 | Minimal reasoning — worker shouldn't over-think |
persona_aligned_reasoning |
0.00 | Disabled — execution focus, not persona |
Validation gate: tool_call_pass_rate ≥ 0.85 across 14 scenarios.
Usage
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
base_model = AutoModelForCausalLM.from_pretrained(
"Qwen/Qwen3-8B", torch_dtype="auto", device_map="auto"
)
model = PeftModel.from_pretrained(base_model, "atlas-institute/qwen3-8b-worker-farca")
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen3-8B")
messages = [
{"role": "system", "content": "You are a worker node. Execute the delegated task immediately."},
{"role": "user", "content": "Parse nmap XML output and return open ports with service versions as JSON."},
]
inputs = tokenizer.apply_chat_template(messages, return_tensors="pt").to(model.device)
outputs = model.generate(inputs, max_new_tokens=768)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
Developed By
Atlas Institute — Code-Trainer (RTPI) pipeline.
Framework Versions
- PEFT: 0.19.1
- Transformers: 5.7.0
- TRL: 1.3.0
- PyTorch: 2.11.0+cu128