It looks as if AI giant language fashions (LLMs) are in all places today because of the rise of ChatGPT. Now, a software program developer named Ishan Anand has managed to cram a precursor to ChatGPT referred to as GPT-2—initially launched in 2019 after some trepidation from OpenAI—right into a working Microsoft Excel spreadsheet. It is freely accessible and is designed to coach individuals about how LLMs work.
“Through the use of a spreadsheet anybody (even non-developers) can discover and play straight with how a ‘actual’ transformer works beneath the hood with minimal abstractions to get in the way in which,” writes Anand on the official web site for the sheet, which he calls “Spreadsheets-are-all-you-need.” It is a nod to the 2017 analysis paper “Consideration is All You Want” that first described the Transformer structure that has been foundational to how LLMs work.
Anand packed GPT-2 into an XLSB Microsoft Excel binary file format, and it requires the newest model of Excel to run (however will not work on the net model). It is utterly native and does not do any API calls to cloud AI providers.
Despite the fact that the spreadsheet incorporates an entire AI language mannequin, you may’t chat with it like ChatGPT. As a substitute, customers enter phrases in different cells and see the predictive outcomes displayed in several cells virtually immediately. Recall that language fashions like GPT-2 have been designed to do next-token prediction, which implies they attempt to full an enter (referred to as a immediate, which is encoded into chunks referred to as tokens) with the most probably textual content. The prediction may very well be the continuation of a sentence or every other text-based job, akin to software program code. Totally different sheets in Anand’s Excel file enable customers to get a way of what’s going on beneath the hood whereas these predictions are going down.
Spreadsheets-are-all-you-need solely helps 10 tokens of enter. That is tiny in comparison with the 128,000-token context window of GPT-4 Turbo, but it surely’s sufficient to reveal some primary ideas of how LLMs work, which Anand has detailed in a sequence of free tutorial movies he has uploaded to YouTube.
In an interview with Ars Technica, Anand says he began the venture so he might fulfill his personal curiosity and perceive the Transformer intimately. “Trendy AI is so completely different from the AI I discovered once I was getting my CS diploma that I felt I wanted to return to the basics to actually have a psychological mannequin for the way it labored.”
He says he was initially going to re-create GPT-2 in JavaScript, however he loves spreadsheets—he calls himself “a spreadsheet addict.” He pulled inspiration from information scientist Jeremy Howard’s quick.ai and former OpenAI engineer Andrej Karpathy’s AI tutorials on YouTube.
“I walked away from Karpathy’s movies realizing GPT is generally only a huge computational graph (like a spreadsheet),” he says, “And [I] beloved how Jeremy usually makes use of spreadsheets in his course to make the fabric extra approachable. After watching these two, it instantly clicked that it is likely to be potential to do the entire GPT-2 mannequin in a spreadsheet.”
We requested: Did he have any problem implementing a LLM in a spreadsheet? “The precise algorithm for GPT2 is generally quite a lot of math operations which is ideal for a spreadsheet,” he says. “Actually, the toughest piece is the place the phrases are transformed into numbers (a course of referred to as tokenization) as a result of it is textual content processing and the one half that is not math. It could have been simpler to do this half in a conventional programming language than in a spreadsheet.”
When Anand wanted help, he naturally acquired just a little assist from GPT-2’s descendant: “Notably ChatGPT itself was very useful within the course of in phrases serving to me clear up thorny points I might come throughout or understanding numerous phases of the algorithm, however it might additionally hallucinate so I needed to double-check it quite a bit.”
GPT-2 rides once more
This entire feat is feasible as a result of OpenAI launched the neural community weights and supply code for GPT-2 in November 2019. It is significantly fascinating to see that individual mannequin baked into an academic spreadsheet as a result of when it was introduced in February 2019, OpenAI was afraid to launch it—the corporate noticed the potential that GPT-2 is likely to be “used to generate misleading, biased, or abusive language at scale.”
Nonetheless, the corporate launched the complete GPT-2 mannequin (together with weights information wanted to run it domestically) in November 2019, however the firm’s subsequent main mannequin, GPT-3, which launched in 2020, has not obtained an open-weights launch. A variation of GPT-3 later fashioned the premise for the preliminary model of ChatGPT, launched in 2022.
Anand’s spreadsheet implementation runs “GPT-2 Small,” which in contrast to the complete 1.5-billion-parameter model of GPT-2 clocks in at 124 million parameters. (Parameters are numerical values in AI fashions that retailer patterns discovered from coaching information.) In comparison with the 175 billion parameters in GPT-3 (and even bigger fashions), it in all probability wouldn’t qualify as a “giant” language mannequin if launched right this moment. However in 2019, GPT-2 was thought of state-of-the-art.
You’ll be able to obtain the GPT-2-infused spreadsheet on GitHub, although remember that it is about 1.2GB. Due to its complexity, Anand stated it may continuously lock up or crash Excel, particularly on a Mac; he recommends working the sheet on Home windows. “It’s extremely beneficial to make use of the guide calculation mode in Excel and the Home windows model of Excel (both on a Home windows listing or by way of Parallels on a Mac),” he writes on his web site.
And earlier than you ask, Google Sheets is at the moment out of the query: “This venture truly began on Google Sheets, however the full 124M mannequin was too huge and switched to Excel,” Anand writes. “I’m nonetheless exploring methods to make this work in Google Sheets, however it’s unlikely to suit right into a single file as it may with Excel.”