lhallee commited on
Commit
c69d083
·
verified ·
1 Parent(s): 9b3dd5e

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/DPLM2-150M
12
 
13
- This checkpoint packages the FastPLMs `DPLM2` implementation.
14
 
15
  Accepted inputs are tokenized amino-acid and structure tracks with explicit
16
  modality boundaries.
@@ -30,9 +30,7 @@ Supported Transformers entry points are `AutoConfig`, `AutoModel`,
30
  | Attention variants | Supported: `sdpa` |
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/DPLM2-150M/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 declared CPU gate covers tiny offline contracts; published checkpoint throughput and parity require the documented device tier. 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,22 +62,22 @@ model = AutoModel.from_pretrained(
64
  ```
65
 
66
  For offline validation, replace `model_id` with the manifest-built
67
- `dist/hub/DPLM2-150M` path and pass `local_files_only=True`.
68
 
69
  ## Attention and compliance
70
 
71
- The quick start selects `sdpa` explicitly. Declared variants are `sdpa`. An unavailable requested backend raises instead
72
- of 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
  ## Dataset embeddings
80
 
81
- The shared embedding mixin preserves input order and biological-position
82
- masking. It accepts sequences, identified records, mappings, or a FASTA path:
83
 
84
  ```python
85
  pooled = model.embed_dataset(
@@ -96,13 +94,13 @@ print(residues[0].tensor.shape) # (l, d)
96
  ```
97
 
98
  Set `output` and `format="safetensors"` or `"sqlite"` for transactional,
99
- bounded-memory persistence. Resume verifies input order, model state, tokenizer
100
- policy, backend, dtype, and pooling configuration before appending.
101
 
102
  ## Downstream classification
103
 
104
- Both downstream AutoClasses reuse the checkpoint backbone and initialize a new,
105
- untrained `classifier`. Sequence labels have shape `(b,)`; residue labels have
106
  shape `(b, l)` and use `-100` outside biological positions:
107
 
108
  ```python
@@ -140,7 +138,7 @@ print(token_output.logits.shape) # (b, l, 3)
140
 
141
  ## PEFT fine-tuning
142
 
143
- Install the direct training dependencies, then attach LoRA to the loaded checkpoint:
144
 
145
  ```bash
146
  python -m pip install "datasets>=4.8,<5" "peft>=0.19,<0.20"
@@ -161,17 +159,17 @@ peft_model = get_peft_model(
161
  )
162
  ```
163
 
164
- This checkpoint advertises a classification head, so the separately trained
165
- `classifier` is saved with the adapter.
166
  All FastPLMs checkpoints follow the Transformers `PreTrainedModel` contract and
167
- can be adapted with PEFT. The ESM2-specific shipped CLI is an example, not a
168
  support boundary. Record the target modules, base revision, data identity, and
169
  trainable parameter scope.
170
 
171
  ## Test-time training
172
 
173
  TTT samples masked views of one protein and updates only injected low-rank
174
- adapters. Base checkpoint weights remain frozen:
175
 
176
  ```python
177
  from transformers import AutoModelForMaskedLM
@@ -189,12 +187,12 @@ ttt_model.ttt_reset()
189
  print(metrics)
190
  ```
191
 
192
- Persisted adapters retain their deterministic reset state. TTT adds latency
193
- and memory, can worsen an output, and does not establish biological function.
194
 
195
  ## Amino-acid and structure co-generation
196
 
197
- DPLM2 uses separate structure and amino-acid tracks with modality-specific
198
  boundary and mask tokens:
199
 
200
  ```python
@@ -226,19 +224,19 @@ with torch.inference_mode():
226
  print(generated.shape)
227
  ```
228
 
229
- Generic `cls_token`, `eos_token`, `mask_token`, and `unk_token` aliases are
230
- intentionally unset. Callers constructing multimodal tensors must choose the
231
- amino-acid or structure token explicitly. Raw amino-acid sequences remain
232
- supported by `model.embed_dataset(...)`.
233
 
234
  Plain `AutoModel` omits the optional ESM pooler because this co-generation
235
- checkpoint contains no trained pooler weights. Pass `add_pooling_layer=True`
236
- only when intentionally initializing and training that head.
237
 
238
- The checkpoint weights are Apache-2.0. The maintained ByteDance
239
- [LICENSE](https://github.com/bytedance/dplm/blob/main/LICENSE) and [README](https://github.com/bytedance/dplm/blob/main/README.md#overview) document the license
240
- basis for the pretrained DPLM1 and DPLM2 weights. Complete publication remains
241
- subject to all artifact, legal, parity, and atomic-publication preflights.
242
 
243
  ## Runtime contract
244
 
@@ -258,10 +256,10 @@ subject to all artifact, legal, parity, and atomic-publication preflights.
258
  ## Release record
259
 
260
  - FastPLMs weights: `Synthyra/DPLM2-150M`
261
- - Runtime revision: recorded separately in the built artifact and published commit
262
- - Source-tree and runtime-bundle SHA-256: recorded in `provenance.json`
263
  - Canonical transformed state SHA-256: `82e1751f59052b8de72b082517557db47947e8d9b4ac2f11278369e6c0cbf001`
264
- - Conversion equality attestation: recorded in `provenance.json`
265
  - Official checkpoint: `airkingbd/dplm2_150m`
266
  - Artifact source: `official`
267
  - State transform: `dplm2_to_fastplms_v1`
@@ -270,19 +268,17 @@ subject to all artifact, legal, parity, and atomic-publication preflights.
270
  - Release tiers: `check`, `compliance`, `feature`, `artifact`, `benchmark`
271
  - Unresolved required file identities: `0`
272
 
273
- `provenance.json` records exact file identities, conversion, source revisions,
274
- legal texts, schema, and attestations. A nonzero unresolved count blocks release.
275
 
276
  ## Validation boundary
277
 
278
- Declared tiers compare applicable configuration, tokenizer behavior, state,
279
- and representative inference with the pinned reference. Metadata alone does
280
- not claim a build passed, a backend is faster, or an output is biologically
281
- valid.
282
 
283
  ## License
284
 
285
  Checkpoint terms: Apache-2.0. The Hub model-card identifier is
286
- `apache-2.0`. Applicable source licenses, notices, attribution,
287
- and conversion records are distributed with the local artifact. Review them
288
- before use.
 
10
 
11
  # Synthyra/DPLM2-150M
12
 
13
+ This checkpoint contains the FastPLMs `DPLM2` implementation.
14
 
15
  Accepted inputs are tokenized amino-acid and structure tracks with explicit
16
  modality boundaries.
 
30
  | Attention variants | Supported: `sdpa` |
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/DPLM2-150M/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 CPU gate covers small offline tests. Published checkpoint throughput and parity require the documented device tier. 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/DPLM2-150M` path. Pass `local_files_only=True`.
66
 
67
  ## Attention and compliance
68
 
69
+ The quick start selects `sdpa` explicitly. Declared variants are `sdpa`. An unavailable requested backend raises. It does
70
+ not 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
  ## Dataset embeddings
78
 
79
+ The shared embedding mixin keeps input order and biological-position masking.
80
+ It accepts sequences, identified records, mappings, or a FASTA path:
81
 
82
  ```python
83
  pooled = model.embed_dataset(
 
94
  ```
95
 
96
  Set `output` and `format="safetensors"` or `"sqlite"` for transactional,
97
+ bounded-memory storage. Resume checks input order, model state, tokenizer
98
+ policy, backend, dtype, and pooling configuration before it appends data.
99
 
100
  ## Downstream classification
101
 
102
+ Both downstream AutoClasses use the checkpoint backbone and create a new,
103
+ untrained `classifier`. Sequence labels have shape `(b,)`. Residue labels have
104
  shape `(b, l)` and use `-100` outside biological positions:
105
 
106
  ```python
 
138
 
139
  ## PEFT fine-tuning
140
 
141
+ Install the training dependencies. Then attach LoRA to the loaded checkpoint:
142
 
143
  ```bash
144
  python -m pip install "datasets>=4.8,<5" "peft>=0.19,<0.20"
 
159
  )
160
  ```
161
 
162
+ This checkpoint advertises a classification head. Save the separately trained
163
+ `classifier` with the adapter.
164
  All FastPLMs checkpoints follow the Transformers `PreTrainedModel` contract and
165
+ can use PEFT. The ESM2-specific shipped CLI is an example, not a
166
  support boundary. Record the target modules, base revision, data identity, and
167
  trainable parameter scope.
168
 
169
  ## Test-time training
170
 
171
  TTT samples masked views of one protein and updates only injected low-rank
172
+ adapters. Base checkpoint weights stay frozen:
173
 
174
  ```python
175
  from transformers import AutoModelForMaskedLM
 
187
  print(metrics)
188
  ```
189
 
190
+ Saved adapters retain their deterministic reset state. TTT adds latency and
191
+ memory, can worsen an output, and does not show biological function.
192
 
193
  ## Amino-acid and structure co-generation
194
 
195
+ DPLM2 uses separate structure and amino-acid tracks. Each track has its own
196
  boundary and mask tokens:
197
 
198
  ```python
 
224
  print(generated.shape)
225
  ```
226
 
227
+ Generic `cls_token`, `eos_token`, `mask_token`, and `unk_token` aliases are not
228
+ set. Code that creates multimodal tensors must select the amino-acid or structure
229
+ token explicitly. Raw amino-acid sequences remain supported by
230
+ `model.embed_dataset(...)`.
231
 
232
  Plain `AutoModel` omits the optional ESM pooler because this co-generation
233
+ checkpoint has no trained pooler weights. Pass `add_pooling_layer=True` only
234
+ when you intend to initialize and train that head.
235
 
236
+ The checkpoint weights use Apache-2.0. The ByteDance [LICENSE](https://github.com/bytedance/dplm/blob/main/LICENSE)
237
+ and [README](https://github.com/bytedance/dplm/blob/main/README.md#overview) document the license for pretrained DPLM1 and DPLM2
238
+ weights. Complete publication requires all artifact, legal, parity, and
239
+ atomic-publication checks.
240
 
241
  ## Runtime contract
242
 
 
256
  ## Release record
257
 
258
  - FastPLMs weights: `Synthyra/DPLM2-150M`
259
+ - Runtime revision: recorded in the built artifact and published commit
260
+ - Source-tree and runtime-bundle SHA-256: recorded in the source record
261
  - Canonical transformed state SHA-256: `82e1751f59052b8de72b082517557db47947e8d9b4ac2f11278369e6c0cbf001`
262
+ - Conversion equality attestation: recorded in the source record
263
  - Official checkpoint: `airkingbd/dplm2_150m`
264
  - Artifact source: `official`
265
  - State transform: `dplm2_to_fastplms_v1`
 
268
  - Release tiers: `check`, `compliance`, `feature`, `artifact`, `benchmark`
269
  - Unresolved required file identities: `0`
270
 
271
+ The source record records exact file identities, conversion, source revisions,
272
+ legal texts, schema, and attestations. A nonzero unresolved count blocks a release.
273
 
274
  ## Validation boundary
275
 
276
+ Declared tiers compare configuration, tokenizer behavior, state, and
277
+ representative inference with the pinned reference. Metadata does not show that
278
+ a build passed, that a backend is faster, or that an output is biologically valid.
 
279
 
280
  ## License
281
 
282
  Checkpoint terms: Apache-2.0. The Hub model-card identifier is
283
+ `apache-2.0`. The local artifact contains applicable source
284
+ 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 != "7effb403b3097f204a36cf67caabcb4807a5124189c0bbfefd432f4ca7533ed6":
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 != "4d969d80a604669b287601091efc8c52de6fc4fd2c9b9c7140a1261e5cf2d4bc":
16
  raise RuntimeError("FastPLMs runtime identity differs from the bridge.")
17
 
18
  _RUNTIME_TEMPORARIES = []