Instructions to use Synthyra/DPLM-650M with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Synthyra/DPLM-650M with Transformers:
# Load model directly from transformers import EsmForDPLM model = EsmForDPLM.from_pretrained("Synthyra/DPLM-650M", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
Update FastPLMs files
Browse files- LICENSES/dplm/SOURCE_RECORD.md +23 -0
- README.md +49 -55
- THIRD_PARTY_NOTICES.md +3 -3
- fastplms/models.toml +8 -7
- fastplms_bundle.py +0 -0
- modeling_fastplms.py +1 -1
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
|
| 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
|
| 47 |
-
|
| 48 |
|
| 49 |
-
Python 3.11-3.14, PyTorch 2.13, and Transformers 5.13
|
| 50 |
-
|
| 51 |
-
|
| 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
|
| 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
|
| 73 |
-
|
| 74 |
-
`output_attentions=True`
|
| 75 |
-
|
| 76 |
|
| 77 |
-
This family declares the `compliance` tier. Release evidence
|
| 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.
|
| 83 |
-
|
| 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
|
| 109 |
-
|
| 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
|
| 127 |
-
policy, backend, dtype, and pooling configuration before
|
| 128 |
|
| 129 |
## Downstream classification
|
| 130 |
|
| 131 |
-
Both downstream AutoClasses
|
| 132 |
-
untrained `classifier`. Sequence labels have shape `(b,)`
|
| 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
|
| 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
|
| 192 |
-
`classifier`
|
| 193 |
All FastPLMs checkpoints follow the Transformers `PreTrainedModel` contract and
|
| 194 |
-
can
|
| 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
|
| 202 |
|
| 203 |
```python
|
| 204 |
from transformers import AutoModelForMaskedLM
|
|
@@ -216,13 +214,13 @@ ttt_model.ttt_reset()
|
|
| 216 |
print(metrics)
|
| 217 |
```
|
| 218 |
|
| 219 |
-
|
| 220 |
-
|
| 221 |
|
| 222 |
## Diffusion sequence generation
|
| 223 |
|
| 224 |
-
DPLM
|
| 225 |
-
|
| 226 |
|
| 227 |
```python
|
| 228 |
import torch
|
|
@@ -246,20 +244,18 @@ sequence = tokenizer.decode(
|
|
| 246 |
print(sequence)
|
| 247 |
```
|
| 248 |
|
| 249 |
-
|
| 250 |
-
changes the sampling process
|
| 251 |
|
| 252 |
-
Plain `AutoModel` omits the optional ESM pooler because this diffusion
|
| 253 |
-
|
| 254 |
-
|
| 255 |
|
| 256 |
-
DPLM1 and DPLM2 checkpoint weights
|
| 257 |
-
[LICENSE](https://github.com/bytedance/dplm/blob/main/LICENSE)
|
| 258 |
-
|
| 259 |
-
|
| 260 |
-
|
| 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
|
| 283 |
-
- Source-tree and runtime-bundle SHA-256: recorded in
|
| 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 |
-
|
| 292 |
-
legal texts, schema, and attestations. A nonzero unresolved count blocks release.
|
| 293 |
|
| 294 |
## Validation boundary
|
| 295 |
|
| 296 |
-
Declared tiers compare
|
| 297 |
-
|
| 298 |
-
|
| 299 |
-
valid.
|
| 300 |
|
| 301 |
## License
|
| 302 |
|
| 303 |
Checkpoint terms: Apache-2.0. The Hub model-card identifier is
|
| 304 |
-
`apache-2.0`.
|
| 305 |
-
|
| 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/
|
| 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/
|
| 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 `
|
| 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 |
-
"
|
| 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 |
-
"
|
| 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 |
-
"
|
| 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 |
-
"
|
| 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/
|
| 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/
|
| 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 != "
|
| 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 = []
|