EpiLLaMA-3.3-70B: Fine-tuned LLaMA for Epidemiological Information Extraction
Model Description
EpiLLaMA-3.3-70B is a fine-tuned version of meta-llama/Llama-3.3-70B-Instruct specialized for extracting structured epidemiological information from unstructured disease outbreak reports. The model was trained on the WHO Disease Outbreak News (DONs) curated database (Carlson et al., 2023) to automatically extract key epidemiological features including disease classification, geographical locations, case counts, temporal information, and outbreak characteristics.
Model Type: Causal Language Model (Decoder-only Transformer)
Fine-tuning Method: Parameter-Efficient Fine-Tuning (PEFT) with LoRA (Low-Rank Adaptation)
Adapter Weights License: CC0-1.0 (Public Domain Dedication) - Note: Only the LoRA adapter weights are released under CC0. The base model weights remain under the LLaMA 3.3 Community License.
Training Data: WHO Disease Outbreak News curated database (3,338 records through 2019)
Language: English
Application Domain: Public health surveillance, epidemic intelligence, epidemiological information extraction
License
Important Licensing Information
This repository contains LoRA adapter weights only, not the full model weights.
This repository distributes only the fine-tuned LoRA adapter parameters
Base model weights are unchanged and must be obtained separately from Meta/Hugging Face
Users must agree to Meta's LLaMA 3.3 Community License to use the complete model
The LoRA adapters are applied on top of the base model weights at inference time
Performance
The model achieved the following results on the evaluation set:
Metric
Score
Rouge-1
0.937 ± 0.046
Rouge-2
0.896 ± 0.058
Rouge-L
0.928 ± 0.047
Rouge-Lsum
0.929 ± 0.049
These scores represent overall performance across 5-fold stratified cross-validation, demonstrating very high accuracy in extracting structured epidemiological information from unstructured outbreak reports.
Training Summary
Best Training Step: 12,810
Best Training Loss: 0.0095
Total Training Steps: 13,325
Final Training Loss: 0.0105
Total Improvement: 1.6752 (from initial loss of 1.6847)
Intended Uses & Limitations
Intended Uses
This model is designed for:
Automated extraction of epidemiological information from disease outbreak reports
Public health surveillance systems requiring structured data from unstructured sources
Epidemic intelligence pipelines for rapid outbreak detection and monitoring
Research purposes in computational epidemiology and public health informatics
Limitations
The model is trained specifically on WHO DONs format and may require adaptation for other report formats
Performance on diseases not well-represented in the training data may vary
The model extracts information present in the text and does not generate or infer missing data
Designed for English-language outbreak reports only
Should be used as a decision-support tool, with human verification for critical public health decisions
Extracted Features
The model extracts the following structured epidemiological information:
Disease Information:
DiseaseLevel1 (primary disease classification)
DiseaseLevel2 (disease subtype/variant)
Geographical Information:
Country
ISO country code
OutbreakEpicenter (specific location within country)
Case Counts:
CasesTotal
CasesSuspected
CasesProbable
CasesConfirmed
Deaths
Temporal Information:
Outbreak start date (year, month, day)
Outbreak detection date (year, month, day)
Outbreak verification date (year, month, day)
Outbreak end date and status
Training Procedure
Training Data
The model was trained on the WHO Disease Outbreak News curated database (Carlson et al., 2023), which contains:
3,338 structured records of disease outbreaks (data through 2019)
Curated epidemiological information manually extracted from WHO DONs reports
Standardized format for disease classifications, geographical locations, case counts, and temporal data
Training Approach
The training followed an instruction-tuning paradigm where unstructured outbreak report text is paired with structured JSON output containing extracted epidemiological features. The prompt format used was:
Below is an instruction that describes a task, paired with an input that provides further context.
Write a response that appropriately completes the request.
### Instruction:
Extract disease outbreak information from the given text and format it as JSON.
Return a list containing one JSON object per outbreak mentioned.
Use "None" for missing information. Never invent or guess data.
### Input:
[Outbreak report text]
### Response:
[Extracted JSON with epidemiological features]
Important: You must have access to the base LLaMA 3.3 70B model and accept Meta's license terms before using these adapter weights.
python
1import torch
2from transformers import AutoTokenizer, AutoModelForCausalLM
3from peft import PeftModel
45# Load base model (requires LLaMA 3.3 license acceptance)6base_model_id ="meta-llama/Llama-3.3-70B-Instruct"7adapter_model_id ="jrc-ai/EpiLLaMA-3.3-70B"# LoRA adapters8device ="cuda"if torch.cuda.is_available()else"cpu"910# Load tokenizer from base model11tokenizer = AutoTokenizer.from_pretrained(base_model_id, trust_remote_code=True)1213# Load base model14base_model = AutoModelForCausalLM.from_pretrained(15 base_model_id,16 device_map="auto",17 torch_dtype=torch.bfloat16,18)1920# Load and apply LoRA adapters21model = PeftModel.from_pretrained(base_model, adapter_model_id)2223# Example outbreak report24outbreak_text ="""
25WHO has reported 3 suspected cases of yellow fever in Maryland county,
26in the south-eastern part of the country. One case with disease onset on
271 August has been confirmed (IgM positive) by the Institut Pasteur in
28Abidjan, Côte d'Ivoire. All three cases have died.
29"""3031# Format prompt32prompt =f"""Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request.
3334### Instruction:
35Extract disease outbreak information from the given text and format it as JSON.
36Return a list containing one JSON object per outbreak mentioned.
37Always return a list of JSON objects, even for single outbreaks.
38Use "None" for missing information. If no outbreak information is found, return an empty list [].
39Never invent or guess data.
4041### Input:
42{outbreak_text}4344### Response:
45"""4647# Tokenize and generate48inputs = tokenizer(prompt, return_tensors="pt", truncation=True).to(device)4950with torch.no_grad():51 outputs = model.generate(52**inputs,53 max_new_tokens=600,54 temperature=0.1,55 do_sample=False,56 pad_token_id=tokenizer.eos_token_id
57)5859# Decode output60extracted_info = tokenizer.decode(outputs[0], skip_special_tokens=True)61print(extracted_info)
This fine-tuned model significantly outperforms in-context learning (iCL) approaches:
Approach
Rouge-1
Rouge-2
Rouge-L
Rouge-Lsum
EpiLLaMA 3.3-70B (fine-tuned)
0.937
0.896
0.928
0.929
LLaMA 3.3-70B (16-shot iCL)
0.840
0.698
0.824
0.841
Qwen 2.5-7B (16-shot iCL)
0.819
0.682
0.801
0.819
Performance gain from fine-tuning: ~10 percentage points across all ROUGE metrics.
Comparison with Smaller Models
Model
Parameters
Rouge-1
Rouge-2
Rouge-L
EpiLLaMA 3.3-70B
70B
0.937
0.896
0.928
EpiQwen 2.5-7B
7B
0.918
0.864
0.908
EpiMistral-7B
7B
0.899
0.853
0.889
All pairwise comparisons are statistically significant (p < 0.001, Nemenyi post-hoc test with Bonferroni correction).
Citation
If you use this model in your research, please cite:
bibtex
1@article{consoli2026generative,
2 title={Generative AI for Structured Epidemiological Information Extraction: Comparing In-Context Learning and Fine-Tuning Approaches},
3 author={Consoli, Sergio and Bertolini, Lorenzo and Stefanovitch, Nicolas and Spagnolo, Luigi and Espinosa, Laura and Stilianakis, Nikolaos I.},
4 journal={PLoS Digital Health},
5 volume={submitted, currently under revision},
6 year={2026}
7}
Upon evaluation, we identified no dual-use implications for this model. The model is designed specifically for public health surveillance and epidemic intelligence applications to support global health initiatives.
Important Notes:
The model should be used as a decision-support tool with appropriate human oversight
Extracted information should be verified by public health professionals before making critical decisions
The model does not replace human expertise in epidemiological analysis
Privacy and data protection regulations should be followed when processing outbreak reports
Users must review and comply with Meta's Acceptable Use Policy included in the LLaMA 3.3 Community License
Acknowledgments
We acknowledge:
Meta Platforms, Inc. for developing and releasing LLaMA 3.3 70B under the LLaMA 3.3 Community License
The GPT@JRC initiative for providing access to LLMs
The JRC Big Data Analytics Platform for computational infrastructure
Colleagues at the European Commission Joint Research Centre (JRC) and the European Centre for Disease Prevention and Control (ECDC)
Framework Versions
Transformers: 4.52.4
PyTorch: 2.3.1
PEFT: 0.12.0
Accelerate: 1.7.0
BitsAndBytes: 0.43.3
Datasets: 2.20.0
Disclaimer: The views expressed are purely those of the authors and may not in any circumstance be regarded as stating an official position of the European Commission.