How ryan0114/clin-bhc-summ works
This repository is a research pipeline for hospital-course summarization: prepare MIMIC-IV-BHC notes, fine-tune or prompt language models, generate summaries, and score outputs. Its main runtime paths are the PEFT training and inference scripts and the discrete-prompting runner, with shared argument, configuration, and data-processing code. The README also documents GPT and Llama notebook workflows. Those notebook internals and several source modules were not sampled, so their connections are shown only where the README documents them.
Main entry points: train_peft.py PEFT training · calc_metrics.py Metric calculation · process.py Data and prompts · run_peft.py PEFT inference
Components 19
Data preparation
- MIMIC-IV-BHC source
- Dataset preprocessing
utils/mimic_iv_bhc_preprocessing.py - Token filtering
utils/filter_data_by_token.ipynb
Shared runtime
- Models and cases
src/constants.py - Arguments and paths
src/parser.py - Data and prompts
src/process.py
Model adaptation
- PEFT training
src/train_peft.py - Causal LM training
src/run_clm.py - Adapter merging
src/merge_adapter_weights.py - QLoRA notebook
training/llama2_peft.ipynb - Model training script
training/train_peft.sh
Summarization and evaluation
- PEFT inference
src/run_peft.py - Discrete prompting
src/run_discrete.py - GPT prompting
inference/gpt_inference.ipynb - Llama inference
inference/llama2_inference.ipynb - Summary outputs
- Metric calculation
src/calc_metrics.py - Metric results
Other components
- Researcher
Connections 27
- Researcher → Dataset preprocessing: prepares dataset
README.md - MIMIC-IV-BHC source → Dataset preprocessing: reads notes
utils/mimic_iv_bhc_preprocessing.py - Dataset preprocessing → Token filtering
- Researcher → QLoRA notebook: fine-tunes models
README.md - Researcher → Model training script: fine-tunes models
README.md - Model training script → PEFT training: runs training
- Researcher → Causal LM training: trains model
- PEFT training → Arguments and paths: parses arguments
src/train_peft.py - PEFT training → Models and cases: reads settings
src/train_peft.py - PEFT training → Data and prompts: loads and batches data
src/train_peft.py - PEFT training → Adapter merging
- Researcher → Discrete prompting: runs prompting
README.md - Researcher → PEFT inference: runs tuned models
README.md - Researcher → GPT prompting: runs prompting
README.md - Researcher → Llama inference: runs inference
README.md - Discrete prompting → Arguments and paths: parses arguments
src/run_discrete.py - Discrete prompting → Models and cases: reads model settings
src/run_discrete.py - Discrete prompting → Data and prompts: loads and saves data
src/run_discrete.py - PEFT inference → Arguments and paths: parses arguments
src/run_peft.py - PEFT inference → Models and cases: loads model settings
src/run_peft.py - PEFT inference → Data and prompts: loads and saves data
src/run_peft.py - Data and prompts → Summary outputs: writes summaries
src/process.py - Researcher → Metric calculation: scores outputs
README.md - Metric calculation → Arguments and paths: parses arguments
src/calc_metrics.py - Metric calculation → Data and prompts: loads summaries
src/calc_metrics.py - Metric calculation → Summary outputs: reads predictions
src/calc_metrics.py - Metric calculation → Metric results: writes metrics
src/calc_metrics.py