๐ŸฆŸ DeBe: Dengue Triage Specialist

Fine-tuned MedGemma 4B-IT for bilingual dengue triage (English + Indonesian).

Model Details

  • Training Date: 2026-02-16
  • Base Model: google/medgemma-4b-it (vision-stripped)
  • Training Time: 39 minutes on T4 GPU
  • Final Loss: 0.22
  • Validation: 3/3 test cases passed

Features

  • WHO 2009 dengue classification
  • Bilingual output (English + Indonesian)
  • Natural language responses
  • Text-only (vision tower removed)

Usage

from transformers import AutoTokenizer, AutoModelForCausalLM
from peft import PeftModel
import torch

# Load base model
base_model_id = "google/medgemma-4b-it"
tokenizer = AutoTokenizer.from_pretrained(base_model_id)
model = AutoModelForCausalLM.from_pretrained(
    base_model_id,
    torch_dtype=torch.float16,
    device_map="auto",
    trust_remote_code=True
)

# Strip vision tower
if hasattr(model, 'vision_tower'):
    delattr(model, 'vision_tower')
if hasattr(model, 'multi_modal_projector'):
    delattr(model, 'multi_modal_projector')
if hasattr(model, 'model'):
    if hasattr(model.model, 'vision_tower'):
        delattr(model.model, 'vision_tower')
    if hasattr(model.model, 'multi_modal_projector'):
        delattr(model.model, 'multi_modal_projector')

# Load LoRA adapters
model = PeftModel.from_pretrained(model, "arumpuri/medgemma-4b-debe-specialist")
model.eval()

# Prepare input
prompt = """Analyze this dengue case and provide triage recommendation:

Patient: 35 year old Female, Day 5 of illness
Fever: 38.8ยฐC, Headache: 6/10
Platelets: 75000/ฮผL (severity score: 2)
HCT: 46%, WBC: 3500/ฮผL
WHO Risk Score: 7/15, Warning signs: 2

Provide assessment in English, then translate to Indonesian."""

messages = [{"role": "user", "content": prompt}]

text = tokenizer.apply_chat_template(
    messages,
    add_generation_prompt=True,
    tokenize=False
)

inputs = tokenizer(text, return_tensors="pt").to(model.device)
inputs['token_type_ids'] = torch.zeros_like(inputs['input_ids'])

# Generate
with torch.no_grad():
    outputs = model.generate(
        **inputs,
        max_new_tokens=300,
        temperature=0.3,
        do_sample=True,
        pad_token_id=tokenizer.eos_token_id
    )

result = tokenizer.decode(outputs[0][inputs.input_ids.shape[-1]:], skip_special_tokens=True)
print(result)

Training Details

  • Dataset: 1,730 dengue patient records
  • LoRA Config: r=16, alpha=32, dropout=0.05
  • Learning Rate: 5e-5 with cosine schedule
  • Batch Size: 16 (effective)
  • Steps: 200

Validation Results

Test Case Unique Words Status
Severe Dengue 39 โœ… PASS
Warning Signs 36 โœ… PASS
Mild Case 40 โœ… PASS

Citation

@misc{debe2026,
  title={DeBe: Bilingual Dengue Triage Specialist},
  author={MedGemma Impact Challenge 2026},
  year={2026}
}

License

Apache 2.0

Downloads last month
32
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for arumpuri/medgemma-4b-debe-specialist

Adapter
(83)
this model