Skip to content

How Perforated Works

A PyTorch-native optimization layer that improves model efficiency and accuracy.

ML Stack Integration

Where Perforated Fits

Perforated integrates directly into the training loop between your model and optimizer. It improves model efficiency and accuracy during training while preserving your existing architecture, tooling, and deployment workflow.

  • Integrates directly into existing PyTorch workflows
  • No architecture rebuilds or deployment changes
  • Compatible with standard PyTorch and ONNX export
  • No runtime dependencies in production
  • Designed for both cloud and edge deployment
Perforated ML stack integration diagram
PYTORCH INTEGRATION

Drop into existing training loops

Perforated integrates with minimal code changes. Wrap your model, track validation scores, and continue training as usual.

  • 3-5 lines of code for basic integration
  • Compatible with existing optimizers and schedulers
  • Works with DataParallel and DistributedDataParallel
  • Supports mixed precision training (AMP)
import torch
from perforated import perforate_model, PAITracker

# Wrap your existing model
model = YourModel()
model = perforate_model(model)
pai_tracker = PAITracker(model)

# Train normally, track validation scores
for epoch in range(num_epochs):
    train_one_epoch(model, train_loader)
    val_score = validate(model, val_loader)
    model, done = pai_tracker.add_validation_score(val_score, model)

Representative integration. Exact implementation depends on your training setup.

Integration Workflow

Four steps from integration to deployment.

1. Integrate

Wrap your existing model with perforate_model(). Typically 3-5 lines of code.

2. Train

Continue your normal training loop. Perforated optimizes structure during backpropagation.

3. Evaluate

Validate against your existing metrics and benchmarks. Compare before/after performance.

4. Deploy

Export optimized model to your target environment. No Perforated runtime required.

What Changes, What Doesn't

Clear boundaries for integration planning

What Changes

  • Model initialization (wrapped with perforate_model)
  • Training loop (add validation score tracking)
  • Computational graph structure (optimized during training)
  • Training time (may increase 10-30% during optimization)
  • Hyperparameters (may need tuning for optimal results)

What Doesn't Change

  • Model architecture definition
  • Data pipeline and preprocessing
  • Loss functions and evaluation metrics
  • Deployment infrastructure
  • Inference runtime (no Perforated dependency)
  • Model export formats (ONNX, TorchScript, etc.)
  • Existing optimization techniques (quantization, pruning)

How We Fit Into Your Workflow

Perforated is designed to work alongside existing optimization and fine-tuning methods, helping teams improve accuracy, efficiency, and deployment outcomes without rebuilding their stack.

Feature Perforated Recommended Compression (e.g., pruning, quantization) Fine-Tuning
Reduce compute requirements Strong Limited
Support edge deployment Strong Not designed
Integrate into existing workflows Rework needed Workflow-specific
Preserve quality under efficiency constraints Accuracy tradeoffs Resource-heavy
Improve model accuracy Accuracy loss Sometimes
Reduce training data needs No impact Sometimes

Open Source vs Enterprise

Choose the right version for your use case

Open Source

Research and evaluation

  • Core perforation algorithms
  • Basic PyTorch integration
  • Community support via GitHub
  • MIT license for research use
  • No production guarantees
  • Limited optimization features
View on GitHub
RECOMMENDED

Enterprise

Production deployments

  • Production-grade optimizations
  • Advanced diagnostic tools
  • Compatibility guarantees
  • Priority support and SLAs
  • Custom integration assistance
  • Commercial license included
Contact Sales

Product Questions

Technical details about integration, deployment, and evaluation

Where does Perforated sit in my existing ML stack?

Perforated comes in strictly during the training or fine-tuning phase. It modifies the computational structure of your network during training and leverages a set of unique learning rules to optimize learning. It then exports to any PyTorch processing step, with no changes to existing processes.

Does Perforated require a custom runtime dependency in production?

No. Because Perforated optimizes the computational graph strictly during training, the final exported model is standard PyTorch. There are zero Perforated runtime dependencies required in your edge or cloud production environments.

What is Perforated Backpropagation™?

Perforated Backpropagation™ empowers the artificial neurons of deep neural networks to achieve better performance coding for the same features they coded for in the original architecture. After an initial network training phase, additional "Dendrite Nodes" are added to the network and separately trained with a different objective: to correlate their output with the remaining error of the original neurons. The trained Dendrite Nodes are then frozen, and the original neurons are further trained, now taking into account the additional error signals provided by the Dendrite Nodes. The cycle of training the original neurons and then adding and training Dendrite Nodes can be repeated several times until satisfactory performance is achieved.

What is the difference between the open-source and commercial versions?

The open-source version (Apache 2.0) offers the core dendritic architecture trained with standard backpropagation for research and evaluation. The commercial version includes our patented Perforated Backpropagation™ algorithm for maximum efficiency gains, as well as Perforated Studio—a GUI for configuring runs and inspecting results without hand-rolling integration.

Ready to Evaluate Perforated?

Run our compatibility check to see if Perforated can improve your models. Most evaluations complete in 1-2 days.