spreadsheet-is-all-you-need  by dabochen

Spreadsheet for nanoGPT pipeline visualization

created 1 year ago
2,119 stars

Top 21.7% on sourcepulse

GitHubView on GitHub
Project Summary

This project offers a unique, visual, and interactive way to understand the inner workings of a GPT transformer model by implementing the nanoGPT architecture entirely within a spreadsheet. It's designed for visual learners, researchers, and anyone seeking a granular, cell-by-cell breakdown of transformer mechanics, moving beyond abstract code to concrete calculations.

How It Works

The project meticulously translates the nanoGPT inference pipeline, including embedding, layer normalization, self-attention, projection, MLP, softmax, and logits, into spreadsheet formulas. Each cell represents a specific calculation or parameter, color-coded for clarity: purple for trainable parameters, green for data flow, and orange for intermediate values. This approach allows users to directly inspect and manipulate the matrix calculations that form the core of transformer models.

Quick Start & Requirements

  • Install: Download the provided spreadsheet file (Numbers or Excel).
  • Prerequisites: Spreadsheet software (Apple Numbers or Microsoft Excel). No Python or specific hardware required beyond what's needed to run the spreadsheet software.
  • Setup: Immediate use upon opening the file.
  • Resources: The Excel version may experience slowdowns due to extensive calculations when parameters are changed.
  • Links:

Highlighted Details

  • Full nanoGPT inference pipeline implemented in a spreadsheet.
  • Interactive and configurable calculations and matrices.
  • Character-based prediction using A/B/C tokens for simplicity.
  • Includes tabs with "no weights" and "random weights" for different visualization needs.

Maintenance & Community

The project appears to be a personal educational endeavor with no explicit mention of ongoing maintenance, community channels, or a roadmap. It cites Andrej Karpathy's and Brendan Bycroft's work as significant influences.

Licensing & Compatibility

The repository does not explicitly state a license. Given its nature and lack of explicit licensing, commercial use or integration into closed-source projects should be approached with caution until a license is clarified.

Limitations & Caveats

The spreadsheet does not contain actual trained weights, meaning it won't produce meaningful output without user-provided parameters. The Excel version may be slow due to the computational load of replicating the nanoGPT pipeline. The project focuses on a simplified character-based prediction (A/B/C) rather than full natural language processing.

Health Check
Last commit

1 year ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
11 stars in the last 90 days

Explore Similar Projects

Starred by Dominik Moritz Dominik Moritz(Professor at CMU; ML Researcher at Apple), Stas Bekman Stas Bekman(Author of Machine Learning Engineering Open Book; Research Engineer at Snowflake), and
2 more.

ecco by jalammar

0%
2k
Python library for interactive NLP model visualization in Jupyter notebooks
created 4 years ago
updated 11 months ago
Feedback? Help us improve.