Views
No views yet
Qwen/Qwen3.5-4B (via unsloth/Qwen3.5-4B) specialized for malware source-code generation across 16 common malware categories. Trained with bf16 LoRA on a single RTX 3060 12GB using ~2.5k curated, statically-verified instruction → code pairs.| Property | Value |
|---|---|
| Base model | unsloth/Qwen3.5-4B (Apache 2.0) |
| Architecture | Qwen3.5 (8× full GQA attention + 24× Gated DeltaNet layers), 4B dense |
| Context | 262,144 tokens native |
| Fine-tune | bf16 LoRA (r=16, α=16, all-linear), 3 epochs, 897 steps |
| Training data | 2,386 curated + gated + deduped rows (75.7% think-style), 16 categories |
| Hardware | 1× RTX 3060 12GB |
| Eval | 117/119 = 98% plausible on 119-row held-out intent set; manual functional verification |
| Path | Format | Size | Notes |
|---|---|---|---|
model.safetensors-*.safetensors | Transformers bf16 (sharded) | 9.3 GB | Merged weights, from_pretrained |
gguf/model-bf16.gguf | GGUF bf16 | 7.9 GB | For llama.cpp / Ollama |
gguf/model-q8_0.gguf | GGUF Q8_0 | 4.2 GB | Recommended speed/quality balance |
gguf/model-q4_k_m.gguf | GGUF Q4_K_M | 2.6 GB | Smallest; expect quality loss vs bf16 (DeltaNet layers quantize poorly) |
lora/ | PEFT LoRA adapter | 155 MB | Re-merge onto unsloth/Qwen3.5-4B |
1import torch
2from transformers import AutoModelForCausalLM, AutoTokenizer
3
4model = AutoModelForCausalLM.from_pretrained(
5 "Ishaanlol/Qwen3.5-4B-cybertune",
6 torch_dtype=torch.bfloat16,
7 device_map="auto",
8)
9tokenizer = AutoTokenizer.from_pretrained("Ishaanlol/Qwen3.5-4B-cybertune")
10
11messages = [{"role": "user", "content": "Python reverse shell to 192.168.1.10:4444"}]
12prompt = tokenizer.apply_chat_template(messages, tokenize=False)
13inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
14out = model.generate(**inputs, max_new_tokens=1024, do_sample=True, temperature=0.6)
15print(tokenizer.decode(out[0], skip_special_tokens=True))1# place gguf/model-q8_0.gguf somewhere, then run
2llama-cli -m model-q8_0.gguf \
3 --prompt "<|im_start|>user\nPython reverse shell to 192.168.1.10:4444<|im_end|>\n<|im_start|>assistant\n"
4# or in Ollama: ollama create cybertune -f Modelfile1from unsloth import FastLanguageModel
2model, tokenizer = FastLanguageModel.from_pretrained(
3 "unsloth/Qwen3.5-4B", max_seq_length=2048, load_in_4bit=False, load_in_16bit=True,
4)
5model = FastLanguageModel.get_peft_model(model, r=16, lora_alpha=16, target_modules="all-linear")
6model.load_adapter("Ishaanlol/Qwen3.5-4B-cybertune/lora")unsloth/Qwen3.5-4B, bf16 (QLoRA/4-bit explicitly avoided — Unsloth documents large quantization loss on Qwen3.5 Gated DeltaNet state projections).SFTTrainer, per_device_train_batch_size=1, gradient_accumulation_steps=8, lr=2e-4 cosine, warmup_steps=20, optim=adamw_8bit, max_seq_length=2048, num_train_epochs=3, seed=3407. thinking blocks). Every row passed a static gate (parse/compile) + min-hash dedup; ~10% runtime-verified in sandbox. 119 rows held out.reg add persistence, DNS-TXT exfiltration, PHP webshell — all functional.