Views
No views yet

This is a fully merged model — the LoRA adapter weights have been merged directly into the base model weights.✅ No adapter loading needed. Load and run directly withtransformers,vLLM, orSGLang.💾 Size: ~17 GB (4 safetensor shards)🔌 Lightweight adapter version: E27085921/HIKARI-Deneb-8B-SkinDx-Cascade-LoRA (~1.1 GB)
| Property | Value |
|---|---|
| Task | 10-class skin disease diagnosis (Stage 2) |
| Base model | Qwen/Qwen3-VL-8B-Thinking |
| Init weights | HIKARI-Subaru group classifier (cascaded) |
| Val accuracy (no RAG) | 74.00% |
| Val accuracy (R2 α=0.9) | 79.80% (with RAG retrieval at inference) |
| Model type | Merged full model |
| Training Start | Accuracy | Reason |
|---|---|---|
| Raw base model (Altair) | 74.00% | Learns disease features from scratch |
| Group Classifier weights (Deneb) | 79.80% | Pre-trained on inter-group visual comparison |
transformers1from transformers import Qwen3VLForConditionalGeneration, AutoProcessor
2import torch
3from PIL import Image
4
5model_id = "E27085921/HIKARI-Deneb-8B-SkinDx-Cascade"
6
7processor = AutoProcessor.from_pretrained(model_id, trust_remote_code=True)
8model = Qwen3VLForConditionalGeneration.from_pretrained(
9 model_id, torch_dtype=torch.bfloat16, device_map="auto", trust_remote_code=True
10)
11
12image = Image.open("skin_lesion.jpg").convert("RGB")
13group = "inflammatory" # from Stage 1 (HIKARI-Subaru)
14
15PROMPT = (
16 "This skin lesion belongs to the group '{group}'. "
17 "Examine the lesion morphology (papules, plaques, macules), "
18 "color (red, violet, white, brown), scale/crust, border sharpness, "
19 "and distribution pattern. Based on these visual features, "
20 "what is the specific skin disease?"
21)
22
23messages = [{"role": "user", "content": [
24 {"type": "image", "image": image},
25 {"type": "text", "text": PROMPT.format(group=group)},
26]}]
27text = processor.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
28inputs = processor(text=[text], images=[image], return_tensors="pt").to(model.device)
29
30with torch.no_grad():
31 out = model.generate(**inputs, max_new_tokens=64, temperature=0.0, do_sample=False)
32
33print(processor.batch_decode(out[:, inputs["input_ids"].shape[1]:], skip_special_tokens=True)[0].strip())1from peft import PeftModel
2from transformers import Qwen3VLForConditionalGeneration
3import torch
4
5base = Qwen3VLForConditionalGeneration.from_pretrained(
6 "Qwen/Qwen3-VL-8B-Thinking", torch_dtype=torch.bfloat16, device_map="auto"
7)
8model = PeftModel.from_pretrained(base, "E27085921/HIKARI-Deneb-8B-SkinDx-Cascade-LoRA")1@misc{hikari2026,
2 title = {HIKARI: RAG-in-Training for Skin Disease Diagnosis
3 with Cascaded Vision-Language Models},
4 author = {Watin Promfiy and Pawitra Boonprasart},
5 year = {2026},
6 institution = {King Mongkut's Institute of Technology Ladkrabang,
7 Department of Information Technology, Bangkok, Thailand}
8}