Note
Go to the end to download the full example code.
Mosaic: Memory Profiling for PyTorch#
Author: Basil Wong
How to capture and analyze PyTorch memory snapshots
Identify memory savings from activation checkpointing
Debug unexpected memory usage from abandoned code
Integrate memory analysis into training pipelines
PyTorch v2.0.0 or later
CUDA-capable GPU
Basic understanding of PyTorch training loops
This tutorial demonstrates how to use Mosaic, a post-processing memory snapshot analysis tool for PyTorch. Mosaic helps analyze GPU memory usage in distributed deep learning, providing detailed insights into memory allocations, peak usage, and memory imbalances across parallel workers.
Mosaic was instrumental in debugging OOM issues during the 405B LLaMA training and is now open source.
Introduction to Mosaic#
Overview#
In distributed deep learning, understanding GPU memory usage is critical for optimizing training efficiency and debugging Out-of-Memory (OOM) errors. Mosaic is a post-analysis tool for memory usage designed to work with large-scale jobs. It helps analyze PyTorch memory snapshots captured during the execution of PyTorch training jobs, providing detailed insights into memory allocations, peak usage, and memory imbalances across parallel workers.
Getting Started#
Clone the mosaic repository and install from the mosaic directory:
git clone https://github.com/facebookresearch/mosaic
cd mosaic
python3 -m venv venv
source venv/bin/activate
pip3 install -r requirements.txt
pip3 install -e .
Alternatively, install directly via pip:
pip install git+https://github.com/facebookresearch/mosaic.git
Simple Usage Examples#
1. Peak Memory Usage Analysis
When addressing memory problems like OOM errors, focusing on peak memory
usage is crucial. The mosaic_get_memory_usage_peak command presents a
stack trace of the memory allocations that contributed to the peak memory
usage:
mosaic_get_memory_usage_peak --snapshot <path to snapshot>
2. Categorical Memory Profiling
Mosaic classifies allocations into categories (activation, backward, optimizer, etc.):
Activation Memory: Tensors saved for backward pass
Gradient Memory: Gradients computed during backpropagation
Optimizer State: Adam/SGD momentum and variance buffers
Parameter Memory: Model weights
mosaic_get_memory_profile --snapshot <path> --out-path <html> \
--profile categories
An example HTML output looks like:
Categorical memory profiling showing memory breakdown by type (activation, gradient, optimizer, etc.)#
To maintain allocation order for the categories, add --preserve-allocation-order:
mosaic_get_memory_profile --snapshot <path> --out-path <html> \
--profile categories --preserve-allocation-order
Categorical profiling with --preserve-allocation-order shows memory
allocations in chronological order#
3. Custom Dictionary Profiling
For targeted analysis via regex pattern matching:
mosaic_get_memory_profile --snapshot <path> --profile custom \
--custom-profile '{"ncclx": "ncclx"}'
This is invaluable for tracking specific kernels, optimizers, or custom code patterns:
Custom profiling with regex patterns to track specific operations like NCCL communications#
Dependencies and Imports#
Let’s set up the required dependencies and imports for this tutorial.
import subprocess
import sys
import shutil
from contextlib import contextmanager
import pickle
# Fix for sphinx-gallery environment where __main__.__file__ may not exist
# This is needed for transformers library compatibility
import os
if not hasattr(sys.modules["__main__"], "__file__"):
# Use this file's path as a fallback, or a dummy path if __file__ is not available
try:
sys.modules["__main__"].__file__ = os.path.abspath(__file__)
except NameError:
# __file__ not available, use transformers modeling file as fallback
import transformers.modeling_utils
sys.modules["__main__"].__file__ = transformers.modeling_utils.__file__
import torch
from torch.utils.data import DataLoader, Dataset
# Install dependencies if needed
try:
from transformers import GPT2Config, GPT2LMHeadModel, GPT2Tokenizer
from transformers.modeling_outputs import CausalLMOutputWithCrossAttentions
except ImportError:
subprocess.check_call(
[sys.executable, "-m", "pip", "install", "-q", "transformers"]
)
from transformers import GPT2Config, GPT2LMHeadModel, GPT2Tokenizer
from transformers.modeling_outputs import CausalLMOutputWithCrossAttentions
try:
from mosaic.libmosaic.analyzer.memory_abstract import MemoryAbstract
except ImportError:
subprocess.check_call(
[
sys.executable,
"-m",
"pip",
"install",
"-q",
"git+https://github.com/facebookresearch/mosaic.git",
]
)
from mosaic.libmosaic.analyzer.memory_abstract import MemoryAbstract
print(f"PyTorch version: {torch.__version__}")
print(f"CUDA available: {torch.cuda.is_available()}")
if torch.cuda.is_available():
print(f"GPU: {torch.cuda.get_device_name(0)}")
PyTorch version: 2.10.0+cu128
CUDA available: True
GPU: NVIDIA A10G
Case 1: Understanding Memory Differences with Activation Checkpointing#
This section demonstrates how to use Mosaic to analyze and compare GPU memory usage between different model configurations.
What we’ll do:
Train GPT-2 and capture a memory snapshot (baseline)
Enable activation checkpointing and train again (modified)
Use Mosaic to identify exactly where memory savings occur
Training Function for Activation Checkpointing Comparison#
def run_training_ac(
activation_checkpointing: bool,
snapshot_path: str,
batch_size: int = 4,
seq_length: int = 512,
num_steps: int = 5,
):
"""Run training loop and capture memory snapshot.
Args:
activation_checkpointing: Whether to enable gradient checkpointing.
snapshot_path: Path to save the memory snapshot.
batch_size: Training batch size.
seq_length: Sequence length for input tokens.
num_steps: Number of training steps to run.
Returns:
Peak GPU memory usage in GB.
"""
# Clear any previous memory
torch.cuda.empty_cache()
torch.cuda.reset_peak_memory_stats()
device = torch.device("cuda")
# Load model
print(f"Loading GPT-2 (activation_checkpointing={activation_checkpointing})...")
model = GPT2LMHeadModel.from_pretrained("gpt2")
if activation_checkpointing:
model.gradient_checkpointing_enable()
print("Activation checkpointing is ENABLED")
else:
print("Activation checkpointing is DISABLED")
model = model.to(device)
model.train()
# Create dataset and dataloader
tokenizer = GPT2Tokenizer.from_pretrained("gpt2")
dataset = RandomTokenDataset(
vocab_size=tokenizer.vocab_size,
seq_length=seq_length,
num_samples=100,
)
dataloader = DataLoader(dataset, batch_size=batch_size, shuffle=True)
# Setup optimizer
optimizer = torch.optim.AdamW(model.parameters(), lr=1e-5)
# Training loop with memory capture
print(f"Running {num_steps} training steps...")
with capture_memory_snapshot(snapshot_path):
for step, batch in enumerate(dataloader):
if step >= num_steps:
break
batch = {k: v.to(device) for k, v in batch.items()}
optimizer.zero_grad()
outputs = model(input_ids=batch["input_ids"], labels=batch["labels"])
loss = outputs.loss
loss.backward()
optimizer.step()
print(f" Step {step + 1}/{num_steps}, Loss: {loss.item():.4f}")
peak_memory_gb = torch.cuda.max_memory_allocated() / (1024**3)
print(f"✓ Peak GPU memory: {peak_memory_gb:.2f} GB")
# Cleanup
del model, optimizer
torch.cuda.empty_cache()
return peak_memory_gb
Run Baseline Training (Without Activation Checkpointing)#
Note
This tutorial requires a CUDA-capable GPU. If you’re running in Google Colab, make sure to select a GPU runtime: Runtime → Change runtime type → Hardware accelerator → GPU
if not torch.cuda.is_available():
print("=" * 60)
print("WARNING: No CUDA GPU detected!")
print("=" * 60)
print("\nThis tutorial requires a CUDA-capable GPU for memory profiling.")
print("\nIf you're running in Google Colab:")
print(" 1. Go to Runtime → Change runtime type")
print(" 2. Set Hardware accelerator to 'GPU'")
print(" 3. Click 'Save' and re-run the notebook")
print("\nSkipping GPU memory profiling examples...")
HAS_CUDA = False
else:
HAS_CUDA = True
# Check if Mosaic CLI is available
HAS_MOSAIC_CLI = shutil.which("mosaic_get_memory_profile") is not None
if HAS_CUDA and not HAS_MOSAIC_CLI:
print("Note: Mosaic CLI not found. Install Mosaic to generate HTML profiles.")
print(" pip install git+https://github.com/facebookresearch/mosaic.git")
if HAS_CUDA:
print("=" * 60)
print("BASELINE: Training WITHOUT Activation Checkpointing")
print("=" * 60)
baseline_memory = run_training_ac(
activation_checkpointing=False,
snapshot_path="snapshot_baseline.pickle",
batch_size=4,
seq_length=512,
num_steps=5,
)
============================================================
BASELINE: Training WITHOUT Activation Checkpointing
============================================================
Loading GPT-2 (activation_checkpointing=False)...
Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.
Loading weights: 0%| | 0/148 [00:00<?, ?it/s]
Loading weights: 1%| | 1/148 [00:00<00:00, 14169.95it/s, Materializing param=transformer.h.0.attn.c_attn.bias]
Loading weights: 1%| | 1/148 [00:00<00:00, 759.01it/s, Materializing param=transformer.h.0.attn.c_attn.bias]
Loading weights: 1%|▏ | 2/148 [00:00<00:00, 1199.40it/s, Materializing param=transformer.h.0.attn.c_attn.weight]
Loading weights: 1%|▏ | 2/148 [00:00<00:00, 1058.10it/s, Materializing param=transformer.h.0.attn.c_attn.weight]
Loading weights: 2%|▏ | 3/148 [00:00<00:00, 978.68it/s, Materializing param=transformer.h.0.attn.c_proj.bias]
Loading weights: 2%|▏ | 3/148 [00:00<00:00, 914.66it/s, Materializing param=transformer.h.0.attn.c_proj.bias]
Loading weights: 3%|▎ | 4/148 [00:00<00:00, 1082.96it/s, Materializing param=transformer.h.0.attn.c_proj.weight]
Loading weights: 3%|▎ | 4/148 [00:00<00:00, 1028.65it/s, Materializing param=transformer.h.0.attn.c_proj.weight]
Loading weights: 3%|▎ | 5/148 [00:00<00:00, 1167.35it/s, Materializing param=transformer.h.0.ln_1.bias]
Loading weights: 3%|▎ | 5/148 [00:00<00:00, 1077.17it/s, Materializing param=transformer.h.0.ln_1.bias]
Loading weights: 4%|▍ | 6/148 [00:00<00:00, 1144.63it/s, Materializing param=transformer.h.0.ln_1.weight]
Loading weights: 4%|▍ | 6/148 [00:00<00:00, 1098.08it/s, Materializing param=transformer.h.0.ln_1.weight]
Loading weights: 5%|▍ | 7/148 [00:00<00:00, 987.56it/s, Materializing param=transformer.h.0.ln_2.bias]
Loading weights: 5%|▍ | 7/148 [00:00<00:00, 911.98it/s, Materializing param=transformer.h.0.ln_2.bias]
Loading weights: 5%|▌ | 8/148 [00:00<00:00, 822.23it/s, Materializing param=transformer.h.0.ln_2.weight]
Loading weights: 5%|▌ | 8/148 [00:00<00:00, 801.80it/s, Materializing param=transformer.h.0.ln_2.weight]
Loading weights: 6%|▌ | 9/148 [00:00<00:00, 766.71it/s, Materializing param=transformer.h.0.mlp.c_fc.bias]
Loading weights: 6%|▌ | 9/148 [00:00<00:00, 721.44it/s, Materializing param=transformer.h.0.mlp.c_fc.bias]
Loading weights: 7%|▋ | 10/148 [00:00<00:00, 764.02it/s, Materializing param=transformer.h.0.mlp.c_fc.weight]
Loading weights: 7%|▋ | 10/148 [00:00<00:00, 714.47it/s, Materializing param=transformer.h.0.mlp.c_fc.weight]
Loading weights: 7%|▋ | 11/148 [00:00<00:00, 704.09it/s, Materializing param=transformer.h.0.mlp.c_proj.bias]
Loading weights: 7%|▋ | 11/148 [00:00<00:00, 678.12it/s, Materializing param=transformer.h.0.mlp.c_proj.bias]
Loading weights: 8%|▊ | 12/148 [00:00<00:00, 675.50it/s, Materializing param=transformer.h.0.mlp.c_proj.weight]
Loading weights: 8%|▊ | 12/148 [00:00<00:00, 637.57it/s, Materializing param=transformer.h.0.mlp.c_proj.weight]
Loading weights: 9%|▉ | 13/148 [00:00<00:00, 664.54it/s, Materializing param=transformer.h.1.attn.c_attn.bias]
Loading weights: 9%|▉ | 13/148 [00:00<00:00, 633.41it/s, Materializing param=transformer.h.1.attn.c_attn.bias]
Loading weights: 9%|▉ | 14/148 [00:00<00:00, 650.71it/s, Materializing param=transformer.h.1.attn.c_attn.weight]
Loading weights: 9%|▉ | 14/148 [00:00<00:00, 628.15it/s, Materializing param=transformer.h.1.attn.c_attn.weight]
Loading weights: 10%|█ | 15/148 [00:00<00:00, 644.51it/s, Materializing param=transformer.h.1.attn.c_proj.bias]
Loading weights: 10%|█ | 15/148 [00:00<00:00, 633.77it/s, Materializing param=transformer.h.1.attn.c_proj.bias]
Loading weights: 11%|█ | 16/148 [00:00<00:00, 656.94it/s, Materializing param=transformer.h.1.attn.c_proj.weight]
Loading weights: 11%|█ | 16/148 [00:00<00:00, 629.53it/s, Materializing param=transformer.h.1.attn.c_proj.weight]
Loading weights: 11%|█▏ | 17/148 [00:00<00:00, 611.64it/s, Materializing param=transformer.h.1.ln_1.bias]
Loading weights: 11%|█▏ | 17/148 [00:00<00:00, 602.20it/s, Materializing param=transformer.h.1.ln_1.bias]
Loading weights: 12%|█▏ | 18/148 [00:00<00:00, 627.66it/s, Materializing param=transformer.h.1.ln_1.weight]
Loading weights: 12%|█▏ | 18/148 [00:00<00:00, 610.60it/s, Materializing param=transformer.h.1.ln_1.weight]
Loading weights: 13%|█▎ | 19/148 [00:00<00:00, 628.41it/s, Materializing param=transformer.h.1.ln_2.bias]
Loading weights: 13%|█▎ | 19/148 [00:00<00:00, 610.21it/s, Materializing param=transformer.h.1.ln_2.bias]
Loading weights: 14%|█▎ | 20/148 [00:00<00:00, 619.79it/s, Materializing param=transformer.h.1.ln_2.weight]
Loading weights: 14%|█▎ | 20/148 [00:00<00:00, 609.44it/s, Materializing param=transformer.h.1.ln_2.weight]
Loading weights: 14%|█▍ | 21/148 [00:00<00:00, 621.04it/s, Materializing param=transformer.h.1.mlp.c_fc.bias]
Loading weights: 14%|█▍ | 21/148 [00:00<00:00, 588.82it/s, Materializing param=transformer.h.1.mlp.c_fc.bias]
Loading weights: 15%|█▍ | 22/148 [00:00<00:00, 595.77it/s, Materializing param=transformer.h.1.mlp.c_fc.weight]
Loading weights: 15%|█▍ | 22/148 [00:00<00:00, 585.30it/s, Materializing param=transformer.h.1.mlp.c_fc.weight]
Loading weights: 16%|█▌ | 23/148 [00:00<00:00, 596.41it/s, Materializing param=transformer.h.1.mlp.c_proj.bias]
Loading weights: 16%|█▌ | 23/148 [00:00<00:00, 590.36it/s, Materializing param=transformer.h.1.mlp.c_proj.bias]
Loading weights: 16%|█▌ | 24/148 [00:00<00:00, 601.38it/s, Materializing param=transformer.h.1.mlp.c_proj.weight]
Loading weights: 16%|█▌ | 24/148 [00:00<00:00, 593.11it/s, Materializing param=transformer.h.1.mlp.c_proj.weight]
Loading weights: 17%|█▋ | 25/148 [00:00<00:00, 603.28it/s, Materializing param=transformer.h.2.attn.c_attn.bias]
Loading weights: 17%|█▋ | 25/148 [00:00<00:00, 600.39it/s, Materializing param=transformer.h.2.attn.c_attn.bias]
Loading weights: 18%|█▊ | 26/148 [00:00<00:00, 609.02it/s, Materializing param=transformer.h.2.attn.c_attn.weight]
Loading weights: 18%|█▊ | 26/148 [00:00<00:00, 606.32it/s, Materializing param=transformer.h.2.attn.c_attn.weight]
Loading weights: 18%|█▊ | 27/148 [00:00<00:00, 614.02it/s, Materializing param=transformer.h.2.attn.c_proj.bias]
Loading weights: 18%|█▊ | 27/148 [00:00<00:00, 608.75it/s, Materializing param=transformer.h.2.attn.c_proj.bias]
Loading weights: 19%|█▉ | 28/148 [00:00<00:00, 624.94it/s, Materializing param=transformer.h.2.attn.c_proj.weight]
Loading weights: 19%|█▉ | 28/148 [00:00<00:00, 609.70it/s, Materializing param=transformer.h.2.attn.c_proj.weight]
Loading weights: 20%|█▉ | 29/148 [00:00<00:00, 618.28it/s, Materializing param=transformer.h.2.ln_1.bias]
Loading weights: 20%|█▉ | 29/148 [00:00<00:00, 614.85it/s, Materializing param=transformer.h.2.ln_1.bias]
Loading weights: 20%|██ | 30/148 [00:00<00:00, 632.38it/s, Materializing param=transformer.h.2.ln_1.weight]
Loading weights: 20%|██ | 30/148 [00:00<00:00, 629.55it/s, Materializing param=transformer.h.2.ln_1.weight]
Loading weights: 21%|██ | 31/148 [00:00<00:00, 646.71it/s, Materializing param=transformer.h.2.ln_2.bias]
Loading weights: 21%|██ | 31/148 [00:00<00:00, 643.84it/s, Materializing param=transformer.h.2.ln_2.bias]
Loading weights: 22%|██▏ | 32/148 [00:00<00:00, 660.90it/s, Materializing param=transformer.h.2.ln_2.weight]
Loading weights: 22%|██▏ | 32/148 [00:00<00:00, 658.38it/s, Materializing param=transformer.h.2.ln_2.weight]
Loading weights: 22%|██▏ | 33/148 [00:00<00:00, 675.79it/s, Materializing param=transformer.h.2.mlp.c_fc.bias]
Loading weights: 22%|██▏ | 33/148 [00:00<00:00, 673.20it/s, Materializing param=transformer.h.2.mlp.c_fc.bias]
Loading weights: 23%|██▎ | 34/148 [00:00<00:00, 690.32it/s, Materializing param=transformer.h.2.mlp.c_fc.weight]
Loading weights: 23%|██▎ | 34/148 [00:00<00:00, 687.66it/s, Materializing param=transformer.h.2.mlp.c_fc.weight]
Loading weights: 24%|██▎ | 35/148 [00:00<00:00, 704.59it/s, Materializing param=transformer.h.2.mlp.c_proj.bias]
Loading weights: 24%|██▎ | 35/148 [00:00<00:00, 701.94it/s, Materializing param=transformer.h.2.mlp.c_proj.bias]
Loading weights: 24%|██▍ | 36/148 [00:00<00:00, 718.68it/s, Materializing param=transformer.h.2.mlp.c_proj.weight]
Loading weights: 24%|██▍ | 36/148 [00:00<00:00, 715.84it/s, Materializing param=transformer.h.2.mlp.c_proj.weight]
Loading weights: 25%|██▌ | 37/148 [00:00<00:00, 732.33it/s, Materializing param=transformer.h.3.attn.c_attn.bias]
Loading weights: 25%|██▌ | 37/148 [00:00<00:00, 729.47it/s, Materializing param=transformer.h.3.attn.c_attn.bias]
Loading weights: 26%|██▌ | 38/148 [00:00<00:00, 745.56it/s, Materializing param=transformer.h.3.attn.c_attn.weight]
Loading weights: 26%|██▌ | 38/148 [00:00<00:00, 742.48it/s, Materializing param=transformer.h.3.attn.c_attn.weight]
Loading weights: 26%|██▋ | 39/148 [00:00<00:00, 757.52it/s, Materializing param=transformer.h.3.attn.c_proj.bias]
Loading weights: 26%|██▋ | 39/148 [00:00<00:00, 754.80it/s, Materializing param=transformer.h.3.attn.c_proj.bias]
Loading weights: 27%|██▋ | 40/148 [00:00<00:00, 770.69it/s, Materializing param=transformer.h.3.attn.c_proj.weight]
Loading weights: 27%|██▋ | 40/148 [00:00<00:00, 767.81it/s, Materializing param=transformer.h.3.attn.c_proj.weight]
Loading weights: 28%|██▊ | 41/148 [00:00<00:00, 783.56it/s, Materializing param=transformer.h.3.ln_1.bias]
Loading weights: 28%|██▊ | 41/148 [00:00<00:00, 780.70it/s, Materializing param=transformer.h.3.ln_1.bias]
Loading weights: 28%|██▊ | 42/148 [00:00<00:00, 796.33it/s, Materializing param=transformer.h.3.ln_1.weight]
Loading weights: 28%|██▊ | 42/148 [00:00<00:00, 793.51it/s, Materializing param=transformer.h.3.ln_1.weight]
Loading weights: 29%|██▉ | 43/148 [00:00<00:00, 808.90it/s, Materializing param=transformer.h.3.ln_2.bias]
Loading weights: 29%|██▉ | 43/148 [00:00<00:00, 806.08it/s, Materializing param=transformer.h.3.ln_2.bias]
Loading weights: 30%|██▉ | 44/148 [00:00<00:00, 821.32it/s, Materializing param=transformer.h.3.ln_2.weight]
Loading weights: 30%|██▉ | 44/148 [00:00<00:00, 818.52it/s, Materializing param=transformer.h.3.ln_2.weight]
Loading weights: 30%|███ | 45/148 [00:00<00:00, 833.54it/s, Materializing param=transformer.h.3.mlp.c_fc.bias]
Loading weights: 30%|███ | 45/148 [00:00<00:00, 830.64it/s, Materializing param=transformer.h.3.mlp.c_fc.bias]
Loading weights: 31%|███ | 46/148 [00:00<00:00, 845.44it/s, Materializing param=transformer.h.3.mlp.c_fc.weight]
Loading weights: 31%|███ | 46/148 [00:00<00:00, 842.19it/s, Materializing param=transformer.h.3.mlp.c_fc.weight]
Loading weights: 32%|███▏ | 47/148 [00:00<00:00, 856.02it/s, Materializing param=transformer.h.3.mlp.c_proj.bias]
Loading weights: 32%|███▏ | 47/148 [00:00<00:00, 853.12it/s, Materializing param=transformer.h.3.mlp.c_proj.bias]
Loading weights: 32%|███▏ | 48/148 [00:00<00:00, 867.60it/s, Materializing param=transformer.h.3.mlp.c_proj.weight]
Loading weights: 32%|███▏ | 48/148 [00:00<00:00, 864.32it/s, Materializing param=transformer.h.3.mlp.c_proj.weight]
Loading weights: 33%|███▎ | 49/148 [00:00<00:00, 878.13it/s, Materializing param=transformer.h.4.attn.c_attn.bias]
Loading weights: 33%|███▎ | 49/148 [00:00<00:00, 875.35it/s, Materializing param=transformer.h.4.attn.c_attn.bias]
Loading weights: 34%|███▍ | 50/148 [00:00<00:00, 889.37it/s, Materializing param=transformer.h.4.attn.c_attn.weight]
Loading weights: 34%|███▍ | 50/148 [00:00<00:00, 886.40it/s, Materializing param=transformer.h.4.attn.c_attn.weight]
Loading weights: 34%|███▍ | 51/148 [00:00<00:00, 900.49it/s, Materializing param=transformer.h.4.attn.c_proj.bias]
Loading weights: 34%|███▍ | 51/148 [00:00<00:00, 897.50it/s, Materializing param=transformer.h.4.attn.c_proj.bias]
Loading weights: 35%|███▌ | 52/148 [00:00<00:00, 911.36it/s, Materializing param=transformer.h.4.attn.c_proj.weight]
Loading weights: 35%|███▌ | 52/148 [00:00<00:00, 908.22it/s, Materializing param=transformer.h.4.attn.c_proj.weight]
Loading weights: 36%|███▌ | 53/148 [00:00<00:00, 921.90it/s, Materializing param=transformer.h.4.ln_1.bias]
Loading weights: 36%|███▌ | 53/148 [00:00<00:00, 918.96it/s, Materializing param=transformer.h.4.ln_1.bias]
Loading weights: 36%|███▋ | 54/148 [00:00<00:00, 932.69it/s, Materializing param=transformer.h.4.ln_1.weight]
Loading weights: 36%|███▋ | 54/148 [00:00<00:00, 929.73it/s, Materializing param=transformer.h.4.ln_1.weight]
Loading weights: 37%|███▋ | 55/148 [00:00<00:00, 943.28it/s, Materializing param=transformer.h.4.ln_2.bias]
Loading weights: 37%|███▋ | 55/148 [00:00<00:00, 940.37it/s, Materializing param=transformer.h.4.ln_2.bias]
Loading weights: 38%|███▊ | 56/148 [00:00<00:00, 953.50it/s, Materializing param=transformer.h.4.ln_2.weight]
Loading weights: 38%|███▊ | 56/148 [00:00<00:00, 950.56it/s, Materializing param=transformer.h.4.ln_2.weight]
Loading weights: 39%|███▊ | 57/148 [00:00<00:00, 963.96it/s, Materializing param=transformer.h.4.mlp.c_fc.bias]
Loading weights: 39%|███▊ | 57/148 [00:00<00:00, 960.85it/s, Materializing param=transformer.h.4.mlp.c_fc.bias]
Loading weights: 39%|███▉ | 58/148 [00:00<00:00, 974.02it/s, Materializing param=transformer.h.4.mlp.c_fc.weight]
Loading weights: 39%|███▉ | 58/148 [00:00<00:00, 971.27it/s, Materializing param=transformer.h.4.mlp.c_fc.weight]
Loading weights: 40%|███▉ | 59/148 [00:00<00:00, 984.29it/s, Materializing param=transformer.h.4.mlp.c_proj.bias]
Loading weights: 40%|███▉ | 59/148 [00:00<00:00, 981.03it/s, Materializing param=transformer.h.4.mlp.c_proj.bias]
Loading weights: 41%|████ | 60/148 [00:00<00:00, 992.91it/s, Materializing param=transformer.h.4.mlp.c_proj.weight]
Loading weights: 41%|████ | 60/148 [00:00<00:00, 989.81it/s, Materializing param=transformer.h.4.mlp.c_proj.weight]
Loading weights: 41%|████ | 61/148 [00:00<00:00, 1002.42it/s, Materializing param=transformer.h.5.attn.c_attn.bias]
Loading weights: 41%|████ | 61/148 [00:00<00:00, 999.36it/s, Materializing param=transformer.h.5.attn.c_attn.bias]
Loading weights: 42%|████▏ | 62/148 [00:00<00:00, 1011.94it/s, Materializing param=transformer.h.5.attn.c_attn.weight]
Loading weights: 42%|████▏ | 62/148 [00:00<00:00, 1008.67it/s, Materializing param=transformer.h.5.attn.c_attn.weight]
Loading weights: 43%|████▎ | 63/148 [00:00<00:00, 1021.40it/s, Materializing param=transformer.h.5.attn.c_proj.bias]
Loading weights: 43%|████▎ | 63/148 [00:00<00:00, 1018.86it/s, Materializing param=transformer.h.5.attn.c_proj.bias]
Loading weights: 43%|████▎ | 64/148 [00:00<00:00, 1031.51it/s, Materializing param=transformer.h.5.attn.c_proj.weight]
Loading weights: 43%|████▎ | 64/148 [00:00<00:00, 1028.31it/s, Materializing param=transformer.h.5.attn.c_proj.weight]
Loading weights: 44%|████▍ | 65/148 [00:00<00:00, 1040.11it/s, Materializing param=transformer.h.5.ln_1.bias]
Loading weights: 44%|████▍ | 65/148 [00:00<00:00, 1036.93it/s, Materializing param=transformer.h.5.ln_1.bias]
Loading weights: 45%|████▍ | 66/148 [00:00<00:00, 1049.25it/s, Materializing param=transformer.h.5.ln_1.weight]
Loading weights: 45%|████▍ | 66/148 [00:00<00:00, 1046.07it/s, Materializing param=transformer.h.5.ln_1.weight]
Loading weights: 45%|████▌ | 67/148 [00:00<00:00, 1058.19it/s, Materializing param=transformer.h.5.ln_2.bias]
Loading weights: 45%|████▌ | 67/148 [00:00<00:00, 1055.01it/s, Materializing param=transformer.h.5.ln_2.bias]
Loading weights: 46%|████▌ | 68/148 [00:00<00:00, 1067.05it/s, Materializing param=transformer.h.5.ln_2.weight]
Loading weights: 46%|████▌ | 68/148 [00:00<00:00, 1063.86it/s, Materializing param=transformer.h.5.ln_2.weight]
Loading weights: 47%|████▋ | 69/148 [00:00<00:00, 1075.62it/s, Materializing param=transformer.h.5.mlp.c_fc.bias]
Loading weights: 47%|████▋ | 69/148 [00:00<00:00, 1072.49it/s, Materializing param=transformer.h.5.mlp.c_fc.bias]
Loading weights: 47%|████▋ | 70/148 [00:00<00:00, 1084.09it/s, Materializing param=transformer.h.5.mlp.c_fc.weight]
Loading weights: 47%|████▋ | 70/148 [00:00<00:00, 1080.61it/s, Materializing param=transformer.h.5.mlp.c_fc.weight]
Loading weights: 48%|████▊ | 71/148 [00:00<00:00, 1091.43it/s, Materializing param=transformer.h.5.mlp.c_proj.bias]
Loading weights: 48%|████▊ | 71/148 [00:00<00:00, 1087.96it/s, Materializing param=transformer.h.5.mlp.c_proj.bias]
Loading weights: 49%|████▊ | 72/148 [00:00<00:00, 1099.40it/s, Materializing param=transformer.h.5.mlp.c_proj.weight]
Loading weights: 49%|████▊ | 72/148 [00:00<00:00, 1096.28it/s, Materializing param=transformer.h.5.mlp.c_proj.weight]
Loading weights: 49%|████▉ | 73/148 [00:00<00:00, 1107.74it/s, Materializing param=transformer.h.6.attn.c_attn.bias]
Loading weights: 49%|████▉ | 73/148 [00:00<00:00, 1104.66it/s, Materializing param=transformer.h.6.attn.c_attn.bias]
Loading weights: 50%|█████ | 74/148 [00:00<00:00, 1116.00it/s, Materializing param=transformer.h.6.attn.c_attn.weight]
Loading weights: 50%|█████ | 74/148 [00:00<00:00, 1112.87it/s, Materializing param=transformer.h.6.attn.c_attn.weight]
Loading weights: 51%|█████ | 75/148 [00:00<00:00, 1123.96it/s, Materializing param=transformer.h.6.attn.c_proj.bias]
Loading weights: 51%|█████ | 75/148 [00:00<00:00, 1120.97it/s, Materializing param=transformer.h.6.attn.c_proj.bias]
Loading weights: 51%|█████▏ | 76/148 [00:00<00:00, 1132.09it/s, Materializing param=transformer.h.6.attn.c_proj.weight]
Loading weights: 51%|█████▏ | 76/148 [00:00<00:00, 1128.75it/s, Materializing param=transformer.h.6.attn.c_proj.weight]
Loading weights: 52%|█████▏ | 77/148 [00:00<00:00, 1139.29it/s, Materializing param=transformer.h.6.ln_1.bias]
Loading weights: 52%|█████▏ | 77/148 [00:00<00:00, 1136.16it/s, Materializing param=transformer.h.6.ln_1.bias]
Loading weights: 53%|█████▎ | 78/148 [00:00<00:00, 1147.16it/s, Materializing param=transformer.h.6.ln_1.weight]
Loading weights: 53%|█████▎ | 78/148 [00:00<00:00, 1144.06it/s, Materializing param=transformer.h.6.ln_1.weight]
Loading weights: 53%|█████▎ | 79/148 [00:00<00:00, 1154.96it/s, Materializing param=transformer.h.6.ln_2.bias]
Loading weights: 53%|█████▎ | 79/148 [00:00<00:00, 1151.84it/s, Materializing param=transformer.h.6.ln_2.bias]
Loading weights: 54%|█████▍ | 80/148 [00:00<00:00, 1162.72it/s, Materializing param=transformer.h.6.ln_2.weight]
Loading weights: 54%|█████▍ | 80/148 [00:00<00:00, 1159.58it/s, Materializing param=transformer.h.6.ln_2.weight]
Loading weights: 55%|█████▍ | 81/148 [00:00<00:00, 1170.31it/s, Materializing param=transformer.h.6.mlp.c_fc.bias]
Loading weights: 55%|█████▍ | 81/148 [00:00<00:00, 1167.23it/s, Materializing param=transformer.h.6.mlp.c_fc.bias]
Loading weights: 55%|█████▌ | 82/148 [00:00<00:00, 1177.82it/s, Materializing param=transformer.h.6.mlp.c_fc.weight]
Loading weights: 55%|█████▌ | 82/148 [00:00<00:00, 1174.61it/s, Materializing param=transformer.h.6.mlp.c_fc.weight]
Loading weights: 56%|█████▌ | 83/148 [00:00<00:00, 1185.10it/s, Materializing param=transformer.h.6.mlp.c_proj.bias]
Loading weights: 56%|█████▌ | 83/148 [00:00<00:00, 1182.05it/s, Materializing param=transformer.h.6.mlp.c_proj.bias]
Loading weights: 57%|█████▋ | 84/148 [00:00<00:00, 1192.20it/s, Materializing param=transformer.h.6.mlp.c_proj.weight]
Loading weights: 57%|█████▋ | 84/148 [00:00<00:00, 1189.39it/s, Materializing param=transformer.h.6.mlp.c_proj.weight]
Loading weights: 57%|█████▋ | 85/148 [00:00<00:00, 1199.51it/s, Materializing param=transformer.h.7.attn.c_attn.bias]
Loading weights: 57%|█████▋ | 85/148 [00:00<00:00, 1196.15it/s, Materializing param=transformer.h.7.attn.c_attn.bias]
Loading weights: 58%|█████▊ | 86/148 [00:00<00:00, 1206.10it/s, Materializing param=transformer.h.7.attn.c_attn.weight]
Loading weights: 58%|█████▊ | 86/148 [00:00<00:00, 1202.20it/s, Materializing param=transformer.h.7.attn.c_attn.weight]
Loading weights: 59%|█████▉ | 87/148 [00:00<00:00, 1212.15it/s, Materializing param=transformer.h.7.attn.c_proj.bias]
Loading weights: 59%|█████▉ | 87/148 [00:00<00:00, 1209.10it/s, Materializing param=transformer.h.7.attn.c_proj.bias]
Loading weights: 59%|█████▉ | 88/148 [00:00<00:00, 1219.14it/s, Materializing param=transformer.h.7.attn.c_proj.weight]
Loading weights: 59%|█████▉ | 88/148 [00:00<00:00, 1216.09it/s, Materializing param=transformer.h.7.attn.c_proj.weight]
Loading weights: 60%|██████ | 89/148 [00:00<00:00, 1226.09it/s, Materializing param=transformer.h.7.ln_1.bias]
Loading weights: 60%|██████ | 89/148 [00:00<00:00, 1222.98it/s, Materializing param=transformer.h.7.ln_1.bias]
Loading weights: 61%|██████ | 90/148 [00:00<00:00, 1232.94it/s, Materializing param=transformer.h.7.ln_1.weight]
Loading weights: 61%|██████ | 90/148 [00:00<00:00, 1229.49it/s, Materializing param=transformer.h.7.ln_1.weight]
Loading weights: 61%|██████▏ | 91/148 [00:00<00:00, 1238.63it/s, Materializing param=transformer.h.7.ln_2.bias]
Loading weights: 61%|██████▏ | 91/148 [00:00<00:00, 1235.14it/s, Materializing param=transformer.h.7.ln_2.bias]
Loading weights: 62%|██████▏ | 92/148 [00:00<00:00, 1244.13it/s, Materializing param=transformer.h.7.ln_2.weight]
Loading weights: 62%|██████▏ | 92/148 [00:00<00:00, 1240.66it/s, Materializing param=transformer.h.7.ln_2.weight]
Loading weights: 63%|██████▎ | 93/148 [00:00<00:00, 1249.47it/s, Materializing param=transformer.h.7.mlp.c_fc.bias]
Loading weights: 63%|██████▎ | 93/148 [00:00<00:00, 1245.96it/s, Materializing param=transformer.h.7.mlp.c_fc.bias]
Loading weights: 64%|██████▎ | 94/148 [00:00<00:00, 1254.58it/s, Materializing param=transformer.h.7.mlp.c_fc.weight]
Loading weights: 64%|██████▎ | 94/148 [00:00<00:00, 1251.51it/s, Materializing param=transformer.h.7.mlp.c_fc.weight]
Loading weights: 64%|██████▍ | 95/148 [00:00<00:00, 1260.98it/s, Materializing param=transformer.h.7.mlp.c_proj.bias]
Loading weights: 64%|██████▍ | 95/148 [00:00<00:00, 1257.85it/s, Materializing param=transformer.h.7.mlp.c_proj.bias]
Loading weights: 65%|██████▍ | 96/148 [00:00<00:00, 1267.30it/s, Materializing param=transformer.h.7.mlp.c_proj.weight]
Loading weights: 65%|██████▍ | 96/148 [00:00<00:00, 1264.19it/s, Materializing param=transformer.h.7.mlp.c_proj.weight]
Loading weights: 66%|██████▌ | 97/148 [00:00<00:00, 1273.54it/s, Materializing param=transformer.h.8.attn.c_attn.bias]
Loading weights: 66%|██████▌ | 97/148 [00:00<00:00, 1270.37it/s, Materializing param=transformer.h.8.attn.c_attn.bias]
Loading weights: 66%|██████▌ | 98/148 [00:00<00:00, 1279.64it/s, Materializing param=transformer.h.8.attn.c_attn.weight]
Loading weights: 66%|██████▌ | 98/148 [00:00<00:00, 1276.55it/s, Materializing param=transformer.h.8.attn.c_attn.weight]
Loading weights: 67%|██████▋ | 99/148 [00:00<00:00, 1285.78it/s, Materializing param=transformer.h.8.attn.c_proj.bias]
Loading weights: 67%|██████▋ | 99/148 [00:00<00:00, 1282.67it/s, Materializing param=transformer.h.8.attn.c_proj.bias]
Loading weights: 68%|██████▊ | 100/148 [00:00<00:00, 1291.74it/s, Materializing param=transformer.h.8.attn.c_proj.weight]
Loading weights: 68%|██████▊ | 100/148 [00:00<00:00, 1288.59it/s, Materializing param=transformer.h.8.attn.c_proj.weight]
Loading weights: 68%|██████▊ | 101/148 [00:00<00:00, 1297.59it/s, Materializing param=transformer.h.8.ln_1.bias]
Loading weights: 68%|██████▊ | 101/148 [00:00<00:00, 1294.82it/s, Materializing param=transformer.h.8.ln_1.bias]
Loading weights: 69%|██████▉ | 102/148 [00:00<00:00, 1303.71it/s, Materializing param=transformer.h.8.ln_1.weight]
Loading weights: 69%|██████▉ | 102/148 [00:00<00:00, 1300.40it/s, Materializing param=transformer.h.8.ln_1.weight]
Loading weights: 70%|██████▉ | 103/148 [00:00<00:00, 1308.92it/s, Materializing param=transformer.h.8.ln_2.bias]
Loading weights: 70%|██████▉ | 103/148 [00:00<00:00, 1305.87it/s, Materializing param=transformer.h.8.ln_2.bias]
Loading weights: 70%|███████ | 104/148 [00:00<00:00, 1314.84it/s, Materializing param=transformer.h.8.ln_2.weight]
Loading weights: 70%|███████ | 104/148 [00:00<00:00, 1311.45it/s, Materializing param=transformer.h.8.ln_2.weight]
Loading weights: 71%|███████ | 105/148 [00:00<00:00, 1319.88it/s, Materializing param=transformer.h.8.mlp.c_fc.bias]
Loading weights: 71%|███████ | 105/148 [00:00<00:00, 1316.90it/s, Materializing param=transformer.h.8.mlp.c_fc.bias]
Loading weights: 72%|███████▏ | 106/148 [00:00<00:00, 1325.56it/s, Materializing param=transformer.h.8.mlp.c_fc.weight]
Loading weights: 72%|███████▏ | 106/148 [00:00<00:00, 1322.53it/s, Materializing param=transformer.h.8.mlp.c_fc.weight]
Loading weights: 72%|███████▏ | 107/148 [00:00<00:00, 1331.21it/s, Materializing param=transformer.h.8.mlp.c_proj.bias]
Loading weights: 72%|███████▏ | 107/148 [00:00<00:00, 1328.23it/s, Materializing param=transformer.h.8.mlp.c_proj.bias]
Loading weights: 73%|███████▎ | 108/148 [00:00<00:00, 1336.72it/s, Materializing param=transformer.h.8.mlp.c_proj.weight]
Loading weights: 73%|███████▎ | 108/148 [00:00<00:00, 1333.71it/s, Materializing param=transformer.h.8.mlp.c_proj.weight]
Loading weights: 74%|███████▎ | 109/148 [00:00<00:00, 1342.26it/s, Materializing param=transformer.h.9.attn.c_attn.bias]
Loading weights: 74%|███████▎ | 109/148 [00:00<00:00, 1339.32it/s, Materializing param=transformer.h.9.attn.c_attn.bias]
Loading weights: 74%|███████▍ | 110/148 [00:00<00:00, 1347.25it/s, Materializing param=transformer.h.9.attn.c_attn.weight]
Loading weights: 74%|███████▍ | 110/148 [00:00<00:00, 1344.14it/s, Materializing param=transformer.h.9.attn.c_attn.weight]
Loading weights: 75%|███████▌ | 111/148 [00:00<00:00, 1352.53it/s, Materializing param=transformer.h.9.attn.c_proj.bias]
Loading weights: 75%|███████▌ | 111/148 [00:00<00:00, 1349.55it/s, Materializing param=transformer.h.9.attn.c_proj.bias]
Loading weights: 76%|███████▌ | 112/148 [00:00<00:00, 1357.14it/s, Materializing param=transformer.h.9.attn.c_proj.weight]
Loading weights: 76%|███████▌ | 112/148 [00:00<00:00, 1353.33it/s, Materializing param=transformer.h.9.attn.c_proj.weight]
Loading weights: 76%|███████▋ | 113/148 [00:00<00:00, 1360.75it/s, Materializing param=transformer.h.9.ln_1.bias]
Loading weights: 76%|███████▋ | 113/148 [00:00<00:00, 1357.43it/s, Materializing param=transformer.h.9.ln_1.bias]
Loading weights: 77%|███████▋ | 114/148 [00:00<00:00, 1365.81it/s, Materializing param=transformer.h.9.ln_1.weight]
Loading weights: 77%|███████▋ | 114/148 [00:00<00:00, 1362.77it/s, Materializing param=transformer.h.9.ln_1.weight]
Loading weights: 78%|███████▊ | 115/148 [00:00<00:00, 1371.08it/s, Materializing param=transformer.h.9.ln_2.bias]
Loading weights: 78%|███████▊ | 115/148 [00:00<00:00, 1368.10it/s, Materializing param=transformer.h.9.ln_2.bias]
Loading weights: 78%|███████▊ | 116/148 [00:00<00:00, 1376.38it/s, Materializing param=transformer.h.9.ln_2.weight]
Loading weights: 78%|███████▊ | 116/148 [00:00<00:00, 1373.07it/s, Materializing param=transformer.h.9.ln_2.weight]
Loading weights: 79%|███████▉ | 117/148 [00:00<00:00, 1380.53it/s, Materializing param=transformer.h.9.mlp.c_fc.bias]
Loading weights: 79%|███████▉ | 117/148 [00:00<00:00, 1377.17it/s, Materializing param=transformer.h.9.mlp.c_fc.bias]
Loading weights: 80%|███████▉ | 118/148 [00:00<00:00, 1384.39it/s, Materializing param=transformer.h.9.mlp.c_fc.weight]
Loading weights: 80%|███████▉ | 118/148 [00:00<00:00, 1381.05it/s, Materializing param=transformer.h.9.mlp.c_fc.weight]
Loading weights: 80%|████████ | 119/148 [00:00<00:00, 1388.37it/s, Materializing param=transformer.h.9.mlp.c_proj.bias]
Loading weights: 80%|████████ | 119/148 [00:00<00:00, 1385.48it/s, Materializing param=transformer.h.9.mlp.c_proj.bias]
Loading weights: 81%|████████ | 120/148 [00:00<00:00, 1393.30it/s, Materializing param=transformer.h.9.mlp.c_proj.weight]
Loading weights: 81%|████████ | 120/148 [00:00<00:00, 1390.46it/s, Materializing param=transformer.h.9.mlp.c_proj.weight]
Loading weights: 82%|████████▏ | 121/148 [00:00<00:00, 1398.42it/s, Materializing param=transformer.h.10.attn.c_attn.bias]
Loading weights: 82%|████████▏ | 121/148 [00:00<00:00, 1395.16it/s, Materializing param=transformer.h.10.attn.c_attn.bias]
Loading weights: 82%|████████▏ | 122/148 [00:00<00:00, 1403.02it/s, Materializing param=transformer.h.10.attn.c_attn.weight]
Loading weights: 82%|████████▏ | 122/148 [00:00<00:00, 1399.99it/s, Materializing param=transformer.h.10.attn.c_attn.weight]
Loading weights: 83%|████████▎ | 123/148 [00:00<00:00, 1407.67it/s, Materializing param=transformer.h.10.attn.c_proj.bias]
Loading weights: 83%|████████▎ | 123/148 [00:00<00:00, 1404.77it/s, Materializing param=transformer.h.10.attn.c_proj.bias]
Loading weights: 84%|████████▍ | 124/148 [00:00<00:00, 1412.66it/s, Materializing param=transformer.h.10.attn.c_proj.weight]
Loading weights: 84%|████████▍ | 124/148 [00:00<00:00, 1409.64it/s, Materializing param=transformer.h.10.attn.c_proj.weight]
Loading weights: 84%|████████▍ | 125/148 [00:00<00:00, 1417.44it/s, Materializing param=transformer.h.10.ln_1.bias]
Loading weights: 84%|████████▍ | 125/148 [00:00<00:00, 1414.46it/s, Materializing param=transformer.h.10.ln_1.bias]
Loading weights: 85%|████████▌ | 126/148 [00:00<00:00, 1422.21it/s, Materializing param=transformer.h.10.ln_1.weight]
Loading weights: 85%|████████▌ | 126/148 [00:00<00:00, 1419.22it/s, Materializing param=transformer.h.10.ln_1.weight]
Loading weights: 86%|████████▌ | 127/148 [00:00<00:00, 1426.99it/s, Materializing param=transformer.h.10.ln_2.bias]
Loading weights: 86%|████████▌ | 127/148 [00:00<00:00, 1424.02it/s, Materializing param=transformer.h.10.ln_2.bias]
Loading weights: 86%|████████▋ | 128/148 [00:00<00:00, 1431.68it/s, Materializing param=transformer.h.10.ln_2.weight]
Loading weights: 86%|████████▋ | 128/148 [00:00<00:00, 1428.72it/s, Materializing param=transformer.h.10.ln_2.weight]
Loading weights: 87%|████████▋ | 129/148 [00:00<00:00, 1436.31it/s, Materializing param=transformer.h.10.mlp.c_fc.bias]
Loading weights: 87%|████████▋ | 129/148 [00:00<00:00, 1433.38it/s, Materializing param=transformer.h.10.mlp.c_fc.bias]
Loading weights: 88%|████████▊ | 130/148 [00:00<00:00, 1440.92it/s, Materializing param=transformer.h.10.mlp.c_fc.weight]
Loading weights: 88%|████████▊ | 130/148 [00:00<00:00, 1437.86it/s, Materializing param=transformer.h.10.mlp.c_fc.weight]
Loading weights: 89%|████████▊ | 131/148 [00:00<00:00, 1445.28it/s, Materializing param=transformer.h.10.mlp.c_proj.bias]
Loading weights: 89%|████████▊ | 131/148 [00:00<00:00, 1442.21it/s, Materializing param=transformer.h.10.mlp.c_proj.bias]
Loading weights: 89%|████████▉ | 132/148 [00:00<00:00, 1449.58it/s, Materializing param=transformer.h.10.mlp.c_proj.weight]
Loading weights: 89%|████████▉ | 132/148 [00:00<00:00, 1446.60it/s, Materializing param=transformer.h.10.mlp.c_proj.weight]
Loading weights: 90%|████████▉ | 133/148 [00:00<00:00, 1453.52it/s, Materializing param=transformer.h.11.attn.c_attn.bias]
Loading weights: 90%|████████▉ | 133/148 [00:00<00:00, 1450.49it/s, Materializing param=transformer.h.11.attn.c_attn.bias]
Loading weights: 91%|█████████ | 134/148 [00:00<00:00, 1457.74it/s, Materializing param=transformer.h.11.attn.c_attn.weight]
Loading weights: 91%|█████████ | 134/148 [00:00<00:00, 1454.72it/s, Materializing param=transformer.h.11.attn.c_attn.weight]
Loading weights: 91%|█████████ | 135/148 [00:00<00:00, 1461.92it/s, Materializing param=transformer.h.11.attn.c_proj.bias]
Loading weights: 91%|█████████ | 135/148 [00:00<00:00, 1458.59it/s, Materializing param=transformer.h.11.attn.c_proj.bias]
Loading weights: 92%|█████████▏| 136/148 [00:00<00:00, 1465.06it/s, Materializing param=transformer.h.11.attn.c_proj.weight]
Loading weights: 92%|█████████▏| 136/148 [00:00<00:00, 1462.02it/s, Materializing param=transformer.h.11.attn.c_proj.weight]
Loading weights: 93%|█████████▎| 137/148 [00:00<00:00, 1469.21it/s, Materializing param=transformer.h.11.ln_1.bias]
Loading weights: 93%|█████████▎| 137/148 [00:00<00:00, 1466.19it/s, Materializing param=transformer.h.11.ln_1.bias]
Loading weights: 93%|█████████▎| 138/148 [00:00<00:00, 1473.36it/s, Materializing param=transformer.h.11.ln_1.weight]
Loading weights: 93%|█████████▎| 138/148 [00:00<00:00, 1470.34it/s, Materializing param=transformer.h.11.ln_1.weight]
Loading weights: 94%|█████████▍| 139/148 [00:00<00:00, 1477.46it/s, Materializing param=transformer.h.11.ln_2.bias]
Loading weights: 94%|█████████▍| 139/148 [00:00<00:00, 1474.35it/s, Materializing param=transformer.h.11.ln_2.bias]
Loading weights: 95%|█████████▍| 140/148 [00:00<00:00, 1481.01it/s, Materializing param=transformer.h.11.ln_2.weight]
Loading weights: 95%|█████████▍| 140/148 [00:00<00:00, 1477.90it/s, Materializing param=transformer.h.11.ln_2.weight]
Loading weights: 95%|█████████▌| 141/148 [00:00<00:00, 1484.96it/s, Materializing param=transformer.h.11.mlp.c_fc.bias]
Loading weights: 95%|█████████▌| 141/148 [00:00<00:00, 1481.72it/s, Materializing param=transformer.h.11.mlp.c_fc.bias]
Loading weights: 96%|█████████▌| 142/148 [00:00<00:00, 1487.85it/s, Materializing param=transformer.h.11.mlp.c_fc.weight]
Loading weights: 96%|█████████▌| 142/148 [00:00<00:00, 1484.47it/s, Materializing param=transformer.h.11.mlp.c_fc.weight]
Loading weights: 97%|█████████▋| 143/148 [00:00<00:00, 1490.58it/s, Materializing param=transformer.h.11.mlp.c_proj.bias]
Loading weights: 97%|█████████▋| 143/148 [00:00<00:00, 1487.33it/s, Materializing param=transformer.h.11.mlp.c_proj.bias]
Loading weights: 97%|█████████▋| 144/148 [00:00<00:00, 1493.55it/s, Materializing param=transformer.h.11.mlp.c_proj.weight]
Loading weights: 97%|█████████▋| 144/148 [00:00<00:00, 1490.61it/s, Materializing param=transformer.h.11.mlp.c_proj.weight]
Loading weights: 98%|█████████▊| 145/148 [00:00<00:00, 1497.41it/s, Materializing param=transformer.ln_f.bias]
Loading weights: 98%|█████████▊| 145/148 [00:00<00:00, 1494.40it/s, Materializing param=transformer.ln_f.bias]
Loading weights: 99%|█████████▊| 146/148 [00:00<00:00, 1501.27it/s, Materializing param=transformer.ln_f.weight]
Loading weights: 99%|█████████▊| 146/148 [00:00<00:00, 1498.29it/s, Materializing param=transformer.ln_f.weight]
Loading weights: 99%|█████████▉| 147/148 [00:00<00:00, 1505.17it/s, Materializing param=transformer.wpe.weight]
Loading weights: 99%|█████████▉| 147/148 [00:00<00:00, 1502.20it/s, Materializing param=transformer.wpe.weight]
Loading weights: 100%|██████████| 148/148 [00:00<00:00, 1509.02it/s, Materializing param=transformer.wte.weight]
Loading weights: 100%|██████████| 148/148 [00:00<00:00, 1506.00it/s, Materializing param=transformer.wte.weight]
Loading weights: 100%|██████████| 148/148 [00:00<00:00, 1502.29it/s, Materializing param=transformer.wte.weight]
GPT2LMHeadModel LOAD REPORT from: gpt2
Key | Status | |
---------------------+------------+--+-
h.{0...11}.attn.bias | UNEXPECTED | |
Notes:
- UNEXPECTED :can be ignored when loading from different task/architecture; not ok if you expect identical arch.
Activation checkpointing is DISABLED
Running 5 training steps...
`loss_type=None` was set in the config but it is unrecognized. Using the default loss: `ForCausalLMLoss`.
Step 1/5, Loss: 12.2491
Step 2/5, Loss: 12.0704
Step 3/5, Loss: 11.9368
Step 4/5, Loss: 11.7790
Step 5/5, Loss: 11.8115
✓ Memory snapshot saved to snapshot_baseline.pickle
✓ Peak GPU memory: 5.12 GB
Run Modified Training (With Activation Checkpointing)#
if HAS_CUDA:
print("\n" + "=" * 60)
print("MODIFIED: Training WITH Activation Checkpointing")
print("=" * 60)
ac_memory = run_training_ac(
activation_checkpointing=True,
snapshot_path="snapshot_with_ac.pickle",
batch_size=4,
seq_length=512,
num_steps=5,
)
# Summary
print("\n" + "=" * 60)
print("MEMORY COMPARISON SUMMARY")
print("=" * 60)
print(f"Baseline (no AC): {baseline_memory:.2f} GB")
print(f"With AC: {ac_memory:.2f} GB")
if baseline_memory > 0:
saved_pct = 100 * (baseline_memory - ac_memory) / baseline_memory
print(
f"Memory Saved: {baseline_memory - ac_memory:.2f} GB ({saved_pct:.1f}%)"
)
============================================================
MODIFIED: Training WITH Activation Checkpointing
============================================================
Loading GPT-2 (activation_checkpointing=True)...
Loading weights: 0%| | 0/148 [00:00<?, ?it/s]
Loading weights: 1%| | 1/148 [00:00<00:00, 45590.26it/s, Materializing param=transformer.h.0.attn.c_attn.bias]
Loading weights: 1%| | 1/148 [00:00<00:00, 4619.28it/s, Materializing param=transformer.h.0.attn.c_attn.bias]
Loading weights: 1%|▏ | 2/148 [00:00<00:00, 3674.38it/s, Materializing param=transformer.h.0.attn.c_attn.weight]
Loading weights: 1%|▏ | 2/148 [00:00<00:00, 2680.07it/s, Materializing param=transformer.h.0.attn.c_attn.weight]
Loading weights: 2%|▏ | 3/148 [00:00<00:00, 1417.63it/s, Materializing param=transformer.h.0.attn.c_proj.bias]
Loading weights: 2%|▏ | 3/148 [00:00<00:00, 1292.41it/s, Materializing param=transformer.h.0.attn.c_proj.bias]
Loading weights: 3%|▎ | 4/148 [00:00<00:00, 692.19it/s, Materializing param=transformer.h.0.attn.c_proj.weight]
Loading weights: 3%|▎ | 4/148 [00:00<00:00, 668.12it/s, Materializing param=transformer.h.0.attn.c_proj.weight]
Loading weights: 3%|▎ | 5/148 [00:00<00:00, 786.19it/s, Materializing param=transformer.h.0.ln_1.bias]
Loading weights: 3%|▎ | 5/148 [00:00<00:00, 744.25it/s, Materializing param=transformer.h.0.ln_1.bias]
Loading weights: 4%|▍ | 6/148 [00:00<00:00, 842.23it/s, Materializing param=transformer.h.0.ln_1.weight]
Loading weights: 4%|▍ | 6/148 [00:00<00:00, 799.14it/s, Materializing param=transformer.h.0.ln_1.weight]
Loading weights: 5%|▍ | 7/148 [00:00<00:00, 859.61it/s, Materializing param=transformer.h.0.ln_2.bias]
Loading weights: 5%|▍ | 7/148 [00:00<00:00, 757.33it/s, Materializing param=transformer.h.0.ln_2.bias]
Loading weights: 5%|▌ | 8/148 [00:00<00:00, 819.56it/s, Materializing param=transformer.h.0.ln_2.weight]
Loading weights: 5%|▌ | 8/148 [00:00<00:00, 764.08it/s, Materializing param=transformer.h.0.ln_2.weight]
Loading weights: 6%|▌ | 9/148 [00:00<00:00, 809.99it/s, Materializing param=transformer.h.0.mlp.c_fc.bias]
Loading weights: 6%|▌ | 9/148 [00:00<00:00, 778.79it/s, Materializing param=transformer.h.0.mlp.c_fc.bias]
Loading weights: 7%|▋ | 10/148 [00:00<00:00, 762.70it/s, Materializing param=transformer.h.0.mlp.c_fc.weight]
Loading weights: 7%|▋ | 10/148 [00:00<00:00, 737.80it/s, Materializing param=transformer.h.0.mlp.c_fc.weight]
Loading weights: 7%|▋ | 11/148 [00:00<00:00, 769.92it/s, Materializing param=transformer.h.0.mlp.c_proj.bias]
Loading weights: 7%|▋ | 11/148 [00:00<00:00, 759.29it/s, Materializing param=transformer.h.0.mlp.c_proj.bias]
Loading weights: 8%|▊ | 12/148 [00:00<00:00, 778.90it/s, Materializing param=transformer.h.0.mlp.c_proj.weight]
Loading weights: 8%|▊ | 12/148 [00:00<00:00, 744.03it/s, Materializing param=transformer.h.0.mlp.c_proj.weight]
Loading weights: 9%|▉ | 13/148 [00:00<00:00, 785.17it/s, Materializing param=transformer.h.1.attn.c_attn.bias]
Loading weights: 9%|▉ | 13/148 [00:00<00:00, 727.43it/s, Materializing param=transformer.h.1.attn.c_attn.bias]
Loading weights: 9%|▉ | 14/148 [00:00<00:00, 732.06it/s, Materializing param=transformer.h.1.attn.c_attn.weight]
Loading weights: 9%|▉ | 14/148 [00:00<00:00, 683.37it/s, Materializing param=transformer.h.1.attn.c_attn.weight]
Loading weights: 10%|█ | 15/148 [00:00<00:00, 706.79it/s, Materializing param=transformer.h.1.attn.c_proj.bias]
Loading weights: 10%|█ | 15/148 [00:00<00:00, 690.48it/s, Materializing param=transformer.h.1.attn.c_proj.bias]
Loading weights: 11%|█ | 16/148 [00:00<00:00, 711.15it/s, Materializing param=transformer.h.1.attn.c_proj.weight]
Loading weights: 11%|█ | 16/148 [00:00<00:00, 693.77it/s, Materializing param=transformer.h.1.attn.c_proj.weight]
Loading weights: 11%|█▏ | 17/148 [00:00<00:00, 725.14it/s, Materializing param=transformer.h.1.ln_1.bias]
Loading weights: 11%|█▏ | 17/148 [00:00<00:00, 705.65it/s, Materializing param=transformer.h.1.ln_1.bias]
Loading weights: 12%|█▏ | 18/148 [00:00<00:00, 735.91it/s, Materializing param=transformer.h.1.ln_1.weight]
Loading weights: 12%|█▏ | 18/148 [00:00<00:00, 730.59it/s, Materializing param=transformer.h.1.ln_1.weight]
Loading weights: 13%|█▎ | 19/148 [00:00<00:00, 748.50it/s, Materializing param=transformer.h.1.ln_2.bias]
Loading weights: 13%|█▎ | 19/148 [00:00<00:00, 740.88it/s, Materializing param=transformer.h.1.ln_2.bias]
Loading weights: 14%|█▎ | 20/148 [00:00<00:00, 768.73it/s, Materializing param=transformer.h.1.ln_2.weight]
Loading weights: 14%|█▎ | 20/148 [00:00<00:00, 757.55it/s, Materializing param=transformer.h.1.ln_2.weight]
Loading weights: 14%|█▍ | 21/148 [00:00<00:00, 785.15it/s, Materializing param=transformer.h.1.mlp.c_fc.bias]
Loading weights: 14%|█▍ | 21/148 [00:00<00:00, 756.60it/s, Materializing param=transformer.h.1.mlp.c_fc.bias]
Loading weights: 15%|█▍ | 22/148 [00:00<00:00, 760.85it/s, Materializing param=transformer.h.1.mlp.c_fc.weight]
Loading weights: 15%|█▍ | 22/148 [00:00<00:00, 756.16it/s, Materializing param=transformer.h.1.mlp.c_fc.weight]
Loading weights: 16%|█▌ | 23/148 [00:00<00:00, 774.96it/s, Materializing param=transformer.h.1.mlp.c_proj.bias]
Loading weights: 16%|█▌ | 23/148 [00:00<00:00, 770.20it/s, Materializing param=transformer.h.1.mlp.c_proj.bias]
Loading weights: 16%|█▌ | 24/148 [00:00<00:00, 764.34it/s, Materializing param=transformer.h.1.mlp.c_proj.weight]
Loading weights: 16%|█▌ | 24/148 [00:00<00:00, 759.80it/s, Materializing param=transformer.h.1.mlp.c_proj.weight]
Loading weights: 17%|█▋ | 25/148 [00:00<00:00, 772.91it/s, Materializing param=transformer.h.2.attn.c_attn.bias]
Loading weights: 17%|█▋ | 25/148 [00:00<00:00, 767.95it/s, Materializing param=transformer.h.2.attn.c_attn.bias]
Loading weights: 18%|█▊ | 26/148 [00:00<00:00, 778.86it/s, Materializing param=transformer.h.2.attn.c_attn.weight]
Loading weights: 18%|█▊ | 26/148 [00:00<00:00, 774.63it/s, Materializing param=transformer.h.2.attn.c_attn.weight]
Loading weights: 18%|█▊ | 27/148 [00:00<00:00, 787.55it/s, Materializing param=transformer.h.2.attn.c_proj.bias]
Loading weights: 18%|█▊ | 27/148 [00:00<00:00, 782.32it/s, Materializing param=transformer.h.2.attn.c_proj.bias]
Loading weights: 19%|█▉ | 28/148 [00:00<00:00, 797.24it/s, Materializing param=transformer.h.2.attn.c_proj.weight]
Loading weights: 19%|█▉ | 28/148 [00:00<00:00, 777.30it/s, Materializing param=transformer.h.2.attn.c_proj.weight]
Loading weights: 20%|█▉ | 29/148 [00:00<00:00, 787.94it/s, Materializing param=transformer.h.2.ln_1.bias]
Loading weights: 20%|█▉ | 29/148 [00:00<00:00, 777.60it/s, Materializing param=transformer.h.2.ln_1.bias]
Loading weights: 20%|██ | 30/148 [00:00<00:00, 789.02it/s, Materializing param=transformer.h.2.ln_1.weight]
Loading weights: 20%|██ | 30/148 [00:00<00:00, 777.04it/s, Materializing param=transformer.h.2.ln_1.weight]
Loading weights: 21%|██ | 31/148 [00:00<00:00, 795.08it/s, Materializing param=transformer.h.2.ln_2.bias]
Loading weights: 21%|██ | 31/148 [00:00<00:00, 785.82it/s, Materializing param=transformer.h.2.ln_2.bias]
Loading weights: 22%|██▏ | 32/148 [00:00<00:00, 803.60it/s, Materializing param=transformer.h.2.ln_2.weight]
Loading weights: 22%|██▏ | 32/148 [00:00<00:00, 800.03it/s, Materializing param=transformer.h.2.ln_2.weight]
Loading weights: 22%|██▏ | 33/148 [00:00<00:00, 811.88it/s, Materializing param=transformer.h.2.mlp.c_fc.bias]
Loading weights: 22%|██▏ | 33/148 [00:00<00:00, 795.37it/s, Materializing param=transformer.h.2.mlp.c_fc.bias]
Loading weights: 23%|██▎ | 34/148 [00:00<00:00, 812.14it/s, Materializing param=transformer.h.2.mlp.c_fc.weight]
Loading weights: 23%|██▎ | 34/148 [00:00<00:00, 808.31it/s, Materializing param=transformer.h.2.mlp.c_fc.weight]
Loading weights: 24%|██▎ | 35/148 [00:00<00:00, 808.29it/s, Materializing param=transformer.h.2.mlp.c_proj.bias]
Loading weights: 24%|██▎ | 35/148 [00:00<00:00, 804.73it/s, Materializing param=transformer.h.2.mlp.c_proj.bias]
Loading weights: 24%|██▍ | 36/148 [00:00<00:00, 815.70it/s, Materializing param=transformer.h.2.mlp.c_proj.weight]
Loading weights: 24%|██▍ | 36/148 [00:00<00:00, 811.89it/s, Materializing param=transformer.h.2.mlp.c_proj.weight]
Loading weights: 25%|██▌ | 37/148 [00:00<00:00, 823.83it/s, Materializing param=transformer.h.3.attn.c_attn.bias]
Loading weights: 25%|██▌ | 37/148 [00:00<00:00, 820.46it/s, Materializing param=transformer.h.3.attn.c_attn.bias]
Loading weights: 26%|██▌ | 38/148 [00:00<00:00, 835.30it/s, Materializing param=transformer.h.3.attn.c_attn.weight]
Loading weights: 26%|██▌ | 38/148 [00:00<00:00, 831.94it/s, Materializing param=transformer.h.3.attn.c_attn.weight]
Loading weights: 26%|██▋ | 39/148 [00:00<00:00, 846.82it/s, Materializing param=transformer.h.3.attn.c_proj.bias]
Loading weights: 26%|██▋ | 39/148 [00:00<00:00, 843.56it/s, Materializing param=transformer.h.3.attn.c_proj.bias]
Loading weights: 27%|██▋ | 40/148 [00:00<00:00, 844.97it/s, Materializing param=transformer.h.3.attn.c_proj.weight]
Loading weights: 27%|██▋ | 40/148 [00:00<00:00, 834.19it/s, Materializing param=transformer.h.3.attn.c_proj.weight]
Loading weights: 28%|██▊ | 41/148 [00:00<00:00, 827.23it/s, Materializing param=transformer.h.3.ln_1.bias]
Loading weights: 28%|██▊ | 41/148 [00:00<00:00, 824.19it/s, Materializing param=transformer.h.3.ln_1.bias]
Loading weights: 28%|██▊ | 42/148 [00:00<00:00, 818.91it/s, Materializing param=transformer.h.3.ln_1.weight]
Loading weights: 28%|██▊ | 42/148 [00:00<00:00, 815.94it/s, Materializing param=transformer.h.3.ln_1.weight]
Loading weights: 29%|██▉ | 43/148 [00:00<00:00, 815.82it/s, Materializing param=transformer.h.3.ln_2.bias]
Loading weights: 29%|██▉ | 43/148 [00:00<00:00, 812.32it/s, Materializing param=transformer.h.3.ln_2.bias]
Loading weights: 30%|██▉ | 44/148 [00:00<00:00, 822.11it/s, Materializing param=transformer.h.3.ln_2.weight]
Loading weights: 30%|██▉ | 44/148 [00:00<00:00, 810.69it/s, Materializing param=transformer.h.3.ln_2.weight]
Loading weights: 30%|███ | 45/148 [00:00<00:00, 821.34it/s, Materializing param=transformer.h.3.mlp.c_fc.bias]
Loading weights: 30%|███ | 45/148 [00:00<00:00, 818.36it/s, Materializing param=transformer.h.3.mlp.c_fc.bias]
Loading weights: 31%|███ | 46/148 [00:00<00:00, 825.80it/s, Materializing param=transformer.h.3.mlp.c_fc.weight]
Loading weights: 31%|███ | 46/148 [00:00<00:00, 823.06it/s, Materializing param=transformer.h.3.mlp.c_fc.weight]
Loading weights: 32%|███▏ | 47/148 [00:00<00:00, 836.62it/s, Materializing param=transformer.h.3.mlp.c_proj.bias]
Loading weights: 32%|███▏ | 47/148 [00:00<00:00, 834.13it/s, Materializing param=transformer.h.3.mlp.c_proj.bias]
Loading weights: 32%|███▏ | 48/148 [00:00<00:00, 848.36it/s, Materializing param=transformer.h.3.mlp.c_proj.weight]
Loading weights: 32%|███▏ | 48/148 [00:00<00:00, 845.85it/s, Materializing param=transformer.h.3.mlp.c_proj.weight]
Loading weights: 33%|███▎ | 49/148 [00:00<00:00, 860.14it/s, Materializing param=transformer.h.4.attn.c_attn.bias]
Loading weights: 33%|███▎ | 49/148 [00:00<00:00, 857.76it/s, Materializing param=transformer.h.4.attn.c_attn.bias]
Loading weights: 34%|███▍ | 50/148 [00:00<00:00, 872.03it/s, Materializing param=transformer.h.4.attn.c_attn.weight]
Loading weights: 34%|███▍ | 50/148 [00:00<00:00, 869.67it/s, Materializing param=transformer.h.4.attn.c_attn.weight]
Loading weights: 34%|███▍ | 51/148 [00:00<00:00, 883.84it/s, Materializing param=transformer.h.4.attn.c_proj.bias]
Loading weights: 34%|███▍ | 51/148 [00:00<00:00, 881.38it/s, Materializing param=transformer.h.4.attn.c_proj.bias]
Loading weights: 35%|███▌ | 52/148 [00:00<00:00, 895.44it/s, Materializing param=transformer.h.4.attn.c_proj.weight]
Loading weights: 35%|███▌ | 52/148 [00:00<00:00, 893.03it/s, Materializing param=transformer.h.4.attn.c_proj.weight]
Loading weights: 36%|███▌ | 53/148 [00:00<00:00, 906.96it/s, Materializing param=transformer.h.4.ln_1.bias]
Loading weights: 36%|███▌ | 53/148 [00:00<00:00, 904.57it/s, Materializing param=transformer.h.4.ln_1.bias]
Loading weights: 36%|███▋ | 54/148 [00:00<00:00, 918.34it/s, Materializing param=transformer.h.4.ln_1.weight]
Loading weights: 36%|███▋ | 54/148 [00:00<00:00, 915.93it/s, Materializing param=transformer.h.4.ln_1.weight]
Loading weights: 37%|███▋ | 55/148 [00:00<00:00, 929.67it/s, Materializing param=transformer.h.4.ln_2.bias]
Loading weights: 37%|███▋ | 55/148 [00:00<00:00, 927.26it/s, Materializing param=transformer.h.4.ln_2.bias]
Loading weights: 38%|███▊ | 56/148 [00:00<00:00, 940.48it/s, Materializing param=transformer.h.4.ln_2.weight]
Loading weights: 38%|███▊ | 56/148 [00:00<00:00, 937.99it/s, Materializing param=transformer.h.4.ln_2.weight]
Loading weights: 39%|███▊ | 57/148 [00:00<00:00, 951.46it/s, Materializing param=transformer.h.4.mlp.c_fc.bias]
Loading weights: 39%|███▊ | 57/148 [00:00<00:00, 949.00it/s, Materializing param=transformer.h.4.mlp.c_fc.bias]
Loading weights: 39%|███▉ | 58/148 [00:00<00:00, 962.18it/s, Materializing param=transformer.h.4.mlp.c_fc.weight]
Loading weights: 39%|███▉ | 58/148 [00:00<00:00, 959.70it/s, Materializing param=transformer.h.4.mlp.c_fc.weight]
Loading weights: 40%|███▉ | 59/148 [00:00<00:00, 972.93it/s, Materializing param=transformer.h.4.mlp.c_proj.bias]
Loading weights: 40%|███▉ | 59/148 [00:00<00:00, 970.40it/s, Materializing param=transformer.h.4.mlp.c_proj.bias]
Loading weights: 41%|████ | 60/148 [00:00<00:00, 983.08it/s, Materializing param=transformer.h.4.mlp.c_proj.weight]
Loading weights: 41%|████ | 60/148 [00:00<00:00, 980.49it/s, Materializing param=transformer.h.4.mlp.c_proj.weight]
Loading weights: 41%|████ | 61/148 [00:00<00:00, 993.47it/s, Materializing param=transformer.h.5.attn.c_attn.bias]
Loading weights: 41%|████ | 61/148 [00:00<00:00, 990.97it/s, Materializing param=transformer.h.5.attn.c_attn.bias]
Loading weights: 42%|████▏ | 62/148 [00:00<00:00, 1003.78it/s, Materializing param=transformer.h.5.attn.c_attn.weight]
Loading weights: 42%|████▏ | 62/148 [00:00<00:00, 1001.25it/s, Materializing param=transformer.h.5.attn.c_attn.weight]
Loading weights: 43%|████▎ | 63/148 [00:00<00:00, 1013.97it/s, Materializing param=transformer.h.5.attn.c_proj.bias]
Loading weights: 43%|████▎ | 63/148 [00:00<00:00, 1011.44it/s, Materializing param=transformer.h.5.attn.c_proj.bias]
Loading weights: 43%|████▎ | 64/148 [00:00<00:00, 1024.12it/s, Materializing param=transformer.h.5.attn.c_proj.weight]
Loading weights: 43%|████▎ | 64/148 [00:00<00:00, 1021.60it/s, Materializing param=transformer.h.5.attn.c_proj.weight]
Loading weights: 44%|████▍ | 65/148 [00:00<00:00, 1033.67it/s, Materializing param=transformer.h.5.ln_1.bias]
Loading weights: 44%|████▍ | 65/148 [00:00<00:00, 1031.12it/s, Materializing param=transformer.h.5.ln_1.bias]
Loading weights: 45%|████▍ | 66/148 [00:00<00:00, 1043.61it/s, Materializing param=transformer.h.5.ln_1.weight]
Loading weights: 45%|████▍ | 66/148 [00:00<00:00, 1041.05it/s, Materializing param=transformer.h.5.ln_1.weight]
Loading weights: 45%|████▌ | 67/148 [00:00<00:00, 1053.49it/s, Materializing param=transformer.h.5.ln_2.bias]
Loading weights: 45%|████▌ | 67/148 [00:00<00:00, 1050.96it/s, Materializing param=transformer.h.5.ln_2.bias]
Loading weights: 46%|████▌ | 68/148 [00:00<00:00, 1063.20it/s, Materializing param=transformer.h.5.ln_2.weight]
Loading weights: 46%|████▌ | 68/148 [00:00<00:00, 1060.65it/s, Materializing param=transformer.h.5.ln_2.weight]
Loading weights: 47%|████▋ | 69/148 [00:00<00:00, 1072.66it/s, Materializing param=transformer.h.5.mlp.c_fc.bias]
Loading weights: 47%|████▋ | 69/148 [00:00<00:00, 1070.10it/s, Materializing param=transformer.h.5.mlp.c_fc.bias]
Loading weights: 47%|████▋ | 70/148 [00:00<00:00, 1082.15it/s, Materializing param=transformer.h.5.mlp.c_fc.weight]
Loading weights: 47%|████▋ | 70/148 [00:00<00:00, 1079.58it/s, Materializing param=transformer.h.5.mlp.c_fc.weight]
Loading weights: 48%|████▊ | 71/148 [00:00<00:00, 1091.54it/s, Materializing param=transformer.h.5.mlp.c_proj.bias]
Loading weights: 48%|████▊ | 71/148 [00:00<00:00, 1088.96it/s, Materializing param=transformer.h.5.mlp.c_proj.bias]
Loading weights: 49%|████▊ | 72/148 [00:00<00:00, 1100.33it/s, Materializing param=transformer.h.5.mlp.c_proj.weight]
Loading weights: 49%|████▊ | 72/148 [00:00<00:00, 1097.57it/s, Materializing param=transformer.h.5.mlp.c_proj.weight]
Loading weights: 49%|████▉ | 73/148 [00:00<00:00, 1109.27it/s, Materializing param=transformer.h.6.attn.c_attn.bias]
Loading weights: 49%|████▉ | 73/148 [00:00<00:00, 1106.66it/s, Materializing param=transformer.h.6.attn.c_attn.bias]
Loading weights: 50%|█████ | 74/148 [00:00<00:00, 1118.27it/s, Materializing param=transformer.h.6.attn.c_attn.weight]
Loading weights: 50%|█████ | 74/148 [00:00<00:00, 1115.67it/s, Materializing param=transformer.h.6.attn.c_attn.weight]
Loading weights: 51%|█████ | 75/148 [00:00<00:00, 1127.17it/s, Materializing param=transformer.h.6.attn.c_proj.bias]
Loading weights: 51%|█████ | 75/148 [00:00<00:00, 1124.53it/s, Materializing param=transformer.h.6.attn.c_proj.bias]
Loading weights: 51%|█████▏ | 76/148 [00:00<00:00, 1135.88it/s, Materializing param=transformer.h.6.attn.c_proj.weight]
Loading weights: 51%|█████▏ | 76/148 [00:00<00:00, 1133.24it/s, Materializing param=transformer.h.6.attn.c_proj.weight]
Loading weights: 52%|█████▏ | 77/148 [00:00<00:00, 1144.64it/s, Materializing param=transformer.h.6.ln_1.bias]
Loading weights: 52%|█████▏ | 77/148 [00:00<00:00, 1142.01it/s, Materializing param=transformer.h.6.ln_1.bias]
Loading weights: 53%|█████▎ | 78/148 [00:00<00:00, 1153.42it/s, Materializing param=transformer.h.6.ln_1.weight]
Loading weights: 53%|█████▎ | 78/148 [00:00<00:00, 1150.82it/s, Materializing param=transformer.h.6.ln_1.weight]
Loading weights: 53%|█████▎ | 79/148 [00:00<00:00, 1162.15it/s, Materializing param=transformer.h.6.ln_2.bias]
Loading weights: 53%|█████▎ | 79/148 [00:00<00:00, 1159.56it/s, Materializing param=transformer.h.6.ln_2.bias]
Loading weights: 54%|█████▍ | 80/148 [00:00<00:00, 1170.57it/s, Materializing param=transformer.h.6.ln_2.weight]
Loading weights: 54%|█████▍ | 80/148 [00:00<00:00, 1167.62it/s, Materializing param=transformer.h.6.ln_2.weight]
Loading weights: 55%|█████▍ | 81/148 [00:00<00:00, 1178.62it/s, Materializing param=transformer.h.6.mlp.c_fc.bias]
Loading weights: 55%|█████▍ | 81/148 [00:00<00:00, 1175.98it/s, Materializing param=transformer.h.6.mlp.c_fc.bias]
Loading weights: 55%|█████▌ | 82/148 [00:00<00:00, 1186.98it/s, Materializing param=transformer.h.6.mlp.c_fc.weight]
Loading weights: 55%|█████▌ | 82/148 [00:00<00:00, 1184.34it/s, Materializing param=transformer.h.6.mlp.c_fc.weight]
Loading weights: 56%|█████▌ | 83/148 [00:00<00:00, 1195.11it/s, Materializing param=transformer.h.6.mlp.c_proj.bias]
Loading weights: 56%|█████▌ | 83/148 [00:00<00:00, 1192.44it/s, Materializing param=transformer.h.6.mlp.c_proj.bias]
Loading weights: 57%|█████▋ | 84/148 [00:00<00:00, 1203.14it/s, Materializing param=transformer.h.6.mlp.c_proj.weight]
Loading weights: 57%|█████▋ | 84/148 [00:00<00:00, 1200.46it/s, Materializing param=transformer.h.6.mlp.c_proj.weight]
Loading weights: 57%|█████▋ | 85/148 [00:00<00:00, 1211.23it/s, Materializing param=transformer.h.7.attn.c_attn.bias]
Loading weights: 57%|█████▋ | 85/148 [00:00<00:00, 1208.56it/s, Materializing param=transformer.h.7.attn.c_attn.bias]
Loading weights: 58%|█████▊ | 86/148 [00:00<00:00, 1219.18it/s, Materializing param=transformer.h.7.attn.c_attn.weight]
Loading weights: 58%|█████▊ | 86/148 [00:00<00:00, 1216.53it/s, Materializing param=transformer.h.7.attn.c_attn.weight]
Loading weights: 59%|█████▉ | 87/148 [00:00<00:00, 1227.11it/s, Materializing param=transformer.h.7.attn.c_proj.bias]
Loading weights: 59%|█████▉ | 87/148 [00:00<00:00, 1223.81it/s, Materializing param=transformer.h.7.attn.c_proj.bias]
Loading weights: 59%|█████▉ | 88/148 [00:00<00:00, 1234.25it/s, Materializing param=transformer.h.7.attn.c_proj.weight]
Loading weights: 59%|█████▉ | 88/148 [00:00<00:00, 1231.29it/s, Materializing param=transformer.h.7.attn.c_proj.weight]
Loading weights: 60%|██████ | 89/148 [00:00<00:00, 1241.10it/s, Materializing param=transformer.h.7.ln_1.bias]
Loading weights: 60%|██████ | 89/148 [00:00<00:00, 1237.87it/s, Materializing param=transformer.h.7.ln_1.bias]
Loading weights: 61%|██████ | 90/148 [00:00<00:00, 1247.53it/s, Materializing param=transformer.h.7.ln_1.weight]
Loading weights: 61%|██████ | 90/148 [00:00<00:00, 1244.08it/s, Materializing param=transformer.h.7.ln_1.weight]
Loading weights: 61%|██████▏ | 91/148 [00:00<00:00, 1253.03it/s, Materializing param=transformer.h.7.ln_2.bias]
Loading weights: 61%|██████▏ | 91/148 [00:00<00:00, 1249.88it/s, Materializing param=transformer.h.7.ln_2.bias]
Loading weights: 62%|██████▏ | 92/148 [00:00<00:00, 1260.02it/s, Materializing param=transformer.h.7.ln_2.weight]
Loading weights: 62%|██████▏ | 92/148 [00:00<00:00, 1257.33it/s, Materializing param=transformer.h.7.ln_2.weight]
Loading weights: 63%|██████▎ | 93/148 [00:00<00:00, 1267.45it/s, Materializing param=transformer.h.7.mlp.c_fc.bias]
Loading weights: 63%|██████▎ | 93/148 [00:00<00:00, 1264.78it/s, Materializing param=transformer.h.7.mlp.c_fc.bias]
Loading weights: 64%|██████▎ | 94/148 [00:00<00:00, 1274.77it/s, Materializing param=transformer.h.7.mlp.c_fc.weight]
Loading weights: 64%|██████▎ | 94/148 [00:00<00:00, 1272.09it/s, Materializing param=transformer.h.7.mlp.c_fc.weight]
Loading weights: 64%|██████▍ | 95/148 [00:00<00:00, 1282.03it/s, Materializing param=transformer.h.7.mlp.c_proj.bias]
Loading weights: 64%|██████▍ | 95/148 [00:00<00:00, 1279.38it/s, Materializing param=transformer.h.7.mlp.c_proj.bias]
Loading weights: 65%|██████▍ | 96/148 [00:00<00:00, 1289.25it/s, Materializing param=transformer.h.7.mlp.c_proj.weight]
Loading weights: 65%|██████▍ | 96/148 [00:00<00:00, 1286.59it/s, Materializing param=transformer.h.7.mlp.c_proj.weight]
Loading weights: 66%|██████▌ | 97/148 [00:00<00:00, 1296.34it/s, Materializing param=transformer.h.8.attn.c_attn.bias]
Loading weights: 66%|██████▌ | 97/148 [00:00<00:00, 1293.36it/s, Materializing param=transformer.h.8.attn.c_attn.bias]
Loading weights: 66%|██████▌ | 98/148 [00:00<00:00, 1302.98it/s, Materializing param=transformer.h.8.attn.c_attn.weight]
Loading weights: 66%|██████▌ | 98/148 [00:00<00:00, 1300.25it/s, Materializing param=transformer.h.8.attn.c_attn.weight]
Loading weights: 67%|██████▋ | 99/148 [00:00<00:00, 1309.89it/s, Materializing param=transformer.h.8.attn.c_proj.bias]
Loading weights: 67%|██████▋ | 99/148 [00:00<00:00, 1307.20it/s, Materializing param=transformer.h.8.attn.c_proj.bias]
Loading weights: 68%|██████▊ | 100/148 [00:00<00:00, 1316.74it/s, Materializing param=transformer.h.8.attn.c_proj.weight]
Loading weights: 68%|██████▊ | 100/148 [00:00<00:00, 1314.04it/s, Materializing param=transformer.h.8.attn.c_proj.weight]
Loading weights: 68%|██████▊ | 101/148 [00:00<00:00, 1323.41it/s, Materializing param=transformer.h.8.ln_1.bias]
Loading weights: 68%|██████▊ | 101/148 [00:00<00:00, 1320.72it/s, Materializing param=transformer.h.8.ln_1.bias]
Loading weights: 69%|██████▉ | 102/148 [00:00<00:00, 1330.25it/s, Materializing param=transformer.h.8.ln_1.weight]
Loading weights: 69%|██████▉ | 102/148 [00:00<00:00, 1327.56it/s, Materializing param=transformer.h.8.ln_1.weight]
Loading weights: 70%|██████▉ | 103/148 [00:00<00:00, 1337.03it/s, Materializing param=transformer.h.8.ln_2.bias]
Loading weights: 70%|██████▉ | 103/148 [00:00<00:00, 1334.35it/s, Materializing param=transformer.h.8.ln_2.bias]
Loading weights: 70%|███████ | 104/148 [00:00<00:00, 1343.75it/s, Materializing param=transformer.h.8.ln_2.weight]
Loading weights: 70%|███████ | 104/148 [00:00<00:00, 1340.82it/s, Materializing param=transformer.h.8.ln_2.weight]
Loading weights: 71%|███████ | 105/148 [00:00<00:00, 1349.89it/s, Materializing param=transformer.h.8.mlp.c_fc.bias]
Loading weights: 71%|███████ | 105/148 [00:00<00:00, 1347.16it/s, Materializing param=transformer.h.8.mlp.c_fc.bias]
Loading weights: 72%|███████▏ | 106/148 [00:00<00:00, 1356.42it/s, Materializing param=transformer.h.8.mlp.c_fc.weight]
Loading weights: 72%|███████▏ | 106/148 [00:00<00:00, 1353.69it/s, Materializing param=transformer.h.8.mlp.c_fc.weight]
Loading weights: 72%|███████▏ | 107/148 [00:00<00:00, 1362.84it/s, Materializing param=transformer.h.8.mlp.c_proj.bias]
Loading weights: 72%|███████▏ | 107/148 [00:00<00:00, 1360.13it/s, Materializing param=transformer.h.8.mlp.c_proj.bias]
Loading weights: 73%|███████▎ | 108/148 [00:00<00:00, 1369.25it/s, Materializing param=transformer.h.8.mlp.c_proj.weight]
Loading weights: 73%|███████▎ | 108/148 [00:00<00:00, 1366.56it/s, Materializing param=transformer.h.8.mlp.c_proj.weight]
Loading weights: 74%|███████▎ | 109/148 [00:00<00:00, 1375.60it/s, Materializing param=transformer.h.9.attn.c_attn.bias]
Loading weights: 74%|███████▎ | 109/148 [00:00<00:00, 1372.88it/s, Materializing param=transformer.h.9.attn.c_attn.bias]
Loading weights: 74%|███████▍ | 110/148 [00:00<00:00, 1381.85it/s, Materializing param=transformer.h.9.attn.c_attn.weight]
Loading weights: 74%|███████▍ | 110/148 [00:00<00:00, 1379.17it/s, Materializing param=transformer.h.9.attn.c_attn.weight]
Loading weights: 75%|███████▌ | 111/148 [00:00<00:00, 1388.13it/s, Materializing param=transformer.h.9.attn.c_proj.bias]
Loading weights: 75%|███████▌ | 111/148 [00:00<00:00, 1385.47it/s, Materializing param=transformer.h.9.attn.c_proj.bias]
Loading weights: 76%|███████▌ | 112/148 [00:00<00:00, 1394.11it/s, Materializing param=transformer.h.9.attn.c_proj.weight]
Loading weights: 76%|███████▌ | 112/148 [00:00<00:00, 1391.18it/s, Materializing param=transformer.h.9.attn.c_proj.weight]
Loading weights: 76%|███████▋ | 113/148 [00:00<00:00, 1399.96it/s, Materializing param=transformer.h.9.ln_1.bias]
Loading weights: 76%|███████▋ | 113/148 [00:00<00:00, 1397.30it/s, Materializing param=transformer.h.9.ln_1.bias]
Loading weights: 77%|███████▋ | 114/148 [00:00<00:00, 1405.71it/s, Materializing param=transformer.h.9.ln_1.weight]
Loading weights: 77%|███████▋ | 114/148 [00:00<00:00, 1403.01it/s, Materializing param=transformer.h.9.ln_1.weight]
Loading weights: 78%|███████▊ | 115/148 [00:00<00:00, 1411.82it/s, Materializing param=transformer.h.9.ln_2.bias]
Loading weights: 78%|███████▊ | 115/148 [00:00<00:00, 1409.13it/s, Materializing param=transformer.h.9.ln_2.bias]
Loading weights: 78%|███████▊ | 116/148 [00:00<00:00, 1417.81it/s, Materializing param=transformer.h.9.ln_2.weight]
Loading weights: 78%|███████▊ | 116/148 [00:00<00:00, 1415.13it/s, Materializing param=transformer.h.9.ln_2.weight]
Loading weights: 79%|███████▉ | 117/148 [00:00<00:00, 1423.77it/s, Materializing param=transformer.h.9.mlp.c_fc.bias]
Loading weights: 79%|███████▉ | 117/148 [00:00<00:00, 1421.10it/s, Materializing param=transformer.h.9.mlp.c_fc.bias]
Loading weights: 80%|███████▉ | 118/148 [00:00<00:00, 1429.64it/s, Materializing param=transformer.h.9.mlp.c_fc.weight]
Loading weights: 80%|███████▉ | 118/148 [00:00<00:00, 1426.96it/s, Materializing param=transformer.h.9.mlp.c_fc.weight]
Loading weights: 80%|████████ | 119/148 [00:00<00:00, 1435.50it/s, Materializing param=transformer.h.9.mlp.c_proj.bias]
Loading weights: 80%|████████ | 119/148 [00:00<00:00, 1432.83it/s, Materializing param=transformer.h.9.mlp.c_proj.bias]
Loading weights: 81%|████████ | 120/148 [00:00<00:00, 1441.28it/s, Materializing param=transformer.h.9.mlp.c_proj.weight]
Loading weights: 81%|████████ | 120/148 [00:00<00:00, 1438.37it/s, Materializing param=transformer.h.9.mlp.c_proj.weight]
Loading weights: 82%|████████▏ | 121/148 [00:00<00:00, 1446.52it/s, Materializing param=transformer.h.10.attn.c_attn.bias]
Loading weights: 82%|████████▏ | 121/148 [00:00<00:00, 1443.80it/s, Materializing param=transformer.h.10.attn.c_attn.bias]
Loading weights: 82%|████████▏ | 122/148 [00:00<00:00, 1452.12it/s, Materializing param=transformer.h.10.attn.c_attn.weight]
Loading weights: 82%|████████▏ | 122/148 [00:00<00:00, 1449.21it/s, Materializing param=transformer.h.10.attn.c_attn.weight]
Loading weights: 83%|████████▎ | 123/148 [00:00<00:00, 1457.45it/s, Materializing param=transformer.h.10.attn.c_proj.bias]
Loading weights: 83%|████████▎ | 123/148 [00:00<00:00, 1454.73it/s, Materializing param=transformer.h.10.attn.c_proj.bias]
Loading weights: 84%|████████▍ | 124/148 [00:00<00:00, 1462.95it/s, Materializing param=transformer.h.10.attn.c_proj.weight]
Loading weights: 84%|████████▍ | 124/148 [00:00<00:00, 1460.29it/s, Materializing param=transformer.h.10.attn.c_proj.weight]
Loading weights: 84%|████████▍ | 125/148 [00:00<00:00, 1468.45it/s, Materializing param=transformer.h.10.ln_1.bias]
Loading weights: 84%|████████▍ | 125/148 [00:00<00:00, 1465.77it/s, Materializing param=transformer.h.10.ln_1.bias]
Loading weights: 85%|████████▌ | 126/148 [00:00<00:00, 1474.04it/s, Materializing param=transformer.h.10.ln_1.weight]
Loading weights: 85%|████████▌ | 126/148 [00:00<00:00, 1471.37it/s, Materializing param=transformer.h.10.ln_1.weight]
Loading weights: 86%|████████▌ | 127/148 [00:00<00:00, 1479.59it/s, Materializing param=transformer.h.10.ln_2.bias]
Loading weights: 86%|████████▌ | 127/148 [00:00<00:00, 1476.94it/s, Materializing param=transformer.h.10.ln_2.bias]
Loading weights: 86%|████████▋ | 128/148 [00:00<00:00, 1485.08it/s, Materializing param=transformer.h.10.ln_2.weight]
Loading weights: 86%|████████▋ | 128/148 [00:00<00:00, 1482.43it/s, Materializing param=transformer.h.10.ln_2.weight]
Loading weights: 87%|████████▋ | 129/148 [00:00<00:00, 1489.69it/s, Materializing param=transformer.h.10.mlp.c_fc.bias]
Loading weights: 87%|████████▋ | 129/148 [00:00<00:00, 1486.71it/s, Materializing param=transformer.h.10.mlp.c_fc.bias]
Loading weights: 88%|████████▊ | 130/148 [00:00<00:00, 1494.00it/s, Materializing param=transformer.h.10.mlp.c_fc.weight]
Loading weights: 88%|████████▊ | 130/148 [00:00<00:00, 1491.23it/s, Materializing param=transformer.h.10.mlp.c_fc.weight]
Loading weights: 89%|████████▊ | 131/148 [00:00<00:00, 1498.52it/s, Materializing param=transformer.h.10.mlp.c_proj.bias]
Loading weights: 89%|████████▊ | 131/148 [00:00<00:00, 1495.72it/s, Materializing param=transformer.h.10.mlp.c_proj.bias]
Loading weights: 89%|████████▉ | 132/148 [00:00<00:00, 1502.91it/s, Materializing param=transformer.h.10.mlp.c_proj.weight]
Loading weights: 89%|████████▉ | 132/148 [00:00<00:00, 1500.15it/s, Materializing param=transformer.h.10.mlp.c_proj.weight]
Loading weights: 90%|████████▉ | 133/148 [00:00<00:00, 1507.27it/s, Materializing param=transformer.h.11.attn.c_attn.bias]
Loading weights: 90%|████████▉ | 133/148 [00:00<00:00, 1504.51it/s, Materializing param=transformer.h.11.attn.c_attn.bias]
Loading weights: 91%|█████████ | 134/148 [00:00<00:00, 1511.76it/s, Materializing param=transformer.h.11.attn.c_attn.weight]
Loading weights: 91%|█████████ | 134/148 [00:00<00:00, 1508.95it/s, Materializing param=transformer.h.11.attn.c_attn.weight]
Loading weights: 91%|█████████ | 135/148 [00:00<00:00, 1516.19it/s, Materializing param=transformer.h.11.attn.c_proj.bias]
Loading weights: 91%|█████████ | 135/148 [00:00<00:00, 1513.46it/s, Materializing param=transformer.h.11.attn.c_proj.bias]
Loading weights: 92%|█████████▏| 136/148 [00:00<00:00, 1520.57it/s, Materializing param=transformer.h.11.attn.c_proj.weight]
Loading weights: 92%|█████████▏| 136/148 [00:00<00:00, 1517.79it/s, Materializing param=transformer.h.11.attn.c_proj.weight]
Loading weights: 93%|█████████▎| 137/148 [00:00<00:00, 1524.87it/s, Materializing param=transformer.h.11.ln_1.bias]
Loading weights: 93%|█████████▎| 137/148 [00:00<00:00, 1522.13it/s, Materializing param=transformer.h.11.ln_1.bias]
Loading weights: 93%|█████████▎| 138/148 [00:00<00:00, 1529.25it/s, Materializing param=transformer.h.11.ln_1.weight]
Loading weights: 93%|█████████▎| 138/148 [00:00<00:00, 1526.51it/s, Materializing param=transformer.h.11.ln_1.weight]
Loading weights: 94%|█████████▍| 139/148 [00:00<00:00, 1533.65it/s, Materializing param=transformer.h.11.ln_2.bias]
Loading weights: 94%|█████████▍| 139/148 [00:00<00:00, 1530.90it/s, Materializing param=transformer.h.11.ln_2.bias]
Loading weights: 95%|█████████▍| 140/148 [00:00<00:00, 1537.55it/s, Materializing param=transformer.h.11.ln_2.weight]
Loading weights: 95%|█████████▍| 140/148 [00:00<00:00, 1534.85it/s, Materializing param=transformer.h.11.ln_2.weight]
Loading weights: 95%|█████████▌| 141/148 [00:00<00:00, 1541.89it/s, Materializing param=transformer.h.11.mlp.c_fc.bias]
Loading weights: 95%|█████████▌| 141/148 [00:00<00:00, 1539.17it/s, Materializing param=transformer.h.11.mlp.c_fc.bias]
Loading weights: 96%|█████████▌| 142/148 [00:00<00:00, 1546.01it/s, Materializing param=transformer.h.11.mlp.c_fc.weight]
Loading weights: 96%|█████████▌| 142/148 [00:00<00:00, 1543.29it/s, Materializing param=transformer.h.11.mlp.c_fc.weight]
Loading weights: 97%|█████████▋| 143/148 [00:00<00:00, 1550.11it/s, Materializing param=transformer.h.11.mlp.c_proj.bias]
Loading weights: 97%|█████████▋| 143/148 [00:00<00:00, 1547.39it/s, Materializing param=transformer.h.11.mlp.c_proj.bias]
Loading weights: 97%|█████████▋| 144/148 [00:00<00:00, 1554.02it/s, Materializing param=transformer.h.11.mlp.c_proj.weight]
Loading weights: 97%|█████████▋| 144/148 [00:00<00:00, 1551.27it/s, Materializing param=transformer.h.11.mlp.c_proj.weight]
Loading weights: 98%|█████████▊| 145/148 [00:00<00:00, 1558.02it/s, Materializing param=transformer.ln_f.bias]
Loading weights: 98%|█████████▊| 145/148 [00:00<00:00, 1555.33it/s, Materializing param=transformer.ln_f.bias]
Loading weights: 99%|█████████▊| 146/148 [00:00<00:00, 1562.28it/s, Materializing param=transformer.ln_f.weight]
Loading weights: 99%|█████████▊| 146/148 [00:00<00:00, 1559.60it/s, Materializing param=transformer.ln_f.weight]
Loading weights: 99%|█████████▉| 147/148 [00:00<00:00, 1566.43it/s, Materializing param=transformer.wpe.weight]
Loading weights: 99%|█████████▉| 147/148 [00:00<00:00, 1563.77it/s, Materializing param=transformer.wpe.weight]
Loading weights: 100%|██████████| 148/148 [00:00<00:00, 1570.63it/s, Materializing param=transformer.wte.weight]
Loading weights: 100%|██████████| 148/148 [00:00<00:00, 1567.99it/s, Materializing param=transformer.wte.weight]
Loading weights: 100%|██████████| 148/148 [00:00<00:00, 1563.87it/s, Materializing param=transformer.wte.weight]
GPT2LMHeadModel LOAD REPORT from: gpt2
Key | Status | |
---------------------+------------+--+-
h.{0...11}.attn.bias | UNEXPECTED | |
Notes:
- UNEXPECTED :can be ignored when loading from different task/architecture; not ok if you expect identical arch.
Activation checkpointing is ENABLED
Running 5 training steps...
`use_cache=True` is incompatible with gradient checkpointing. Setting `use_cache=False`...
Step 1/5, Loss: 12.3067
Step 2/5, Loss: 12.1271
Step 3/5, Loss: 11.9482
Step 4/5, Loss: 11.8362
Step 5/5, Loss: 11.7708
✓ Memory snapshot saved to snapshot_with_ac.pickle
✓ Peak GPU memory: 3.04 GB
============================================================
MEMORY COMPARISON SUMMARY
============================================================
Baseline (no AC): 5.12 GB
With AC: 3.04 GB
Memory Saved: 2.08 GB (40.6%)
Generate Categorical Memory Profiles with Mosaic#
Use Mosaic to generate HTML profiles for both snapshots.
if HAS_CUDA and HAS_MOSAIC_CLI:
print("\n" + "=" * 60)
print("MOSAIC: Categorical Memory Profiling")
print("=" * 60)
# Generate HTML profiles using subprocess
result1 = subprocess.run(
[
"mosaic_get_memory_profile",
"--snapshot",
"snapshot_baseline.pickle",
"--out-path",
"profile_baseline.html",
"--profile",
"categories",
"--preserve-allocation-order",
"--plotter_sampling_rate",
"20",
],
)
print()
result2 = subprocess.run(
[
"mosaic_get_memory_profile",
"--snapshot",
"snapshot_with_ac.pickle",
"--out-path",
"profile_with_ac.html",
"--profile",
"categories",
"--preserve-allocation-order",
"--plotter_sampling_rate",
"20",
],
)
if result1.returncode == 0 and result2.returncode == 0:
print("\nGenerated profile_baseline.html")
print("Generated profile_with_ac.html")
print("\nDownload these files to view the interactive memory profiles.")
else:
print("\nNote: Mosaic profile generation encountered issues.")
print("This may happen if running in an environment without full Mosaic support.")
============================================================
MOSAIC: Categorical Memory Profiling
============================================================
Note: Mosaic profile generation encountered issues.
This may happen if running in an environment without full Mosaic support.
Results Interpretation: Activation Checkpointing#
What We Observed#
Based on the Mosaic categorical profiling results:
Metric |
Baseline |
With Activation Checkpointing |
Difference |
|---|---|---|---|
Total Peak Memory |
4.62 GB |
2.55 GB |
2.07 GB (45% reduction) |
Activation Memory |
2.93 GB |
872.79 MB |
2.08 GB saved (71% reduction) |
Backward/Gradient Memory |
793.39 MB |
785.27 MB |
8 MB (minimal change) |
Optimizer State |
949.4 MB |
949.4 MB |
No change |
Unknown |
32 KB |
32 KB |
No change |
Key Insights#
Primary Finding: Activation memory dropped from 2.93 GB → 872 MB (71% reduction), which accounts for nearly all the total memory savings.
Why Does This Happen?#
Activation checkpointing is a memory optimization technique that:
Without AC (Baseline): All intermediate activations from the forward pass are stored in memory for use during backpropagation. GPT-2 has 12 transformer layers, each storing multiple activations (attention outputs, MLP outputs, etc.). For batch_size=4, seq_length=512, this adds up quickly.
With AC (Optimized): Only activations at checkpoint boundaries are stored; intermediate activations are recomputed during the backward pass. This dramatically reduces activation memory (71% in our case) while other memory categories remain unchanged.
How Mosaic Helped#
Mosaic’s categorical profiling immediately identified:
Activation memory is the category with the largest difference (2.08 GB saved)
Backward/Gradient memory stayed nearly constant (793 MB → 785 MB)
Optimizer state remained unchanged (949 MB) - expected since model parameters don’t change
Without Mosaic: You would need to manually instrument your code, track allocations, and categorize them yourself.
With Mosaic: You get instant categorical breakdowns with exact numbers, making it trivial to identify/quantify memory optimizations.
Case 2: Debugging Unexpected Memory Usage#
This section demonstrates how to use Mosaic to debug when your model is using more memory than expected and you’re not sure why.
What we’ll do:
Train GPT-2 and capture a memory snapshot.
Train GPT-2 with a bug that introduces additional memory and capture a memory snapshot.
Use Mosaic to identify potential culprits introducing additional memory.
The Buggy Model#
This model has abandoned debug code that creates unnecessary GPU memory overhead. Someone added projection layers to “analyze hidden states” during debugging, but forgot to remove them before training.
class GPT2WithDebugOverhead(GPT2LMHeadModel):
"""GPT2 with abandoned 'feature analysis' code that bloats peak memory."""
def __init__(self, config):
super().__init__(config)
# BUG: Large projection layers from an abandoned experiment
self.debug_projections = torch.nn.ModuleList(
[
torch.nn.Linear(config.n_embd, config.n_embd * 4)
for _ in range(config.n_layer)
]
)
debug_params = sum(p.numel() for p in self.debug_projections.parameters())
print(f" [DEBUG] Added {config.n_layer} debug projection layers")
print(f" [DEBUG] Extra parameters: {debug_params:,}")
def forward(self, input_ids=None, labels=None, **kwargs):
# Run normal GPT-2 forward with hidden states
outputs = super().forward(
input_ids=input_ids,
labels=labels,
output_hidden_states=True,
**kwargs,
)
# BUG: Project all hidden states through debug layers
projected = []
for _layer_idx, (hidden, proj) in enumerate(
zip(outputs.hidden_states[1:], self.debug_projections)
):
proj_hidden = proj(hidden)
projected.append(proj_hidden)
# Tie to loss so gradients flow through
debug_regularization = sum(p.mean() for p in projected) * 1e-10
return CausalLMOutputWithCrossAttentions(
loss=outputs.loss + debug_regularization,
logits=outputs.logits,
)
Training Functions for Debug Comparison#
def run_training_clean(snapshot_path, num_steps=3):
"""Training with the normal model."""
torch.cuda.empty_cache()
torch.cuda.reset_peak_memory_stats()
device = torch.device("cuda")
print("Loading clean model (no debug overhead)...")
model = GPT2LMHeadModel.from_pretrained("gpt2").to(device)
model.train()
tokenizer = GPT2Tokenizer.from_pretrained("gpt2")
dataset = RandomTokenDataset(
vocab_size=tokenizer.vocab_size, seq_length=512, seed=42
)
dataloader = DataLoader(dataset, batch_size=4, shuffle=False)
optimizer = torch.optim.AdamW(model.parameters(), lr=1e-5)
print("Running training (should contain no debug overhead)...")
with capture_memory_snapshot(snapshot_path):
for step, batch in enumerate(dataloader):
if step >= num_steps:
break
batch = {k: v.to(device) for k, v in batch.items()}
optimizer.zero_grad()
outputs = model(input_ids=batch["input_ids"], labels=batch["labels"])
loss = outputs.loss
loss.backward()
optimizer.step()
print(f" Step {step + 1}, Loss: {loss.item():.4f}")
peak_memory = torch.cuda.max_memory_allocated() / 1024**3
print(f"Peak GPU memory: {peak_memory:.2f} GB")
del model, optimizer
torch.cuda.empty_cache()
return peak_memory
def run_training_with_bug(snapshot_path, num_steps=3):
"""Training with the buggy model."""
torch.cuda.empty_cache()
torch.cuda.reset_peak_memory_stats()
device = torch.device("cuda")
print("Loading buggy model with debug overhead...")
config = GPT2Config.from_pretrained("gpt2")
model = GPT2WithDebugOverhead(config).to(device)
# Load pretrained weights
pretrained = GPT2LMHeadModel.from_pretrained("gpt2")
model.load_state_dict(pretrained.state_dict(), strict=False)
del pretrained
torch.cuda.empty_cache()
model.train()
tokenizer = GPT2Tokenizer.from_pretrained("gpt2")
dataset = RandomTokenDataset(
vocab_size=tokenizer.vocab_size, seq_length=512, seed=42
)
dataloader = DataLoader(dataset, batch_size=4, shuffle=False)
optimizer = torch.optim.AdamW(model.parameters(), lr=1e-5)
print("Running training (WITH debug overhead bug)...")
with capture_memory_snapshot(snapshot_path):
for step, batch in enumerate(dataloader):
if step >= num_steps:
break
batch = {k: v.to(device) for k, v in batch.items()}
optimizer.zero_grad()
outputs = model(input_ids=batch["input_ids"], labels=batch["labels"])
loss = outputs.loss
loss.backward()
optimizer.step()
print(f" Step {step + 1}, Loss: {loss.item():.4f}")
peak_memory = torch.cuda.max_memory_allocated() / 1024**3
print(f"Peak GPU memory: {peak_memory:.2f} GB")
del model, optimizer
torch.cuda.empty_cache()
return peak_memory
Run Training for Baseline (Clean Model)#
if HAS_CUDA:
print("\n" + "=" * 60)
print("Training with baseline model")
print("=" * 60)
baseline_memory_debug = run_training_clean(
"snapshot_debug_baseline.pickle", num_steps=3
)
============================================================
Training with baseline model
============================================================
Loading clean model (no debug overhead)...
Loading weights: 0%| | 0/148 [00:00<?, ?it/s]
Loading weights: 1%| | 1/148 [00:00<00:00, 59074.70it/s, Materializing param=transformer.h.0.attn.c_attn.bias]
Loading weights: 1%| | 1/148 [00:00<00:00, 5041.23it/s, Materializing param=transformer.h.0.attn.c_attn.bias]
Loading weights: 1%|▏ | 2/148 [00:00<00:00, 2150.93it/s, Materializing param=transformer.h.0.attn.c_attn.weight]
Loading weights: 1%|▏ | 2/148 [00:00<00:00, 1125.84it/s, Materializing param=transformer.h.0.attn.c_attn.weight]
Loading weights: 2%|▏ | 3/148 [00:00<00:00, 1313.32it/s, Materializing param=transformer.h.0.attn.c_proj.bias]
Loading weights: 2%|▏ | 3/148 [00:00<00:00, 1208.97it/s, Materializing param=transformer.h.0.attn.c_proj.bias]
Loading weights: 3%|▎ | 4/148 [00:00<00:00, 1035.89it/s, Materializing param=transformer.h.0.attn.c_proj.weight]
Loading weights: 3%|▎ | 4/148 [00:00<00:00, 984.81it/s, Materializing param=transformer.h.0.attn.c_proj.weight]
Loading weights: 3%|▎ | 5/148 [00:00<00:00, 1127.80it/s, Materializing param=transformer.h.0.ln_1.bias]
Loading weights: 3%|▎ | 5/148 [00:00<00:00, 1082.07it/s, Materializing param=transformer.h.0.ln_1.bias]
Loading weights: 4%|▍ | 6/148 [00:00<00:00, 1215.33it/s, Materializing param=transformer.h.0.ln_1.weight]
Loading weights: 4%|▍ | 6/148 [00:00<00:00, 1171.43it/s, Materializing param=transformer.h.0.ln_1.weight]
Loading weights: 5%|▍ | 7/148 [00:00<00:00, 1274.75it/s, Materializing param=transformer.h.0.ln_2.bias]
Loading weights: 5%|▍ | 7/148 [00:00<00:00, 1235.07it/s, Materializing param=transformer.h.0.ln_2.bias]
Loading weights: 5%|▌ | 8/148 [00:00<00:00, 1168.37it/s, Materializing param=transformer.h.0.ln_2.weight]
Loading weights: 5%|▌ | 8/148 [00:00<00:00, 1138.06it/s, Materializing param=transformer.h.0.ln_2.weight]
Loading weights: 6%|▌ | 9/148 [00:00<00:00, 1178.54it/s, Materializing param=transformer.h.0.mlp.c_fc.bias]
Loading weights: 6%|▌ | 9/148 [00:00<00:00, 1151.65it/s, Materializing param=transformer.h.0.mlp.c_fc.bias]
Loading weights: 7%|▋ | 10/148 [00:00<00:00, 1225.90it/s, Materializing param=transformer.h.0.mlp.c_fc.weight]
Loading weights: 7%|▋ | 10/148 [00:00<00:00, 1200.36it/s, Materializing param=transformer.h.0.mlp.c_fc.weight]
Loading weights: 7%|▋ | 11/148 [00:00<00:00, 1274.97it/s, Materializing param=transformer.h.0.mlp.c_proj.bias]
Loading weights: 7%|▋ | 11/148 [00:00<00:00, 1250.20it/s, Materializing param=transformer.h.0.mlp.c_proj.bias]
Loading weights: 8%|▊ | 12/148 [00:00<00:00, 1313.63it/s, Materializing param=transformer.h.0.mlp.c_proj.weight]
Loading weights: 8%|▊ | 12/148 [00:00<00:00, 1288.94it/s, Materializing param=transformer.h.0.mlp.c_proj.weight]
Loading weights: 9%|▉ | 13/148 [00:00<00:00, 1219.30it/s, Materializing param=transformer.h.1.attn.c_attn.bias]
Loading weights: 9%|▉ | 13/148 [00:00<00:00, 1199.03it/s, Materializing param=transformer.h.1.attn.c_attn.bias]
Loading weights: 9%|▉ | 14/148 [00:00<00:00, 1233.15it/s, Materializing param=transformer.h.1.attn.c_attn.weight]
Loading weights: 9%|▉ | 14/148 [00:00<00:00, 1214.01it/s, Materializing param=transformer.h.1.attn.c_attn.weight]
Loading weights: 10%|█ | 15/148 [00:00<00:00, 1264.06it/s, Materializing param=transformer.h.1.attn.c_proj.bias]
Loading weights: 10%|█ | 15/148 [00:00<00:00, 1245.71it/s, Materializing param=transformer.h.1.attn.c_proj.bias]
Loading weights: 11%|█ | 16/148 [00:00<00:00, 1288.18it/s, Materializing param=transformer.h.1.attn.c_proj.weight]
Loading weights: 11%|█ | 16/148 [00:00<00:00, 1270.33it/s, Materializing param=transformer.h.1.attn.c_proj.weight]
Loading weights: 11%|█▏ | 17/148 [00:00<00:00, 1300.18it/s, Materializing param=transformer.h.1.ln_1.bias]
Loading weights: 11%|█▏ | 17/148 [00:00<00:00, 1282.41it/s, Materializing param=transformer.h.1.ln_1.bias]
Loading weights: 12%|█▏ | 18/148 [00:00<00:00, 1294.92it/s, Materializing param=transformer.h.1.ln_1.weight]
Loading weights: 12%|█▏ | 18/148 [00:00<00:00, 1225.23it/s, Materializing param=transformer.h.1.ln_1.weight]
Loading weights: 13%|█▎ | 19/148 [00:00<00:00, 1162.11it/s, Materializing param=transformer.h.1.ln_2.bias]
Loading weights: 13%|█▎ | 19/148 [00:00<00:00, 1149.27it/s, Materializing param=transformer.h.1.ln_2.bias]
Loading weights: 14%|█▎ | 20/148 [00:00<00:00, 1128.78it/s, Materializing param=transformer.h.1.ln_2.weight]
Loading weights: 14%|█▎ | 20/148 [00:00<00:00, 1077.13it/s, Materializing param=transformer.h.1.ln_2.weight]
Loading weights: 14%|█▍ | 21/148 [00:00<00:00, 1082.37it/s, Materializing param=transformer.h.1.mlp.c_fc.bias]
Loading weights: 14%|█▍ | 21/148 [00:00<00:00, 1051.20it/s, Materializing param=transformer.h.1.mlp.c_fc.bias]
Loading weights: 15%|█▍ | 22/148 [00:00<00:00, 1061.20it/s, Materializing param=transformer.h.1.mlp.c_fc.weight]
Loading weights: 15%|█▍ | 22/148 [00:00<00:00, 1051.89it/s, Materializing param=transformer.h.1.mlp.c_fc.weight]
Loading weights: 16%|█▌ | 23/148 [00:00<00:00, 1051.93it/s, Materializing param=transformer.h.1.mlp.c_proj.bias]
Loading weights: 16%|█▌ | 23/148 [00:00<00:00, 1033.64it/s, Materializing param=transformer.h.1.mlp.c_proj.bias]
Loading weights: 16%|█▌ | 24/148 [00:00<00:00, 1051.25it/s, Materializing param=transformer.h.1.mlp.c_proj.weight]
Loading weights: 16%|█▌ | 24/148 [00:00<00:00, 1008.75it/s, Materializing param=transformer.h.1.mlp.c_proj.weight]
Loading weights: 17%|█▋ | 25/148 [00:00<00:00, 1017.61it/s, Materializing param=transformer.h.2.attn.c_attn.bias]
Loading weights: 17%|█▋ | 25/148 [00:00<00:00, 983.47it/s, Materializing param=transformer.h.2.attn.c_attn.bias]
Loading weights: 18%|█▊ | 26/148 [00:00<00:00, 970.96it/s, Materializing param=transformer.h.2.attn.c_attn.weight]
Loading weights: 18%|█▊ | 26/148 [00:00<00:00, 948.02it/s, Materializing param=transformer.h.2.attn.c_attn.weight]
Loading weights: 18%|█▊ | 27/148 [00:00<00:00, 947.25it/s, Materializing param=transformer.h.2.attn.c_proj.bias]
Loading weights: 18%|█▊ | 27/148 [00:00<00:00, 915.00it/s, Materializing param=transformer.h.2.attn.c_proj.bias]
Loading weights: 19%|█▉ | 28/148 [00:00<00:00, 939.13it/s, Materializing param=transformer.h.2.attn.c_proj.weight]
Loading weights: 19%|█▉ | 28/148 [00:00<00:00, 912.46it/s, Materializing param=transformer.h.2.attn.c_proj.weight]
Loading weights: 20%|█▉ | 29/148 [00:00<00:00, 935.52it/s, Materializing param=transformer.h.2.ln_1.bias]
Loading weights: 20%|█▉ | 29/148 [00:00<00:00, 929.72it/s, Materializing param=transformer.h.2.ln_1.bias]
Loading weights: 20%|██ | 30/148 [00:00<00:00, 950.77it/s, Materializing param=transformer.h.2.ln_1.weight]
Loading weights: 20%|██ | 30/148 [00:00<00:00, 945.10it/s, Materializing param=transformer.h.2.ln_1.weight]
Loading weights: 21%|██ | 31/148 [00:00<00:00, 967.21it/s, Materializing param=transformer.h.2.ln_2.bias]
Loading weights: 21%|██ | 31/148 [00:00<00:00, 961.35it/s, Materializing param=transformer.h.2.ln_2.bias]
Loading weights: 22%|██▏ | 32/148 [00:00<00:00, 981.95it/s, Materializing param=transformer.h.2.ln_2.weight]
Loading weights: 22%|██▏ | 32/148 [00:00<00:00, 976.24it/s, Materializing param=transformer.h.2.ln_2.weight]
Loading weights: 22%|██▏ | 33/148 [00:00<00:00, 997.82it/s, Materializing param=transformer.h.2.mlp.c_fc.bias]
Loading weights: 22%|██▏ | 33/148 [00:00<00:00, 992.17it/s, Materializing param=transformer.h.2.mlp.c_fc.bias]
Loading weights: 23%|██▎ | 34/148 [00:00<00:00, 972.72it/s, Materializing param=transformer.h.2.mlp.c_fc.weight]
Loading weights: 23%|██▎ | 34/148 [00:00<00:00, 956.61it/s, Materializing param=transformer.h.2.mlp.c_fc.weight]
Loading weights: 24%|██▎ | 35/148 [00:00<00:00, 967.16it/s, Materializing param=transformer.h.2.mlp.c_proj.bias]
Loading weights: 24%|██▎ | 35/148 [00:00<00:00, 960.57it/s, Materializing param=transformer.h.2.mlp.c_proj.bias]
Loading weights: 24%|██▍ | 36/148 [00:00<00:00, 973.65it/s, Materializing param=transformer.h.2.mlp.c_proj.weight]
Loading weights: 24%|██▍ | 36/148 [00:00<00:00, 968.48it/s, Materializing param=transformer.h.2.mlp.c_proj.weight]
Loading weights: 25%|██▌ | 37/148 [00:00<00:00, 973.69it/s, Materializing param=transformer.h.3.attn.c_attn.bias]
Loading weights: 25%|██▌ | 37/148 [00:00<00:00, 968.77it/s, Materializing param=transformer.h.3.attn.c_attn.bias]
Loading weights: 26%|██▌ | 38/148 [00:00<00:00, 955.55it/s, Materializing param=transformer.h.3.attn.c_attn.weight]
Loading weights: 26%|██▌ | 38/148 [00:00<00:00, 946.48it/s, Materializing param=transformer.h.3.attn.c_attn.weight]
Loading weights: 26%|██▋ | 39/148 [00:00<00:00, 959.85it/s, Materializing param=transformer.h.3.attn.c_proj.bias]
Loading weights: 26%|██▋ | 39/148 [00:00<00:00, 955.00it/s, Materializing param=transformer.h.3.attn.c_proj.bias]
Loading weights: 27%|██▋ | 40/148 [00:00<00:00, 968.95it/s, Materializing param=transformer.h.3.attn.c_proj.weight]
Loading weights: 27%|██▋ | 40/148 [00:00<00:00, 964.72it/s, Materializing param=transformer.h.3.attn.c_proj.weight]
Loading weights: 28%|██▊ | 41/148 [00:00<00:00, 979.45it/s, Materializing param=transformer.h.3.ln_1.bias]
Loading weights: 28%|██▊ | 41/148 [00:00<00:00, 974.45it/s, Materializing param=transformer.h.3.ln_1.bias]
Loading weights: 28%|██▊ | 42/148 [00:00<00:00, 988.28it/s, Materializing param=transformer.h.3.ln_1.weight]
Loading weights: 28%|██▊ | 42/148 [00:00<00:00, 983.69it/s, Materializing param=transformer.h.3.ln_1.weight]
Loading weights: 29%|██▉ | 43/148 [00:00<00:00, 998.51it/s, Materializing param=transformer.h.3.ln_2.bias]
Loading weights: 29%|██▉ | 43/148 [00:00<00:00, 993.93it/s, Materializing param=transformer.h.3.ln_2.bias]
Loading weights: 30%|██▉ | 44/148 [00:00<00:00, 1010.56it/s, Materializing param=transformer.h.3.ln_2.weight]
Loading weights: 30%|██▉ | 44/148 [00:00<00:00, 1006.43it/s, Materializing param=transformer.h.3.ln_2.weight]
Loading weights: 30%|███ | 45/148 [00:00<00:00, 1017.71it/s, Materializing param=transformer.h.3.mlp.c_fc.bias]
Loading weights: 30%|███ | 45/148 [00:00<00:00, 1013.28it/s, Materializing param=transformer.h.3.mlp.c_fc.bias]
Loading weights: 31%|███ | 46/148 [00:00<00:00, 1027.39it/s, Materializing param=transformer.h.3.mlp.c_fc.weight]
Loading weights: 31%|███ | 46/148 [00:00<00:00, 1023.28it/s, Materializing param=transformer.h.3.mlp.c_fc.weight]
Loading weights: 32%|███▏ | 47/148 [00:00<00:00, 1022.50it/s, Materializing param=transformer.h.3.mlp.c_proj.bias]
Loading weights: 32%|███▏ | 47/148 [00:00<00:00, 1018.43it/s, Materializing param=transformer.h.3.mlp.c_proj.bias]
Loading weights: 32%|███▏ | 48/148 [00:00<00:00, 1014.94it/s, Materializing param=transformer.h.3.mlp.c_proj.weight]
Loading weights: 32%|███▏ | 48/148 [00:00<00:00, 1004.39it/s, Materializing param=transformer.h.3.mlp.c_proj.weight]
Loading weights: 33%|███▎ | 49/148 [00:00<00:00, 1004.24it/s, Materializing param=transformer.h.4.attn.c_attn.bias]
Loading weights: 33%|███▎ | 49/148 [00:00<00:00, 1000.40it/s, Materializing param=transformer.h.4.attn.c_attn.bias]
Loading weights: 34%|███▍ | 50/148 [00:00<00:00, 1000.56it/s, Materializing param=transformer.h.4.attn.c_attn.weight]
Loading weights: 34%|███▍ | 50/148 [00:00<00:00, 996.85it/s, Materializing param=transformer.h.4.attn.c_attn.weight]
Loading weights: 34%|███▍ | 51/148 [00:00<00:00, 1002.09it/s, Materializing param=transformer.h.4.attn.c_proj.bias]
Loading weights: 34%|███▍ | 51/148 [00:00<00:00, 998.39it/s, Materializing param=transformer.h.4.attn.c_proj.bias]
Loading weights: 35%|███▌ | 52/148 [00:00<00:00, 987.66it/s, Materializing param=transformer.h.4.attn.c_proj.weight]
Loading weights: 35%|███▌ | 52/148 [00:00<00:00, 983.87it/s, Materializing param=transformer.h.4.attn.c_proj.weight]
Loading weights: 36%|███▌ | 53/148 [00:00<00:00, 995.65it/s, Materializing param=transformer.h.4.ln_1.bias]
Loading weights: 36%|███▌ | 53/148 [00:00<00:00, 978.61it/s, Materializing param=transformer.h.4.ln_1.bias]
Loading weights: 36%|███▋ | 54/148 [00:00<00:00, 989.86it/s, Materializing param=transformer.h.4.ln_1.weight]
Loading weights: 36%|███▋ | 54/148 [00:00<00:00, 986.60it/s, Materializing param=transformer.h.4.ln_1.weight]
Loading weights: 37%|███▋ | 55/148 [00:00<00:00, 996.61it/s, Materializing param=transformer.h.4.ln_2.bias]
Loading weights: 37%|███▋ | 55/148 [00:00<00:00, 993.33it/s, Materializing param=transformer.h.4.ln_2.bias]
Loading weights: 38%|███▊ | 56/148 [00:00<00:00, 1004.42it/s, Materializing param=transformer.h.4.ln_2.weight]
Loading weights: 38%|███▊ | 56/148 [00:00<00:00, 1001.15it/s, Materializing param=transformer.h.4.ln_2.weight]
Loading weights: 39%|███▊ | 57/148 [00:00<00:00, 1001.06it/s, Materializing param=transformer.h.4.mlp.c_fc.bias]
Loading weights: 39%|███▊ | 57/148 [00:00<00:00, 997.81it/s, Materializing param=transformer.h.4.mlp.c_fc.bias]
Loading weights: 39%|███▉ | 58/148 [00:00<00:00, 1005.35it/s, Materializing param=transformer.h.4.mlp.c_fc.weight]
Loading weights: 39%|███▉ | 58/148 [00:00<00:00, 1001.97it/s, Materializing param=transformer.h.4.mlp.c_fc.weight]
Loading weights: 40%|███▉ | 59/148 [00:00<00:00, 1010.66it/s, Materializing param=transformer.h.4.mlp.c_proj.bias]
Loading weights: 40%|███▉ | 59/148 [00:00<00:00, 1007.12it/s, Materializing param=transformer.h.4.mlp.c_proj.bias]
Loading weights: 41%|████ | 60/148 [00:00<00:00, 1010.70it/s, Materializing param=transformer.h.4.mlp.c_proj.weight]
Loading weights: 41%|████ | 60/148 [00:00<00:00, 1007.38it/s, Materializing param=transformer.h.4.mlp.c_proj.weight]
Loading weights: 41%|████ | 61/148 [00:00<00:00, 1017.76it/s, Materializing param=transformer.h.5.attn.c_attn.bias]
Loading weights: 41%|████ | 61/148 [00:00<00:00, 1014.56it/s, Materializing param=transformer.h.5.attn.c_attn.bias]
Loading weights: 42%|████▏ | 62/148 [00:00<00:00, 1023.24it/s, Materializing param=transformer.h.5.attn.c_attn.weight]
Loading weights: 42%|████▏ | 62/148 [00:00<00:00, 1020.14it/s, Materializing param=transformer.h.5.attn.c_attn.weight]
Loading weights: 43%|████▎ | 63/148 [00:00<00:00, 1029.65it/s, Materializing param=transformer.h.5.attn.c_proj.bias]
Loading weights: 43%|████▎ | 63/148 [00:00<00:00, 1020.13it/s, Materializing param=transformer.h.5.attn.c_proj.bias]
Loading weights: 43%|████▎ | 64/148 [00:00<00:00, 1030.99it/s, Materializing param=transformer.h.5.attn.c_proj.weight]
Loading weights: 43%|████▎ | 64/148 [00:00<00:00, 1011.24it/s, Materializing param=transformer.h.5.attn.c_proj.weight]
Loading weights: 44%|████▍ | 65/148 [00:00<00:00, 1021.36it/s, Materializing param=transformer.h.5.ln_1.bias]
Loading weights: 44%|████▍ | 65/148 [00:00<00:00, 1016.00it/s, Materializing param=transformer.h.5.ln_1.bias]
Loading weights: 45%|████▍ | 66/148 [00:00<00:00, 1024.33it/s, Materializing param=transformer.h.5.ln_1.weight]
Loading weights: 45%|████▍ | 66/148 [00:00<00:00, 1014.36it/s, Materializing param=transformer.h.5.ln_1.weight]
Loading weights: 45%|████▌ | 67/148 [00:00<00:00, 1024.33it/s, Materializing param=transformer.h.5.ln_2.bias]
Loading weights: 45%|████▌ | 67/148 [00:00<00:00, 1016.96it/s, Materializing param=transformer.h.5.ln_2.bias]
Loading weights: 46%|████▌ | 68/148 [00:00<00:00, 1011.18it/s, Materializing param=transformer.h.5.ln_2.weight]
Loading weights: 46%|████▌ | 68/148 [00:00<00:00, 1006.70it/s, Materializing param=transformer.h.5.ln_2.weight]
Loading weights: 47%|████▋ | 69/148 [00:00<00:00, 1015.62it/s, Materializing param=transformer.h.5.mlp.c_fc.bias]
Loading weights: 47%|████▋ | 69/148 [00:00<00:00, 1011.83it/s, Materializing param=transformer.h.5.mlp.c_fc.bias]
Loading weights: 47%|████▋ | 70/148 [00:00<00:00, 1022.77it/s, Materializing param=transformer.h.5.mlp.c_fc.weight]
Loading weights: 47%|████▋ | 70/148 [00:00<00:00, 1020.20it/s, Materializing param=transformer.h.5.mlp.c_fc.weight]
Loading weights: 48%|████▊ | 71/148 [00:00<00:00, 1030.93it/s, Materializing param=transformer.h.5.mlp.c_proj.bias]
Loading weights: 48%|████▊ | 71/148 [00:00<00:00, 1028.27it/s, Materializing param=transformer.h.5.mlp.c_proj.bias]
Loading weights: 49%|████▊ | 72/148 [00:00<00:00, 1038.93it/s, Materializing param=transformer.h.5.mlp.c_proj.weight]
Loading weights: 49%|████▊ | 72/148 [00:00<00:00, 1035.94it/s, Materializing param=transformer.h.5.mlp.c_proj.weight]
Loading weights: 49%|████▉ | 73/148 [00:00<00:00, 1046.37it/s, Materializing param=transformer.h.6.attn.c_attn.bias]
Loading weights: 49%|████▉ | 73/148 [00:00<00:00, 1043.69it/s, Materializing param=transformer.h.6.attn.c_attn.bias]
Loading weights: 50%|█████ | 74/148 [00:00<00:00, 1053.96it/s, Materializing param=transformer.h.6.attn.c_attn.weight]
Loading weights: 50%|█████ | 74/148 [00:00<00:00, 1050.65it/s, Materializing param=transformer.h.6.attn.c_attn.weight]
Loading weights: 51%|█████ | 75/148 [00:00<00:00, 1060.83it/s, Materializing param=transformer.h.6.attn.c_proj.bias]
Loading weights: 51%|█████ | 75/148 [00:00<00:00, 1058.07it/s, Materializing param=transformer.h.6.attn.c_proj.bias]
Loading weights: 51%|█████▏ | 76/148 [00:00<00:00, 1068.28it/s, Materializing param=transformer.h.6.attn.c_proj.weight]
Loading weights: 51%|█████▏ | 76/148 [00:00<00:00, 1065.65it/s, Materializing param=transformer.h.6.attn.c_proj.weight]
Loading weights: 52%|█████▏ | 77/148 [00:00<00:00, 1075.84it/s, Materializing param=transformer.h.6.ln_1.bias]
Loading weights: 52%|█████▏ | 77/148 [00:00<00:00, 1073.18it/s, Materializing param=transformer.h.6.ln_1.bias]
Loading weights: 53%|█████▎ | 78/148 [00:00<00:00, 1083.25it/s, Materializing param=transformer.h.6.ln_1.weight]
Loading weights: 53%|█████▎ | 78/148 [00:00<00:00, 1080.53it/s, Materializing param=transformer.h.6.ln_1.weight]
Loading weights: 53%|█████▎ | 79/148 [00:00<00:00, 1090.60it/s, Materializing param=transformer.h.6.ln_2.bias]
Loading weights: 53%|█████▎ | 79/148 [00:00<00:00, 1087.65it/s, Materializing param=transformer.h.6.ln_2.bias]
Loading weights: 54%|█████▍ | 80/148 [00:00<00:00, 1097.54it/s, Materializing param=transformer.h.6.ln_2.weight]
Loading weights: 54%|█████▍ | 80/148 [00:00<00:00, 1094.67it/s, Materializing param=transformer.h.6.ln_2.weight]
Loading weights: 55%|█████▍ | 81/148 [00:00<00:00, 1104.36it/s, Materializing param=transformer.h.6.mlp.c_fc.bias]
Loading weights: 55%|█████▍ | 81/148 [00:00<00:00, 1101.60it/s, Materializing param=transformer.h.6.mlp.c_fc.bias]
Loading weights: 55%|█████▌ | 82/148 [00:00<00:00, 1111.28it/s, Materializing param=transformer.h.6.mlp.c_fc.weight]
Loading weights: 55%|█████▌ | 82/148 [00:00<00:00, 1108.37it/s, Materializing param=transformer.h.6.mlp.c_fc.weight]
Loading weights: 56%|█████▌ | 83/148 [00:00<00:00, 1117.97it/s, Materializing param=transformer.h.6.mlp.c_proj.bias]
Loading weights: 56%|█████▌ | 83/148 [00:00<00:00, 1115.10it/s, Materializing param=transformer.h.6.mlp.c_proj.bias]
Loading weights: 57%|█████▋ | 84/148 [00:00<00:00, 1124.31it/s, Materializing param=transformer.h.6.mlp.c_proj.weight]
Loading weights: 57%|█████▋ | 84/148 [00:00<00:00, 1121.49it/s, Materializing param=transformer.h.6.mlp.c_proj.weight]
Loading weights: 57%|█████▋ | 85/148 [00:00<00:00, 1130.91it/s, Materializing param=transformer.h.7.attn.c_attn.bias]
Loading weights: 57%|█████▋ | 85/148 [00:00<00:00, 1127.80it/s, Materializing param=transformer.h.7.attn.c_attn.bias]
Loading weights: 58%|█████▊ | 86/148 [00:00<00:00, 1136.77it/s, Materializing param=transformer.h.7.attn.c_attn.weight]
Loading weights: 58%|█████▊ | 86/148 [00:00<00:00, 1134.10it/s, Materializing param=transformer.h.7.attn.c_attn.weight]
Loading weights: 59%|█████▉ | 87/148 [00:00<00:00, 1143.50it/s, Materializing param=transformer.h.7.attn.c_proj.bias]
Loading weights: 59%|█████▉ | 87/148 [00:00<00:00, 1140.75it/s, Materializing param=transformer.h.7.attn.c_proj.bias]
Loading weights: 59%|█████▉ | 88/148 [00:00<00:00, 1149.90it/s, Materializing param=transformer.h.7.attn.c_proj.weight]
Loading weights: 59%|█████▉ | 88/148 [00:00<00:00, 1147.30it/s, Materializing param=transformer.h.7.attn.c_proj.weight]
Loading weights: 60%|██████ | 89/148 [00:00<00:00, 1156.45it/s, Materializing param=transformer.h.7.ln_1.bias]
Loading weights: 60%|██████ | 89/148 [00:00<00:00, 1153.69it/s, Materializing param=transformer.h.7.ln_1.bias]
Loading weights: 61%|██████ | 90/148 [00:00<00:00, 1163.03it/s, Materializing param=transformer.h.7.ln_1.weight]
Loading weights: 61%|██████ | 90/148 [00:00<00:00, 1160.16it/s, Materializing param=transformer.h.7.ln_1.weight]
Loading weights: 61%|██████▏ | 91/148 [00:00<00:00, 1169.40it/s, Materializing param=transformer.h.7.ln_2.bias]
Loading weights: 61%|██████▏ | 91/148 [00:00<00:00, 1166.74it/s, Materializing param=transformer.h.7.ln_2.bias]
Loading weights: 62%|██████▏ | 92/148 [00:00<00:00, 1175.82it/s, Materializing param=transformer.h.7.ln_2.weight]
Loading weights: 62%|██████▏ | 92/148 [00:00<00:00, 1173.21it/s, Materializing param=transformer.h.7.ln_2.weight]
Loading weights: 63%|██████▎ | 93/148 [00:00<00:00, 1182.34it/s, Materializing param=transformer.h.7.mlp.c_fc.bias]
Loading weights: 63%|██████▎ | 93/148 [00:00<00:00, 1179.66it/s, Materializing param=transformer.h.7.mlp.c_fc.bias]
Loading weights: 64%|██████▎ | 94/148 [00:00<00:00, 1188.65it/s, Materializing param=transformer.h.7.mlp.c_fc.weight]
Loading weights: 64%|██████▎ | 94/148 [00:00<00:00, 1185.93it/s, Materializing param=transformer.h.7.mlp.c_fc.weight]
Loading weights: 64%|██████▍ | 95/148 [00:00<00:00, 1194.88it/s, Materializing param=transformer.h.7.mlp.c_proj.bias]
Loading weights: 64%|██████▍ | 95/148 [00:00<00:00, 1192.23it/s, Materializing param=transformer.h.7.mlp.c_proj.bias]
Loading weights: 65%|██████▍ | 96/148 [00:00<00:00, 1201.14it/s, Materializing param=transformer.h.7.mlp.c_proj.weight]
Loading weights: 65%|██████▍ | 96/148 [00:00<00:00, 1198.47it/s, Materializing param=transformer.h.7.mlp.c_proj.weight]
Loading weights: 66%|██████▌ | 97/148 [00:00<00:00, 1206.53it/s, Materializing param=transformer.h.8.attn.c_attn.bias]
Loading weights: 66%|██████▌ | 97/148 [00:00<00:00, 1203.63it/s, Materializing param=transformer.h.8.attn.c_attn.bias]
Loading weights: 66%|██████▌ | 98/148 [00:00<00:00, 1212.04it/s, Materializing param=transformer.h.8.attn.c_attn.weight]
Loading weights: 66%|██████▌ | 98/148 [00:00<00:00, 1209.30it/s, Materializing param=transformer.h.8.attn.c_attn.weight]
Loading weights: 67%|██████▋ | 99/148 [00:00<00:00, 1217.83it/s, Materializing param=transformer.h.8.attn.c_proj.bias]
Loading weights: 67%|██████▋ | 99/148 [00:00<00:00, 1214.96it/s, Materializing param=transformer.h.8.attn.c_proj.bias]
Loading weights: 68%|██████▊ | 100/148 [00:00<00:00, 1223.51it/s, Materializing param=transformer.h.8.attn.c_proj.weight]
Loading weights: 68%|██████▊ | 100/148 [00:00<00:00, 1220.67it/s, Materializing param=transformer.h.8.attn.c_proj.weight]
Loading weights: 68%|██████▊ | 101/148 [00:00<00:00, 1229.05it/s, Materializing param=transformer.h.8.ln_1.bias]
Loading weights: 68%|██████▊ | 101/148 [00:00<00:00, 1226.23it/s, Materializing param=transformer.h.8.ln_1.bias]
Loading weights: 69%|██████▉ | 102/148 [00:00<00:00, 1234.51it/s, Materializing param=transformer.h.8.ln_1.weight]
Loading weights: 69%|██████▉ | 102/148 [00:00<00:00, 1231.73it/s, Materializing param=transformer.h.8.ln_1.weight]
Loading weights: 70%|██████▉ | 103/148 [00:00<00:00, 1240.19it/s, Materializing param=transformer.h.8.ln_2.bias]
Loading weights: 70%|██████▉ | 103/148 [00:00<00:00, 1237.55it/s, Materializing param=transformer.h.8.ln_2.bias]
Loading weights: 70%|███████ | 104/148 [00:00<00:00, 1246.03it/s, Materializing param=transformer.h.8.ln_2.weight]
Loading weights: 70%|███████ | 104/148 [00:00<00:00, 1243.44it/s, Materializing param=transformer.h.8.ln_2.weight]
Loading weights: 71%|███████ | 105/148 [00:00<00:00, 1251.93it/s, Materializing param=transformer.h.8.mlp.c_fc.bias]
Loading weights: 71%|███████ | 105/148 [00:00<00:00, 1249.37it/s, Materializing param=transformer.h.8.mlp.c_fc.bias]
Loading weights: 72%|███████▏ | 106/148 [00:00<00:00, 1257.78it/s, Materializing param=transformer.h.8.mlp.c_fc.weight]
Loading weights: 72%|███████▏ | 106/148 [00:00<00:00, 1255.21it/s, Materializing param=transformer.h.8.mlp.c_fc.weight]
Loading weights: 72%|███████▏ | 107/148 [00:00<00:00, 1263.39it/s, Materializing param=transformer.h.8.mlp.c_proj.bias]
Loading weights: 72%|███████▏ | 107/148 [00:00<00:00, 1260.84it/s, Materializing param=transformer.h.8.mlp.c_proj.bias]
Loading weights: 73%|███████▎ | 108/148 [00:00<00:00, 1269.01it/s, Materializing param=transformer.h.8.mlp.c_proj.weight]
Loading weights: 73%|███████▎ | 108/148 [00:00<00:00, 1266.47it/s, Materializing param=transformer.h.8.mlp.c_proj.weight]
Loading weights: 74%|███████▎ | 109/148 [00:00<00:00, 1274.45it/s, Materializing param=transformer.h.9.attn.c_attn.bias]
Loading weights: 74%|███████▎ | 109/148 [00:00<00:00, 1271.62it/s, Materializing param=transformer.h.9.attn.c_attn.bias]
Loading weights: 74%|███████▍ | 110/148 [00:00<00:00, 1279.51it/s, Materializing param=transformer.h.9.attn.c_attn.weight]
Loading weights: 74%|███████▍ | 110/148 [00:00<00:00, 1276.92it/s, Materializing param=transformer.h.9.attn.c_attn.weight]
Loading weights: 75%|███████▌ | 111/148 [00:00<00:00, 1284.71it/s, Materializing param=transformer.h.9.attn.c_proj.bias]
Loading weights: 75%|███████▌ | 111/148 [00:00<00:00, 1282.07it/s, Materializing param=transformer.h.9.attn.c_proj.bias]
Loading weights: 76%|███████▌ | 112/148 [00:00<00:00, 1289.85it/s, Materializing param=transformer.h.9.attn.c_proj.weight]
Loading weights: 76%|███████▌ | 112/148 [00:00<00:00, 1287.31it/s, Materializing param=transformer.h.9.attn.c_proj.weight]
Loading weights: 76%|███████▋ | 113/148 [00:00<00:00, 1295.14it/s, Materializing param=transformer.h.9.ln_1.bias]
Loading weights: 76%|███████▋ | 113/148 [00:00<00:00, 1292.79it/s, Materializing param=transformer.h.9.ln_1.bias]
Loading weights: 77%|███████▋ | 114/148 [00:00<00:00, 1300.71it/s, Materializing param=transformer.h.9.ln_1.weight]
Loading weights: 77%|███████▋ | 114/148 [00:00<00:00, 1298.38it/s, Materializing param=transformer.h.9.ln_1.weight]
Loading weights: 78%|███████▊ | 115/148 [00:00<00:00, 1306.26it/s, Materializing param=transformer.h.9.ln_2.bias]
Loading weights: 78%|███████▊ | 115/148 [00:00<00:00, 1303.95it/s, Materializing param=transformer.h.9.ln_2.bias]
Loading weights: 78%|███████▊ | 116/148 [00:00<00:00, 1311.89it/s, Materializing param=transformer.h.9.ln_2.weight]
Loading weights: 78%|███████▊ | 116/148 [00:00<00:00, 1309.33it/s, Materializing param=transformer.h.9.ln_2.weight]
Loading weights: 79%|███████▉ | 117/148 [00:00<00:00, 1317.21it/s, Materializing param=transformer.h.9.mlp.c_fc.bias]
Loading weights: 79%|███████▉ | 117/148 [00:00<00:00, 1314.67it/s, Materializing param=transformer.h.9.mlp.c_fc.bias]
Loading weights: 80%|███████▉ | 118/148 [00:00<00:00, 1322.28it/s, Materializing param=transformer.h.9.mlp.c_fc.weight]
Loading weights: 80%|███████▉ | 118/148 [00:00<00:00, 1319.71it/s, Materializing param=transformer.h.9.mlp.c_fc.weight]
Loading weights: 80%|████████ | 119/148 [00:00<00:00, 1327.11it/s, Materializing param=transformer.h.9.mlp.c_proj.bias]
Loading weights: 80%|████████ | 119/148 [00:00<00:00, 1324.56it/s, Materializing param=transformer.h.9.mlp.c_proj.bias]
Loading weights: 81%|████████ | 120/148 [00:00<00:00, 1332.11it/s, Materializing param=transformer.h.9.mlp.c_proj.weight]
Loading weights: 81%|████████ | 120/148 [00:00<00:00, 1329.27it/s, Materializing param=transformer.h.9.mlp.c_proj.weight]
Loading weights: 82%|████████▏ | 121/148 [00:00<00:00, 1336.63it/s, Materializing param=transformer.h.10.attn.c_attn.bias]
Loading weights: 82%|████████▏ | 121/148 [00:00<00:00, 1334.26it/s, Materializing param=transformer.h.10.attn.c_attn.bias]
Loading weights: 82%|████████▏ | 122/148 [00:00<00:00, 1341.87it/s, Materializing param=transformer.h.10.attn.c_attn.weight]
Loading weights: 82%|████████▏ | 122/148 [00:00<00:00, 1339.20it/s, Materializing param=transformer.h.10.attn.c_attn.weight]
Loading weights: 83%|████████▎ | 123/148 [00:00<00:00, 1346.83it/s, Materializing param=transformer.h.10.attn.c_proj.bias]
Loading weights: 83%|████████▎ | 123/148 [00:00<00:00, 1344.53it/s, Materializing param=transformer.h.10.attn.c_proj.bias]
Loading weights: 84%|████████▍ | 124/148 [00:00<00:00, 1351.79it/s, Materializing param=transformer.h.10.attn.c_proj.weight]
Loading weights: 84%|████████▍ | 124/148 [00:00<00:00, 1349.45it/s, Materializing param=transformer.h.10.attn.c_proj.weight]
Loading weights: 84%|████████▍ | 125/148 [00:00<00:00, 1356.85it/s, Materializing param=transformer.h.10.ln_1.bias]
Loading weights: 84%|████████▍ | 125/148 [00:00<00:00, 1354.55it/s, Materializing param=transformer.h.10.ln_1.bias]
Loading weights: 85%|████████▌ | 126/148 [00:00<00:00, 1361.76it/s, Materializing param=transformer.h.10.ln_1.weight]
Loading weights: 85%|████████▌ | 126/148 [00:00<00:00, 1359.21it/s, Materializing param=transformer.h.10.ln_1.weight]
Loading weights: 86%|████████▌ | 127/148 [00:00<00:00, 1366.43it/s, Materializing param=transformer.h.10.ln_2.bias]
Loading weights: 86%|████████▌ | 127/148 [00:00<00:00, 1363.88it/s, Materializing param=transformer.h.10.ln_2.bias]
Loading weights: 86%|████████▋ | 128/148 [00:00<00:00, 1371.01it/s, Materializing param=transformer.h.10.ln_2.weight]
Loading weights: 86%|████████▋ | 128/148 [00:00<00:00, 1368.37it/s, Materializing param=transformer.h.10.ln_2.weight]
Loading weights: 87%|████████▋ | 129/148 [00:00<00:00, 1375.38it/s, Materializing param=transformer.h.10.mlp.c_fc.bias]
Loading weights: 87%|████████▋ | 129/148 [00:00<00:00, 1372.74it/s, Materializing param=transformer.h.10.mlp.c_fc.bias]
Loading weights: 88%|████████▊ | 130/148 [00:00<00:00, 1380.11it/s, Materializing param=transformer.h.10.mlp.c_fc.weight]
Loading weights: 88%|████████▊ | 130/148 [00:00<00:00, 1377.45it/s, Materializing param=transformer.h.10.mlp.c_fc.weight]
Loading weights: 89%|████████▊ | 131/148 [00:00<00:00, 1384.65it/s, Materializing param=transformer.h.10.mlp.c_proj.bias]
Loading weights: 89%|████████▊ | 131/148 [00:00<00:00, 1382.11it/s, Materializing param=transformer.h.10.mlp.c_proj.bias]
Loading weights: 89%|████████▉ | 132/148 [00:00<00:00, 1389.00it/s, Materializing param=transformer.h.10.mlp.c_proj.weight]
Loading weights: 89%|████████▉ | 132/148 [00:00<00:00, 1386.59it/s, Materializing param=transformer.h.10.mlp.c_proj.weight]
Loading weights: 90%|████████▉ | 133/148 [00:00<00:00, 1393.70it/s, Materializing param=transformer.h.11.attn.c_attn.bias]
Loading weights: 90%|████████▉ | 133/148 [00:00<00:00, 1391.38it/s, Materializing param=transformer.h.11.attn.c_attn.bias]
Loading weights: 91%|█████████ | 134/148 [00:00<00:00, 1398.43it/s, Materializing param=transformer.h.11.attn.c_attn.weight]
Loading weights: 91%|█████████ | 134/148 [00:00<00:00, 1396.07it/s, Materializing param=transformer.h.11.attn.c_attn.weight]
Loading weights: 91%|█████████ | 135/148 [00:00<00:00, 1402.90it/s, Materializing param=transformer.h.11.attn.c_proj.bias]
Loading weights: 91%|█████████ | 135/148 [00:00<00:00, 1400.56it/s, Materializing param=transformer.h.11.attn.c_proj.bias]
Loading weights: 92%|█████████▏| 136/148 [00:00<00:00, 1407.39it/s, Materializing param=transformer.h.11.attn.c_proj.weight]
Loading weights: 92%|█████████▏| 136/148 [00:00<00:00, 1405.04it/s, Materializing param=transformer.h.11.attn.c_proj.weight]
Loading weights: 93%|█████████▎| 137/148 [00:00<00:00, 1411.83it/s, Materializing param=transformer.h.11.ln_1.bias]
Loading weights: 93%|█████████▎| 137/148 [00:00<00:00, 1409.50it/s, Materializing param=transformer.h.11.ln_1.bias]
Loading weights: 93%|█████████▎| 138/148 [00:00<00:00, 1416.34it/s, Materializing param=transformer.h.11.ln_1.weight]
Loading weights: 93%|█████████▎| 138/148 [00:00<00:00, 1413.70it/s, Materializing param=transformer.h.11.ln_1.weight]
Loading weights: 94%|█████████▍| 139/148 [00:00<00:00, 1420.45it/s, Materializing param=transformer.h.11.ln_2.bias]
Loading weights: 94%|█████████▍| 139/148 [00:00<00:00, 1418.16it/s, Materializing param=transformer.h.11.ln_2.bias]
Loading weights: 95%|█████████▍| 140/148 [00:00<00:00, 1424.88it/s, Materializing param=transformer.h.11.ln_2.weight]
Loading weights: 95%|█████████▍| 140/148 [00:00<00:00, 1422.58it/s, Materializing param=transformer.h.11.ln_2.weight]
Loading weights: 95%|█████████▌| 141/148 [00:00<00:00, 1429.22it/s, Materializing param=transformer.h.11.mlp.c_fc.bias]
Loading weights: 95%|█████████▌| 141/148 [00:00<00:00, 1426.71it/s, Materializing param=transformer.h.11.mlp.c_fc.bias]
Loading weights: 96%|█████████▌| 142/148 [00:00<00:00, 1433.30it/s, Materializing param=transformer.h.11.mlp.c_fc.weight]
Loading weights: 96%|█████████▌| 142/148 [00:00<00:00, 1430.78it/s, Materializing param=transformer.h.11.mlp.c_fc.weight]
Loading weights: 97%|█████████▋| 143/148 [00:00<00:00, 1437.35it/s, Materializing param=transformer.h.11.mlp.c_proj.bias]
Loading weights: 97%|█████████▋| 143/148 [00:00<00:00, 1434.82it/s, Materializing param=transformer.h.11.mlp.c_proj.bias]
Loading weights: 97%|█████████▋| 144/148 [00:00<00:00, 1441.34it/s, Materializing param=transformer.h.11.mlp.c_proj.weight]
Loading weights: 97%|█████████▋| 144/148 [00:00<00:00, 1438.84it/s, Materializing param=transformer.h.11.mlp.c_proj.weight]
Loading weights: 98%|█████████▊| 145/148 [00:00<00:00, 1445.22it/s, Materializing param=transformer.h.11.mlp.c_proj.weight]
Loading weights: 98%|█████████▊| 145/148 [00:00<00:00, 1445.22it/s, Materializing param=transformer.ln_f.bias]
Loading weights: 98%|█████████▊| 145/148 [00:00<00:00, 1445.22it/s, Materializing param=transformer.ln_f.bias]
Loading weights: 99%|█████████▊| 146/148 [00:00<00:00, 1445.22it/s, Materializing param=transformer.ln_f.weight]
Loading weights: 99%|█████████▊| 146/148 [00:00<00:00, 1445.22it/s, Materializing param=transformer.ln_f.weight]
Loading weights: 99%|█████████▉| 147/148 [00:00<00:00, 1445.22it/s, Materializing param=transformer.wpe.weight]
Loading weights: 99%|█████████▉| 147/148 [00:00<00:00, 1445.22it/s, Materializing param=transformer.wpe.weight]
Loading weights: 100%|██████████| 148/148 [00:00<00:00, 1445.22it/s, Materializing param=transformer.wte.weight]
Loading weights: 100%|██████████| 148/148 [00:00<00:00, 1445.22it/s, Materializing param=transformer.wte.weight]
Loading weights: 100%|██████████| 148/148 [00:00<00:00, 1448.19it/s, Materializing param=transformer.wte.weight]
GPT2LMHeadModel LOAD REPORT from: gpt2
Key | Status | |
---------------------+------------+--+-
h.{0...11}.attn.bias | UNEXPECTED | |
Notes:
- UNEXPECTED :can be ignored when loading from different task/architecture; not ok if you expect identical arch.
Running training (should contain no debug overhead)...
Step 1, Loss: 12.2905
Step 2, Loss: 12.0938
Step 3, Loss: 12.0060
✓ Memory snapshot saved to snapshot_debug_baseline.pickle
Peak GPU memory: 5.13 GB
Run Training WITH the Bug#
if HAS_CUDA:
print("\n" + "=" * 60)
print("Training with debug projection overhead (BUG)")
print("=" * 60)
try:
buggy_memory = run_training_with_bug("snapshot_with_bug.pickle", num_steps=3)
except (AttributeError, ValueError) as e:
# Handle transformers version compatibility issues
print(f"Note: Skipping buggy model demo due to transformers compatibility: {e}")
buggy_memory = baseline_memory_debug
============================================================
Training with debug projection overhead (BUG)
============================================================
Loading buggy model with debug overhead...
Note: Skipping buggy model demo due to transformers compatibility: GPT2Model does not support setting experts implementation.
Use Mosaic to Find the Problem#
Analyze both snapshots to identify the source of extra memory usage.
if HAS_CUDA and HAS_MOSAIC_CLI:
print("\n" + "=" * 60)
print("MOSAIC: Analyzing the Baseline Snapshot")
print("=" * 60)
subprocess.run(
["mosaic_get_memory_usage_peak", "--snapshot", "snapshot_debug_baseline.pickle"],
)
print("\n" + "=" * 60)
print("MOSAIC: Analyzing the Buggy Snapshot")
print("=" * 60)
subprocess.run(
["mosaic_get_memory_usage_peak", "--snapshot", "snapshot_with_bug.pickle"],
)
============================================================
MOSAIC: Analyzing the Baseline Snapshot
============================================================
============================================================
MOSAIC: Analyzing the Buggy Snapshot
============================================================
Analyzing The Mosaic Output#
When you run Mosaic’s peak memory analysis, it shows stack traces for each memory allocation. Let’s look at how to find abandoned or unnecessary code that’s bloating the memory.
1. Optimizer State Allocations Delta#
In the buggy snapshot output, we can see that the first two stack traces
represent the optimizer state allocations (like zeros_like for Adam
optimizer state). See torch/optim/adam.py in the stack trace.
In the snapshot of the buggy model we can see around a total of 0.21 GB more memory:
Version |
Stack Trace Position |
Calls |
Memory (per trace) |
|---|---|---|---|
Buggy model |
1st and 2nd |
172 calls |
0.569 GB + 0.569 GB |
Baseline |
2nd and 3rd |
148 calls |
0.464 GB + 0.464 GB |
What this tells us: The optimizer is tracking more tensors! This is your first clue that there are extra parameters or tensors in the computation graph.
2. Additional Activation Allocations#
The buggy version shows extra allocations that don’t appear in the baseline model. Scrolling down the Mosaic output of the buggy model we can see additional stack traces which contain:
torch::autograd::Engine::evaluate_function: We’re in the backward passAddmmBackward0::apply: Computing gradients for an addmm operationempty_cudaat the bottom: Allocating a new CUDA tensor to store the gradient
0.176 GB from matrix multiply gradients (
AddmmBackward0,mm_mat1_backward)
Memory Total Explanation#
Total Peak Dynamic Memory Usage: This is the peak memory that changes during execution, measured relative to the starting point of the snapshot. It tracks memory allocations that occur during the traced execution timeline.
Total Static Memory Usage: This is the “starting memory” or baseline memory that exists before tracing begins. It’s estimated by the PyTorch visualizer and remains constant throughout the snapshot (doesn’t come with stack traces).
Note
In the snapshots you may observe differences in total static memory usage, which accounts for the remaining difference.
Total Overall Peak Memory Usage: Dynamic + Static
if HAS_CUDA:
print("\n" + "=" * 60)
print("COMPARISON")
print("=" * 60)
print(f"Baseline (clean model): {baseline_memory_debug:.2f} GB")
print(f"With bug (debug projections): {buggy_memory:.2f} GB")
print(
f"Extra memory from bug: {buggy_memory - baseline_memory_debug:.2f} GB"
)
============================================================
COMPARISON
============================================================
Baseline (clean model): 5.13 GB
With bug (debug projections): 5.13 GB
Extra memory from bug: 0.00 GB
Case 3: Integrating Memory Analysis into Your Training Pipeline#
This section demonstrates how to use Mosaic to automatically capture memory snapshots during training, get structured memory breakdown data for monitoring/dashboards, and build automated memory monitoring for large-scale training using Mosaic programmatically (as a Python dependency).
Mosaic integrates memory analysis directly into your training pipeline.
Training with Automatic Memory Capture#
def run_training_with_memory_capture(
batch_size=4,
seq_length=512,
num_steps=5,
snapshot_path="training_snapshot.pickle",
):
"""Run training and automatically capture memory snapshot."""
torch.cuda.empty_cache()
torch.cuda.reset_peak_memory_stats()
device = torch.device("cuda")
model = GPT2LMHeadModel.from_pretrained("gpt2").to(device)
model.train()
tokenizer = GPT2Tokenizer.from_pretrained("gpt2")
dataset = RandomTokenDataset(tokenizer.vocab_size, seq_length)
dataloader = DataLoader(dataset, batch_size=batch_size)
optimizer = torch.optim.AdamW(model.parameters(), lr=1e-5)
print(f"Running {num_steps} training steps with memory capture...")
with capture_memory_snapshot(snapshot_path):
for step, batch in enumerate(dataloader):
if step >= num_steps:
break
batch = {k: v.to(device) for k, v in batch.items()}
optimizer.zero_grad()
outputs = model(input_ids=batch["input_ids"], labels=batch["labels"])
outputs.loss.backward()
optimizer.step()
print(f" Step {step + 1}/{num_steps}, Loss: {outputs.loss.item():.4f}")
peak_memory_gb = torch.cuda.max_memory_allocated() / 1024**3
print(f"✓ PyTorch reported peak memory: {peak_memory_gb:.3f} GB")
del model, optimizer
torch.cuda.empty_cache()
return snapshot_path
if HAS_CUDA:
print("\n" + "=" * 60)
print("CASE 3: Pipeline Integration")
print("=" * 60)
pipeline_snapshot_path = run_training_with_memory_capture(batch_size=4, seq_length=512)
============================================================
CASE 3: Pipeline Integration
============================================================
Loading weights: 0%| | 0/148 [00:00<?, ?it/s]
Loading weights: 1%| | 1/148 [00:00<00:00, 51150.05it/s, Materializing param=transformer.h.0.attn.c_attn.bias]
Loading weights: 1%| | 1/148 [00:00<00:00, 1284.23it/s, Materializing param=transformer.h.0.attn.c_attn.bias]
Loading weights: 1%|▏ | 2/148 [00:00<00:00, 1776.87it/s, Materializing param=transformer.h.0.attn.c_attn.weight]
Loading weights: 1%|▏ | 2/148 [00:00<00:00, 1526.59it/s, Materializing param=transformer.h.0.attn.c_attn.weight]
Loading weights: 2%|▏ | 3/148 [00:00<00:00, 1723.92it/s, Materializing param=transformer.h.0.attn.c_proj.bias]
Loading weights: 2%|▏ | 3/148 [00:00<00:00, 1496.54it/s, Materializing param=transformer.h.0.attn.c_proj.bias]
Loading weights: 3%|▎ | 4/148 [00:00<00:00, 1697.07it/s, Materializing param=transformer.h.0.attn.c_proj.weight]
Loading weights: 3%|▎ | 4/148 [00:00<00:00, 1576.95it/s, Materializing param=transformer.h.0.attn.c_proj.weight]
Loading weights: 3%|▎ | 5/148 [00:00<00:00, 1359.67it/s, Materializing param=transformer.h.0.ln_1.bias]
Loading weights: 3%|▎ | 5/148 [00:00<00:00, 1109.96it/s, Materializing param=transformer.h.0.ln_1.bias]
Loading weights: 4%|▍ | 6/148 [00:00<00:00, 1155.88it/s, Materializing param=transformer.h.0.ln_1.weight]
Loading weights: 4%|▍ | 6/148 [00:00<00:00, 1054.73it/s, Materializing param=transformer.h.0.ln_1.weight]
Loading weights: 5%|▍ | 7/148 [00:00<00:00, 1060.35it/s, Materializing param=transformer.h.0.ln_2.bias]
Loading weights: 5%|▍ | 7/148 [00:00<00:00, 944.91it/s, Materializing param=transformer.h.0.ln_2.bias]
Loading weights: 5%|▌ | 8/148 [00:00<00:00, 980.72it/s, Materializing param=transformer.h.0.ln_2.weight]
Loading weights: 5%|▌ | 8/148 [00:00<00:00, 892.36it/s, Materializing param=transformer.h.0.ln_2.weight]
Loading weights: 6%|▌ | 9/148 [00:00<00:00, 964.55it/s, Materializing param=transformer.h.0.mlp.c_fc.bias]
Loading weights: 6%|▌ | 9/148 [00:00<00:00, 941.72it/s, Materializing param=transformer.h.0.mlp.c_fc.bias]
Loading weights: 7%|▋ | 10/148 [00:00<00:00, 955.10it/s, Materializing param=transformer.h.0.mlp.c_fc.weight]
Loading weights: 7%|▋ | 10/148 [00:00<00:00, 890.55it/s, Materializing param=transformer.h.0.mlp.c_fc.weight]
Loading weights: 7%|▋ | 11/148 [00:00<00:00, 949.88it/s, Materializing param=transformer.h.0.mlp.c_proj.bias]
Loading weights: 7%|▋ | 11/148 [00:00<00:00, 934.67it/s, Materializing param=transformer.h.0.mlp.c_proj.bias]
Loading weights: 8%|▊ | 12/148 [00:00<00:00, 970.70it/s, Materializing param=transformer.h.0.mlp.c_proj.weight]
Loading weights: 8%|▊ | 12/148 [00:00<00:00, 945.48it/s, Materializing param=transformer.h.0.mlp.c_proj.weight]
Loading weights: 9%|▉ | 13/148 [00:00<00:00, 963.53it/s, Materializing param=transformer.h.1.attn.c_attn.bias]
Loading weights: 9%|▉ | 13/148 [00:00<00:00, 950.16it/s, Materializing param=transformer.h.1.attn.c_attn.bias]
Loading weights: 9%|▉ | 14/148 [00:00<00:00, 978.46it/s, Materializing param=transformer.h.1.attn.c_attn.weight]
Loading weights: 9%|▉ | 14/148 [00:00<00:00, 960.82it/s, Materializing param=transformer.h.1.attn.c_attn.weight]
Loading weights: 10%|█ | 15/148 [00:00<00:00, 996.71it/s, Materializing param=transformer.h.1.attn.c_proj.bias]
Loading weights: 10%|█ | 15/148 [00:00<00:00, 964.59it/s, Materializing param=transformer.h.1.attn.c_proj.bias]
Loading weights: 11%|█ | 16/148 [00:00<00:00, 986.10it/s, Materializing param=transformer.h.1.attn.c_proj.weight]
Loading weights: 11%|█ | 16/148 [00:00<00:00, 955.60it/s, Materializing param=transformer.h.1.attn.c_proj.weight]
Loading weights: 11%|█▏ | 17/148 [00:00<00:00, 994.95it/s, Materializing param=transformer.h.1.ln_1.bias]
Loading weights: 11%|█▏ | 17/148 [00:00<00:00, 984.36it/s, Materializing param=transformer.h.1.ln_1.bias]
Loading weights: 12%|█▏ | 18/148 [00:00<00:00, 1015.82it/s, Materializing param=transformer.h.1.ln_1.weight]
Loading weights: 12%|█▏ | 18/148 [00:00<00:00, 966.21it/s, Materializing param=transformer.h.1.ln_1.weight]
Loading weights: 13%|█▎ | 19/148 [00:00<00:00, 994.05it/s, Materializing param=transformer.h.1.ln_2.bias]
Loading weights: 13%|█▎ | 19/148 [00:00<00:00, 984.48it/s, Materializing param=transformer.h.1.ln_2.bias]
Loading weights: 14%|█▎ | 20/148 [00:00<00:00, 1014.83it/s, Materializing param=transformer.h.1.ln_2.weight]
Loading weights: 14%|█▎ | 20/148 [00:00<00:00, 1005.45it/s, Materializing param=transformer.h.1.ln_2.weight]
Loading weights: 14%|█▍ | 21/148 [00:00<00:00, 1036.86it/s, Materializing param=transformer.h.1.mlp.c_fc.bias]
Loading weights: 14%|█▍ | 21/148 [00:00<00:00, 1027.02it/s, Materializing param=transformer.h.1.mlp.c_fc.bias]
Loading weights: 15%|█▍ | 22/148 [00:00<00:00, 1040.07it/s, Materializing param=transformer.h.1.mlp.c_fc.weight]
Loading weights: 15%|█▍ | 22/148 [00:00<00:00, 1004.30it/s, Materializing param=transformer.h.1.mlp.c_fc.weight]
Loading weights: 16%|█▌ | 23/148 [00:00<00:00, 990.69it/s, Materializing param=transformer.h.1.mlp.c_proj.bias]
Loading weights: 16%|█▌ | 23/148 [00:00<00:00, 976.75it/s, Materializing param=transformer.h.1.mlp.c_proj.bias]
Loading weights: 16%|█▌ | 24/148 [00:00<00:00, 998.61it/s, Materializing param=transformer.h.1.mlp.c_proj.weight]
Loading weights: 16%|█▌ | 24/148 [00:00<00:00, 977.27it/s, Materializing param=transformer.h.1.mlp.c_proj.weight]
Loading weights: 17%|█▋ | 25/148 [00:00<00:00, 994.00it/s, Materializing param=transformer.h.2.attn.c_attn.bias]
Loading weights: 17%|█▋ | 25/148 [00:00<00:00, 973.15it/s, Materializing param=transformer.h.2.attn.c_attn.bias]
Loading weights: 18%|█▊ | 26/148 [00:00<00:00, 979.23it/s, Materializing param=transformer.h.2.attn.c_attn.weight]
Loading weights: 18%|█▊ | 26/148 [00:00<00:00, 970.82it/s, Materializing param=transformer.h.2.attn.c_attn.weight]
Loading weights: 18%|█▊ | 27/148 [00:00<00:00, 990.93it/s, Materializing param=transformer.h.2.attn.c_proj.bias]
Loading weights: 18%|█▊ | 27/148 [00:00<00:00, 982.94it/s, Materializing param=transformer.h.2.attn.c_proj.bias]
Loading weights: 19%|█▉ | 28/148 [00:00<00:00, 1004.21it/s, Materializing param=transformer.h.2.attn.c_proj.weight]
Loading weights: 19%|█▉ | 28/148 [00:00<00:00, 982.33it/s, Materializing param=transformer.h.2.attn.c_proj.weight]
Loading weights: 20%|█▉ | 29/148 [00:00<00:00, 942.96it/s, Materializing param=transformer.h.2.ln_1.bias]
Loading weights: 20%|█▉ | 29/148 [00:00<00:00, 922.93it/s, Materializing param=transformer.h.2.ln_1.bias]
Loading weights: 20%|██ | 30/148 [00:00<00:00, 931.03it/s, Materializing param=transformer.h.2.ln_1.weight]
Loading weights: 20%|██ | 30/148 [00:00<00:00, 915.38it/s, Materializing param=transformer.h.2.ln_1.weight]
Loading weights: 21%|██ | 31/148 [00:00<00:00, 920.82it/s, Materializing param=transformer.h.2.ln_2.bias]
Loading weights: 21%|██ | 31/148 [00:00<00:00, 900.94it/s, Materializing param=transformer.h.2.ln_2.bias]
Loading weights: 22%|██▏ | 32/148 [00:00<00:00, 914.76it/s, Materializing param=transformer.h.2.ln_2.weight]
Loading weights: 22%|██▏ | 32/148 [00:00<00:00, 909.10it/s, Materializing param=transformer.h.2.ln_2.weight]
Loading weights: 22%|██▏ | 33/148 [00:00<00:00, 923.30it/s, Materializing param=transformer.h.2.mlp.c_fc.bias]
Loading weights: 22%|██▏ | 33/148 [00:00<00:00, 912.51it/s, Materializing param=transformer.h.2.mlp.c_fc.bias]
Loading weights: 23%|██▎ | 34/148 [00:00<00:00, 932.10it/s, Materializing param=transformer.h.2.mlp.c_fc.weight]
Loading weights: 23%|██▎ | 34/148 [00:00<00:00, 904.43it/s, Materializing param=transformer.h.2.mlp.c_fc.weight]
Loading weights: 24%|██▎ | 35/148 [00:00<00:00, 909.18it/s, Materializing param=transformer.h.2.mlp.c_proj.bias]
Loading weights: 24%|██▎ | 35/148 [00:00<00:00, 898.74it/s, Materializing param=transformer.h.2.mlp.c_proj.bias]
Loading weights: 24%|██▍ | 36/148 [00:00<00:00, 911.25it/s, Materializing param=transformer.h.2.mlp.c_proj.weight]
Loading weights: 24%|██▍ | 36/148 [00:00<00:00, 907.11it/s, Materializing param=transformer.h.2.mlp.c_proj.weight]
Loading weights: 25%|██▌ | 37/148 [00:00<00:00, 917.70it/s, Materializing param=transformer.h.3.attn.c_attn.bias]
Loading weights: 25%|██▌ | 37/148 [00:00<00:00, 912.06it/s, Materializing param=transformer.h.3.attn.c_attn.bias]
Loading weights: 26%|██▌ | 38/148 [00:00<00:00, 912.12it/s, Materializing param=transformer.h.3.attn.c_attn.weight]
Loading weights: 26%|██▌ | 38/148 [00:00<00:00, 894.22it/s, Materializing param=transformer.h.3.attn.c_attn.weight]
Loading weights: 26%|██▋ | 39/148 [00:00<00:00, 907.30it/s, Materializing param=transformer.h.3.attn.c_proj.bias]
Loading weights: 26%|██▋ | 39/148 [00:00<00:00, 898.18it/s, Materializing param=transformer.h.3.attn.c_proj.bias]
Loading weights: 27%|██▋ | 40/148 [00:00<00:00, 904.77it/s, Materializing param=transformer.h.3.attn.c_proj.weight]
Loading weights: 27%|██▋ | 40/148 [00:00<00:00, 888.26it/s, Materializing param=transformer.h.3.attn.c_proj.weight]
Loading weights: 28%|██▊ | 41/148 [00:00<00:00, 902.05it/s, Materializing param=transformer.h.3.ln_1.bias]
Loading weights: 28%|██▊ | 41/148 [00:00<00:00, 892.02it/s, Materializing param=transformer.h.3.ln_1.bias]
Loading weights: 28%|██▊ | 42/148 [00:00<00:00, 892.62it/s, Materializing param=transformer.h.3.ln_1.weight]
Loading weights: 28%|██▊ | 42/148 [00:00<00:00, 880.85it/s, Materializing param=transformer.h.3.ln_1.weight]
Loading weights: 29%|██▉ | 43/148 [00:00<00:00, 890.99it/s, Materializing param=transformer.h.3.ln_2.bias]
Loading weights: 29%|██▉ | 43/148 [00:00<00:00, 881.93it/s, Materializing param=transformer.h.3.ln_2.bias]
Loading weights: 30%|██▉ | 44/148 [00:00<00:00, 886.43it/s, Materializing param=transformer.h.3.ln_2.weight]
Loading weights: 30%|██▉ | 44/148 [00:00<00:00, 876.28it/s, Materializing param=transformer.h.3.ln_2.weight]
Loading weights: 30%|███ | 45/148 [00:00<00:00, 864.79it/s, Materializing param=transformer.h.3.mlp.c_fc.bias]
Loading weights: 30%|███ | 45/148 [00:00<00:00, 854.44it/s, Materializing param=transformer.h.3.mlp.c_fc.bias]
Loading weights: 31%|███ | 46/148 [00:00<00:00, 869.69it/s, Materializing param=transformer.h.3.mlp.c_fc.weight]
Loading weights: 31%|███ | 46/148 [00:00<00:00, 867.09it/s, Materializing param=transformer.h.3.mlp.c_fc.weight]
Loading weights: 32%|███▏ | 47/148 [00:00<00:00, 882.48it/s, Materializing param=transformer.h.3.mlp.c_proj.bias]
Loading weights: 32%|███▏ | 47/148 [00:00<00:00, 879.91it/s, Materializing param=transformer.h.3.mlp.c_proj.bias]
Loading weights: 32%|███▏ | 48/148 [00:00<00:00, 895.05it/s, Materializing param=transformer.h.3.mlp.c_proj.weight]
Loading weights: 32%|███▏ | 48/148 [00:00<00:00, 891.95it/s, Materializing param=transformer.h.3.mlp.c_proj.weight]
Loading weights: 33%|███▎ | 49/148 [00:00<00:00, 906.96it/s, Materializing param=transformer.h.4.attn.c_attn.bias]
Loading weights: 33%|███▎ | 49/148 [00:00<00:00, 904.13it/s, Materializing param=transformer.h.4.attn.c_attn.bias]
Loading weights: 34%|███▍ | 50/148 [00:00<00:00, 918.92it/s, Materializing param=transformer.h.4.attn.c_attn.weight]
Loading weights: 34%|███▍ | 50/148 [00:00<00:00, 915.98it/s, Materializing param=transformer.h.4.attn.c_attn.weight]
Loading weights: 34%|███▍ | 51/148 [00:00<00:00, 930.67it/s, Materializing param=transformer.h.4.attn.c_proj.bias]
Loading weights: 34%|███▍ | 51/148 [00:00<00:00, 928.04it/s, Materializing param=transformer.h.4.attn.c_proj.bias]
Loading weights: 35%|███▌ | 52/148 [00:00<00:00, 942.71it/s, Materializing param=transformer.h.4.attn.c_proj.weight]
Loading weights: 35%|███▌ | 52/148 [00:00<00:00, 939.82it/s, Materializing param=transformer.h.4.attn.c_proj.weight]
Loading weights: 36%|███▌ | 53/148 [00:00<00:00, 954.15it/s, Materializing param=transformer.h.4.ln_1.bias]
Loading weights: 36%|███▌ | 53/148 [00:00<00:00, 951.46it/s, Materializing param=transformer.h.4.ln_1.bias]
Loading weights: 36%|███▋ | 54/148 [00:00<00:00, 965.88it/s, Materializing param=transformer.h.4.ln_1.weight]
Loading weights: 36%|███▋ | 54/148 [00:00<00:00, 963.25it/s, Materializing param=transformer.h.4.ln_1.weight]
Loading weights: 37%|███▋ | 55/148 [00:00<00:00, 977.57it/s, Materializing param=transformer.h.4.ln_2.bias]
Loading weights: 37%|███▋ | 55/148 [00:00<00:00, 974.92it/s, Materializing param=transformer.h.4.ln_2.bias]
Loading weights: 38%|███▊ | 56/148 [00:00<00:00, 989.06it/s, Materializing param=transformer.h.4.ln_2.weight]
Loading weights: 38%|███▊ | 56/148 [00:00<00:00, 986.44it/s, Materializing param=transformer.h.4.ln_2.weight]
Loading weights: 39%|███▊ | 57/148 [00:00<00:00, 1000.53it/s, Materializing param=transformer.h.4.mlp.c_fc.bias]
Loading weights: 39%|███▊ | 57/148 [00:00<00:00, 997.83it/s, Materializing param=transformer.h.4.mlp.c_fc.bias]
Loading weights: 39%|███▉ | 58/148 [00:00<00:00, 1011.71it/s, Materializing param=transformer.h.4.mlp.c_fc.weight]
Loading weights: 39%|███▉ | 58/148 [00:00<00:00, 1008.99it/s, Materializing param=transformer.h.4.mlp.c_fc.weight]
Loading weights: 40%|███▉ | 59/148 [00:00<00:00, 1022.74it/s, Materializing param=transformer.h.4.mlp.c_proj.bias]
Loading weights: 40%|███▉ | 59/148 [00:00<00:00, 1019.70it/s, Materializing param=transformer.h.4.mlp.c_proj.bias]
Loading weights: 41%|████ | 60/148 [00:00<00:00, 1033.32it/s, Materializing param=transformer.h.4.mlp.c_proj.weight]
Loading weights: 41%|████ | 60/148 [00:00<00:00, 1030.57it/s, Materializing param=transformer.h.4.mlp.c_proj.weight]
Loading weights: 41%|████ | 61/148 [00:00<00:00, 1044.04it/s, Materializing param=transformer.h.5.attn.c_attn.bias]
Loading weights: 41%|████ | 61/148 [00:00<00:00, 1040.53it/s, Materializing param=transformer.h.5.attn.c_attn.bias]
Loading weights: 42%|████▏ | 62/148 [00:00<00:00, 1053.63it/s, Materializing param=transformer.h.5.attn.c_attn.weight]
Loading weights: 42%|████▏ | 62/148 [00:00<00:00, 1050.80it/s, Materializing param=transformer.h.5.attn.c_attn.weight]
Loading weights: 43%|████▎ | 63/148 [00:00<00:00, 1064.02it/s, Materializing param=transformer.h.5.attn.c_proj.bias]
Loading weights: 43%|████▎ | 63/148 [00:00<00:00, 1061.26it/s, Materializing param=transformer.h.5.attn.c_proj.bias]
Loading weights: 43%|████▎ | 64/148 [00:00<00:00, 1074.52it/s, Materializing param=transformer.h.5.attn.c_proj.weight]
Loading weights: 43%|████▎ | 64/148 [00:00<00:00, 1071.41it/s, Materializing param=transformer.h.5.attn.c_proj.weight]
Loading weights: 44%|████▍ | 65/148 [00:00<00:00, 1084.12it/s, Materializing param=transformer.h.5.ln_1.bias]
Loading weights: 44%|████▍ | 65/148 [00:00<00:00, 1081.10it/s, Materializing param=transformer.h.5.ln_1.bias]
Loading weights: 45%|████▍ | 66/148 [00:00<00:00, 1093.65it/s, Materializing param=transformer.h.5.ln_1.weight]
Loading weights: 45%|████▍ | 66/148 [00:00<00:00, 1090.53it/s, Materializing param=transformer.h.5.ln_1.weight]
Loading weights: 45%|████▌ | 67/148 [00:00<00:00, 1103.12it/s, Materializing param=transformer.h.5.ln_2.bias]
Loading weights: 45%|████▌ | 67/148 [00:00<00:00, 1100.01it/s, Materializing param=transformer.h.5.ln_2.bias]
Loading weights: 46%|████▌ | 68/148 [00:00<00:00, 1112.64it/s, Materializing param=transformer.h.5.ln_2.weight]
Loading weights: 46%|████▌ | 68/148 [00:00<00:00, 1109.87it/s, Materializing param=transformer.h.5.ln_2.weight]
Loading weights: 47%|████▋ | 69/148 [00:00<00:00, 1122.36it/s, Materializing param=transformer.h.5.mlp.c_fc.bias]
Loading weights: 47%|████▋ | 69/148 [00:00<00:00, 1119.36it/s, Materializing param=transformer.h.5.mlp.c_fc.bias]
Loading weights: 47%|████▋ | 70/148 [00:00<00:00, 1131.59it/s, Materializing param=transformer.h.5.mlp.c_fc.weight]
Loading weights: 47%|████▋ | 70/148 [00:00<00:00, 1128.50it/s, Materializing param=transformer.h.5.mlp.c_fc.weight]
Loading weights: 48%|████▊ | 71/148 [00:00<00:00, 1140.77it/s, Materializing param=transformer.h.5.mlp.c_proj.bias]
Loading weights: 48%|████▊ | 71/148 [00:00<00:00, 1137.92it/s, Materializing param=transformer.h.5.mlp.c_proj.bias]
Loading weights: 49%|████▊ | 72/148 [00:00<00:00, 1150.10it/s, Materializing param=transformer.h.5.mlp.c_proj.weight]
Loading weights: 49%|████▊ | 72/148 [00:00<00:00, 1147.28it/s, Materializing param=transformer.h.5.mlp.c_proj.weight]
Loading weights: 49%|████▉ | 73/148 [00:00<00:00, 1159.47it/s, Materializing param=transformer.h.6.attn.c_attn.bias]
Loading weights: 49%|████▉ | 73/148 [00:00<00:00, 1156.32it/s, Materializing param=transformer.h.6.attn.c_attn.bias]
Loading weights: 50%|█████ | 74/148 [00:00<00:00, 1168.23it/s, Materializing param=transformer.h.6.attn.c_attn.weight]
Loading weights: 50%|█████ | 74/148 [00:00<00:00, 1165.03it/s, Materializing param=transformer.h.6.attn.c_attn.weight]
Loading weights: 51%|█████ | 75/148 [00:00<00:00, 1176.74it/s, Materializing param=transformer.h.6.attn.c_proj.bias]
Loading weights: 51%|█████ | 75/148 [00:00<00:00, 1173.81it/s, Materializing param=transformer.h.6.attn.c_proj.bias]
Loading weights: 51%|█████▏ | 76/148 [00:00<00:00, 1185.40it/s, Materializing param=transformer.h.6.attn.c_proj.weight]
Loading weights: 51%|█████▏ | 76/148 [00:00<00:00, 1182.42it/s, Materializing param=transformer.h.6.attn.c_proj.weight]
Loading weights: 52%|█████▏ | 77/148 [00:00<00:00, 1194.19it/s, Materializing param=transformer.h.6.ln_1.bias]
Loading weights: 52%|█████▏ | 77/148 [00:00<00:00, 1191.08it/s, Materializing param=transformer.h.6.ln_1.bias]
Loading weights: 53%|█████▎ | 78/148 [00:00<00:00, 1202.39it/s, Materializing param=transformer.h.6.ln_1.weight]
Loading weights: 53%|█████▎ | 78/148 [00:00<00:00, 1199.42it/s, Materializing param=transformer.h.6.ln_1.weight]
Loading weights: 53%|█████▎ | 79/148 [00:00<00:00, 1211.07it/s, Materializing param=transformer.h.6.ln_2.bias]
Loading weights: 53%|█████▎ | 79/148 [00:00<00:00, 1208.02it/s, Materializing param=transformer.h.6.ln_2.bias]
Loading weights: 54%|█████▍ | 80/148 [00:00<00:00, 1219.43it/s, Materializing param=transformer.h.6.ln_2.weight]
Loading weights: 54%|█████▍ | 80/148 [00:00<00:00, 1216.39it/s, Materializing param=transformer.h.6.ln_2.weight]
Loading weights: 55%|█████▍ | 81/148 [00:00<00:00, 1227.85it/s, Materializing param=transformer.h.6.mlp.c_fc.bias]
Loading weights: 55%|█████▍ | 81/148 [00:00<00:00, 1225.01it/s, Materializing param=transformer.h.6.mlp.c_fc.bias]
Loading weights: 55%|█████▌ | 82/148 [00:00<00:00, 1236.45it/s, Materializing param=transformer.h.6.mlp.c_fc.weight]
Loading weights: 55%|█████▌ | 82/148 [00:00<00:00, 1233.29it/s, Materializing param=transformer.h.6.mlp.c_fc.weight]
Loading weights: 56%|█████▌ | 83/148 [00:00<00:00, 1244.41it/s, Materializing param=transformer.h.6.mlp.c_proj.bias]
Loading weights: 56%|█████▌ | 83/148 [00:00<00:00, 1241.50it/s, Materializing param=transformer.h.6.mlp.c_proj.bias]
Loading weights: 57%|█████▋ | 84/148 [00:00<00:00, 1252.50it/s, Materializing param=transformer.h.6.mlp.c_proj.weight]
Loading weights: 57%|█████▋ | 84/148 [00:00<00:00, 1249.33it/s, Materializing param=transformer.h.6.mlp.c_proj.weight]
Loading weights: 57%|█████▋ | 85/148 [00:00<00:00, 1260.25it/s, Materializing param=transformer.h.7.attn.c_attn.bias]
Loading weights: 57%|█████▋ | 85/148 [00:00<00:00, 1257.09it/s, Materializing param=transformer.h.7.attn.c_attn.bias]
Loading weights: 58%|█████▊ | 86/148 [00:00<00:00, 1267.93it/s, Materializing param=transformer.h.7.attn.c_attn.weight]
Loading weights: 58%|█████▊ | 86/148 [00:00<00:00, 1264.78it/s, Materializing param=transformer.h.7.attn.c_attn.weight]
Loading weights: 59%|█████▉ | 87/148 [00:00<00:00, 1275.59it/s, Materializing param=transformer.h.7.attn.c_proj.bias]
Loading weights: 59%|█████▉ | 87/148 [00:00<00:00, 1272.41it/s, Materializing param=transformer.h.7.attn.c_proj.bias]
Loading weights: 59%|█████▉ | 88/148 [00:00<00:00, 1282.57it/s, Materializing param=transformer.h.7.attn.c_proj.weight]
Loading weights: 59%|█████▉ | 88/148 [00:00<00:00, 1279.62it/s, Materializing param=transformer.h.7.attn.c_proj.weight]
Loading weights: 60%|██████ | 89/148 [00:00<00:00, 1290.36it/s, Materializing param=transformer.h.7.ln_1.bias]
Loading weights: 60%|██████ | 89/148 [00:00<00:00, 1287.20it/s, Materializing param=transformer.h.7.ln_1.bias]
Loading weights: 61%|██████ | 90/148 [00:00<00:00, 1297.54it/s, Materializing param=transformer.h.7.ln_1.weight]
Loading weights: 61%|██████ | 90/148 [00:00<00:00, 1294.58it/s, Materializing param=transformer.h.7.ln_1.weight]
Loading weights: 61%|██████▏ | 91/148 [00:00<00:00, 1304.86it/s, Materializing param=transformer.h.7.ln_2.bias]
Loading weights: 61%|██████▏ | 91/148 [00:00<00:00, 1301.78it/s, Materializing param=transformer.h.7.ln_2.bias]
Loading weights: 62%|██████▏ | 92/148 [00:00<00:00, 1312.27it/s, Materializing param=transformer.h.7.ln_2.weight]
Loading weights: 62%|██████▏ | 92/148 [00:00<00:00, 1309.15it/s, Materializing param=transformer.h.7.ln_2.weight]
Loading weights: 63%|██████▎ | 93/148 [00:00<00:00, 1319.44it/s, Materializing param=transformer.h.7.mlp.c_fc.bias]
Loading weights: 63%|██████▎ | 93/148 [00:00<00:00, 1316.51it/s, Materializing param=transformer.h.7.mlp.c_fc.bias]
Loading weights: 64%|██████▎ | 94/148 [00:00<00:00, 1326.78it/s, Materializing param=transformer.h.7.mlp.c_fc.weight]
Loading weights: 64%|██████▎ | 94/148 [00:00<00:00, 1323.64it/s, Materializing param=transformer.h.7.mlp.c_fc.weight]
Loading weights: 64%|██████▍ | 95/148 [00:00<00:00, 1333.84it/s, Materializing param=transformer.h.7.mlp.c_proj.bias]
Loading weights: 64%|██████▍ | 95/148 [00:00<00:00, 1330.98it/s, Materializing param=transformer.h.7.mlp.c_proj.bias]
Loading weights: 65%|██████▍ | 96/148 [00:00<00:00, 1341.17it/s, Materializing param=transformer.h.7.mlp.c_proj.weight]
Loading weights: 65%|██████▍ | 96/148 [00:00<00:00, 1338.31it/s, Materializing param=transformer.h.7.mlp.c_proj.weight]
Loading weights: 66%|██████▌ | 97/148 [00:00<00:00, 1348.41it/s, Materializing param=transformer.h.8.attn.c_attn.bias]
Loading weights: 66%|██████▌ | 97/148 [00:00<00:00, 1345.56it/s, Materializing param=transformer.h.8.attn.c_attn.bias]
Loading weights: 66%|██████▌ | 98/148 [00:00<00:00, 1355.56it/s, Materializing param=transformer.h.8.attn.c_attn.weight]
Loading weights: 66%|██████▌ | 98/148 [00:00<00:00, 1352.66it/s, Materializing param=transformer.h.8.attn.c_attn.weight]
Loading weights: 67%|██████▋ | 99/148 [00:00<00:00, 1362.65it/s, Materializing param=transformer.h.8.attn.c_proj.bias]
Loading weights: 67%|██████▋ | 99/148 [00:00<00:00, 1359.76it/s, Materializing param=transformer.h.8.attn.c_proj.bias]
Loading weights: 68%|██████▊ | 100/148 [00:00<00:00, 1369.67it/s, Materializing param=transformer.h.8.attn.c_proj.weight]
Loading weights: 68%|██████▊ | 100/148 [00:00<00:00, 1366.89it/s, Materializing param=transformer.h.8.attn.c_proj.weight]
Loading weights: 68%|██████▊ | 101/148 [00:00<00:00, 1376.66it/s, Materializing param=transformer.h.8.ln_1.bias]
Loading weights: 68%|██████▊ | 101/148 [00:00<00:00, 1373.73it/s, Materializing param=transformer.h.8.ln_1.bias]
Loading weights: 69%|██████▉ | 102/148 [00:00<00:00, 1383.39it/s, Materializing param=transformer.h.8.ln_1.weight]
Loading weights: 69%|██████▉ | 102/148 [00:00<00:00, 1380.47it/s, Materializing param=transformer.h.8.ln_1.weight]
Loading weights: 70%|██████▉ | 103/148 [00:00<00:00, 1390.24it/s, Materializing param=transformer.h.8.ln_2.bias]
Loading weights: 70%|██████▉ | 103/148 [00:00<00:00, 1387.38it/s, Materializing param=transformer.h.8.ln_2.bias]
Loading weights: 70%|███████ | 104/148 [00:00<00:00, 1397.15it/s, Materializing param=transformer.h.8.ln_2.weight]
Loading weights: 70%|███████ | 104/148 [00:00<00:00, 1394.29it/s, Materializing param=transformer.h.8.ln_2.weight]
Loading weights: 71%|███████ | 105/148 [00:00<00:00, 1403.98it/s, Materializing param=transformer.h.8.mlp.c_fc.bias]
Loading weights: 71%|███████ | 105/148 [00:00<00:00, 1401.09it/s, Materializing param=transformer.h.8.mlp.c_fc.bias]
Loading weights: 72%|███████▏ | 106/148 [00:00<00:00, 1410.61it/s, Materializing param=transformer.h.8.mlp.c_fc.weight]
Loading weights: 72%|███████▏ | 106/148 [00:00<00:00, 1407.73it/s, Materializing param=transformer.h.8.mlp.c_fc.weight]
Loading weights: 72%|███████▏ | 107/148 [00:00<00:00, 1417.23it/s, Materializing param=transformer.h.8.mlp.c_proj.bias]
Loading weights: 72%|███████▏ | 107/148 [00:00<00:00, 1414.36it/s, Materializing param=transformer.h.8.mlp.c_proj.bias]
Loading weights: 73%|███████▎ | 108/148 [00:00<00:00, 1423.48it/s, Materializing param=transformer.h.8.mlp.c_proj.weight]
Loading weights: 73%|███████▎ | 108/148 [00:00<00:00, 1420.28it/s, Materializing param=transformer.h.8.mlp.c_proj.weight]
Loading weights: 74%|███████▎ | 109/148 [00:00<00:00, 1429.23it/s, Materializing param=transformer.h.9.attn.c_attn.bias]
Loading weights: 74%|███████▎ | 109/148 [00:00<00:00, 1426.00it/s, Materializing param=transformer.h.9.attn.c_attn.bias]
Loading weights: 74%|███████▍ | 110/148 [00:00<00:00, 1435.07it/s, Materializing param=transformer.h.9.attn.c_attn.weight]
Loading weights: 74%|███████▍ | 110/148 [00:00<00:00, 1431.87it/s, Materializing param=transformer.h.9.attn.c_attn.weight]
Loading weights: 75%|███████▌ | 111/148 [00:00<00:00, 1440.66it/s, Materializing param=transformer.h.9.attn.c_proj.bias]
Loading weights: 75%|███████▌ | 111/148 [00:00<00:00, 1437.44it/s, Materializing param=transformer.h.9.attn.c_proj.bias]
Loading weights: 76%|███████▌ | 112/148 [00:00<00:00, 1446.49it/s, Materializing param=transformer.h.9.attn.c_proj.weight]
Loading weights: 76%|███████▌ | 112/148 [00:00<00:00, 1443.53it/s, Materializing param=transformer.h.9.attn.c_proj.weight]
Loading weights: 76%|███████▋ | 113/148 [00:00<00:00, 1452.37it/s, Materializing param=transformer.h.9.ln_1.bias]
Loading weights: 76%|███████▋ | 113/148 [00:00<00:00, 1449.20it/s, Materializing param=transformer.h.9.ln_1.bias]
Loading weights: 77%|███████▋ | 114/148 [00:00<00:00, 1458.15it/s, Materializing param=transformer.h.9.ln_1.weight]
Loading weights: 77%|███████▋ | 114/148 [00:00<00:00, 1455.10it/s, Materializing param=transformer.h.9.ln_1.weight]
Loading weights: 78%|███████▊ | 115/148 [00:00<00:00, 1463.54it/s, Materializing param=transformer.h.9.ln_2.bias]
Loading weights: 78%|███████▊ | 115/148 [00:00<00:00, 1460.38it/s, Materializing param=transformer.h.9.ln_2.bias]
Loading weights: 78%|███████▊ | 116/148 [00:00<00:00, 1469.22it/s, Materializing param=transformer.h.9.ln_2.weight]
Loading weights: 78%|███████▊ | 116/148 [00:00<00:00, 1466.39it/s, Materializing param=transformer.h.9.ln_2.weight]
Loading weights: 79%|███████▉ | 117/148 [00:00<00:00, 1475.35it/s, Materializing param=transformer.h.9.mlp.c_fc.bias]
Loading weights: 79%|███████▉ | 117/148 [00:00<00:00, 1472.53it/s, Materializing param=transformer.h.9.mlp.c_fc.bias]
Loading weights: 80%|███████▉ | 118/148 [00:00<00:00, 1481.47it/s, Materializing param=transformer.h.9.mlp.c_fc.weight]
Loading weights: 80%|███████▉ | 118/148 [00:00<00:00, 1478.33it/s, Materializing param=transformer.h.9.mlp.c_fc.weight]
Loading weights: 80%|████████ | 119/148 [00:00<00:00, 1487.00it/s, Materializing param=transformer.h.9.mlp.c_proj.bias]
Loading weights: 80%|████████ | 119/148 [00:00<00:00, 1484.14it/s, Materializing param=transformer.h.9.mlp.c_proj.bias]
Loading weights: 81%|████████ | 120/148 [00:00<00:00, 1492.85it/s, Materializing param=transformer.h.9.mlp.c_proj.weight]
Loading weights: 81%|████████ | 120/148 [00:00<00:00, 1489.61it/s, Materializing param=transformer.h.9.mlp.c_proj.weight]
Loading weights: 82%|████████▏ | 121/148 [00:00<00:00, 1498.16it/s, Materializing param=transformer.h.10.attn.c_attn.bias]
Loading weights: 82%|████████▏ | 121/148 [00:00<00:00, 1495.34it/s, Materializing param=transformer.h.10.attn.c_attn.bias]
Loading weights: 82%|████████▏ | 122/148 [00:00<00:00, 1503.88it/s, Materializing param=transformer.h.10.attn.c_attn.weight]
Loading weights: 82%|████████▏ | 122/148 [00:00<00:00, 1501.05it/s, Materializing param=transformer.h.10.attn.c_attn.weight]
Loading weights: 83%|████████▎ | 123/148 [00:00<00:00, 1509.55it/s, Materializing param=transformer.h.10.attn.c_proj.bias]
Loading weights: 83%|████████▎ | 123/148 [00:00<00:00, 1506.71it/s, Materializing param=transformer.h.10.attn.c_proj.bias]
Loading weights: 84%|████████▍ | 124/148 [00:00<00:00, 1514.63it/s, Materializing param=transformer.h.10.attn.c_proj.weight]
Loading weights: 84%|████████▍ | 124/148 [00:00<00:00, 1511.68it/s, Materializing param=transformer.h.10.attn.c_proj.weight]
Loading weights: 84%|████████▍ | 125/148 [00:00<00:00, 1520.08it/s, Materializing param=transformer.h.10.ln_1.bias]
Loading weights: 84%|████████▍ | 125/148 [00:00<00:00, 1517.25it/s, Materializing param=transformer.h.10.ln_1.bias]
Loading weights: 85%|████████▌ | 126/148 [00:00<00:00, 1525.58it/s, Materializing param=transformer.h.10.ln_1.weight]
Loading weights: 85%|████████▌ | 126/148 [00:00<00:00, 1522.72it/s, Materializing param=transformer.h.10.ln_1.weight]
Loading weights: 86%|████████▌ | 127/148 [00:00<00:00, 1531.07it/s, Materializing param=transformer.h.10.ln_2.bias]
Loading weights: 86%|████████▌ | 127/148 [00:00<00:00, 1528.24it/s, Materializing param=transformer.h.10.ln_2.bias]
Loading weights: 86%|████████▋ | 128/148 [00:00<00:00, 1536.27it/s, Materializing param=transformer.h.10.ln_2.weight]
Loading weights: 86%|████████▋ | 128/148 [00:00<00:00, 1533.31it/s, Materializing param=transformer.h.10.ln_2.weight]
Loading weights: 87%|████████▋ | 129/148 [00:00<00:00, 1541.54it/s, Materializing param=transformer.h.10.mlp.c_fc.bias]
Loading weights: 87%|████████▋ | 129/148 [00:00<00:00, 1538.45it/s, Materializing param=transformer.h.10.mlp.c_fc.bias]
Loading weights: 88%|████████▊ | 130/148 [00:00<00:00, 1546.55it/s, Materializing param=transformer.h.10.mlp.c_fc.weight]
Loading weights: 88%|████████▊ | 130/148 [00:00<00:00, 1543.46it/s, Materializing param=transformer.h.10.mlp.c_fc.weight]
Loading weights: 89%|████████▊ | 131/148 [00:00<00:00, 1551.48it/s, Materializing param=transformer.h.10.mlp.c_proj.bias]
Loading weights: 89%|████████▊ | 131/148 [00:00<00:00, 1548.65it/s, Materializing param=transformer.h.10.mlp.c_proj.bias]
Loading weights: 89%|████████▉ | 132/148 [00:00<00:00, 1556.48it/s, Materializing param=transformer.h.10.mlp.c_proj.weight]
Loading weights: 89%|████████▉ | 132/148 [00:00<00:00, 1553.50it/s, Materializing param=transformer.h.10.mlp.c_proj.weight]
Loading weights: 90%|████████▉ | 133/148 [00:00<00:00, 1561.48it/s, Materializing param=transformer.h.11.attn.c_attn.bias]
Loading weights: 90%|████████▉ | 133/148 [00:00<00:00, 1558.38it/s, Materializing param=transformer.h.11.attn.c_attn.bias]
Loading weights: 91%|█████████ | 134/148 [00:00<00:00, 1566.19it/s, Materializing param=transformer.h.11.attn.c_attn.weight]
Loading weights: 91%|█████████ | 134/148 [00:00<00:00, 1563.12it/s, Materializing param=transformer.h.11.attn.c_attn.weight]
Loading weights: 91%|█████████ | 135/148 [00:00<00:00, 1570.80it/s, Materializing param=transformer.h.11.attn.c_proj.bias]
Loading weights: 91%|█████████ | 135/148 [00:00<00:00, 1567.69it/s, Materializing param=transformer.h.11.attn.c_proj.bias]
Loading weights: 92%|█████████▏| 136/148 [00:00<00:00, 1575.47it/s, Materializing param=transformer.h.11.attn.c_proj.weight]
Loading weights: 92%|█████████▏| 136/148 [00:00<00:00, 1572.58it/s, Materializing param=transformer.h.11.attn.c_proj.weight]
Loading weights: 93%|█████████▎| 137/148 [00:00<00:00, 1580.44it/s, Materializing param=transformer.h.11.ln_1.bias]
Loading weights: 93%|█████████▎| 137/148 [00:00<00:00, 1577.65it/s, Materializing param=transformer.h.11.ln_1.bias]
Loading weights: 93%|█████████▎| 138/148 [00:00<00:00, 1585.35it/s, Materializing param=transformer.h.11.ln_1.weight]
Loading weights: 93%|█████████▎| 138/148 [00:00<00:00, 1582.15it/s, Materializing param=transformer.h.11.ln_1.weight]
Loading weights: 94%|█████████▍| 139/148 [00:00<00:00, 1589.84it/s, Materializing param=transformer.h.11.ln_2.bias]
Loading weights: 94%|█████████▍| 139/148 [00:00<00:00, 1587.08it/s, Materializing param=transformer.h.11.ln_2.bias]
Loading weights: 95%|█████████▍| 140/148 [00:00<00:00, 1594.85it/s, Materializing param=transformer.h.11.ln_2.weight]
Loading weights: 95%|█████████▍| 140/148 [00:00<00:00, 1592.09it/s, Materializing param=transformer.h.11.ln_2.weight]
Loading weights: 95%|█████████▌| 141/148 [00:00<00:00, 1599.79it/s, Materializing param=transformer.h.11.mlp.c_fc.bias]
Loading weights: 95%|█████████▌| 141/148 [00:00<00:00, 1596.74it/s, Materializing param=transformer.h.11.mlp.c_fc.bias]
Loading weights: 96%|█████████▌| 142/148 [00:00<00:00, 1603.86it/s, Materializing param=transformer.h.11.mlp.c_fc.weight]
Loading weights: 96%|█████████▌| 142/148 [00:00<00:00, 1601.03it/s, Materializing param=transformer.h.11.mlp.c_fc.weight]
Loading weights: 97%|█████████▋| 143/148 [00:00<00:00, 1608.62it/s, Materializing param=transformer.h.11.mlp.c_proj.bias]
Loading weights: 97%|█████████▋| 143/148 [00:00<00:00, 1605.69it/s, Materializing param=transformer.h.11.mlp.c_proj.bias]
Loading weights: 97%|█████████▋| 144/148 [00:00<00:00, 1613.15it/s, Materializing param=transformer.h.11.mlp.c_proj.weight]
Loading weights: 97%|█████████▋| 144/148 [00:00<00:00, 1610.34it/s, Materializing param=transformer.h.11.mlp.c_proj.weight]
Loading weights: 98%|█████████▊| 145/148 [00:00<00:00, 1617.47it/s, Materializing param=transformer.ln_f.bias]
Loading weights: 98%|█████████▊| 145/148 [00:00<00:00, 1614.19it/s, Materializing param=transformer.ln_f.bias]
Loading weights: 99%|█████████▊| 146/148 [00:00<00:00, 1621.60it/s, Materializing param=transformer.ln_f.weight]
Loading weights: 99%|█████████▊| 146/148 [00:00<00:00, 1618.86it/s, Materializing param=transformer.ln_f.weight]
Loading weights: 99%|█████████▉| 147/148 [00:00<00:00, 1626.52it/s, Materializing param=transformer.wpe.weight]
Loading weights: 99%|█████████▉| 147/148 [00:00<00:00, 1623.77it/s, Materializing param=transformer.wpe.weight]
Loading weights: 100%|██████████| 148/148 [00:00<00:00, 1631.21it/s, Materializing param=transformer.wte.weight]
Loading weights: 100%|██████████| 148/148 [00:00<00:00, 1628.22it/s, Materializing param=transformer.wte.weight]
Loading weights: 100%|██████████| 148/148 [00:00<00:00, 1624.21it/s, Materializing param=transformer.wte.weight]
GPT2LMHeadModel LOAD REPORT from: gpt2
Key | Status | |
---------------------+------------+--+-
h.{0...11}.attn.bias | UNEXPECTED | |
Notes:
- UNEXPECTED :can be ignored when loading from different task/architecture; not ok if you expect identical arch.
Running 5 training steps with memory capture...
Step 1/5, Loss: 12.3107
Step 2/5, Loss: 12.1208
Step 3/5, Loss: 11.8964
Step 4/5, Loss: 11.8080
Step 5/5, Loss: 11.6887
✓ Memory snapshot saved to training_snapshot.pickle
✓ PyTorch reported peak memory: 5.126 GB
Mosaic Memory Analysis via Python API#
Instead of using CLI commands, we can use Mosaic’s Python API directly for programmatic integration.
if HAS_CUDA:
print("\n" + "=" * 60)
print("MOSAIC MEMORY ANALYSIS (via Python API)")
print("=" * 60)
# Load and analyze the memory snapshot
memory_abstract = MemoryAbstract(memory_snapshot_file=pipeline_snapshot_path)
memory_abstract.load_memory_snapshot()
# Analyze peak memory usage
memory_abstract.memory_snapshot.analyze_memory_snapshot(opt="memory_peak")
# Get results
dynamic_peak = memory_abstract.memory_snapshot.dynamic_memory_peak
static_memory = memory_abstract.memory_snapshot.static_memory
overall_peak = dynamic_peak + static_memory
print(f"Peak dynamic memory: {dynamic_peak / 1024**3:.3f} GiB")
print(f"Static memory: {static_memory / 1024**3:.3f} GiB")
print(f"Overall peak memory: {overall_peak / 1024**3:.3f} GiB")
print("✓ Analysis complete using Mosaic Python API")
============================================================
MOSAIC MEMORY ANALYSIS (via Python API)
============================================================
Peak dynamic memory: 4.620 GiB
Static memory: 0.495 GiB
Overall peak memory: 5.115 GiB
✓ Analysis complete using Mosaic Python API
Reusable Memory Analysis Function#
Create a reusable function for analyzing training memory snapshots.
def analyze_training_memory(snapshot_path):
"""Analyze a memory snapshot using Mosaic's Python API.
Returns a structured dictionary with memory breakdown.
Args:
snapshot_path: Path to the memory snapshot pickle file.
Returns:
Dictionary containing memory analysis results.
"""
# Load snapshot
memory_abstract = MemoryAbstract(memory_snapshot_file=snapshot_path)
memory_abstract.load_memory_snapshot()
# Analyze peak memory
memory_abstract.memory_snapshot.analyze_memory_snapshot(opt="memory_peak")
# Extract results
dynamic_peak = memory_abstract.memory_snapshot.dynamic_memory_peak
static_memory = memory_abstract.memory_snapshot.static_memory
overall_peak = dynamic_peak + static_memory
return {
"snapshot_path": snapshot_path,
"dynamic_peak_memory_bytes": dynamic_peak,
"static_memory_bytes": static_memory,
"overall_peak_memory_bytes": overall_peak,
"dynamic_peak_memory_gib": dynamic_peak / 1024**3,
"static_memory_gib": static_memory / 1024**3,
"overall_peak_memory_gib": overall_peak / 1024**3,
}
if HAS_CUDA:
analysis = analyze_training_memory(pipeline_snapshot_path)
print("\nMemory Analysis Result:")
for key, value in analysis.items():
print(f" {key}: {value}")
Memory Analysis Result:
snapshot_path: training_snapshot.pickle
dynamic_peak_memory_bytes: 4960794632
static_memory_bytes: 531589120
overall_peak_memory_bytes: 5492383752
dynamic_peak_memory_gib: 4.620100028812885
static_memory_gib: 0.49508094787597656
overall_peak_memory_gib: 5.115180976688862
Complete Training Pipeline with Memory Monitoring#
This demonstrates a production-ready training pipeline with integrated Mosaic memory monitoring that can be used in CI/CD, monitoring dashboards, or capacity planning.
def training_pipeline_with_memory_monitoring(
model_name: str,
batch_size: int,
seq_length: int,
num_steps: int = 5,
snapshot_path: str = "pipeline_snapshot.pickle",
) -> dict:
"""Complete training pipeline with integrated Mosaic memory monitoring.
Can be integrated into CI/CD, monitoring dashboards, or capacity planning.
Args:
model_name: HuggingFace model name to use.
batch_size: Training batch size.
seq_length: Sequence length for input tokens.
num_steps: Number of training steps.
snapshot_path: Path to save the memory snapshot.
Returns:
Dictionary containing training and memory analysis report.
"""
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
# Setup
print(f"Loading model: {model_name}")
model = GPT2LMHeadModel.from_pretrained(model_name).to(device)
model.train()
optimizer = torch.optim.AdamW(model.parameters(), lr=1e-5)
tokenizer = GPT2Tokenizer.from_pretrained(model_name)
torch.cuda.empty_cache()
torch.cuda.reset_peak_memory_stats()
# Training with memory capture
print(f"Running {num_steps} training steps...")
with capture_memory_snapshot(snapshot_path):
for step in range(num_steps):
input_ids = torch.randint(
0, tokenizer.vocab_size, (batch_size, seq_length)
).to(device)
outputs = model(input_ids=input_ids, labels=input_ids)
outputs.loss.backward()
optimizer.step()
optimizer.zero_grad()
print(f" Step {step + 1}/{num_steps}, Loss: {outputs.loss.item():.4f}")
pytorch_peak_gb = torch.cuda.max_memory_allocated() / 1024**3
# Mosaic analysis using Python API
print("Analyzing memory with Mosaic...")
memory_abstract = MemoryAbstract(memory_snapshot_file=snapshot_path)
memory_abstract.load_memory_snapshot()
memory_abstract.memory_snapshot.analyze_memory_snapshot(opt="memory_peak")
dynamic_peak = memory_abstract.memory_snapshot.dynamic_memory_peak
static_memory = memory_abstract.memory_snapshot.static_memory
overall_peak = dynamic_peak + static_memory
report = {
"model": model_name,
"config": {
"batch_size": batch_size,
"seq_length": seq_length,
"num_steps": num_steps,
},
"pytorch_peak_memory_gb": pytorch_peak_gb,
"mosaic_analysis": {
"dynamic_peak_gib": dynamic_peak / 1024**3,
"static_memory_gib": static_memory / 1024**3,
"overall_peak_gib": overall_peak / 1024**3,
},
"snapshot_path": snapshot_path,
}
del model, optimizer
torch.cuda.empty_cache()
return report
# Run the pipeline
if HAS_CUDA:
report = training_pipeline_with_memory_monitoring(
"gpt2", batch_size=4, seq_length=512, num_steps=5
)
print("\n" + "=" * 60)
print("PIPELINE REPORT")
print("=" * 60)
print(f"Model: {report['model']}")
print(f"Config: {report['config']}")
print(f"PyTorch Peak Memory: {report['pytorch_peak_memory_gb']:.3f} GB")
print(f"Mosaic Dynamic Peak: {report['mosaic_analysis']['dynamic_peak_gib']:.3f} GiB")
print(f"Mosaic Overall Peak: {report['mosaic_analysis']['overall_peak_gib']:.3f} GiB")
Loading model: gpt2
Loading weights: 0%| | 0/148 [00:00<?, ?it/s]
Loading weights: 1%| | 1/148 [00:00<00:00, 57456.22it/s, Materializing param=transformer.h.0.attn.c_attn.bias]
Loading weights: 1%| | 1/148 [00:00<00:00, 5084.00it/s, Materializing param=transformer.h.0.attn.c_attn.bias]
Loading weights: 1%|▏ | 2/148 [00:00<00:00, 4398.85it/s, Materializing param=transformer.h.0.attn.c_attn.weight]
Loading weights: 1%|▏ | 2/148 [00:00<00:00, 3019.66it/s, Materializing param=transformer.h.0.attn.c_attn.weight]
Loading weights: 2%|▏ | 3/148 [00:00<00:00, 3106.12it/s, Materializing param=transformer.h.0.attn.c_proj.bias]
Loading weights: 2%|▏ | 3/148 [00:00<00:00, 2639.59it/s, Materializing param=transformer.h.0.attn.c_proj.bias]
Loading weights: 3%|▎ | 4/148 [00:00<00:00, 1711.44it/s, Materializing param=transformer.h.0.attn.c_proj.weight]
Loading weights: 3%|▎ | 4/148 [00:00<00:00, 1557.19it/s, Materializing param=transformer.h.0.attn.c_proj.weight]
Loading weights: 3%|▎ | 5/148 [00:00<00:00, 1711.96it/s, Materializing param=transformer.h.0.ln_1.bias]
Loading weights: 3%|▎ | 5/148 [00:00<00:00, 1617.17it/s, Materializing param=transformer.h.0.ln_1.bias]
Loading weights: 4%|▍ | 6/148 [00:00<00:00, 1578.19it/s, Materializing param=transformer.h.0.ln_1.weight]
Loading weights: 4%|▍ | 6/148 [00:00<00:00, 1510.46it/s, Materializing param=transformer.h.0.ln_1.weight]
Loading weights: 5%|▍ | 7/148 [00:00<00:00, 1573.09it/s, Materializing param=transformer.h.0.ln_2.bias]
Loading weights: 5%|▍ | 7/148 [00:00<00:00, 1504.41it/s, Materializing param=transformer.h.0.ln_2.bias]
Loading weights: 5%|▌ | 8/148 [00:00<00:00, 1230.68it/s, Materializing param=transformer.h.0.ln_2.weight]
Loading weights: 5%|▌ | 8/148 [00:00<00:00, 1148.34it/s, Materializing param=transformer.h.0.ln_2.weight]
Loading weights: 6%|▌ | 9/148 [00:00<00:00, 1171.34it/s, Materializing param=transformer.h.0.mlp.c_fc.bias]
Loading weights: 6%|▌ | 9/148 [00:00<00:00, 1112.74it/s, Materializing param=transformer.h.0.mlp.c_fc.bias]
Loading weights: 7%|▋ | 10/148 [00:00<00:00, 996.44it/s, Materializing param=transformer.h.0.mlp.c_fc.weight]
Loading weights: 7%|▋ | 10/148 [00:00<00:00, 976.99it/s, Materializing param=transformer.h.0.mlp.c_fc.weight]
Loading weights: 7%|▋ | 11/148 [00:00<00:00, 920.72it/s, Materializing param=transformer.h.0.mlp.c_proj.bias]
Loading weights: 7%|▋ | 11/148 [00:00<00:00, 903.71it/s, Materializing param=transformer.h.0.mlp.c_proj.bias]
Loading weights: 8%|▊ | 12/148 [00:00<00:00, 885.76it/s, Materializing param=transformer.h.0.mlp.c_proj.weight]
Loading weights: 8%|▊ | 12/148 [00:00<00:00, 853.19it/s, Materializing param=transformer.h.0.mlp.c_proj.weight]
Loading weights: 9%|▉ | 13/148 [00:00<00:00, 883.60it/s, Materializing param=transformer.h.1.attn.c_attn.bias]
Loading weights: 9%|▉ | 13/148 [00:00<00:00, 853.30it/s, Materializing param=transformer.h.1.attn.c_attn.bias]
Loading weights: 9%|▉ | 14/148 [00:00<00:00, 844.85it/s, Materializing param=transformer.h.1.attn.c_attn.weight]
Loading weights: 9%|▉ | 14/148 [00:00<00:00, 835.00it/s, Materializing param=transformer.h.1.attn.c_attn.weight]
Loading weights: 10%|█ | 15/148 [00:00<00:00, 873.10it/s, Materializing param=transformer.h.1.attn.c_proj.bias]
Loading weights: 10%|█ | 15/148 [00:00<00:00, 832.61it/s, Materializing param=transformer.h.1.attn.c_proj.bias]
Loading weights: 11%|█ | 16/148 [00:00<00:00, 856.19it/s, Materializing param=transformer.h.1.attn.c_proj.weight]
Loading weights: 11%|█ | 16/148 [00:00<00:00, 824.17it/s, Materializing param=transformer.h.1.attn.c_proj.weight]
Loading weights: 11%|█▏ | 17/148 [00:00<00:00, 814.65it/s, Materializing param=transformer.h.1.ln_1.bias]
Loading weights: 11%|█▏ | 17/148 [00:00<00:00, 796.56it/s, Materializing param=transformer.h.1.ln_1.bias]
Loading weights: 12%|█▏ | 18/148 [00:00<00:00, 831.09it/s, Materializing param=transformer.h.1.ln_1.weight]
Loading weights: 12%|█▏ | 18/148 [00:00<00:00, 816.26it/s, Materializing param=transformer.h.1.ln_1.weight]
Loading weights: 13%|█▎ | 19/148 [00:00<00:00, 832.72it/s, Materializing param=transformer.h.1.ln_2.bias]
Loading weights: 13%|█▎ | 19/148 [00:00<00:00, 820.09it/s, Materializing param=transformer.h.1.ln_2.bias]
Loading weights: 14%|█▎ | 20/148 [00:00<00:00, 805.80it/s, Materializing param=transformer.h.1.ln_2.weight]
Loading weights: 14%|█▎ | 20/148 [00:00<00:00, 799.26it/s, Materializing param=transformer.h.1.ln_2.weight]
Loading weights: 14%|█▍ | 21/148 [00:00<00:00, 821.61it/s, Materializing param=transformer.h.1.mlp.c_fc.bias]
Loading weights: 14%|█▍ | 21/148 [00:00<00:00, 815.68it/s, Materializing param=transformer.h.1.mlp.c_fc.bias]
Loading weights: 15%|█▍ | 22/148 [00:00<00:00, 829.88it/s, Materializing param=transformer.h.1.mlp.c_fc.weight]
Loading weights: 15%|█▍ | 22/148 [00:00<00:00, 809.65it/s, Materializing param=transformer.h.1.mlp.c_fc.weight]
Loading weights: 16%|█▌ | 23/148 [00:00<00:00, 832.53it/s, Materializing param=transformer.h.1.mlp.c_proj.bias]
Loading weights: 16%|█▌ | 23/148 [00:00<00:00, 794.87it/s, Materializing param=transformer.h.1.mlp.c_proj.bias]
Loading weights: 16%|█▌ | 24/148 [00:00<00:00, 817.61it/s, Materializing param=transformer.h.1.mlp.c_proj.weight]
Loading weights: 16%|█▌ | 24/148 [00:00<00:00, 812.32it/s, Materializing param=transformer.h.1.mlp.c_proj.weight]
Loading weights: 17%|█▋ | 25/148 [00:00<00:00, 829.31it/s, Materializing param=transformer.h.2.attn.c_attn.bias]
Loading weights: 17%|█▋ | 25/148 [00:00<00:00, 787.07it/s, Materializing param=transformer.h.2.attn.c_attn.bias]
Loading weights: 18%|█▊ | 26/148 [00:00<00:00, 803.65it/s, Materializing param=transformer.h.2.attn.c_attn.weight]
Loading weights: 18%|█▊ | 26/148 [00:00<00:00, 798.51it/s, Materializing param=transformer.h.2.attn.c_attn.weight]
Loading weights: 18%|█▊ | 27/148 [00:00<00:00, 767.99it/s, Materializing param=transformer.h.2.attn.c_proj.bias]
Loading weights: 18%|█▊ | 27/148 [00:00<00:00, 763.70it/s, Materializing param=transformer.h.2.attn.c_proj.bias]
Loading weights: 19%|█▉ | 28/148 [00:00<00:00, 770.17it/s, Materializing param=transformer.h.2.attn.c_proj.weight]
Loading weights: 19%|█▉ | 28/148 [00:00<00:00, 750.59it/s, Materializing param=transformer.h.2.attn.c_proj.weight]
Loading weights: 20%|█▉ | 29/148 [00:00<00:00, 770.37it/s, Materializing param=transformer.h.2.ln_1.bias]
Loading weights: 20%|█▉ | 29/148 [00:00<00:00, 759.82it/s, Materializing param=transformer.h.2.ln_1.bias]
Loading weights: 20%|██ | 30/148 [00:00<00:00, 774.50it/s, Materializing param=transformer.h.2.ln_1.weight]
Loading weights: 20%|██ | 30/148 [00:00<00:00, 770.72it/s, Materializing param=transformer.h.2.ln_1.weight]
Loading weights: 21%|██ | 31/148 [00:00<00:00, 777.56it/s, Materializing param=transformer.h.2.ln_2.bias]
Loading weights: 21%|██ | 31/148 [00:00<00:00, 760.02it/s, Materializing param=transformer.h.2.ln_2.bias]
Loading weights: 22%|██▏ | 32/148 [00:00<00:00, 778.14it/s, Materializing param=transformer.h.2.ln_2.weight]
Loading weights: 22%|██▏ | 32/148 [00:00<00:00, 769.61it/s, Materializing param=transformer.h.2.ln_2.weight]
Loading weights: 22%|██▏ | 33/148 [00:00<00:00, 776.51it/s, Materializing param=transformer.h.2.mlp.c_fc.bias]
Loading weights: 22%|██▏ | 33/148 [00:00<00:00, 765.51it/s, Materializing param=transformer.h.2.mlp.c_fc.bias]
Loading weights: 23%|██▎ | 34/148 [00:00<00:00, 769.48it/s, Materializing param=transformer.h.2.mlp.c_fc.weight]
Loading weights: 23%|██▎ | 34/148 [00:00<00:00, 748.06it/s, Materializing param=transformer.h.2.mlp.c_fc.weight]
Loading weights: 24%|██▎ | 35/148 [00:00<00:00, 749.06it/s, Materializing param=transformer.h.2.mlp.c_proj.bias]
Loading weights: 24%|██▎ | 35/148 [00:00<00:00, 734.85it/s, Materializing param=transformer.h.2.mlp.c_proj.bias]
Loading weights: 24%|██▍ | 36/148 [00:00<00:00, 747.38it/s, Materializing param=transformer.h.2.mlp.c_proj.weight]
Loading weights: 24%|██▍ | 36/148 [00:00<00:00, 737.93it/s, Materializing param=transformer.h.2.mlp.c_proj.weight]
Loading weights: 25%|██▌ | 37/148 [00:00<00:00, 753.71it/s, Materializing param=transformer.h.3.attn.c_attn.bias]
Loading weights: 25%|██▌ | 37/148 [00:00<00:00, 750.66it/s, Materializing param=transformer.h.3.attn.c_attn.bias]
Loading weights: 26%|██▌ | 38/148 [00:00<00:00, 766.33it/s, Materializing param=transformer.h.3.attn.c_attn.weight]
Loading weights: 26%|██▌ | 38/148 [00:00<00:00, 763.25it/s, Materializing param=transformer.h.3.attn.c_attn.weight]
Loading weights: 26%|██▋ | 39/148 [00:00<00:00, 778.75it/s, Materializing param=transformer.h.3.attn.c_proj.bias]
Loading weights: 26%|██▋ | 39/148 [00:00<00:00, 775.65it/s, Materializing param=transformer.h.3.attn.c_proj.bias]
Loading weights: 27%|██▋ | 40/148 [00:00<00:00, 791.05it/s, Materializing param=transformer.h.3.attn.c_proj.weight]
Loading weights: 27%|██▋ | 40/148 [00:00<00:00, 787.98it/s, Materializing param=transformer.h.3.attn.c_proj.weight]
Loading weights: 28%|██▊ | 41/148 [00:00<00:00, 803.19it/s, Materializing param=transformer.h.3.ln_1.bias]
Loading weights: 28%|██▊ | 41/148 [00:00<00:00, 800.09it/s, Materializing param=transformer.h.3.ln_1.bias]
Loading weights: 28%|██▊ | 42/148 [00:00<00:00, 814.81it/s, Materializing param=transformer.h.3.ln_1.weight]
Loading weights: 28%|██▊ | 42/148 [00:00<00:00, 811.73it/s, Materializing param=transformer.h.3.ln_1.weight]
Loading weights: 29%|██▉ | 43/148 [00:00<00:00, 826.58it/s, Materializing param=transformer.h.3.ln_2.bias]
Loading weights: 29%|██▉ | 43/148 [00:00<00:00, 823.52it/s, Materializing param=transformer.h.3.ln_2.bias]
Loading weights: 30%|██▉ | 44/148 [00:00<00:00, 838.19it/s, Materializing param=transformer.h.3.ln_2.weight]
Loading weights: 30%|██▉ | 44/148 [00:00<00:00, 834.84it/s, Materializing param=transformer.h.3.ln_2.weight]
Loading weights: 30%|███ | 45/148 [00:00<00:00, 849.16it/s, Materializing param=transformer.h.3.mlp.c_fc.bias]
Loading weights: 30%|███ | 45/148 [00:00<00:00, 846.04it/s, Materializing param=transformer.h.3.mlp.c_fc.bias]
Loading weights: 31%|███ | 46/148 [00:00<00:00, 859.57it/s, Materializing param=transformer.h.3.mlp.c_fc.weight]
Loading weights: 31%|███ | 46/148 [00:00<00:00, 856.93it/s, Materializing param=transformer.h.3.mlp.c_fc.weight]
Loading weights: 32%|███▏ | 47/148 [00:00<00:00, 872.18it/s, Materializing param=transformer.h.3.mlp.c_proj.bias]
Loading weights: 32%|███▏ | 47/148 [00:00<00:00, 869.71it/s, Materializing param=transformer.h.3.mlp.c_proj.bias]
Loading weights: 32%|███▏ | 48/148 [00:00<00:00, 884.88it/s, Materializing param=transformer.h.3.mlp.c_proj.weight]
Loading weights: 32%|███▏ | 48/148 [00:00<00:00, 882.32it/s, Materializing param=transformer.h.3.mlp.c_proj.weight]
Loading weights: 33%|███▎ | 49/148 [00:00<00:00, 897.39it/s, Materializing param=transformer.h.4.attn.c_attn.bias]
Loading weights: 33%|███▎ | 49/148 [00:00<00:00, 894.91it/s, Materializing param=transformer.h.4.attn.c_attn.bias]
Loading weights: 34%|███▍ | 50/148 [00:00<00:00, 909.82it/s, Materializing param=transformer.h.4.attn.c_attn.weight]
Loading weights: 34%|███▍ | 50/148 [00:00<00:00, 907.30it/s, Materializing param=transformer.h.4.attn.c_attn.weight]
Loading weights: 34%|███▍ | 51/148 [00:00<00:00, 922.07it/s, Materializing param=transformer.h.4.attn.c_proj.bias]
Loading weights: 34%|███▍ | 51/148 [00:00<00:00, 919.51it/s, Materializing param=transformer.h.4.attn.c_proj.bias]
Loading weights: 35%|███▌ | 52/148 [00:00<00:00, 934.11it/s, Materializing param=transformer.h.4.attn.c_proj.weight]
Loading weights: 35%|███▌ | 52/148 [00:00<00:00, 931.57it/s, Materializing param=transformer.h.4.attn.c_proj.weight]
Loading weights: 36%|███▌ | 53/148 [00:00<00:00, 946.11it/s, Materializing param=transformer.h.4.ln_1.bias]
Loading weights: 36%|███▌ | 53/148 [00:00<00:00, 943.50it/s, Materializing param=transformer.h.4.ln_1.bias]
Loading weights: 36%|███▋ | 54/148 [00:00<00:00, 957.86it/s, Materializing param=transformer.h.4.ln_1.weight]
Loading weights: 36%|███▋ | 54/148 [00:00<00:00, 955.10it/s, Materializing param=transformer.h.4.ln_1.weight]
Loading weights: 37%|███▋ | 55/148 [00:00<00:00, 969.34it/s, Materializing param=transformer.h.4.ln_2.bias]
Loading weights: 37%|███▋ | 55/148 [00:00<00:00, 966.74it/s, Materializing param=transformer.h.4.ln_2.bias]
Loading weights: 38%|███▊ | 56/148 [00:00<00:00, 980.88it/s, Materializing param=transformer.h.4.ln_2.weight]
Loading weights: 38%|███▊ | 56/148 [00:00<00:00, 978.32it/s, Materializing param=transformer.h.4.ln_2.weight]
Loading weights: 39%|███▊ | 57/148 [00:00<00:00, 991.89it/s, Materializing param=transformer.h.4.mlp.c_fc.bias]
Loading weights: 39%|███▊ | 57/148 [00:00<00:00, 989.23it/s, Materializing param=transformer.h.4.mlp.c_fc.bias]
Loading weights: 39%|███▉ | 58/148 [00:00<00:00, 1003.07it/s, Materializing param=transformer.h.4.mlp.c_fc.weight]
Loading weights: 39%|███▉ | 58/148 [00:00<00:00, 1000.44it/s, Materializing param=transformer.h.4.mlp.c_fc.weight]
Loading weights: 40%|███▉ | 59/148 [00:00<00:00, 1014.02it/s, Materializing param=transformer.h.4.mlp.c_proj.bias]
Loading weights: 40%|███▉ | 59/148 [00:00<00:00, 1010.89it/s, Materializing param=transformer.h.4.mlp.c_proj.bias]
Loading weights: 41%|████ | 60/148 [00:00<00:00, 1024.22it/s, Materializing param=transformer.h.4.mlp.c_proj.weight]
Loading weights: 41%|████ | 60/148 [00:00<00:00, 1021.54it/s, Materializing param=transformer.h.4.mlp.c_proj.weight]
Loading weights: 41%|████ | 61/148 [00:00<00:00, 1034.99it/s, Materializing param=transformer.h.5.attn.c_attn.bias]
Loading weights: 41%|████ | 61/148 [00:00<00:00, 1032.30it/s, Materializing param=transformer.h.5.attn.c_attn.bias]
Loading weights: 42%|████▏ | 62/148 [00:00<00:00, 1045.31it/s, Materializing param=transformer.h.5.attn.c_attn.weight]
Loading weights: 42%|████▏ | 62/148 [00:00<00:00, 1042.54it/s, Materializing param=transformer.h.5.attn.c_attn.weight]
Loading weights: 43%|████▎ | 63/148 [00:00<00:00, 1055.72it/s, Materializing param=transformer.h.5.attn.c_proj.bias]
Loading weights: 43%|████▎ | 63/148 [00:00<00:00, 1053.02it/s, Materializing param=transformer.h.5.attn.c_proj.bias]
Loading weights: 43%|████▎ | 64/148 [00:00<00:00, 1066.13it/s, Materializing param=transformer.h.5.attn.c_proj.weight]
Loading weights: 43%|████▎ | 64/148 [00:00<00:00, 1063.45it/s, Materializing param=transformer.h.5.attn.c_proj.weight]
Loading weights: 44%|████▍ | 65/148 [00:00<00:00, 1076.37it/s, Materializing param=transformer.h.5.ln_1.bias]
Loading weights: 44%|████▍ | 65/148 [00:00<00:00, 1073.47it/s, Materializing param=transformer.h.5.ln_1.bias]
Loading weights: 45%|████▍ | 66/148 [00:00<00:00, 1086.49it/s, Materializing param=transformer.h.5.ln_1.weight]
Loading weights: 45%|████▍ | 66/148 [00:00<00:00, 1083.78it/s, Materializing param=transformer.h.5.ln_1.weight]
Loading weights: 45%|████▌ | 67/148 [00:00<00:00, 1096.58it/s, Materializing param=transformer.h.5.ln_2.bias]
Loading weights: 45%|████▌ | 67/148 [00:00<00:00, 1093.86it/s, Materializing param=transformer.h.5.ln_2.bias]
Loading weights: 46%|████▌ | 68/148 [00:00<00:00, 1106.10it/s, Materializing param=transformer.h.5.ln_2.weight]
Loading weights: 46%|████▌ | 68/148 [00:00<00:00, 1103.38it/s, Materializing param=transformer.h.5.ln_2.weight]
Loading weights: 47%|████▋ | 69/148 [00:00<00:00, 1116.03it/s, Materializing param=transformer.h.5.mlp.c_fc.bias]
Loading weights: 47%|████▋ | 69/148 [00:00<00:00, 1113.30it/s, Materializing param=transformer.h.5.mlp.c_fc.bias]
Loading weights: 47%|████▋ | 70/148 [00:00<00:00, 1125.79it/s, Materializing param=transformer.h.5.mlp.c_fc.weight]
Loading weights: 47%|████▋ | 70/148 [00:00<00:00, 1123.05it/s, Materializing param=transformer.h.5.mlp.c_fc.weight]
Loading weights: 48%|████▊ | 71/148 [00:00<00:00, 1135.33it/s, Materializing param=transformer.h.5.mlp.c_proj.bias]
Loading weights: 48%|████▊ | 71/148 [00:00<00:00, 1132.57it/s, Materializing param=transformer.h.5.mlp.c_proj.bias]
Loading weights: 49%|████▊ | 72/148 [00:00<00:00, 1144.82it/s, Materializing param=transformer.h.5.mlp.c_proj.weight]
Loading weights: 49%|████▊ | 72/148 [00:00<00:00, 1142.03it/s, Materializing param=transformer.h.5.mlp.c_proj.weight]
Loading weights: 49%|████▉ | 73/148 [00:00<00:00, 1154.15it/s, Materializing param=transformer.h.6.attn.c_attn.bias]
Loading weights: 49%|████▉ | 73/148 [00:00<00:00, 1151.36it/s, Materializing param=transformer.h.6.attn.c_attn.bias]
Loading weights: 50%|█████ | 74/148 [00:00<00:00, 1163.34it/s, Materializing param=transformer.h.6.attn.c_attn.weight]
Loading weights: 50%|█████ | 74/148 [00:00<00:00, 1160.28it/s, Materializing param=transformer.h.6.attn.c_attn.weight]
Loading weights: 51%|█████ | 75/148 [00:00<00:00, 1172.13it/s, Materializing param=transformer.h.6.attn.c_proj.bias]
Loading weights: 51%|█████ | 75/148 [00:00<00:00, 1169.34it/s, Materializing param=transformer.h.6.attn.c_proj.bias]
Loading weights: 51%|█████▏ | 76/148 [00:00<00:00, 1181.31it/s, Materializing param=transformer.h.6.attn.c_proj.weight]
Loading weights: 51%|█████▏ | 76/148 [00:00<00:00, 1178.41it/s, Materializing param=transformer.h.6.attn.c_proj.weight]
Loading weights: 52%|█████▏ | 77/148 [00:00<00:00, 1189.92it/s, Materializing param=transformer.h.6.ln_1.bias]
Loading weights: 52%|█████▏ | 77/148 [00:00<00:00, 1186.84it/s, Materializing param=transformer.h.6.ln_1.bias]
Loading weights: 53%|█████▎ | 78/148 [00:00<00:00, 1198.42it/s, Materializing param=transformer.h.6.ln_1.weight]
Loading weights: 53%|█████▎ | 78/148 [00:00<00:00, 1195.65it/s, Materializing param=transformer.h.6.ln_1.weight]
Loading weights: 53%|█████▎ | 79/148 [00:00<00:00, 1207.41it/s, Materializing param=transformer.h.6.ln_2.bias]
Loading weights: 53%|█████▎ | 79/148 [00:00<00:00, 1204.34it/s, Materializing param=transformer.h.6.ln_2.bias]
Loading weights: 54%|█████▍ | 80/148 [00:00<00:00, 1215.79it/s, Materializing param=transformer.h.6.ln_2.weight]
Loading weights: 54%|█████▍ | 80/148 [00:00<00:00, 1212.78it/s, Materializing param=transformer.h.6.ln_2.weight]
Loading weights: 55%|█████▍ | 81/148 [00:00<00:00, 1223.86it/s, Materializing param=transformer.h.6.mlp.c_fc.bias]
Loading weights: 55%|█████▍ | 81/148 [00:00<00:00, 1220.69it/s, Materializing param=transformer.h.6.mlp.c_fc.bias]
Loading weights: 55%|█████▌ | 82/148 [00:00<00:00, 1231.66it/s, Materializing param=transformer.h.6.mlp.c_fc.weight]
Loading weights: 55%|█████▌ | 82/148 [00:00<00:00, 1228.71it/s, Materializing param=transformer.h.6.mlp.c_fc.weight]
Loading weights: 56%|█████▌ | 83/148 [00:00<00:00, 1239.93it/s, Materializing param=transformer.h.6.mlp.c_proj.bias]
Loading weights: 56%|█████▌ | 83/148 [00:00<00:00, 1237.13it/s, Materializing param=transformer.h.6.mlp.c_proj.bias]
Loading weights: 57%|█████▋ | 84/148 [00:00<00:00, 1247.78it/s, Materializing param=transformer.h.6.mlp.c_proj.weight]
Loading weights: 57%|█████▋ | 84/148 [00:00<00:00, 1244.57it/s, Materializing param=transformer.h.6.mlp.c_proj.weight]
Loading weights: 57%|█████▋ | 85/148 [00:00<00:00, 1255.48it/s, Materializing param=transformer.h.7.attn.c_attn.bias]
Loading weights: 57%|█████▋ | 85/148 [00:00<00:00, 1252.62it/s, Materializing param=transformer.h.7.attn.c_attn.bias]
Loading weights: 58%|█████▊ | 86/148 [00:00<00:00, 1263.27it/s, Materializing param=transformer.h.7.attn.c_attn.weight]
Loading weights: 58%|█████▊ | 86/148 [00:00<00:00, 1260.31it/s, Materializing param=transformer.h.7.attn.c_attn.weight]
Loading weights: 59%|█████▉ | 87/148 [00:00<00:00, 1271.10it/s, Materializing param=transformer.h.7.attn.c_proj.bias]
Loading weights: 59%|█████▉ | 87/148 [00:00<00:00, 1267.76it/s, Materializing param=transformer.h.7.attn.c_proj.bias]
Loading weights: 59%|█████▉ | 88/148 [00:00<00:00, 1278.35it/s, Materializing param=transformer.h.7.attn.c_proj.weight]
Loading weights: 59%|█████▉ | 88/148 [00:00<00:00, 1275.20it/s, Materializing param=transformer.h.7.attn.c_proj.weight]
Loading weights: 60%|██████ | 89/148 [00:00<00:00, 1285.48it/s, Materializing param=transformer.h.7.ln_1.bias]
Loading weights: 60%|██████ | 89/148 [00:00<00:00, 1282.30it/s, Materializing param=transformer.h.7.ln_1.bias]
Loading weights: 61%|██████ | 90/148 [00:00<00:00, 1292.88it/s, Materializing param=transformer.h.7.ln_1.weight]
Loading weights: 61%|██████ | 90/148 [00:00<00:00, 1290.04it/s, Materializing param=transformer.h.7.ln_1.weight]
Loading weights: 61%|██████▏ | 91/148 [00:00<00:00, 1300.63it/s, Materializing param=transformer.h.7.ln_2.bias]
Loading weights: 61%|██████▏ | 91/148 [00:00<00:00, 1297.50it/s, Materializing param=transformer.h.7.ln_2.bias]
Loading weights: 62%|██████▏ | 92/148 [00:00<00:00, 1307.83it/s, Materializing param=transformer.h.7.ln_2.weight]
Loading weights: 62%|██████▏ | 92/148 [00:00<00:00, 1304.99it/s, Materializing param=transformer.h.7.ln_2.weight]
Loading weights: 63%|██████▎ | 93/148 [00:00<00:00, 1315.38it/s, Materializing param=transformer.h.7.mlp.c_fc.bias]
Loading weights: 63%|██████▎ | 93/148 [00:00<00:00, 1312.54it/s, Materializing param=transformer.h.7.mlp.c_fc.bias]
Loading weights: 64%|██████▎ | 94/148 [00:00<00:00, 1322.94it/s, Materializing param=transformer.h.7.mlp.c_fc.weight]
Loading weights: 64%|██████▎ | 94/148 [00:00<00:00, 1320.10it/s, Materializing param=transformer.h.7.mlp.c_fc.weight]
Loading weights: 64%|██████▍ | 95/148 [00:00<00:00, 1329.83it/s, Materializing param=transformer.h.7.mlp.c_proj.bias]
Loading weights: 64%|██████▍ | 95/148 [00:00<00:00, 1326.91it/s, Materializing param=transformer.h.7.mlp.c_proj.bias]
Loading weights: 65%|██████▍ | 96/148 [00:00<00:00, 1336.69it/s, Materializing param=transformer.h.7.mlp.c_proj.weight]
Loading weights: 65%|██████▍ | 96/148 [00:00<00:00, 1333.84it/s, Materializing param=transformer.h.7.mlp.c_proj.weight]
Loading weights: 66%|██████▌ | 97/148 [00:00<00:00, 1343.88it/s, Materializing param=transformer.h.8.attn.c_attn.bias]
Loading weights: 66%|██████▌ | 97/148 [00:00<00:00, 1340.63it/s, Materializing param=transformer.h.8.attn.c_attn.bias]
Loading weights: 66%|██████▌ | 98/148 [00:00<00:00, 1350.38it/s, Materializing param=transformer.h.8.attn.c_attn.weight]
Loading weights: 66%|██████▌ | 98/148 [00:00<00:00, 1347.48it/s, Materializing param=transformer.h.8.attn.c_attn.weight]
Loading weights: 67%|██████▋ | 99/148 [00:00<00:00, 1357.36it/s, Materializing param=transformer.h.8.attn.c_proj.bias]
Loading weights: 67%|██████▋ | 99/148 [00:00<00:00, 1354.51it/s, Materializing param=transformer.h.8.attn.c_proj.bias]
Loading weights: 68%|██████▊ | 100/148 [00:00<00:00, 1364.34it/s, Materializing param=transformer.h.8.attn.c_proj.weight]
Loading weights: 68%|██████▊ | 100/148 [00:00<00:00, 1361.16it/s, Materializing param=transformer.h.8.attn.c_proj.weight]
Loading weights: 68%|██████▊ | 101/148 [00:00<00:00, 1370.72it/s, Materializing param=transformer.h.8.ln_1.bias]
Loading weights: 68%|██████▊ | 101/148 [00:00<00:00, 1367.59it/s, Materializing param=transformer.h.8.ln_1.bias]
Loading weights: 69%|██████▉ | 102/148 [00:00<00:00, 1377.30it/s, Materializing param=transformer.h.8.ln_1.weight]
Loading weights: 69%|██████▉ | 102/148 [00:00<00:00, 1374.45it/s, Materializing param=transformer.h.8.ln_1.weight]
Loading weights: 70%|██████▉ | 103/148 [00:00<00:00, 1384.21it/s, Materializing param=transformer.h.8.ln_2.bias]
Loading weights: 70%|██████▉ | 103/148 [00:00<00:00, 1381.13it/s, Materializing param=transformer.h.8.ln_2.bias]
Loading weights: 70%|███████ | 104/148 [00:00<00:00, 1390.71it/s, Materializing param=transformer.h.8.ln_2.weight]
Loading weights: 70%|███████ | 104/148 [00:00<00:00, 1387.67it/s, Materializing param=transformer.h.8.ln_2.weight]
Loading weights: 71%|███████ | 105/148 [00:00<00:00, 1397.21it/s, Materializing param=transformer.h.8.mlp.c_fc.bias]
Loading weights: 71%|███████ | 105/148 [00:00<00:00, 1394.37it/s, Materializing param=transformer.h.8.mlp.c_fc.bias]
Loading weights: 72%|███████▏ | 106/148 [00:00<00:00, 1403.78it/s, Materializing param=transformer.h.8.mlp.c_fc.weight]
Loading weights: 72%|███████▏ | 106/148 [00:00<00:00, 1400.94it/s, Materializing param=transformer.h.8.mlp.c_fc.weight]
Loading weights: 72%|███████▏ | 107/148 [00:00<00:00, 1410.38it/s, Materializing param=transformer.h.8.mlp.c_proj.bias]
Loading weights: 72%|███████▏ | 107/148 [00:00<00:00, 1407.57it/s, Materializing param=transformer.h.8.mlp.c_proj.bias]
Loading weights: 73%|███████▎ | 108/148 [00:00<00:00, 1416.95it/s, Materializing param=transformer.h.8.mlp.c_proj.weight]
Loading weights: 73%|███████▎ | 108/148 [00:00<00:00, 1413.97it/s, Materializing param=transformer.h.8.mlp.c_proj.weight]
Loading weights: 74%|███████▎ | 109/148 [00:00<00:00, 1422.92it/s, Materializing param=transformer.h.9.attn.c_attn.bias]
Loading weights: 74%|███████▎ | 109/148 [00:00<00:00, 1420.04it/s, Materializing param=transformer.h.9.attn.c_attn.bias]
Loading weights: 74%|███████▍ | 110/148 [00:00<00:00, 1429.29it/s, Materializing param=transformer.h.9.attn.c_attn.weight]
Loading weights: 74%|███████▍ | 110/148 [00:00<00:00, 1426.48it/s, Materializing param=transformer.h.9.attn.c_attn.weight]
Loading weights: 75%|███████▌ | 111/148 [00:00<00:00, 1435.69it/s, Materializing param=transformer.h.9.attn.c_proj.bias]
Loading weights: 75%|███████▌ | 111/148 [00:00<00:00, 1432.90it/s, Materializing param=transformer.h.9.attn.c_proj.bias]
Loading weights: 76%|███████▌ | 112/148 [00:00<00:00, 1442.05it/s, Materializing param=transformer.h.9.attn.c_proj.weight]
Loading weights: 76%|███████▌ | 112/148 [00:00<00:00, 1439.23it/s, Materializing param=transformer.h.9.attn.c_proj.weight]
Loading weights: 76%|███████▋ | 113/148 [00:00<00:00, 1448.30it/s, Materializing param=transformer.h.9.ln_1.bias]
Loading weights: 76%|███████▋ | 113/148 [00:00<00:00, 1445.46it/s, Materializing param=transformer.h.9.ln_1.bias]
Loading weights: 77%|███████▋ | 114/148 [00:00<00:00, 1454.54it/s, Materializing param=transformer.h.9.ln_1.weight]
Loading weights: 77%|███████▋ | 114/148 [00:00<00:00, 1451.74it/s, Materializing param=transformer.h.9.ln_1.weight]
Loading weights: 78%|███████▊ | 115/148 [00:00<00:00, 1460.74it/s, Materializing param=transformer.h.9.ln_2.bias]
Loading weights: 78%|███████▊ | 115/148 [00:00<00:00, 1457.94it/s, Materializing param=transformer.h.9.ln_2.bias]
Loading weights: 78%|███████▊ | 116/148 [00:00<00:00, 1466.87it/s, Materializing param=transformer.h.9.ln_2.weight]
Loading weights: 78%|███████▊ | 116/148 [00:00<00:00, 1463.84it/s, Materializing param=transformer.h.9.ln_2.weight]
Loading weights: 79%|███████▉ | 117/148 [00:00<00:00, 1472.54it/s, Materializing param=transformer.h.9.mlp.c_fc.bias]
Loading weights: 79%|███████▉ | 117/148 [00:00<00:00, 1469.72it/s, Materializing param=transformer.h.9.mlp.c_fc.bias]
Loading weights: 80%|███████▉ | 118/148 [00:00<00:00, 1478.56it/s, Materializing param=transformer.h.9.mlp.c_fc.weight]
Loading weights: 80%|███████▉ | 118/148 [00:00<00:00, 1475.50it/s, Materializing param=transformer.h.9.mlp.c_fc.weight]
Loading weights: 80%|████████ | 119/148 [00:00<00:00, 1484.14it/s, Materializing param=transformer.h.9.mlp.c_proj.bias]
Loading weights: 80%|████████ | 119/148 [00:00<00:00, 1481.28it/s, Materializing param=transformer.h.9.mlp.c_proj.bias]
Loading weights: 81%|████████ | 120/148 [00:00<00:00, 1489.78it/s, Materializing param=transformer.h.9.mlp.c_proj.weight]
Loading weights: 81%|████████ | 120/148 [00:00<00:00, 1486.92it/s, Materializing param=transformer.h.9.mlp.c_proj.weight]
Loading weights: 82%|████████▏ | 121/148 [00:00<00:00, 1495.54it/s, Materializing param=transformer.h.10.attn.c_attn.bias]
Loading weights: 82%|████████▏ | 121/148 [00:00<00:00, 1492.83it/s, Materializing param=transformer.h.10.attn.c_attn.bias]
Loading weights: 82%|████████▏ | 122/148 [00:00<00:00, 1501.41it/s, Materializing param=transformer.h.10.attn.c_attn.weight]
Loading weights: 82%|████████▏ | 122/148 [00:00<00:00, 1497.93it/s, Materializing param=transformer.h.10.attn.c_attn.weight]
Loading weights: 83%|████████▎ | 123/148 [00:00<00:00, 1506.34it/s, Materializing param=transformer.h.10.attn.c_proj.bias]
Loading weights: 83%|████████▎ | 123/148 [00:00<00:00, 1503.50it/s, Materializing param=transformer.h.10.attn.c_proj.bias]
Loading weights: 84%|████████▍ | 124/148 [00:00<00:00, 1511.96it/s, Materializing param=transformer.h.10.attn.c_proj.weight]
Loading weights: 84%|████████▍ | 124/148 [00:00<00:00, 1509.14it/s, Materializing param=transformer.h.10.attn.c_proj.weight]
Loading weights: 84%|████████▍ | 125/148 [00:00<00:00, 1517.55it/s, Materializing param=transformer.h.10.ln_1.bias]
Loading weights: 84%|████████▍ | 125/148 [00:00<00:00, 1514.65it/s, Materializing param=transformer.h.10.ln_1.bias]
Loading weights: 85%|████████▌ | 126/148 [00:00<00:00, 1523.11it/s, Materializing param=transformer.h.10.ln_1.weight]
Loading weights: 85%|████████▌ | 126/148 [00:00<00:00, 1520.33it/s, Materializing param=transformer.h.10.ln_1.weight]
Loading weights: 86%|████████▌ | 127/148 [00:00<00:00, 1528.73it/s, Materializing param=transformer.h.10.ln_2.bias]
Loading weights: 86%|████████▌ | 127/148 [00:00<00:00, 1525.94it/s, Materializing param=transformer.h.10.ln_2.bias]
Loading weights: 86%|████████▋ | 128/148 [00:00<00:00, 1534.31it/s, Materializing param=transformer.h.10.ln_2.weight]
Loading weights: 86%|████████▋ | 128/148 [00:00<00:00, 1531.55it/s, Materializing param=transformer.h.10.ln_2.weight]
Loading weights: 87%|████████▋ | 129/148 [00:00<00:00, 1539.82it/s, Materializing param=transformer.h.10.mlp.c_fc.bias]
Loading weights: 87%|████████▋ | 129/148 [00:00<00:00, 1537.04it/s, Materializing param=transformer.h.10.mlp.c_fc.bias]
Loading weights: 88%|████████▊ | 130/148 [00:00<00:00, 1545.23it/s, Materializing param=transformer.h.10.mlp.c_fc.weight]
Loading weights: 88%|████████▊ | 130/148 [00:00<00:00, 1542.41it/s, Materializing param=transformer.h.10.mlp.c_fc.weight]
Loading weights: 89%|████████▊ | 131/148 [00:00<00:00, 1550.54it/s, Materializing param=transformer.h.10.mlp.c_proj.bias]
Loading weights: 89%|████████▊ | 131/148 [00:00<00:00, 1547.50it/s, Materializing param=transformer.h.10.mlp.c_proj.bias]
Loading weights: 89%|████████▉ | 132/148 [00:00<00:00, 1555.55it/s, Materializing param=transformer.h.10.mlp.c_proj.weight]
Loading weights: 89%|████████▉ | 132/148 [00:00<00:00, 1552.72it/s, Materializing param=transformer.h.10.mlp.c_proj.weight]
Loading weights: 90%|████████▉ | 133/148 [00:00<00:00, 1560.66it/s, Materializing param=transformer.h.11.attn.c_attn.bias]
Loading weights: 90%|████████▉ | 133/148 [00:00<00:00, 1557.84it/s, Materializing param=transformer.h.11.attn.c_attn.bias]
Loading weights: 91%|█████████ | 134/148 [00:00<00:00, 1565.91it/s, Materializing param=transformer.h.11.attn.c_attn.weight]
Loading weights: 91%|█████████ | 134/148 [00:00<00:00, 1563.10it/s, Materializing param=transformer.h.11.attn.c_attn.weight]
Loading weights: 91%|█████████ | 135/148 [00:00<00:00, 1571.01it/s, Materializing param=transformer.h.11.attn.c_proj.bias]
Loading weights: 91%|█████████ | 135/148 [00:00<00:00, 1568.19it/s, Materializing param=transformer.h.11.attn.c_proj.bias]
Loading weights: 92%|█████████▏| 136/148 [00:00<00:00, 1576.06it/s, Materializing param=transformer.h.11.attn.c_proj.weight]
Loading weights: 92%|█████████▏| 136/148 [00:00<00:00, 1573.24it/s, Materializing param=transformer.h.11.attn.c_proj.weight]
Loading weights: 93%|█████████▎| 137/148 [00:00<00:00, 1581.07it/s, Materializing param=transformer.h.11.ln_1.bias]
Loading weights: 93%|█████████▎| 137/148 [00:00<00:00, 1578.31it/s, Materializing param=transformer.h.11.ln_1.bias]
Loading weights: 93%|█████████▎| 138/148 [00:00<00:00, 1586.19it/s, Materializing param=transformer.h.11.ln_1.weight]
Loading weights: 93%|█████████▎| 138/148 [00:00<00:00, 1583.43it/s, Materializing param=transformer.h.11.ln_1.weight]
Loading weights: 94%|█████████▍| 139/148 [00:00<00:00, 1591.28it/s, Materializing param=transformer.h.11.ln_2.bias]
Loading weights: 94%|█████████▍| 139/148 [00:00<00:00, 1588.49it/s, Materializing param=transformer.h.11.ln_2.bias]
Loading weights: 95%|█████████▍| 140/148 [00:00<00:00, 1596.28it/s, Materializing param=transformer.h.11.ln_2.weight]
Loading weights: 95%|█████████▍| 140/148 [00:00<00:00, 1593.50it/s, Materializing param=transformer.h.11.ln_2.weight]
Loading weights: 95%|█████████▌| 141/148 [00:00<00:00, 1601.24it/s, Materializing param=transformer.h.11.mlp.c_fc.bias]
Loading weights: 95%|█████████▌| 141/148 [00:00<00:00, 1598.50it/s, Materializing param=transformer.h.11.mlp.c_fc.bias]
Loading weights: 96%|█████████▌| 142/148 [00:00<00:00, 1606.17it/s, Materializing param=transformer.h.11.mlp.c_fc.weight]
Loading weights: 96%|█████████▌| 142/148 [00:00<00:00, 1603.16it/s, Materializing param=transformer.h.11.mlp.c_fc.weight]
Loading weights: 97%|█████████▋| 143/148 [00:00<00:00, 1610.72it/s, Materializing param=transformer.h.11.mlp.c_proj.bias]
Loading weights: 97%|█████████▋| 143/148 [00:00<00:00, 1607.94it/s, Materializing param=transformer.h.11.mlp.c_proj.bias]
Loading weights: 97%|█████████▋| 144/148 [00:00<00:00, 1615.48it/s, Materializing param=transformer.h.11.mlp.c_proj.weight]
Loading weights: 97%|█████████▋| 144/148 [00:00<00:00, 1612.69it/s, Materializing param=transformer.h.11.mlp.c_proj.weight]
Loading weights: 98%|█████████▊| 145/148 [00:00<00:00, 1620.06it/s, Materializing param=transformer.ln_f.bias]
Loading weights: 98%|█████████▊| 145/148 [00:00<00:00, 1617.31it/s, Materializing param=transformer.ln_f.bias]
Loading weights: 99%|█████████▊| 146/148 [00:00<00:00, 1624.90it/s, Materializing param=transformer.ln_f.weight]
Loading weights: 99%|█████████▊| 146/148 [00:00<00:00, 1622.17it/s, Materializing param=transformer.ln_f.weight]
Loading weights: 99%|█████████▉| 147/148 [00:00<00:00, 1629.75it/s, Materializing param=transformer.wpe.weight]
Loading weights: 99%|█████████▉| 147/148 [00:00<00:00, 1627.01it/s, Materializing param=transformer.wpe.weight]
Loading weights: 100%|██████████| 148/148 [00:00<00:00, 1634.50it/s, Materializing param=transformer.wte.weight]
Loading weights: 100%|██████████| 148/148 [00:00<00:00, 1631.74it/s, Materializing param=transformer.wte.weight]
Loading weights: 100%|██████████| 148/148 [00:00<00:00, 1627.90it/s, Materializing param=transformer.wte.weight]
GPT2LMHeadModel LOAD REPORT from: gpt2
Key | Status | |
---------------------+------------+--+-
h.{0...11}.attn.bias | UNEXPECTED | |
Notes:
- UNEXPECTED :can be ignored when loading from different task/architecture; not ok if you expect identical arch.
WARNING:transformers.modeling_utils:GPT2LMHeadModel LOAD REPORT from: gpt2
Key | Status | |
---------------------+------------+--+-
h.{0...11}.attn.bias | UNEXPECTED | |
Notes:
- UNEXPECTED :can be ignored when loading from different task/architecture; not ok if you expect identical arch.
Running 5 training steps...
Step 1/5, Loss: 12.2789
Step 2/5, Loss: 12.0998
Step 3/5, Loss: 11.9411
Step 4/5, Loss: 11.8859
Step 5/5, Loss: 11.7158
✓ Memory snapshot saved to pipeline_snapshot.pickle
Analyzing memory with Mosaic...
============================================================
PIPELINE REPORT
============================================================
Model: gpt2
Config: {'batch_size': 4, 'seq_length': 512, 'num_steps': 5}
PyTorch Peak Memory: 5.126 GB
Mosaic Dynamic Peak: 4.620 GiB
Mosaic Overall Peak: 5.115 GiB
CI/CD and Dashboard Integration Patterns#
These patterns show how to integrate Mosaic analysis into automated workflows.
import json
Pattern 1: CI/CD Memory Regression Testing#
def check_memory_regression(report, threshold_gib=5.0):
"""Check if memory usage exceeds threshold for CI/CD pipelines.
Args:
report: Memory analysis report from training_pipeline_with_memory_monitoring.
threshold_gib: Maximum allowed memory in GiB.
Raises:
AssertionError: If memory exceeds threshold.
"""
peak = report["mosaic_analysis"]["overall_peak_gib"]
assert peak < threshold_gib, (
f"Memory regression! {peak:.2f} GiB > {threshold_gib} GiB"
)
print(f"Memory check passed: {peak:.2f} GiB < {threshold_gib} GiB threshold")
Pattern 2: Export to JSON for Dashboards#
if HAS_CUDA:
check_memory_regression(report, threshold_gib=8.0)
with open("memory_report.json", "w") as f:
json.dump(report, f, indent=2, default=str)
print("Memory report exported to memory_report.json")
Memory check passed: 5.12 GiB < 8.0 GiB threshold
Memory report exported to memory_report.json
Conclusion#
This tutorial demonstrated three key use cases for Mosaic memory profiling:
Case 1: Activation Checkpointing Analysis
Used Mosaic to compare memory usage between baseline and optimized models
Identified that activation checkpointing reduced activation memory by 71%
Mosaic’s categorical profiling made it trivial to pinpoint memory savings
Case 2: Debugging Unexpected Memory Usage
Created a “buggy” model with abandoned debug code
Used
mosaic_get_memory_usage_peakto identify extra allocationsStack traces revealed optimizer state tracking extra parameters
Case 3: Pipeline Integration
Demonstrated programmatic usage via Mosaic’s Python API
Showed integration patterns for CI/CD and dashboards with structured reports
Further Reading#
Total running time of the script: (0 minutes 14.368 seconds)