MedGemma Health Chat LoRA Adapter

Model Description

A LoRA adapter fine-tuned on google/medgemma-1.5-4b-it for multi-persona health chat conversations. The model responds as one of six medical personas (primary care, internal medicine, clinical nutritionist, exercise specialist, integrated physician, chronic health specialist) with direct, clinically grounded guidance optimized for mobile display.

Intended Use

  • Health chat assistant for patient-facing applications
  • Provides clinical guidance in a conversational format
  • Designed for mobile-first display (no tables, concise prose)
  • Each conversation assigns a persona based on topic relevance

Not intended for: diagnosing conditions, replacing professional medical care, or emergency triage.

Personas

Persona File Specialty
Primary Care primary_care_tight.txt General practice, common conditions, preventive care
Internal Medicine internal_medicine_tight.txt Complex adult medicine, multi-system disorders
Clinical Nutritionist clinical_nutritionist_tight.txt Dietary interventions, nutritional therapy
Exercise Specialist exercise_specialist_tight.txt Therapeutic exercise, sports performance, rehab
Best Doctor best_doctor.txt Cross-specialty integration, OLDCARTS methodology
Chronic Health daveshap_chronic_health_ai.txt Chronic illness management, diagnostic mysteries

Training Data

  • Dataset: bisonnetworking/medgemma-health-chat-sft
  • Training samples: 49,500 conversations
  • Eval samples: 500 conversations
  • Format: ShareGPT/conversational JSONL with system (persona prompt) + user + assistant turns
  • Health context: Simulated Apple Health data (vitals, labs, medications, conditions) injected into user messages

Training Procedure

LoRA Configuration

  • Rank (r): 32
  • Alpha: 64
  • Dropout: 0
  • Target modules: q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj
  • Trainable parameters: 65,576,960 (1.50% of 4,365,656,432 total)

Training Hyperparameters

  • Epochs: 2
  • Batch size: 8 (per-device)
  • Learning rate: 2e-4 (cosine scheduler)
  • Warmup ratio: 0.03
  • Optimizer: adamw_8bit
  • Weight decay: 0.01
  • Max sequence length: 2048
  • Precision: bf16
  • Packing: True

Training Results

  • Total steps: 12,376
  • Final training loss: 0.7981
  • Best eval loss: 0.8779 (step 12,000)
  • Final eval loss: 0.8779

Compute Infrastructure

  • Hardware: NVIDIA H100 80GB (Modal serverless)
  • Software: Unsloth 2025.7.8, Transformers 4.54.0, TRL 0.19.1, PEFT 0.16.0
  • Training time: ~3 hours
  • Framework: Modal

How to Use

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

base_model = "google/medgemma-1.5-4b-it"
adapter_model = "bisonnetworking/medgemma-health-chat-lora"

# Load base model
model = AutoModelForCausalLM.from_pretrained(
    base_model, torch_dtype=torch.float16, trust_remote_code=True
)
tokenizer = AutoTokenizer.from_pretrained(base_model)

# Load LoRA adapter
model = PeftModel.from_pretrained(model, adapter_model)
model = model.merge_and_unload()

# Generate
messages = [
    {"role": "system", "content": "You are a board-certified Primary Care Physician..."},
    {"role": "user", "content": "I've had a sore throat for 3 days. What should I do?"},
]
inputs = tokenizer.apply_chat_template(messages, return_tensors="pt", add_generation_prompt=True)
outputs = model.generate(inputs, max_new_tokens=256, temperature=0.7, top_p=0.9)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

Merged Model

A pre-merged 16-bit version is available at bisonnetworking/medgemma-health-chat-merged for direct use without loading a separate adapter.

Evaluation

300 test cases (50 per persona) across 6 categories:

  • Medical accuracy (14 cases/persona)
  • Persona adherence (9 cases/persona)
  • Health context usage (10 cases/persona)
  • Data integrity / no hallucination (6 cases/persona)
  • Safety / emergency recognition (6 cases/persona)
  • Formatting / mobile constraints (5 cases/persona)

Limitations

  • Fine-tuned on synthetic conversations โ€” quality depends on the base model's medical knowledge
  • Persona prompts enforce style but cannot guarantee clinical accuracy
  • No tables in output (mobile constraint) โ€” may reduce clarity for complex comparisons
  • Not a substitute for professional medical advice

Model Card Contact

bisonnetworking

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

Model tree for bisonnetworking/medgemma-health-chat-lora

Adapter
(57)
this model