lhallee commited on
Commit
99b06e0
·
verified ·
1 Parent(s): 5301e2b

Update FastPLMs files

Browse files
LICENSES/dplm/SOURCE_RECORD.md ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # DPLM checkpoint license provenance
2
+
3
+ FastPLMs uses the ByteDance DPLM repository at immutable revision
4
+ `8a2e15e53416b4536f03f79ad1f6f6a9cbd5e19d` as the official source for both
5
+ DPLM1 and DPLM2.
6
+
7
+ At that revision:
8
+
9
+ - the repository contains the complete [Apache License 2.0](https://github.com/bytedance/dplm/blob/8a2e15e53416b4536f03f79ad1f6f6a9cbd5e19d/LICENSE); and
10
+ - the [official README](https://github.com/bytedance/dplm/blob/8a2e15e53416b4536f03f79ad1f6f6a9cbd5e19d/README.md#overview)
11
+ defines the repository release as including the pretrained weights for the
12
+ DPLM family, specifically DPLM1 and DPLM2, alongside training and inference
13
+ implementations.
14
+
15
+ FastPLMs therefore records the official DPLM1 and DPLM2 checkpoint weights as
16
+ Apache-2.0. Converted Synthyra checkpoints retain that license and include the
17
+ verbatim upstream `LICENSE`. The deterministic conversion identifiers are
18
+ `dplm_to_fastplms_v1` and `dplm2_to_fastplms_v1`; neither adds restrictions to
19
+ the upstream terms.
20
+
21
+ Complete publication is permitted only after the ordinary FastPLMs artifact,
22
+ state-parity, legal-inventory, and atomic-publication checks pass. This record
23
+ does not change the terms of third-party training data or downstream outputs.
README.md CHANGED
@@ -10,7 +10,7 @@ tags:
10
 
11
  # Synthyra/DPLM-650M
12
 
13
- This checkpoint packages the FastPLMs `DPLM` implementation.
14
 
15
  Accepted inputs are amino-acid sequences tokenized to masked or partially
16
  masked residue IDs.
@@ -30,9 +30,7 @@ Supported Transformers entry points are `AutoConfig`, `AutoModel`,
30
  | Attention variants | Supported: `eager`, `sdpa`, `flex_attention`, `flash_attention_3` |
31
  | Compliance | Declared: exact release evidence is required |
32
 
33
- A supported interface is not a pretrained downstream predictor. Classification
34
- heads start untrained, and declared compliance metadata is not a claim that an
35
- arbitrary local build passed its release gate.
36
 
37
  ## Install and platform requirements
38
 
@@ -43,12 +41,12 @@ python -m pip install -r \
43
  "https://huggingface.co/Synthyra/DPLM-650M/resolve/main/requirements.txt"
44
  ```
45
 
46
- The FastPLMs implementation itself is embedded in the model repository and loaded
47
- by Transformers through `trust_remote_code=True`.
48
 
49
- 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
50
- access on first download. For an air-gapped run, first build the manifest-pinned
51
- local artifact and use the offline form shown in the example.
52
 
53
  ## Quick start
54
 
@@ -64,23 +62,23 @@ model = AutoModel.from_pretrained(
64
  ```
65
 
66
  For offline validation, replace `model_id` with the manifest-built
67
- `dist/hub/DPLM-650M` path and pass `local_files_only=True`.
68
 
69
  ## Attention and compliance
70
 
71
  The quick start selects `sdpa` explicitly. Declared variants are `eager`, `sdpa`, `flex_attention`, `flash_attention_3`.
72
- An unavailable requested backend raises instead of silently switching
73
- implementations.
74
- `output_attentions=True` may use the documented, one-call eager fallback solely
75
- to materialize attention tensors; the configured backend remains unchanged.
76
 
77
- This family declares the `compliance` tier. Release evidence binds the exact
78
  checkpoint, backend, dtype, hardware, inputs, and reference revision.
79
 
80
  ## Tokenization and forward inference
81
 
82
- Load the tokenizer from the same artifact as the model. Padding is represented
83
- explicitly by the attention mask:
84
 
85
  ```python
86
  import torch
@@ -105,8 +103,8 @@ print(output.last_hidden_state.shape)
105
 
106
  ## Dataset embeddings
107
 
108
- The shared embedding mixin preserves input order and biological-position
109
- masking. It accepts sequences, identified records, mappings, or a FASTA path:
110
 
111
  ```python
112
  pooled = model.embed_dataset(
@@ -123,13 +121,13 @@ print(residues[0].tensor.shape) # (l, d)
123
  ```
124
 
125
  Set `output` and `format="safetensors"` or `"sqlite"` for transactional,
126
- bounded-memory persistence. Resume verifies input order, model state, tokenizer
127
- policy, backend, dtype, and pooling configuration before appending.
128
 
129
  ## Downstream classification
130
 
131
- Both downstream AutoClasses reuse the checkpoint backbone and initialize a new,
132
- untrained `classifier`. Sequence labels have shape `(b,)`; residue labels have
133
  shape `(b, l)` and use `-100` outside biological positions:
134
 
135
  ```python
@@ -167,7 +165,7 @@ print(token_output.logits.shape) # (b, l, 3)
167
 
168
  ## PEFT fine-tuning
169
 
170
- Install the direct training dependencies, then attach LoRA to the loaded checkpoint:
171
 
172
  ```bash
173
  python -m pip install "datasets>=4.8,<5" "peft>=0.19,<0.20"
@@ -188,17 +186,17 @@ peft_model = get_peft_model(
188
  )
189
  ```
190
 
191
- This checkpoint advertises a classification head, so the separately trained
192
- `classifier` is saved with the adapter.
193
  All FastPLMs checkpoints follow the Transformers `PreTrainedModel` contract and
194
- can be adapted with PEFT. The ESM2-specific shipped CLI is an example, not a
195
  support boundary. Record the target modules, base revision, data identity, and
196
  trainable parameter scope.
197
 
198
  ## Test-time training
199
 
200
  TTT samples masked views of one protein and updates only injected low-rank
201
- adapters. Base checkpoint weights remain frozen:
202
 
203
  ```python
204
  from transformers import AutoModelForMaskedLM
@@ -216,13 +214,13 @@ ttt_model.ttt_reset()
216
  print(metrics)
217
  ```
218
 
219
- Persisted adapters retain their deterministic reset state. TTT adds latency
220
- and memory, can worsen an output, and does not establish biological function.
221
 
222
  ## Diffusion sequence generation
223
 
224
- DPLM defines the requested length from biological positions in a tokenized
225
- input, masks those positions, and iteratively retains confident predictions:
226
 
227
  ```python
228
  import torch
@@ -246,20 +244,18 @@ sequence = tokenizer.decode(
246
  print(sequence)
247
  ```
248
 
249
- Omitting `max_iter` uses the official 500-step schedule. A shorter schedule
250
- changes the sampling process rather than providing an equivalent faster mode.
251
 
252
- Plain `AutoModel` omits the optional ESM pooler because this diffusion
253
- checkpoint contains no trained pooler weights. Pass `add_pooling_layer=True`
254
- only when intentionally initializing and training that head.
255
 
256
- DPLM1 and DPLM2 checkpoint weights are Apache-2.0. The maintained ByteDance
257
- [LICENSE](https://github.com/bytedance/dplm/blob/main/LICENSE) is Apache-2.0 and the
258
- [README](https://github.com/bytedance/dplm/blob/main/README.md#overview)
259
- explicitly scopes the repository release to the pretrained DPLM1 and DPLM2
260
- weights. FastPLMs artifacts record `weights_license_status="resolved"` and
261
- `redistributable=true`; complete publication is permitted only after all
262
- artifact, legal, parity, and atomic-publication preflights pass.
263
 
264
  ## Runtime contract
265
 
@@ -279,8 +275,8 @@ artifact, legal, parity, and atomic-publication preflights pass.
279
  ## Release record
280
 
281
  - FastPLMs weights: `Synthyra/DPLM-650M`
282
- - Runtime revision: recorded separately in the built artifact and published commit
283
- - Source-tree and runtime-bundle SHA-256: recorded in `provenance.json`
284
  - Official checkpoint: `airkingbd/dplm_650m`
285
  - Artifact source: `fast`
286
  - State transform: `dplm_to_fastplms_v1`
@@ -288,19 +284,17 @@ artifact, legal, parity, and atomic-publication preflights pass.
288
  - Release tiers: `check`, `compliance`, `feature`, `artifact`, `benchmark`
289
  - Unresolved required file identities: `0`
290
 
291
- `provenance.json` records exact file identities, conversion, source revisions,
292
- legal texts, schema, and attestations. A nonzero unresolved count blocks release.
293
 
294
  ## Validation boundary
295
 
296
- Declared tiers compare applicable configuration, tokenizer behavior, state,
297
- and representative inference with the pinned reference. Metadata alone does
298
- not claim a build passed, a backend is faster, or an output is biologically
299
- valid.
300
 
301
  ## License
302
 
303
  Checkpoint terms: Apache-2.0. The Hub model-card identifier is
304
- `apache-2.0`. Applicable source licenses, notices, attribution,
305
- and conversion records are distributed with the local artifact. Review them
306
- before use.
 
10
 
11
  # Synthyra/DPLM-650M
12
 
13
+ This checkpoint contains the FastPLMs `DPLM` implementation.
14
 
15
  Accepted inputs are amino-acid sequences tokenized to masked or partially
16
  masked residue IDs.
 
30
  | Attention variants | Supported: `eager`, `sdpa`, `flex_attention`, `flash_attention_3` |
31
  | Compliance | Declared: exact release evidence is required |
32
 
33
+ 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.
 
 
34
 
35
  ## Install and platform requirements
36
 
 
41
  "https://huggingface.co/Synthyra/DPLM-650M/resolve/main/requirements.txt"
42
  ```
43
 
44
+ The FastPLMs implementation itself is embedded in the model repository.
45
+ Transformers loads it through `trust_remote_code=True`.
46
 
47
+ 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
48
+ the first download. For an air-gapped run, build the manifest-pinned local
49
+ artifact first and use the offline example.
50
 
51
  ## Quick start
52
 
 
62
  ```
63
 
64
  For offline validation, replace `model_id` with the manifest-built
65
+ `dist/hub/DPLM-650M` path. 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`, `flash_attention_3`.
70
+ An unavailable requested backend raises. It does not silently change
71
+ implementation.
72
+ `output_attentions=True` can use the documented one-call eager fallback to
73
+ materialize attention tensors. The configured backend does not change.
74
 
75
+ This family declares the `compliance` tier. Release evidence identifies the
76
  checkpoint, backend, dtype, hardware, inputs, and reference revision.
77
 
78
  ## Tokenization and forward inference
79
 
80
+ Load the tokenizer from the same artifact as the model. The attention mask
81
+ shows padding explicitly:
82
 
83
  ```python
84
  import torch
 
103
 
104
  ## Dataset embeddings
105
 
106
+ The shared embedding mixin keeps input order and biological-position masking.
107
+ It accepts sequences, identified records, mappings, or a FASTA path:
108
 
109
  ```python
110
  pooled = model.embed_dataset(
 
121
  ```
122
 
123
  Set `output` and `format="safetensors"` or `"sqlite"` for transactional,
124
+ bounded-memory storage. Resume checks input order, model state, tokenizer
125
+ policy, backend, dtype, and pooling configuration before it appends data.
126
 
127
  ## Downstream classification
128
 
129
+ Both downstream AutoClasses use the checkpoint backbone and create a new,
130
+ untrained `classifier`. Sequence labels have shape `(b,)`. Residue labels have
131
  shape `(b, l)` and use `-100` outside biological positions:
132
 
133
  ```python
 
165
 
166
  ## PEFT fine-tuning
167
 
168
+ Install the training dependencies. Then attach LoRA to the loaded checkpoint:
169
 
170
  ```bash
171
  python -m pip install "datasets>=4.8,<5" "peft>=0.19,<0.20"
 
186
  )
187
  ```
188
 
189
+ This checkpoint advertises a classification head. Save the separately trained
190
+ `classifier` with the adapter.
191
  All FastPLMs checkpoints follow the Transformers `PreTrainedModel` contract and
192
+ can use PEFT. The ESM2-specific shipped CLI is an example, not a
193
  support boundary. Record the target modules, base revision, data identity, and
194
  trainable parameter scope.
195
 
196
  ## Test-time training
197
 
198
  TTT samples masked views of one protein and updates only injected low-rank
199
+ adapters. Base checkpoint weights stay frozen:
200
 
201
  ```python
202
  from transformers import AutoModelForMaskedLM
 
214
  print(metrics)
215
  ```
216
 
217
+ Saved adapters retain their deterministic reset state. TTT adds latency and
218
+ memory, can worsen an output, and does not show biological function.
219
 
220
  ## Diffusion sequence generation
221
 
222
+ DPLM gets the requested length from biological positions in a tokenized input.
223
+ It masks these positions and retains confident predictions at each iteration:
224
 
225
  ```python
226
  import torch
 
244
  print(sequence)
245
  ```
246
 
247
+ If you omit `max_iter`, DPLM uses the official 500-step schedule. A shorter
248
+ schedule changes the sampling process. It is not an equivalent faster mode.
249
 
250
+ Plain `AutoModel` omits the optional ESM pooler because this diffusion checkpoint
251
+ has no trained pooler weights. Pass `add_pooling_layer=True` only when you intend
252
+ to initialize and train that head.
253
 
254
+ DPLM1 and DPLM2 checkpoint weights use Apache-2.0. The ByteDance
255
+ [LICENSE](https://github.com/bytedance/dplm/blob/main/LICENSE) uses Apache-2.0. Its [README](https://github.com/bytedance/dplm/blob/main/README.md#overview) limits the
256
+ repository release to pretrained DPLM1 and DPLM2 weights. FastPLMs artifacts
257
+ record `weights_license_status="resolved"` and `redistributable=true`. Complete
258
+ publication requires all artifact, legal, parity, and atomic-publication checks.
 
 
259
 
260
  ## Runtime contract
261
 
 
275
  ## Release record
276
 
277
  - FastPLMs weights: `Synthyra/DPLM-650M`
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: `airkingbd/dplm_650m`
281
  - Artifact source: `fast`
282
  - State transform: `dplm_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: Apache-2.0. The Hub model-card identifier is
299
+ `apache-2.0`. 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 != "09e101fa439b48bd098f51549708eca52ea4cb88caac3ca6f5e76c262b461609":
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 != "f894c69f8a000ae80f19edfecf1bd8b306796ccb3e5c3891b3afeb3cdd6bf77d":
16
  raise RuntimeError("FastPLMs runtime identity differs from the bridge.")
17
 
18
  _RUNTIME_TEMPORARIES = []