Transformer architecture implementation
Use when when building a neural network to map between mass spectrometry spectra and molecular properties (e.g., fingerprints, SMILES, or fragment ions) where sequential or spectral feature dependencies must be captured.From its SKILL.md
npx -y skills add HolobiomicsLab/asb-skill-collections --skill transformer-architecture-implementationAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 14 stars14 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its file declares
Copied from the file, not written here
The file declares its own license as CC-BY-4.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
7.3 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it
transformer-architecture-implementation
Summary
Implement a multi-head self-attention transformer encoder architecture following the 'Attention is All You Need' paradigm to process mass spectrometry data. This skill involves constructing positional encodings, stacking transformer blocks in PyTorch, and validating numerical stability for MS/MS spectrum interpretation.
When to use
When building a neural network to map between mass spectrometry spectra and molecular properties (e.g., fingerprints, SMILES, or fragment ions) where sequential or spectral feature dependencies must be captured. Apply this skill at the start of a training or inference pipeline for MS/MS data where transformer-based architectures are specified in configuration YAML files.
When NOT to use
- Input spectra are already pre-encoded as fixed-length fingerprint vectors; use a simple MLP decoder instead.
- Temporal dependencies in the mass spectrum are not important and a simpler feed-forward or convolutional architecture suffices.
- Computational resources are severely limited and transformer overhead (quadratic attention complexity) is prohibitive; use lightweight alternatives like 1D CNNs.
Inputs
- Mass spectrometry MS/MS spectrum (precursor m/z, peak m/z values, peak intensities)
- Transformer hyperparameters (embedding dimension, number of heads, number of encoder layers, feed-forward hidden size)
- Optional: Pre-trained transformer weights or checkpoint
Outputs
- Transformer encoder model (PyTorch nn.Module)
- Encoded spectrum representations (tensor of shape [batch_size, seq_length, embedding_dim])
- Validation report (output shape, NaN/Inf checks, numerical stability metrics)
How to apply
First, define a transformer encoder with multi-head self-attention and feed-forward layers as described in 'Attention is All You Need', adapted for mass spectrum input shape. Implement positional encoding for input spectrum m/z and intensity features to preserve spectral ordering. Stack multiple transformer encoder blocks (number and dimensionality controlled via YAML hyperparameters) in a PyTorch nn.Module. Load or generate a representative MS/MS tensor with precursor m/z and normalized peak intensities, ensuring correct input dimensions. Initialize model weights, execute a forward pass through the encoder stack, and verify output tensor shapes match expected downstream task dimensions (e.g., fingerprint bit vector, SMILES token sequence, or fragment spectrum). Check for numerical instabilities (NaN or Inf values) that indicate gradient issues or normalization problems; if found, adjust layer normalization, initialization scale, or learning rate.
Related tools
- PyTorch (Implements transformer encoder blocks, multi-head self-attention, positional encoding, and forward pass execution with gradient computation) — https://github.com/pytorch
- RDKit (Converts InChI and SMILES entries to canonical SMILES for fingerprint calculation and validation of molecular structure predictions from spectra) — https://www.rdkit.org/
- IDSL_MINT (Reference framework implementing transformer-based mass spectrometry interpretation with YAML configuration for model training and inference) — https://github.com/idslme/IDSL_MINT
Examples
# In YAML config (e.g., MINT_MS2FP_trainer.yaml), configure transformer hyperparameters, then run:
MINT_workflow --yaml /path/to/MINT_MS2FP_trainer.yaml
Evaluation signals
- Output tensor shape from encoder matches expected dimensions ([batch_size, sequence_length, embedding_dim]) consistent with downstream task (fingerprint classification, SMILES generation, or fragment prediction).
- No NaN or Inf values present in encoder output, attention weights, or gradients during forward and backward passes.
- Positional encodings are correctly computed and added to input embeddings; verify by checking cosine similarity between nearby and distant positions in the spectrum.
- Training loss decreases monotonically over epochs when paired with appropriate loss function (e.g., cross-entropy for fingerprint bits, cross-entropy for SMILES tokens); flat or increasing loss indicates vanishing/exploding gradients or incorrect architecture.
- Model weights are initialized properly (e.g., Xavier/Glorot for linear layers); inspect weight distributions to ensure no dead neurons or saturation.
Limitations
- Transformer attention complexity is O(n²) in sequence length; for very high-resolution spectra with thousands of peaks, consider downsampling or using efficient attention variants.
- Positional encoding assumes spectral peaks are ordered by m/z; if input data is unsorted or has variable orderings, encoding will be misleading.
- The architecture inherits the generic transformer design from 'Attention is All You Need'; task-specific adaptations (e.g., separate encoder/decoder, beam search for SMILES generation) must be implemented separately.
- Requires sufficient training data (curated MS/MS libraries with ground-truth fingerprints, SMILES, or spectra) to tune hyperparameters and avoid overfitting.
Evidence
- [other] Define the transformer encoder architecture with multi-head self-attention and feed-forward layers following the 'Attention is All You Need' paradigm: "Define the transformer encoder architecture with multi-head self-attention and feed-forward layers following the 'Attention is All You Need' paradigm."
- [other] Implement positional encoding for the input spectrum features: "Implement positional encoding for the input spectrum features."
- [other] Create a PyTorch module that stacks transformer encoder blocks: "Create a PyTorch module that stacks transformer encoder blocks."
- [other] Verify output tensor shape and numerical stability (no NaN or Inf values): "Verify output tensor shape and numerical stability (no NaN or Inf values)."
- [readme] IDSL_MINT has been constructed upon the transformer models delineated in the seminal paper, 'Attention is all you need': "constructed upon the transformer models delineated in the seminal paper, 'Attention is all you need'"
- [readme] Utilizes the power of the transformer model architecture: "Utilizes the power of the transformer model architecture."
- [readme] Parameter selection for training and prediction through user-friendly and well-documented YAML files: "Parameter selection for training and prediction through user-friendly and well-documented YAML files"
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.