lhallee commited on
Commit
a7786d7
·
verified ·
1 Parent(s): 843a654

Update FastPLMs files

Browse files
LICENSES/fair-esm/SOURCE_RECORD.md ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ # Meta ESM provenance
2
+
3
+ FastPLMs uses `facebookresearch/esm` revision
4
+ `2b369911bb5b4b0dda914521b9475cad1656b2ac` as the official parity oracle for
5
+ ESM2 and ESMFold. The repository is pinned at
6
+ `vendor/upstream/fair-esm/` and is not a production dependency or runtime image
7
+ component. The accompanying `LICENSE` is the verbatim MIT text from that
8
+ revision.
LICENSES/openfold/SOURCE_RECORD.md ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ # OpenFold provenance
2
+
3
+ FastPLMs uses `aqlaboratory/openfold` revision
4
+ `4b41059694619831a7db195b7e0988fc4ff3a307` as an official ESMFold parity
5
+ oracle. The repository is pinned at `vendor/upstream/openfold/` and is not a
6
+ production dependency or runtime image component. The accompanying `LICENSE`
7
+ is the verbatim Apache-2.0 text from that revision.
README.md CHANGED
@@ -10,7 +10,7 @@ tags:
10
 
11
  # Synthyra/FastESMFold
12
 
13
- This checkpoint packages the FastPLMs `ESMFold` implementation.
14
 
15
  Accepted inputs are raw amino-acid sequences through folding helpers, or
16
  prepared residue tensors.
@@ -28,9 +28,7 @@ Supported Transformers entry points are `AutoConfig`, `AutoModel`.
28
  | Attention variants | Supported: `eager`, `sdpa`, `flex_attention` |
29
  | Compliance | Declared: exact release evidence is required |
30
 
31
- A supported interface is not a pretrained downstream predictor. Classification
32
- heads start untrained, and declared compliance metadata is not a claim that an
33
- arbitrary local build passed its release gate.
34
 
35
  ## Install and platform requirements
36
 
@@ -41,12 +39,12 @@ python -m pip install -r \
41
  "https://huggingface.co/Synthyra/FastESMFold/resolve/main/requirements.txt"
42
  ```
43
 
44
- The FastPLMs implementation itself is embedded in the model repository and loaded
45
- by Transformers through `trust_remote_code=True`.
46
 
47
- Python 3.11-3.14, PyTorch 2.13, and Transformers 5.13 are required. The artifact requirements include the direct structure dependencies. The published execution contract requires a CUDA device. The current validated release target is the exact NVIDIA GH200 on Linux aarch64; Linux x86-64, CPU-only, Windows, and macOS structure runs are not current release evidence. The Hub quick start below requires network
48
- access on first download. For an air-gapped run, first build the manifest-pinned
49
- local artifact and use the offline form shown in the example.
50
 
51
  ## Quick start
52
 
@@ -62,21 +60,21 @@ model = AutoModel.from_pretrained(
62
  ```
63
 
64
  For offline validation, replace `model_id` with the manifest-built
65
- `dist/hub/FastESMFold` path and pass `local_files_only=True`.
66
 
67
  ## Attention and compliance
68
 
69
  The quick start selects `sdpa` explicitly. Declared variants are `eager`, `sdpa`, `flex_attention`. An unavailable
70
- requested backend raises instead of silently switching implementations.
71
- `output_attentions=True` may use the documented, one-call eager fallback solely
72
- to materialize attention tensors; the configured backend remains unchanged.
73
 
74
- This family declares the `compliance` tier. Release evidence binds the exact
75
  checkpoint, backend, dtype, hardware, inputs, and reference revision.
76
 
77
  ## PEFT fine-tuning
78
 
79
- Install the direct training dependencies, then attach LoRA to the loaded checkpoint:
80
 
81
  ```bash
82
  python -m pip install "datasets>=4.8,<5" "peft>=0.19,<0.20"
@@ -95,10 +93,10 @@ peft_model = get_peft_model(
95
  )
96
  ```
97
 
98
- This checkpoint has no advertised classifier. Supply the task-specific
99
- objective and preserve any new head through `modules_to_save`.
100
  All FastPLMs checkpoints follow the Transformers `PreTrainedModel` contract and
101
- can be adapted with PEFT. The ESM2-specific shipped CLI is an example, not a
102
  support boundary. Record the target modules, base revision, data identity, and
103
  trainable parameter scope.
104
 
@@ -128,8 +126,8 @@ print(summary["plddt"], summary["ptm"])
128
  ```
129
 
130
  FastPLMs does not expose ProteinTTT for ESMFold. The pinned folding checkpoint
131
- does not contain a trained masked-language-model head for that objective, so
132
- `ttt()` and TTT folding requests raise explicitly.
133
 
134
  ## Runtime contract
135
 
@@ -149,8 +147,8 @@ does not contain a trained masked-language-model head for that objective, so
149
  ## Release record
150
 
151
  - FastPLMs weights: `Synthyra/FastESMFold`
152
- - Runtime revision: recorded separately in the built artifact and published commit
153
- - Source-tree and runtime-bundle SHA-256: recorded in `provenance.json`
154
  - Official checkpoint: `facebook/esmfold_v1`
155
  - Artifact source: `fast`
156
  - State transform: `esmfold_meta_to_fastplms_v1`
@@ -158,19 +156,17 @@ does not contain a trained masked-language-model head for that objective, so
158
  - Release tiers: `check`, `compliance`, `structure`, `feature`, `artifact`, `benchmark`
159
  - Unresolved required file identities: `0`
160
 
161
- `provenance.json` records exact file identities, conversion, source revisions,
162
- legal texts, schema, and attestations. A nonzero unresolved count blocks release.
163
 
164
  ## Validation boundary
165
 
166
- Declared tiers compare applicable configuration, tokenizer behavior, state,
167
- and representative inference with the pinned reference. Metadata alone does
168
- not claim a build passed, a backend is faster, or an output is biologically
169
- valid.
170
 
171
  ## License
172
 
173
  Checkpoint terms: MIT. The Hub model-card identifier is
174
- `mit`. Applicable source licenses, notices, attribution,
175
- and conversion records are distributed with the local artifact. Review them
176
- before use.
 
10
 
11
  # Synthyra/FastESMFold
12
 
13
+ This checkpoint contains the FastPLMs `ESMFold` implementation.
14
 
15
  Accepted inputs are raw amino-acid sequences through folding helpers, or
16
  prepared residue tensors.
 
28
  | Attention variants | Supported: `eager`, `sdpa`, `flex_attention` |
29
  | Compliance | Declared: exact release evidence is required |
30
 
31
+ A supported interface is not a pretrained downstream predictor. Classification heads start untrained. Compliance metadata does not show that a local build passed its release gate.
 
 
32
 
33
  ## Install and platform requirements
34
 
 
39
  "https://huggingface.co/Synthyra/FastESMFold/resolve/main/requirements.txt"
40
  ```
41
 
42
+ The FastPLMs implementation itself is embedded in the model repository.
43
+ Transformers loads it through `trust_remote_code=True`.
44
 
45
+ This model requires Python 3.11-3.14, PyTorch 2.13, and Transformers 5.13. The artifact requirements include the structure dependencies. The release contract requires a CUDA device. The current validated target is the exact NVIDIA GH200 on Linux aarch64. Linux x86-64, CPU-only, Windows, and macOS structure runs are not release evidence. The Hub quick start needs network access for
46
+ the first download. For an air-gapped run, build the manifest-pinned local
47
+ artifact first and use the offline example.
48
 
49
  ## Quick start
50
 
 
60
  ```
61
 
62
  For offline validation, replace `model_id` with the manifest-built
63
+ `dist/hub/FastESMFold` path. Pass `local_files_only=True`.
64
 
65
  ## Attention and compliance
66
 
67
  The quick start selects `sdpa` explicitly. Declared variants are `eager`, `sdpa`, `flex_attention`. An unavailable
68
+ requested backend raises. It does not silently change implementation.
69
+ `output_attentions=True` can use the documented one-call eager fallback to
70
+ materialize attention tensors. The configured backend does not change.
71
 
72
+ This family declares the `compliance` tier. Release evidence identifies the
73
  checkpoint, backend, dtype, hardware, inputs, and reference revision.
74
 
75
  ## PEFT fine-tuning
76
 
77
+ Install the training dependencies. Then attach LoRA to the loaded checkpoint:
78
 
79
  ```bash
80
  python -m pip install "datasets>=4.8,<5" "peft>=0.19,<0.20"
 
93
  )
94
  ```
95
 
96
+ This checkpoint has no advertised classifier. Supply the task objective and
97
+ preserve any new head through `modules_to_save`.
98
  All FastPLMs checkpoints follow the Transformers `PreTrainedModel` contract and
99
+ can use PEFT. The ESM2-specific shipped CLI is an example, not a
100
  support boundary. Record the target modules, base revision, data identity, and
101
  trainable parameter scope.
102
 
 
126
  ```
127
 
128
  FastPLMs does not expose ProteinTTT for ESMFold. The pinned folding checkpoint
129
+ has no trained masked-language-model head for this objective. `ttt()` and TTT
130
+ folding requests raise.
131
 
132
  ## Runtime contract
133
 
 
147
  ## Release record
148
 
149
  - FastPLMs weights: `Synthyra/FastESMFold`
150
+ - Runtime revision: recorded in the built artifact and published commit
151
+ - Source-tree and runtime-bundle SHA-256: recorded in the source record
152
  - Official checkpoint: `facebook/esmfold_v1`
153
  - Artifact source: `fast`
154
  - State transform: `esmfold_meta_to_fastplms_v1`
 
156
  - Release tiers: `check`, `compliance`, `structure`, `feature`, `artifact`, `benchmark`
157
  - Unresolved required file identities: `0`
158
 
159
+ The source record records exact file identities, conversion, source revisions,
160
+ legal texts, schema, and attestations. A nonzero unresolved count blocks a release.
161
 
162
  ## Validation boundary
163
 
164
+ Declared tiers compare configuration, tokenizer behavior, state, and
165
+ representative inference with the pinned reference. Metadata does not show that
166
+ a build passed, that a backend is faster, or that an output is biologically valid.
 
167
 
168
  ## License
169
 
170
  Checkpoint terms: MIT. The Hub model-card identifier is
171
+ `mit`. The local artifact contains applicable source
172
+ licenses, notices, attribution, and conversion records. Review them before use.
 
THIRD_PARTY_NOTICES.md CHANGED
@@ -46,7 +46,7 @@ explicitly defines the repository release as including pretrained DPLM1 and
46
  DPLM2 weights, and the same revision carries the complete
47
  [Apache-2.0 license](https://github.com/bytedance/dplm/blob/8a2e15e53416b4536f03f79ad1f6f6a9cbd5e19d/LICENSE).
48
  FastPLMs records both checkpoint families as Apache-2.0 and distributes the
49
- verbatim license plus `LICENSES/dplm/PROVENANCE.md`. Converted weights retain
50
  those terms and remain subject to the ordinary artifact and publication gates.
51
 
52
  ## Biohub
@@ -80,7 +80,7 @@ TorchMetrics, Lightning Utilities, and NVIDIA DLLogger. Their exact versions or
80
  revision are pinned in `docker/constraints/esmfold.txt`; OpenFold imports them
81
  eagerly, and FastPLMs production code does not depend on them. DLLogger's exact
82
  source identity and installed-license handling are recorded in
83
- `LICENSES/dllogger/PROVENANCE.md`.
84
 
85
  ## ProteinTTT
86
 
@@ -93,7 +93,7 @@ revision-specific provenance are under `LICENSES/protein-ttt/`.
93
  For every supported family, `src/fastplms/models.toml` records an immutable
94
  official checkpoint revision, an immutable FastPLMs checkpoint revision, file
95
  digests, a named state transformation, and a mechanism-level conversion record.
96
- Generated artifacts reproduce that record in `provenance.json`. A release or
97
  artifact build must fail when a required file identity, legal text, attribution
98
  notice, modified-file notice, upstream revision, or conversion record is absent
99
  or differs from its manifest digest.
 
46
  DPLM2 weights, and the same revision carries the complete
47
  [Apache-2.0 license](https://github.com/bytedance/dplm/blob/8a2e15e53416b4536f03f79ad1f6f6a9cbd5e19d/LICENSE).
48
  FastPLMs records both checkpoint families as Apache-2.0 and distributes the
49
+ verbatim license plus `LICENSES/dplm/SOURCE_RECORD.md`. Converted weights retain
50
  those terms and remain subject to the ordinary artifact and publication gates.
51
 
52
  ## Biohub
 
80
  revision are pinned in `docker/constraints/esmfold.txt`; OpenFold imports them
81
  eagerly, and FastPLMs production code does not depend on them. DLLogger's exact
82
  source identity and installed-license handling are recorded in
83
+ `LICENSES/dllogger/SOURCE_RECORD.md`.
84
 
85
  ## ProteinTTT
86
 
 
93
  For every supported family, `src/fastplms/models.toml` records an immutable
94
  official checkpoint revision, an immutable FastPLMs checkpoint revision, file
95
  digests, a named state transformation, and a mechanism-level conversion record.
96
+ Generated artifacts reproduce that record in `source-record.json`. A release or
97
  artifact build must fail when a required file identity, legal text, attribution
98
  notice, modified-file notice, upstream revision, or conversion record is absent
99
  or differs from its manifest digest.
fastplms/models.toml CHANGED
@@ -88,7 +88,7 @@ license_files = ["LICENSE"]
88
  license_digests = ["LICENSE=sha256:cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30"]
89
  distribution_files = [
90
  "LICENSE=sha256:cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30",
91
- "PROVENANCE.md=sha256:a659f74be9073cf1ad2d2f7071531ca56959b421f111152cf4c41184ace5970e",
92
  ]
93
 
94
  [[upstreams]]
@@ -122,7 +122,7 @@ license_files = ["LICENSE"]
122
  license_digests = ["LICENSE=sha256:da6d3703ed11cbe42bd212c725957c98da23cbff1998c05fa4b3d976d1a58e93"]
123
  distribution_files = [
124
  "LICENSE=sha256:da6d3703ed11cbe42bd212c725957c98da23cbff1998c05fa4b3d976d1a58e93",
125
- "PROVENANCE.md=sha256:950adb94daf15e646ddf226dacfe2a8e77801aa0793e439a9a3490a48eb666e7",
126
  ]
127
 
128
  [[upstreams]]
@@ -136,7 +136,7 @@ license_digests = ["LICENSE=sha256:cfc7749b96f63bd31c3c42b5c471bf756814053e847c1
136
  distribution_files = [
137
  "LICENSE=sha256:cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30",
138
  "MODIFICATIONS.md=sha256:fd6f0aa1086a0c996cf967b326d18e965660cda0ad5c7f36a3474a8490720da3",
139
- "PROVENANCE.md=sha256:48c903db43a217a3126afaefbac60b7ddac7efda2dfcc0cbff0bffc7d6c30081",
140
  ]
141
 
142
  [[upstreams]]
@@ -149,7 +149,7 @@ license_files = ["LICENSE"]
149
  license_digests = ["LICENSE=sha256:bb01e7d5554f9e2e117172e56551452f68a7818df7bc8e71cd7a776a1d4ba3df"]
150
  distribution_files = [
151
  "LICENSE=sha256:bb01e7d5554f9e2e117172e56551452f68a7818df7bc8e71cd7a776a1d4ba3df",
152
- "PROVENANCE.md=sha256:dc641c37353c2efd50ccbdb316ca4aae495ec02c1563e0e15bac92f75fc482e5",
153
  ]
154
 
155
  [families.esm2]
@@ -187,7 +187,8 @@ reference_adapter = "tests.parity.support.reference_adapters.esm_plusplus"
187
  attention = ["eager", "sdpa", "flex_attention", "flash_attention_2", "flash_attention_3"]
188
  dtypes = ["float32", "bfloat16"]
189
  bf16_execution = "static_parameters"
190
- precisions = ["default"]
 
191
  vram_tier = "sequence"
192
  checkpoint_license = "MIT"
193
  hub_license = "mit"
@@ -267,7 +268,7 @@ checkpoint_license = "Apache-2.0"
267
  hub_license = "apache-2.0"
268
  weights_publication_allowed = true
269
  state_transform = "dplm_to_fastplms_v1"
270
- conversion_provenance = "Input: the pinned official DPLM1 checkpoint. Transformation: apply dplm_to_fastplms_v1, omitting the unused absolute-position table for rotary checkpoints and materializing the tied input/output embedding values as independent tensors. Output: the pinned Synthyra DPLM checkpoint. Validation: release parity compares exact state identity after the declared transform, tokenizer behavior, generation, and inference. License basis: the pinned ByteDance DPLM Apache-2.0 LICENSE and README explicitly scope the repository release to the pretrained DPLM1 and DPLM2 weights; immutable evidence is recorded in LICENSES/dplm/PROVENANCE.md. Limitation: redistribution remains subject to Apache-2.0 and the pinned source record; no broader rights are inferred."
271
  representative = "dplm_150m"
272
  documentation = "docs/models.md#dplm"
273
  test_tiers = ["check", "compliance", "feature", "artifact", "benchmark"]
@@ -291,7 +292,7 @@ checkpoint_license = "Apache-2.0"
291
  hub_license = "apache-2.0"
292
  weights_publication_allowed = true
293
  state_transform = "dplm2_to_fastplms_v1"
294
- conversion_provenance = "Input: the pinned official DPLM2 checkpoint. Transformation: apply dplm2_to_fastplms_v1, retaining the independent language-model head and trained encoder contact head while omitting the unused absolute-position table for rotary checkpoints. Output: the pinned Synthyra DPLM2 checkpoint. Validation: release parity compares exact keys and values after the declared omission, non-aliasing, tokenizer behavior, generation, and inference. License basis: the pinned ByteDance DPLM Apache-2.0 LICENSE and README explicitly scope the repository release to the pretrained DPLM1 and DPLM2 weights; immutable evidence is recorded in LICENSES/dplm/PROVENANCE.md. Limitation: no head exception is permitted by this source record, and redistribution remains subject to Apache-2.0."
295
  representative = "dplm2_150m"
296
  documentation = "docs/models.md#dplm2"
297
  test_tiers = ["check", "compliance", "feature", "artifact", "benchmark"]
 
88
  license_digests = ["LICENSE=sha256:cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30"]
89
  distribution_files = [
90
  "LICENSE=sha256:cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30",
91
+ "SOURCE_RECORD.md=sha256:a659f74be9073cf1ad2d2f7071531ca56959b421f111152cf4c41184ace5970e",
92
  ]
93
 
94
  [[upstreams]]
 
122
  license_digests = ["LICENSE=sha256:da6d3703ed11cbe42bd212c725957c98da23cbff1998c05fa4b3d976d1a58e93"]
123
  distribution_files = [
124
  "LICENSE=sha256:da6d3703ed11cbe42bd212c725957c98da23cbff1998c05fa4b3d976d1a58e93",
125
+ "SOURCE_RECORD.md=sha256:950adb94daf15e646ddf226dacfe2a8e77801aa0793e439a9a3490a48eb666e7",
126
  ]
127
 
128
  [[upstreams]]
 
136
  distribution_files = [
137
  "LICENSE=sha256:cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30",
138
  "MODIFICATIONS.md=sha256:fd6f0aa1086a0c996cf967b326d18e965660cda0ad5c7f36a3474a8490720da3",
139
+ "SOURCE_RECORD.md=sha256:48c903db43a217a3126afaefbac60b7ddac7efda2dfcc0cbff0bffc7d6c30081",
140
  ]
141
 
142
  [[upstreams]]
 
149
  license_digests = ["LICENSE=sha256:bb01e7d5554f9e2e117172e56551452f68a7818df7bc8e71cd7a776a1d4ba3df"]
150
  distribution_files = [
151
  "LICENSE=sha256:bb01e7d5554f9e2e117172e56551452f68a7818df7bc8e71cd7a776a1d4ba3df",
152
+ "SOURCE_RECORD.md=sha256:dc641c37353c2efd50ccbdb316ca4aae495ec02c1563e0e15bac92f75fc482e5",
153
  ]
154
 
155
  [families.esm2]
 
187
  attention = ["eager", "sdpa", "flex_attention", "flash_attention_2", "flash_attention_3"]
188
  dtypes = ["float32", "bfloat16"]
189
  bf16_execution = "static_parameters"
190
+ precisions = ["default", "fp8"]
191
+ experimental_precisions = ["fp8"]
192
  vram_tier = "sequence"
193
  checkpoint_license = "MIT"
194
  hub_license = "mit"
 
268
  hub_license = "apache-2.0"
269
  weights_publication_allowed = true
270
  state_transform = "dplm_to_fastplms_v1"
271
+ conversion_provenance = "Input: the pinned official DPLM1 checkpoint. Transformation: apply dplm_to_fastplms_v1, omitting the unused absolute-position table for rotary checkpoints and materializing the tied input/output embedding values as independent tensors. Output: the pinned Synthyra DPLM checkpoint. Validation: release parity compares exact state identity after the declared transform, tokenizer behavior, generation, and inference. License basis: the pinned ByteDance DPLM Apache-2.0 LICENSE and README explicitly scope the repository release to the pretrained DPLM1 and DPLM2 weights; immutable evidence is recorded in LICENSES/dplm/SOURCE_RECORD.md. Limitation: redistribution remains subject to Apache-2.0 and the pinned source record; no broader rights are inferred."
272
  representative = "dplm_150m"
273
  documentation = "docs/models.md#dplm"
274
  test_tiers = ["check", "compliance", "feature", "artifact", "benchmark"]
 
292
  hub_license = "apache-2.0"
293
  weights_publication_allowed = true
294
  state_transform = "dplm2_to_fastplms_v1"
295
+ conversion_provenance = "Input: the pinned official DPLM2 checkpoint. Transformation: apply dplm2_to_fastplms_v1, retaining the independent language-model head and trained encoder contact head while omitting the unused absolute-position table for rotary checkpoints. Output: the pinned Synthyra DPLM2 checkpoint. Validation: release parity compares exact keys and values after the declared omission, non-aliasing, tokenizer behavior, generation, and inference. License basis: the pinned ByteDance DPLM Apache-2.0 LICENSE and README explicitly scope the repository release to the pretrained DPLM1 and DPLM2 weights; immutable evidence is recorded in LICENSES/dplm/SOURCE_RECORD.md. Limitation: no head exception is permitted by this source record, and redistribution remains subject to Apache-2.0."
296
  representative = "dplm2_150m"
297
  documentation = "docs/models.md#dplm2"
298
  test_tiers = ["check", "compliance", "feature", "artifact", "benchmark"]
fastplms_bundle.py CHANGED
The diff for this file is too large to render. See raw diff
 
modeling_fastplms.py CHANGED
@@ -12,7 +12,7 @@ from zipfile import ZIP_DEFLATED, ZipFile
12
 
13
  from .fastplms_bundle import RUNTIME_DATA, RUNTIME_HASH
14
 
15
- if RUNTIME_HASH != "899b79836910097d523aa944c1342d227221c535365e90dfd15ba72dabbb1875":
16
  raise RuntimeError("FastPLMs runtime identity differs from the bridge.")
17
 
18
  _RUNTIME_TEMPORARIES = []
 
12
 
13
  from .fastplms_bundle import RUNTIME_DATA, RUNTIME_HASH
14
 
15
+ if RUNTIME_HASH != "9a0627bd8e6f68ac389ee97690f802284cffc7e7a7a537880aacd8a7ae440cc3":
16
  raise RuntimeError("FastPLMs runtime identity differs from the bridge.")
17
 
18
  _RUNTIME_TEMPORARIES = []