Update README.md
Browse files
README.md
CHANGED
@@ -2,197 +2,132 @@
|
|
2 |
license: apache-2.0
|
3 |
library_name: femr
|
4 |
---
|
5 |
-
# CLMBR
|
6 |
|
7 |
-
This is a CLMBR model that was "pretrained" on synthetic data
|
8 |
|
9 |
-
The
|
|
|
|
|
10 |
|
11 |
## Model Details
|
12 |
|
13 |
### Model Description
|
14 |
|
15 |
-
|
16 |
-
|
17 |
-
|
|
|
|
|
|
|
|
|
18 |
|
19 |
-
|
20 |
-
- **Funded by [optional]:** [More Information Needed]
|
21 |
-
- **Shared by [optional]:** [More Information Needed]
|
22 |
-
- **Model type:** [More Information Needed]
|
23 |
-
- **Language(s) (NLP):** [More Information Needed]
|
24 |
-
- **License:** [More Information Needed]
|
25 |
-
- **Finetuned from model [optional]:** [More Information Needed]
|
26 |
|
27 |
-
|
28 |
-
|
29 |
-
<!-- Provide the basic links for the model. -->
|
30 |
-
|
31 |
-
- **Repository:** [More Information Needed]
|
32 |
-
- **Paper [optional]:** [More Information Needed]
|
33 |
-
- **Demo [optional]:** [More Information Needed]
|
34 |
|
35 |
## Uses
|
36 |
|
37 |
-
|
38 |
-
|
39 |
-
### Direct Use
|
40 |
-
|
41 |
-
<!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->
|
42 |
-
|
43 |
-
[More Information Needed]
|
44 |
-
|
45 |
-
### Downstream Use [optional]
|
46 |
-
|
47 |
-
<!-- This section is for the model use when fine-tuned for a task, or when plugged into a larger ecosystem/app -->
|
48 |
-
|
49 |
-
[More Information Needed]
|
50 |
-
|
51 |
-
### Out-of-Scope Use
|
52 |
-
|
53 |
-
<!-- This section addresses misuse, malicious use, and uses that the model will not work well for. -->
|
54 |
-
|
55 |
-
[More Information Needed]
|
56 |
-
|
57 |
-
## Bias, Risks, and Limitations
|
58 |
|
59 |
-
|
60 |
|
61 |
-
|
62 |
|
63 |
-
### Recommendations
|
64 |
-
|
65 |
-
<!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. -->
|
66 |
-
|
67 |
-
Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.
|
68 |
|
69 |
## How to Get Started with the Model
|
70 |
|
71 |
Use the code below to get started with the model.
|
72 |
|
73 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
|
75 |
## Training Details
|
76 |
|
77 |
-
|
78 |
-
|
79 |
-
<!-- This should link to a Dataset Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->
|
80 |
-
|
81 |
-
[More Information Needed]
|
82 |
-
|
83 |
-
### Training Procedure
|
84 |
-
|
85 |
-
<!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. -->
|
86 |
-
|
87 |
-
#### Preprocessing [optional]
|
88 |
-
|
89 |
-
[More Information Needed]
|
90 |
-
|
91 |
-
|
92 |
-
#### Training Hyperparameters
|
93 |
-
|
94 |
-
- **Training regime:** [More Information Needed] <!--fp32, fp16 mixed precision, bf16 mixed precision, bf16 non-mixed precision, fp16 non-mixed precision, fp8 mixed precision -->
|
95 |
-
|
96 |
-
#### Speeds, Sizes, Times [optional]
|
97 |
-
|
98 |
-
<!-- This section provides information about throughput, start/end time, checkpoint size if relevant, etc. -->
|
99 |
-
|
100 |
-
[More Information Needed]
|
101 |
|
102 |
## Evaluation
|
103 |
|
104 |
-
|
105 |
-
|
106 |
-
### Testing Data, Factors & Metrics
|
107 |
|
108 |
-
|
109 |
|
110 |
-
|
111 |
-
|
112 |
-
[More Information Needed]
|
113 |
-
|
114 |
-
#### Factors
|
115 |
-
|
116 |
-
<!-- These are the things the evaluation is disaggregating by, e.g., subpopulations or domains. -->
|
117 |
-
|
118 |
-
[More Information Needed]
|
119 |
-
|
120 |
-
#### Metrics
|
121 |
-
|
122 |
-
<!-- These are the evaluation metrics being used, ideally with a description of why. -->
|
123 |
-
|
124 |
-
[More Information Needed]
|
125 |
-
|
126 |
-
### Results
|
127 |
-
|
128 |
-
[More Information Needed]
|
129 |
-
|
130 |
-
#### Summary
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
## Model Examination [optional]
|
135 |
-
|
136 |
-
<!-- Relevant interpretability work for the model goes here -->
|
137 |
-
|
138 |
-
[More Information Needed]
|
139 |
-
|
140 |
-
## Environmental Impact
|
141 |
-
|
142 |
-
<!-- Total emissions (in grams of CO2eq) and additional considerations, such as electricity usage, go here. Edit the suggested text below accordingly -->
|
143 |
-
|
144 |
-
Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700).
|
145 |
-
|
146 |
-
- **Hardware Type:** [More Information Needed]
|
147 |
-
- **Hours used:** [More Information Needed]
|
148 |
-
- **Cloud Provider:** [More Information Needed]
|
149 |
-
- **Compute Region:** [More Information Needed]
|
150 |
-
- **Carbon Emitted:** [More Information Needed]
|
151 |
-
|
152 |
-
## Technical Specifications [optional]
|
153 |
-
|
154 |
-
### Model Architecture and Objective
|
155 |
-
|
156 |
-
[More Information Needed]
|
157 |
|
158 |
### Compute Infrastructure
|
159 |
|
160 |
-
|
161 |
-
|
162 |
-
#### Hardware
|
163 |
-
|
164 |
-
[More Information Needed]
|
165 |
|
166 |
#### Software
|
167 |
|
168 |
-
[
|
169 |
|
170 |
-
## Citation
|
171 |
-
|
172 |
-
<!-- If there is a paper or blog post introducing the model, the APA and Bibtex information for that should go in this section. -->
|
173 |
|
174 |
**BibTeX:**
|
175 |
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
[More Information Needed]
|
187 |
-
|
188 |
-
## More Information [optional]
|
189 |
-
|
190 |
-
[More Information Needed]
|
191 |
|
192 |
## Model Card Authors [optional]
|
193 |
|
194 |
-
|
195 |
|
196 |
## Model Card Contact
|
197 |
|
198 |
-
|
|
|
2 |
license: apache-2.0
|
3 |
library_name: femr
|
4 |
---
|
5 |
+
# CLMBR-T-Base-Synthetic
|
6 |
|
7 |
+
This is a CLMBR model that was "pretrained" on **synthetic data**. The purpose of this model is to test code pipelines and demonstrate how to use CLMBR before applying for access to the official CLMBR release that was trained on real Stanford Hospital data.
|
8 |
|
9 |
+
The model architecture is CLMBR-T-Base (144M params), as originally described in [the EHRSHOT paper (Wornow et al. 2023)](https://arxiv.org/abs/2307.02028), and based on the architecture originally developed in [(Steinberg et al. 2021)](https://www.sciencedirect.com/science/article/pii/S1532046420302653)
|
10 |
+
|
11 |
+
The synthetic data used for training is uniformly sampled random data with no intrinsic signal, so **this model has no clinical or research use.**
|
12 |
|
13 |
## Model Details
|
14 |
|
15 |
### Model Description
|
16 |
|
17 |
+
- **Developed by:** Shah lab @ Stanford University
|
18 |
+
- **Funded by:** Stanford Healthcare
|
19 |
+
- **Shared by:** Shah lab @ Stanford University
|
20 |
+
- **Model type:** CLMBR [(Steinberg et al. 2021)](https://www.sciencedirect.com/science/article/pii/S1532046420302653)
|
21 |
+
- **Language(s) (NLP):** Electronic health record codes
|
22 |
+
- **License:** Apache 2.0
|
23 |
+
- **Finetuned from model:** N/A -- trained from scratch
|
24 |
|
25 |
+
### Model Sources
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
|
27 |
+
- **Repository:** [https://github.com/som-shahlab/ehrshot-benchmark/](https://github.com/som-shahlab/ehrshot-benchmark/)
|
28 |
+
- **Paper:** [EHRSHOT: An EHR Benchmark for Few-Shot Evaluation of Foundation Models](https://arxiv.org/abs/2307.02028)
|
|
|
|
|
|
|
|
|
|
|
29 |
|
30 |
## Uses
|
31 |
|
32 |
+
This model generates dense representations for patients based on the structured data within their electronic health record.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
|
34 |
+
These representations can then be used for downstream tasks such as predicting diagnoses, detecting anomalies, or doing propensity score matching for causal inference.
|
35 |
|
36 |
+
However, please note that **this version of the model was trained on synthetic data.** Thus, the outputs will be random/meaningless.
|
37 |
|
|
|
|
|
|
|
|
|
|
|
38 |
|
39 |
## How to Get Started with the Model
|
40 |
|
41 |
Use the code below to get started with the model.
|
42 |
|
43 |
+
First, download the necessary libraries.
|
44 |
+
```bash
|
45 |
+
pip install femr torch
|
46 |
+
```
|
47 |
+
|
48 |
+
Second, run the following Python script to run inference on a single patient:
|
49 |
+
```python
|
50 |
+
import femr.models.transformer
|
51 |
+
import torch
|
52 |
+
import femr.models.tokenizer
|
53 |
+
import femr.models.dataloader
|
54 |
+
import datetime
|
55 |
+
|
56 |
+
model_name = "StanfordShahLab/clmbr-t-base-synthetic"
|
57 |
+
|
58 |
+
# Load tokenizer / batch loader
|
59 |
+
tokenizer = femr.models.tokenizer.FEMRTokenizer.from_pretrained(model_name)
|
60 |
+
batch_processor = femr.models.dataloader.FEMRBatchProcessor(tokenizer)
|
61 |
+
|
62 |
+
# Load model
|
63 |
+
model = femr.models.transformer.FEMRModel.from_pretrained(model_name)
|
64 |
+
|
65 |
+
# Create an example patient to run inference on
|
66 |
+
example_patient = {
|
67 |
+
'patient_id': 30,
|
68 |
+
'events': [{
|
69 |
+
'time': datetime.datetime(2011, 5, 8),
|
70 |
+
'measurements': [
|
71 |
+
{'code': 'SNOMED/1'},
|
72 |
+
],
|
73 |
+
},
|
74 |
+
{
|
75 |
+
'time': datetime.datetime(2012, 6, 9),
|
76 |
+
'measurements': [
|
77 |
+
{'code': 'SNOMED/30'},
|
78 |
+
{'code': 'SNOMED/103'}
|
79 |
+
],
|
80 |
+
}]
|
81 |
+
}
|
82 |
+
batch = batch_processor.convert_patient(example_patient, tensor_type="pt")
|
83 |
+
|
84 |
+
# Run model
|
85 |
+
with torch.no_grad():
|
86 |
+
patient_ids, times, reprs = model(batch)
|
87 |
+
print(patient_ids)
|
88 |
+
print(times)
|
89 |
+
print(reprs)
|
90 |
+
```
|
91 |
|
92 |
## Training Details
|
93 |
|
94 |
+
The synthetic data used for training is uniformly sampled random data with no intrinsic signal, so this model itself has no clinical or research use.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
95 |
|
96 |
## Evaluation
|
97 |
|
98 |
+
As this model was trained on random synthetic data, we expect it to perform no better than chance.
|
|
|
|
|
99 |
|
100 |
+
## Technical Specifications
|
101 |
|
102 |
+
Please see [the EHRSHOT paper (Wornow et al. 2023)](https://arxiv.org/abs/2307.02028) for details on the model architecture and objective.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
103 |
|
104 |
### Compute Infrastructure
|
105 |
|
106 |
+
This model was trained on a single V100 GPU.
|
|
|
|
|
|
|
|
|
107 |
|
108 |
#### Software
|
109 |
|
110 |
+
For data loading / processing, this model leverages [FEMR](https://github.com/som-shahlab/femr/tree/main), a Python library for doing machine learning on EHR data at scale.
|
111 |
|
112 |
+
## Citation
|
|
|
|
|
113 |
|
114 |
**BibTeX:**
|
115 |
|
116 |
+
```
|
117 |
+
@article{wornow2023ehrshot,
|
118 |
+
title={EHRSHOT: An EHR Benchmark for Few-Shot Evaluation of Foundation Models},
|
119 |
+
author={Michael Wornow and Rahul Thapa and Ethan Steinberg and Jason Fries and Nigam Shah},
|
120 |
+
year={2023},
|
121 |
+
eprint={2307.02028},
|
122 |
+
archivePrefix={arXiv},
|
123 |
+
primaryClass={cs.LG}
|
124 |
+
}
|
125 |
+
```
|
|
|
|
|
|
|
|
|
|
|
126 |
|
127 |
## Model Card Authors [optional]
|
128 |
|
129 |
+
Michael Wornow, Ethan Steinberg, Rahul Thapa, Jason Fries, Nigam H. Shah
|
130 |
|
131 |
## Model Card Contact
|
132 |
|
133 |
+
Michael Wornow ([email protected])
|