lhallee commited on
Commit
c71cd7d
·
verified ·
1 Parent(s): 24b0675

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.
README.md CHANGED
@@ -10,7 +10,7 @@ tags:
10
 
11
  # Synthyra/ESM2-3B
12
 
13
- This checkpoint packages the FastPLMs `ESM2` implementation.
14
 
15
  Accepted inputs are amino-acid sequences tokenized to residue IDs.
16
  Supported Transformers entry points are `AutoConfig`, `AutoModel`,
@@ -29,9 +29,7 @@ Supported Transformers entry points are `AutoConfig`, `AutoModel`,
29
  | Attention variants | Supported: `eager`, `sdpa`, `flex_attention`, `flash_attention_2`, `flash_attention_3` |
30
  | Compliance | Declared: exact release evidence is required |
31
 
32
- A supported interface is not a pretrained downstream predictor. Classification
33
- heads start untrained, and declared compliance metadata is not a claim that an
34
- arbitrary local build passed its release gate.
35
 
36
  ## Install and platform requirements
37
 
@@ -42,12 +40,12 @@ python -m pip install -r \
42
  "https://huggingface.co/Synthyra/ESM2-3B/resolve/main/requirements.txt"
43
  ```
44
 
45
- The FastPLMs implementation itself is embedded in the model repository and loaded
46
- by Transformers through `trust_remote_code=True`.
47
 
48
- Python 3.11-3.14, PyTorch 2.13, and Transformers 5.13 are required. The artifact requirements include the direct FlashAttention loader dependency. FlashAttention also requires compatible CUDA hardware and BF16 execution. The Hub quick start below requires network
49
- access on first download. For an air-gapped run, first build the manifest-pinned
50
- local artifact and use the offline form shown in the example.
51
 
52
  ## Quick start
53
 
@@ -63,23 +61,23 @@ model = AutoModel.from_pretrained(
63
  ```
64
 
65
  For offline validation, replace `model_id` with the manifest-built
66
- `dist/hub/ESM2-3B` path and pass `local_files_only=True`.
67
 
68
  ## Attention and compliance
69
 
70
  The quick start selects `sdpa` explicitly. Declared variants are `eager`, `sdpa`, `flex_attention`, `flash_attention_2`,
71
- `flash_attention_3`. An unavailable requested backend raises instead of
72
- silently switching implementations.
73
- `output_attentions=True` may use the documented, one-call eager fallback solely
74
- to materialize attention tensors; the configured backend remains unchanged.
75
 
76
- This family declares the `compliance` tier. Release evidence binds the exact
77
  checkpoint, backend, dtype, hardware, inputs, and reference revision.
78
 
79
  ## Tokenization and forward inference
80
 
81
- Load the tokenizer from the same artifact as the model. Padding is represented
82
- explicitly by the attention mask:
83
 
84
  ```python
85
  import torch
@@ -104,8 +102,8 @@ print(output.last_hidden_state.shape)
104
 
105
  ## Dataset embeddings
106
 
107
- The shared embedding mixin preserves input order and biological-position
108
- masking. It accepts sequences, identified records, mappings, or a FASTA path:
109
 
110
  ```python
111
  pooled = model.embed_dataset(
@@ -122,13 +120,13 @@ print(residues[0].tensor.shape) # (l, d)
122
  ```
123
 
124
  Set `output` and `format="safetensors"` or `"sqlite"` for transactional,
125
- bounded-memory persistence. Resume verifies input order, model state, tokenizer
126
- policy, backend, dtype, and pooling configuration before appending.
127
 
128
  ## Downstream classification
129
 
130
- Both downstream AutoClasses reuse the checkpoint backbone and initialize a new,
131
- untrained `classifier`. Sequence labels have shape `(b,)`; residue labels have
132
  shape `(b, l)` and use `-100` outside biological positions:
133
 
134
  ```python
@@ -166,7 +164,7 @@ print(token_output.logits.shape) # (b, l, 3)
166
 
167
  ## PEFT fine-tuning
168
 
169
- Install the direct training dependencies, then attach LoRA to the loaded checkpoint:
170
 
171
  ```bash
172
  python -m pip install "datasets>=4.8,<5" "peft>=0.19,<0.20"
@@ -187,17 +185,17 @@ peft_model = get_peft_model(
187
  )
188
  ```
189
 
190
- This checkpoint advertises a classification head, so the separately trained
191
- `classifier` is saved with the adapter.
192
  All FastPLMs checkpoints follow the Transformers `PreTrainedModel` contract and
193
- can be adapted with PEFT. The ESM2-specific shipped CLI is an example, not a
194
  support boundary. Record the target modules, base revision, data identity, and
195
  trainable parameter scope.
196
 
197
  ## Test-time training
198
 
199
  TTT samples masked views of one protein and updates only injected low-rank
200
- adapters. Base checkpoint weights remain frozen:
201
 
202
  ```python
203
  from transformers import AutoModelForMaskedLM
@@ -215,12 +213,12 @@ ttt_model.ttt_reset()
215
  print(metrics)
216
  ```
217
 
218
- Persisted adapters retain their deterministic reset state. TTT adds latency
219
- and memory, can worsen an output, and does not establish biological function.
220
 
221
  ## Masked language modeling and contacts
222
 
223
- Use the masked-language-model AutoClass when logits are required:
224
 
225
  ```python
226
  import torch
@@ -244,13 +242,12 @@ with torch.inference_mode():
244
  print(logits.shape, contacts.shape)
245
  ```
246
 
247
- Contact prediction materializes attention maps and should not be enabled in a
248
- high-throughput embedding path unless those maps are required.
249
 
250
  Plain `AutoModel` omits the optional ESM pooler because this masked-language-
251
- model checkpoint contains no trained pooler weights. Pass
252
- `add_pooling_layer=True` only when intentionally initializing and training that
253
- head.
254
 
255
  ## Notes and limitations
256
 
@@ -278,8 +275,8 @@ required.
278
  ## Release record
279
 
280
  - FastPLMs weights: `Synthyra/ESM2-3B`
281
- - Runtime revision: recorded separately in the built artifact and published commit
282
- - Source-tree and runtime-bundle SHA-256: recorded in `provenance.json`
283
  - Official checkpoint: `facebook/esm2_t36_3B_UR50D`
284
  - Artifact source: `fast`
285
  - State transform: `esm2_hf_to_fastplms_v1`
@@ -287,19 +284,17 @@ required.
287
  - Release tiers: `check`, `compliance`, `feature`, `artifact`, `benchmark`
288
  - Unresolved required file identities: `0`
289
 
290
- `provenance.json` records exact file identities, conversion, source revisions,
291
- legal texts, schema, and attestations. A nonzero unresolved count blocks release.
292
 
293
  ## Validation boundary
294
 
295
- Declared tiers compare applicable configuration, tokenizer behavior, state,
296
- and representative inference with the pinned reference. Metadata alone does
297
- not claim a build passed, a backend is faster, or an output is biologically
298
- valid.
299
 
300
  ## License
301
 
302
  Checkpoint terms: MIT. The Hub model-card identifier is
303
- `mit`. Applicable source licenses, notices, attribution,
304
- and conversion records are distributed with the local artifact. Review them
305
- before use.
 
10
 
11
  # Synthyra/ESM2-3B
12
 
13
+ This checkpoint contains the FastPLMs `ESM2` implementation.
14
 
15
  Accepted inputs are amino-acid sequences tokenized to residue IDs.
16
  Supported Transformers entry points are `AutoConfig`, `AutoModel`,
 
29
  | Attention variants | Supported: `eager`, `sdpa`, `flex_attention`, `flash_attention_2`, `flash_attention_3` |
30
  | Compliance | Declared: exact release evidence is required |
31
 
32
+ 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.
 
 
33
 
34
  ## Install and platform requirements
35
 
 
40
  "https://huggingface.co/Synthyra/ESM2-3B/resolve/main/requirements.txt"
41
  ```
42
 
43
+ The FastPLMs implementation itself is embedded in the model repository.
44
+ Transformers loads it through `trust_remote_code=True`.
45
 
46
+ This model requires Python 3.11-3.14, PyTorch 2.13, and Transformers 5.13. The artifact requirements include the FlashAttention loader dependency. FlashAttention also requires compatible CUDA hardware and BF16 execution. The Hub quick start needs network access for
47
+ the first download. For an air-gapped run, build the manifest-pinned local
48
+ artifact first and use the offline example.
49
 
50
  ## Quick start
51
 
 
61
  ```
62
 
63
  For offline validation, replace `model_id` with the manifest-built
64
+ `dist/hub/ESM2-3B` path. Pass `local_files_only=True`.
65
 
66
  ## Attention and compliance
67
 
68
  The quick start selects `sdpa` explicitly. Declared variants are `eager`, `sdpa`, `flex_attention`, `flash_attention_2`,
69
+ `flash_attention_3`. An unavailable requested backend raises. It does not
70
+ silently change implementation.
71
+ `output_attentions=True` can use the documented one-call eager fallback to
72
+ materialize attention tensors. The configured backend does not change.
73
 
74
+ This family declares the `compliance` tier. Release evidence identifies the
75
  checkpoint, backend, dtype, hardware, inputs, and reference revision.
76
 
77
  ## Tokenization and forward inference
78
 
79
+ Load the tokenizer from the same artifact as the model. The attention mask
80
+ shows padding explicitly:
81
 
82
  ```python
83
  import torch
 
102
 
103
  ## Dataset embeddings
104
 
105
+ The shared embedding mixin keeps input order and biological-position masking.
106
+ It accepts sequences, identified records, mappings, or a FASTA path:
107
 
108
  ```python
109
  pooled = model.embed_dataset(
 
120
  ```
121
 
122
  Set `output` and `format="safetensors"` or `"sqlite"` for transactional,
123
+ bounded-memory storage. Resume checks input order, model state, tokenizer
124
+ policy, backend, dtype, and pooling configuration before it appends data.
125
 
126
  ## Downstream classification
127
 
128
+ Both downstream AutoClasses use the checkpoint backbone and create a new,
129
+ untrained `classifier`. Sequence labels have shape `(b,)`. Residue labels have
130
  shape `(b, l)` and use `-100` outside biological positions:
131
 
132
  ```python
 
164
 
165
  ## PEFT fine-tuning
166
 
167
+ Install the training dependencies. Then attach LoRA to the loaded checkpoint:
168
 
169
  ```bash
170
  python -m pip install "datasets>=4.8,<5" "peft>=0.19,<0.20"
 
185
  )
186
  ```
187
 
188
+ This checkpoint advertises a classification head. Save the separately trained
189
+ `classifier` with the adapter.
190
  All FastPLMs checkpoints follow the Transformers `PreTrainedModel` contract and
191
+ can use PEFT. The ESM2-specific shipped CLI is an example, not a
192
  support boundary. Record the target modules, base revision, data identity, and
193
  trainable parameter scope.
194
 
195
  ## Test-time training
196
 
197
  TTT samples masked views of one protein and updates only injected low-rank
198
+ adapters. Base checkpoint weights stay frozen:
199
 
200
  ```python
201
  from transformers import AutoModelForMaskedLM
 
213
  print(metrics)
214
  ```
215
 
216
+ Saved adapters retain their deterministic reset state. TTT adds latency and
217
+ memory, can worsen an output, and does not show biological function.
218
 
219
  ## Masked language modeling and contacts
220
 
221
+ Use the masked-language-model AutoClass when you need logits:
222
 
223
  ```python
224
  import torch
 
242
  print(logits.shape, contacts.shape)
243
  ```
244
 
245
+ Contact prediction creates attention maps. Do not enable it in a high-throughput
246
+ embedding path unless you need these maps.
247
 
248
  Plain `AutoModel` omits the optional ESM pooler because this masked-language-
249
+ model checkpoint has no trained pooler weights. Pass `add_pooling_layer=True`
250
+ only when you intend to initialize and train that head.
 
251
 
252
  ## Notes and limitations
253
 
 
275
  ## Release record
276
 
277
  - FastPLMs weights: `Synthyra/ESM2-3B`
278
+ - Runtime revision: recorded in the built artifact and published commit
279
+ - Source-tree and runtime-bundle SHA-256: recorded in the source record
280
  - Official checkpoint: `facebook/esm2_t36_3B_UR50D`
281
  - Artifact source: `fast`
282
  - State transform: `esm2_hf_to_fastplms_v1`
 
284
  - Release tiers: `check`, `compliance`, `feature`, `artifact`, `benchmark`
285
  - Unresolved required file identities: `0`
286
 
287
+ The source record records exact file identities, conversion, source revisions,
288
+ legal texts, schema, and attestations. A nonzero unresolved count blocks a release.
289
 
290
  ## Validation boundary
291
 
292
+ Declared tiers compare configuration, tokenizer behavior, state, and
293
+ representative inference with the pinned reference. Metadata does not show that
294
+ a build passed, that a backend is faster, or that an output is biologically valid.
 
295
 
296
  ## License
297
 
298
  Checkpoint terms: MIT. The Hub model-card identifier is
299
+ `mit`. The local artifact contains applicable source
300
+ 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 != "f22353ef386f607784889dc303488a2dc5e99b009a5e423ab3eff1f1eb03a9a4":
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 != "763b7fb2e3c4acc0738b0ef4035c8d63d0bff90c57447c296b576f0c8ee9531a":
16
  raise RuntimeError("FastPLMs runtime identity differs from the bridge.")
17
 
18
  _RUNTIME_TEMPORARIES = []