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-Altair-8B-SkinDx-LoRA (~1.1 GB)
Qwen/Qwen3-VL-8B-Thinking with Fuzzy Top-K label sampling, without cascade pretraining or RAG. Use this model to understand the baseline performance before cascade and RAG improvements.| Property | Value |
|---|---|
| Task | 10-class skin disease diagnosis (Stage 2) |
| Base model | Qwen/Qwen3-VL-8B-Thinking |
| Training | Unsloth + LoRA, Fuzzy Top-K sampling |
| Val accuracy | 74.00% (99 samples, SkinCAP 3-stage split) |
| Model type | Merged full model |
acne_vulgaris · atopic_dermatitis · melanocytic_nevi · psoriasis · sccis · seborrheic_dermatitis · skin_tag · tinea_versicolor · urticaria · photodermatoses| Model | Accuracy | Improvement over this model |
|---|---|---|
| HIKARI-Altair (this model) | 74.00% | — |
| HIKARI-Deneb (Cascade FT) | 79.80% | +5.80 pp |
| HIKARI-Sirius (RAG-in-Training) ⭐ | 85.86% | +11.86 pp |
transformers1from transformers import Qwen3VLForConditionalGeneration, AutoProcessor
2import torch
3from PIL import Image
4
5model_id = "E27085921/HIKARI-Altair-8B-SkinDx"
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-Altair-8B-SkinDx-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}