From d3fbe0ecc682abe4082322bdd03d70d07b6f5be2 Mon Sep 17 00:00:00 2001 From: ViperEkura <3081035982@qq.com> Date: Sun, 28 Jun 2026 14:36:12 +0800 Subject: [PATCH] refactor: numerical stability analysis with residual scaling comparison --- .gitignore | 2 + data/loss_compare.png | Bin 0 -> 105816 bytes main.tex | 154 +++++++++++++++++++++--------------------- 3 files changed, 80 insertions(+), 76 deletions(-) create mode 100644 data/loss_compare.png diff --git a/.gitignore b/.gitignore index 0afa7a9..f49d932 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,8 @@ # Whitelist: ignore everything * +!*/ # Only track .tex files and .gitignore itself !.gitignore !*.tex +!data/** diff --git a/data/loss_compare.png b/data/loss_compare.png new file mode 100644 index 0000000000000000000000000000000000000000..086c7764c77539f894416c2ad9c6184fad0667b0 GIT binary patch literal 105816 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 QJCRtbt7s_`6fGb82OQOKssI20 literal 0 HcmV?d00001 diff --git a/main.tex b/main.tex index 5408e5a..dce904c 100644 --- a/main.tex +++ b/main.tex @@ -16,7 +16,7 @@ \DeclareMathOperator{\Var}{Var} \title{End-to-End Training of a 1.2B Transformer with AstrAI \\ - \large Data Pipeline, Distributed Training, and a BF16 Numerical Case Study} + \large Data Pipeline, Distributed Training, and BF16 Numerical Stability via Residual Scaling} \author{AstrAI Contributors} \date{June 2026} @@ -26,18 +26,18 @@ \maketitle \begin{abstract} -We document the end-to-end process of training a 1.2B-parameter autoregressive -language model from scratch using the {\sc AstrAI} open-source framework. The -pipeline covers data preprocessing (JSONL $\rightarrow$ BBPE tokenization -$\rightarrow$ HDF5/mmap storage), a 24-layer GQA-SwiGLU decoder-only -architecture, and distributed training with DDP/FSDP and cosine -scheduling. During training, we encountered -a BF16 numerical pathology: approximately 73,500 weights irreversibly locked at -$1.0$ within 100k steps. We analyze this as a three-stage cascade---variance -accumulation in unscaled residuals, gradient saturation at deep layers, and -BF16 precision loss blocking recovery---and show that residual scaling +We present an end-to-end framework for training a 1.2B-parameter autoregressive +language model using the {\sc AstrAI} open-source toolkit. The pipeline +encompasses data preprocessing (JSONL tokenization to BBPE, HDF5 and +memory-mapped storage), a 24-layer decoder-only architecture with Grouped +Query Attention and SwiGLU feed-forward blocks, and distributed training +via DDP/FSDP with cosine scheduling. We further examine BF16 numerical +stability in deep Transformers, demonstrating that GPT-2 residual scaling ($\sigma_o = 0.02 / \sqrt{2L}$) on output projections reduces per-block -residual variance by a factor of 48, preventing the lock-in. +residual variance by a factor of 48, yielding a post-24-layer variance of +$1.34$ versus $17.5$ without scaling. Empirical results across 15B training +tokens confirm that residual scaling maintains superior loss reduction over +Kaiming initialization, with a widening gap in the mid-training regime. \end{abstract} % ====================================================================== @@ -132,7 +132,7 @@ initialization~\cite{radford2019gpt2}: \begin{equation} \sigma_o = \sigma_{\text{down}} = 0.02 / \sqrt{2L}. \end{equation} -This scaling is critical for BF16 stability (Section~\ref{sec:bf16}). +This scaling is critical for BF16 stability (Section~\ref{sec:num-stability}). % ====================================================================== \section{Training Configuration} @@ -170,44 +170,18 @@ Total steps & 950,000 \\ \end{table} % ====================================================================== -\section{Case Study: BF16 Weight Lock-in} -\label{sec:bf16} +\section{Numerical Stability via Residual Scaling} +\label{sec:num-stability} % ====================================================================== -During the above training run, we encountered a numerical failure: at the first -checkpoint (iteration 100k), approximately 73,500 weights had locked at -exactly $1.0$ and 5,928 embedding dimensions had overflowed to -$\sim2\times10^{37}$. None recovered by iteration 950k. +Deep Transformers trained in BF16 face numerical stability challenges from +residual variance accumulation across layers. We evaluate the GPT-2 +residual-scaling initialization~\cite{radford2019gpt2} as a mitigation +strategy. -\subsection{Observation} +\subsection{Variance Analysis} -Table~\ref{tab:locked} shows the affected parameters. The pattern is -structured: the same rows of $\mathbf{W}_k$ (rows 6--7) lock across layers -1--23; the same row of $\mathbf{W}_{\text{down}}$ (row~1) locks in all 24 -layers; the overflow is confined to tokens 0--7 (BOS/EOS/PAD tokens). - -\begin{table}[H] -\centering -\caption{Parameters locked at $w = 1.0$ or overflowed.} -\label{tab:locked} -\begin{tabular}{@{}lrr@{}} -\toprule -\textbf{Parameter} & \textbf{Count} & \textbf{Location} \\ -\midrule -$\mathbf{W}_k$ (layers 1--23) & 35,328 & Rows 6--7 \\ -$\mathbf{W}_{\text{down}}$ (layers 0--23) & 36,864 & Row 1, cols 3164--4699 \\ -LM head & 1,536 & Rows 6--7 \\ -Embedding overflow & 5,928 & Tokens 0--7 \\ -\midrule -Total affected & 73,536 & 0.006\% of parameters \\ -\bottomrule -\end{tabular} -\end{table} - -\subsection{Root Cause: Three-Stage Cascade} - -\textbf{Stage 1: Variance accumulation.} At initialization with -$\mathcal{N}(0, 0.02)$, a linear projection output has: +At initialization with $\mathcal{N}(0, 0.02)$, a linear projection output has: \begin{equation} \Var(\mathbf{W}\mathbf{x}) = d_{\text{in}} \cdot (0.02)^2 \cdot \Var(\mathbf{x}) = 0.6144 \cdot \Var(\mathbf{x}) \quad (\text{for } d=1536). @@ -243,35 +217,63 @@ instead of $0.689/L \approx 0.014$. After $L=24$ blocks: \end{aligned} \end{equation} -\textbf{Stage 2: Saturation.} The 17.5$\times$ inflated variance at deep -layers saturates softmax (one-hot, gradient $\to 0$) and SiLU (derivative -$\to 0$ or 1). This creates a noisy gradient landscape where isolated -weights receive disproportionately large updates---a single batch can push a -weight from $\sim 0.06$ to $1.0$. +\subsection{GPT-2 Residual Scaling} -\textbf{Stage 3: BF16 dead zone.} BF16 has a 7-bit mantissa~\cite{ieee754}. The ULP at -$w = 1.0$ is $2^{-7} = 0.0078125$. The per-step AdamW update for a -locked weight is $1.2\times10^{-6}$ to $3.5\times10^{-8}$, which is at -least $1000\times$ smaller than the ULP. The weight cannot change. -The BF16 momentum buffers lose precision at large magnitudes, making -recovery impossible even if a corrective gradient arrives. +The GPT-2 initialization~\cite{radford2019gpt2} scales output projections by +$1/\sqrt{2L}$: +\begin{equation} +\sigma_o = \sigma_{\text{down}} = 0.02 / \sqrt{2L}. +\end{equation} -Global L2 clipping ($\ell_2 \leq 1.0$) fails here: a single-element -gradient spike of magnitude $10^4$ across $1.2\times10^9$ parameters -produces $\|\nabla\|_2 \approx \sqrt{10^8 + 1.2\times10^9} \approx 36056$. -After clipping ($\times 1/36056$), the spike remains at $0.28$---still -enough to jump a weight from $0.06$ to $1.0$---while all other gradients -are scaled to near-zero. +This reduces per-block residual variance contribution from $0.689$ to +$0.689/L \approx 0.014$, a factor of $2L = 48$. The post-24-block variance +drops from $17.5$ to $1.34$, a $13.1\times$ improvement. In BF16 +($7$-bit mantissa, ULP $= 0.0078$ at $w = 1.0$)~\cite{ieee754}, +this keeps weight magnitudes within stable precision bounds. We further +recommend storing AdamW moments in FP32 and logging per-layer gradient +histograms during early training. -\subsection{Solution} +\subsection{Empirical Training Results} -Residual scaling of output projections---setting -$\sigma_o = \sigma_{\text{down}} = 0.02 / \sqrt{2L}$ -on $\mathbf{W}_o$ and $\mathbf{W}_{\text{down}}$---reduces the per-block -residual contribution by $1/(2L) = 1/48$, bringing post-24-block variance -from $17.5$ down to $1.34$ and preventing the saturation--explosion--lock-in -cascade. Additionally, we recommend storing AdamW moments in FP32 rather -than BF16, and logging per-layer gradient histograms during early training. +\begin{figure}[H] +\centering +\includegraphics[width=0.50\linewidth]{data/loss_compare.png} +\caption{Training loss curves: GPT-2 residual scaling vs.~Kaiming +initialization over 15B tokens.} +\label{fig:loss} +\end{figure} + +Figure~\ref{fig:loss} shows both loss curves; GPT-2 residual scaling (lower +curve) maintains a clear advantage, particularly in the 0.3--0.8B token region. + +\begin{table}[H] +\centering +\caption{Loss at 0.125B-interval milestones, 0--1B tokens.} +\label{tab:loss_milestones} +\begin{tabular}{@{}lccc@{}} +\toprule +\textbf{Tokens (B)} & + \textbf{GPT-2 scaling} & + \textbf{Kaiming init} & + \textbf{$\Delta$} \\ +\midrule +0.125 & 7.37 & 7.66 & 0.29 \\ +0.250 & 5.80 & 6.14 & 0.34 \\ +0.375 & 4.82 & 5.38 & 0.56 \\ +0.500 & 4.06 & 4.80 & 0.74 \\ +0.625 & 3.50 & 4.29 & 0.79 \\ +0.750 & 3.24 & 3.80 & 0.56 \\ +0.875 & 3.21 & 3.43 & 0.22 \\ +1.000 & 2.80 & 3.18 & 0.38 \\ +\bottomrule +\end{tabular} +\end{table} + +Table~\ref{tab:loss_milestones} quantifies the per-milestone gap. GPT-2 +residual scaling leads at every interval, with $\Delta$ growing from 0.29 +at 0.125B to a peak of 0.79 at 0.625B, then narrowing to 0.38 at 1B. +The widening mid-range gap aligns with the variance accumulation region +identified in the theoretical analysis (Section~\ref{sec:num-stability}). % ====================================================================== \section{Conclusion} @@ -280,10 +282,10 @@ than BF16, and logging per-layer gradient histograms during early training. We have described the end-to-end pipeline for training a 1.2B Transformer with {\sc AstrAI}: data preprocessing with JSON-driven tokenization and packing, a 24-layer GQA-SwiGLU architecture, callback-based training with DDP/FSDP -executors, and cosine scheduling. A BF16 numerical failure encountered during -training was traced to variance accumulation in unscaled residuals, gradient -saturation, and BF16 precision loss---and resolved via the residual scaling -pattern already present in the codebase. The complete framework and model +executors, and cosine scheduling. We further analyzed numerical stability +under BF16, showing that GPT-2 residual scaling ($\sigma_o = 0.02/\sqrt{2L}$) +reduces per-block residual variance by a factor of 48, keeping post-24-layer +variance at $1.34$ versus $17.5$ without scaling. The complete framework and model weights are available at \url{https://github.com/ViperEkura/AstrAI}. % ======================================================================