Next video will be on embeddings and hopefully done soon-ish.
To answer your question:
EECS Major in college; 20 years of engineering and product management experience. I have given a few technical talks at conferences and I do enjoy the process of explaining things though it takes a surprising amount of work.
When I went to school ironically neural nets were the one thing they didn't cover in the intro to AI courses. I've basically learned modern AI from just filling my own curiosity over the years through online resources on nights and weekends. Learned a lot from Jeremy Howard's Fast.ai and Andrej Karpathy's stuff just like everyone else. I really wanted to know how every step of GPT worked, kind of like how you learn Computer Architecture in college: you learn how CPUs work in principle starting with circuits. Then I got a crazy idea the whole model could fit in a spreadsheet because well I just really like spreadsheets. Went down a 2-3 month rabbit hole in my non-existent sparetime to make it work.
While I created spreadsheet-are-all-you-need.ai as teaching tool, as I've been playing with it I've been having a growing suspicion the spreadsheet interface for AI might be useful beyond teaching, either as a power user control interface or for interpretability. For example, making simple changes to the architecture of GPT and observing how it changes the model behavior can be as simple as cloning a tab and a few spreadsheet functions. Of course, you can do the same in python as well so it remains to be seen.
A HUGE THANKS!
I'm so happy to hear that I had some part to play in inspiring such a marvellous project.
Is RLHF even strictly necessary?
Even if URIAL works with GPT2 small, the really small context length in the Excel file as currently implemented will make it hard to leverage. I've considered a more flexible implementation to support a longer context length (e.g. using Macros to build the layout of the sheet) but have prioritized the teaching videos first.
[1] https://allenai.github.io/re-align/index.html [2] Summary https://twitter.com/intuitmachine/status/1732089266883141856
Holy color use, Batman! Someone take the crayons away from that web designer.
It was discussed here some time ago: https://news.ycombinator.com/item?id=38505211
The introduction video on the page is very nice indeed to get a basic idea on the inner working of the Excel sheet.
A question for the author: will it be open sourced?
There's a GitHub link on the page: https://github.com/ianand/spreadsheets-are-all-you-need
It’s often true though. So many things I think “I could make an app for that” I wind up just using a spreadsheet for. At least it helps me explore the use cases more deeply for when I’d want to actually take it to the next level.
I hung out with a friend while they solved Advent of Code challenges in Excel, that was a trip to watch.
It sounds cool, but I'd hate to rely on it since Google will probably shut it down.
You mention Excel, and a bunch of us do it Google Sheets, but at this point it's not about sheets of data anymore and more about the interface and runtime, and we have full applications running in it.
I remember a colleague running API tests inside his Excel sheet to more easily check for the different parameter combinations, but telling everyone he was still using Postman just to avoid discussing it.
I run one for a financial services firm and often get "excel couldnt merge changes, want to save a copy or discard". We tested this out, 2 users make editing different sheets on a single excel workbook hosted on sharepoint and excel can't figure out how to merge. If someone is on VPN and connection drops this also often occurs.
- understanding that formulas can return arrays, not just single elements (easier in more recent versions of Excel which have made this more consistent for every formula), so you can e.g. AVERAGE(IF(A1:A100>100,A1:A100,FALSE)) get the average of the values between A1:A100 which are greater than 100. the FALSE parameter can be omitted there but I left it in for clarity. Interestingly this means AVERAGEIF() is just syntactic sugar, so I prefer to avoid it. it makes it easier to, say, change to MEDIAN(IF(...)) later, since MEDIANIF() doesn't exist
- if you combine the first two bullets above, you'll enter the fifth dimension
- don't ever hardcode a value if you can refer to it somewhere else. want to use INDEX(MATCH()) and AVERAGE to, say, take some average value over some time period? put the start and end dates into their own separate cells with no formulas, and then refer to those cells in your formula. if you later need to change the time period, you won't have to modify all your formulas, just those values
- LET() is strange at first but super powerful. most people still don't use it
- Separate data from presentation. This point can't be stressed enough. I care about it so much I'm literally building an Excel competitor to enforce this. If possible, separate raw data, data transformation and data presentation.
- most people know you can name cell ranges and refer to them in your formulas. most people don't know you can also name formulas and refer to them elsewhere. your "average value over time" calc doesn't even need to be in a cell anywhere, it can just exist as a defined value in a named range. now named ranges are hard to see (only visible if you open the name manager), harder to debug (you basically get just a #VALUE error most of the time, forcing you to copy-and-paste the named range into a cell to debug it) and they get copied to other workbooks when you copy-and-paste across workbooks, which makes them super messy.... but for short formulas they can be pretty nifty
- LAMBDA() is even more recent than LET() and basically makes named ranges more useful. even fewer people use it
That's how I do it and it works great. I've gained a new appreciation for Excel.
After those 10, they break them down by category, and have one for Financial Functions, which is going to be useful for you. Similarly, the Logical, Math & Trig, and Stats functions, will all be useful for looking at a Finance firm's spreadsheets.
[1] https://support.microsoft.com/en-gb/office/excel-functions-b...
* Avoiding hardcoding numbers, making input cells a certain color, etc.
* Knowing the all powerful F4 key that alternates between A1, $A$1, $A1, and A$1 (and knowing what each of these mean)
* Inserting blank lines above and below a summed range and including those rows inside of the sum formula (prevents formula from breaking if you move rows around)
Other than that you can do a lot of productive things with a combination of index/match and dynamic named ranges via offset formula.
I find I learn best from (good) books because they actually explain things coherently, and you can leaf through them to discover features and things that look interesting.
That sounds wild. Do you or your friend have anything to share about this?
The content itself is about demonstrating how an LLM/Neural net works using a spreadsheet and is a play on the title "Attention is All You Need". It has nothing to do with using a spreadsheet for most of your use cases.
First, we partially switched to Airtable, but soon abandoned it in favour of our own internal node/python tools. The company is now a lot larger and the tools are more robust/capable/clean now, but at the same time, they are much less flexible than the old spreadsheets.
I have seen that several times while I was a consultant. People run their stuff on spreadsheets. It’s a big mess but things get done . IT comes in and starts producing “professional” systems. Months of requirements gathering, then they deliver something. It’s not 100% right so people need to write tickets. IT may or may not make the changes. If they make a change it takes forever. People still need to do their job so they go back to spreadsheets.
Thanks! There's a truth to the name beyond just the play on the transformers paper. Definitely have thought about how many SaaS apps could be a spreadsheet and vice versa and often use them to create mini-apps (often via apps script).
* https://github.com/InkboxSoftware/excelCPU
* https://www.youtube.com/watch?v=5rg7xvTJ8SU
A twenty-four instruction assembly language is also provided.
https://web.archive.org/web/20230831003431/https://www.portu...
He actually quit the company to build it; I should find out what came of that.
Funny thing is that excel can do such thing but cannot replace dates within the sheet. For example on Windows in Office 2021 if I want to replace text cell which has value 2023-10-10 with new value 2023-10-11 I have only two options as the result: 10/11/2023 or 45210.
I wonder if it would work in https://rowzero.io/home ?
Interestingly it could fit within Powerpoint for the web's limits (my guess is that's intended for images).
I have considered a pure browser implementation https://github.com/ianand/spreadsheets-are-all-you-need/issu...
other than that, I agree with the other poster and the only issue I can think of is due to having a different number of digits after the decimal point causing some rounding error when comparing floats
Gsheets intuited that I wanted to do this multiple times and offered this formula:
> =RIGHT(A7,LEN(A7) - (FIND(CHAR(160),SUBSTITUTE(A7," ",CHAR(160),2))))
How is that related to anything?
Was it, at least, the correct formula for your need?
Yes it was correct.
It gave me 43h0m from "08 Jan 43h0m". Obviously over a column. I was able to adjust that to give me time durations.
Being a proper geek, my first inclination was to build a web app to keep track of that and so the people I am loaning cash to can also view their balance, but I realized that would involve maintaining state and login creds and a bunch of other variables I haven’t even considered, and maintaining this app would become a second, unpaid job.
Then I thought “I could just use a Google sheet and share it”, which is what I ended up doing. It’s easy to set permissions, I don’t have to worry about hosting, I can have it do any amount of arithmetic and light programming that I might need, as well as being automatic and reactive as I add information. It will be slower than something I would write in C obviously, but realistically for something involving budgeting the time savings will be on the order of milliseconds.
I love spreadsheets. They provide a gateway to programming for non-programmers, and they provide a low-effort means of playing with data.
The hyper-interactive nature of spreadsheets makes them kind of genuinely fun to tinker with. You can see results immediately, and you have enough logic (even in just the vanilla cells, not even counting JS or VBA) to implement a lot of algo stuff.
In this case, I don't think anything I'd do is going to be revolutionary, and I don't think I would have learned at that much, so Google Sheets was great.
In regards to "not paying on time", these are friends and family, so it's not like I'm going to go break their kneecaps or anything; if they're a bit short on the payment date we just push it back.
So it would absolutely be a second unpaid job, but I'll admit that I didn't specify why.