Glossary#
Data and geometry#
- Event
One variable-length detector example. pimm normally models an event as a set of points; it does not assume a universal physical extent or unit.
- Point / hit
One row of point-aligned fields. A point can represent a simulated or reconstructed deposit depending on the dataset; “point” does not by itself specify detector semantics.
coordFloating-point coordinates with shape
(N, 3). Their frame, axis order, and units come from the dataset and transforms, not from the key name.grid_coordInteger voxel coordinates used by sparse and serialized models. Usually derived from
coordby a configured grid/voxel transform.featModel input features with shape
(N, C). The column order is a checkpoint contract and must be taken from its preprocessing config.- Packed batch
Several variable-length events concatenated along the point dimension rather than padded to a common length.
offsetCumulative event-end indices in a packed batch. For
Bevents it has shape(B,);offset[-1]equals the total point count.batchPer-point event indices, often derived from
offset. Do not confuse this tensor with the configured eventbatch_size.- Revision
A dataset or checkpoint version. Record an immutable commit/checksum when a mutable name such as
main,v2, orlastcan resolve differently later.- Split
The rule and membership defining train, validation, or test events. Equal split names across dataset revisions do not guarantee equal membership.
- Motif / semantic class
A point-wise topology label such as shower or track in PILArNet-M.
- PID
Particle-identification class. In Panda detector configs it is associated with particle instances, not merely a point-wise semantic label.
- Instance
Points grouped as one particle or interaction. Instance IDs are generally meaningful only inside one event.
Models and learning#
- Backbone / encoder
The representation-producing portion of a model, before a task-specific prediction head.
- Head / decoder
Task-specific layers that turn representations into logits, masks, regression outputs, or reconstruction targets. Config filenames use
decfor a frozen-encoder adaptation in the committed Panda recipes.- Pretraining
Training an objective intended to learn reusable representations, such as masked reconstruction or teacher/student prediction.
- Fine-tuning
Adapting pretrained parameters to a downstream task. FFT means full fine-tuning in the committed recipes; it is not a file format.
- Linear probe
Training a small prediction head while the representation model is frozen. It is a diagnostic of representation utility, not the same result as full downstream fine-tuning.
- PEFT
Parameter-efficient fine-tuning: train a limited set of adapters or task parameters rather than every model parameter. The exact trainable set must be verified from the config/model.
- Warm start
Load model parameters into a new run while starting new optimizer, scheduler, RNG, and loader state.
--train.weightwithout resume is a warm start.- Registry /
type A mapping from a config string such as
PT-v3m2to a Python class or function. Registry names are case-sensitive public config identifiers.
Experiments and execution#
- Experiment config
Python under
configs/describing what is trained or evaluated.- Launch config / site profile
YAML under
launch/describing where and how an experiment runs. A site profile captures machine policy; an optional launch recipe overlays a named execution choice.- Run / experiment directory
The directory containing resolved config, metadata, source snapshot, logs, and checkpoints for one execution lineage.
- Global batch size
Total events across all ranks for one optimizer step. pimm’s
batch_size, explicit validation/test batch sizes, andnum_workerare global totals.- World size / rank / local rank
Total participating processes; one process’s global index; and its index on the current node. pimm normally runs one rank per GPU.
- DDP
PyTorch DistributedDataParallel, pimm’s default multi-rank strategy.
- FSDP2
PyTorch composable fully sharded data parallelism. The pimm path is experimental and requires model/checkpoint parity validation before research use.
- Hook
Ordered lifecycle behavior attached to a trainer, such as logging, evaluation, checkpoint loading, or checkpoint saving. Hook order can change semantics.
- Evaluator / tester
An evaluator runs validation logic during training; a tester drives a standalone task evaluation. Metric definitions and aggregation remain task-specific.
Checkpoints and portability#
- Training checkpoint
State used to continue a run: model, optimizer, scheduler/scaler, RNG, trainer progress, and—when supported—dataloader position.
- Standard / structured checkpoint
pimm’s split
model/last/layout: portableweights.pth, distributed trainer state undertrainer.dcp/, and a.completeatomic-save marker.- DCP
PyTorch Distributed Checkpoint. pimm uses it for reshardable trainer state; the raw
trainer.dcp/directory is not a model export.- Legacy checkpoint
Older monolithic
.pthtraining state. It remains loadable where documented but does not have the standard split layout.- Exact resume
Continuation with the saved loader cursor and stochastic/trainer state. It requires the saved state plus the same world-size and worker topology; a topology-changing restore can recover weights/optimizer but restarts the saved epoch and may replay batches.
- Model export
model.safetensors(ormodel.bin) plus an optional constructionconfig.jsonand model card. It supports loading/inference/fine-tuning, not trainer resume.model_best.pth/lastmodel_best.pthis selected by the configured validation metric and is weights-only in the standard path.model/last/is the newest completed resumable checkpoint; “best” and “last” answer different questions.