I built ChatGPT with Minecraft redstone [video](youtube.com)
439 points by ghuntley 7 days ago | 86 comments
- jweather 7 days agoWell, TinyChat. Still mind-boggling. From the video description:
I built a small language model in Minecraft using no command blocks or datapacks! The model has 5,087,280 parameters, trained in Python on the TinyChat dataset of basic English conversations. It has an embedding dimension of 240, vocabulary of 1920 tokens, and consists of 6 layers. The context window size is 64 tokens, which is enough for (very) short conversations. Most weights were quantized to 8 bits, although the embedding and LayerNorm weights are stored at 18 and 24 bits respectively. The quantized weights are linked below; they are split into hundreds of files corresponding to the separate sections of ROM in the build. The build occupies a volume of 1020x260x1656 blocks. Due to its immense size, the Distant Horizons mod was used to capture footage of the whole build; this results in distant redstone components looking strange as they are being rendered at a lower level of detail. It can produce a response in about 2 hours when the tick rate is increased using MCHPRS (Minecraft High Performance Redstone Server) to about 40,000x speed.
[-]- jweather 7 days agoIt would take just over 9 years for a response at the normal redstone tick rate... sounds about right.[-]
- throwup238 4 days agoThe Minecraft AI Challenge: can your LLM company reach profitability before Minecraft can predict a token?[-]
- athrowaway3z 4 days agoThis can be achieved today.
Microsoft owns Minecraft; so they'll just swirl the numbers together with Minecraft sales to show their AI is already profitable.
- rightbyte 4 days ago> no command blocks
Oh. I thought this would be some cheesy command block curl to Chat GPT.
[-]- lhamil64 4 days agoAs far as I'm aware there's no way to do an HTTP request via command blocks, at least in vanilla.[-]
- datadrivenangel 4 days agoThrough Lua, all things are possible[-]
- charcircuit 4 days agoThe scripting language for Minecraft is Typescript. Lua would require a 3rd party mod.
https://learn.microsoft.com/en-us/minecraft/creator/scriptap...
>The @minecraft/server-net module contains types for executing HTTP-based requests. This module can only be used on Bedrock Dedicated Server. These APIs do not function within the Minecraft game client or within Minecraft Realms.
[-]- ianhawes 4 days ago* In Bedrock Edition. Minecraft purists only use Java Edition.
- sd9 4 days agoI originally didn’t click on this post because it was obviously clickbait - the title isn’t possible.
But no. The author actually embedded a small LLM in Minecraft using hundreds of millions of blocks, that generates 1 token per 2h at 40,000x speed.
Bravo. I wouldn’t have even thought to try.
- cosmic_quanta 4 days agoOne of my fondest memories was buying the book "The Elements of Computing Systems" by Nisan and Schocken, and implementing a 4-bit CPU in Minecraft.
4-bit is small enough that you can build it manually, without the use of external tools (which I don't think existed at the time anyways).
Highly recommended for children interesting in computing!
[-]- andrehacker 4 days ago>> One of my fondest memories was buying the book "The Elements of Computing Systems"
>> by Nisan and Schocken, and implementing a 4-bit CPU in Minecraft.
You confused me there, the book doesn't cover Minecraft, you did that yourself after reading the book, got it.
The book is absolutely fantastic, it is the basis for the "From Nand to Tetris" courses: https://www.nand2tetris.org/
I haven't digested it in full and with a title like that and the boring cover I always have to scramble to find it when I got a few minutes (What is that "Nand to Tetris" book called again?)
- iterance 4 days agoI'm glad I'm not the only one. Built a tape drive and bootloader to load programs off it & everything...
- kqr 4 days ago> (which I don't think existed at the time anyways)
This surprised me at first because I remember using Python to create Minecraft maps early on, or at least in the beta.
But it seems like redstone was added in the alpha, and the earliest commits of pymclevel (which I think I used) also dates back to the alpha. So there might indeed have been a time window of a few months in which redstone was available but not tooling for creating maps.
[-]- cosmic_quanta 4 days agoI remember starting playing Minecraft Beta, that was around 2011 maybe?
Even if tools to programmatically create maps were available, I wouldn't have known how to program. So this is more about my lack of knowledge of tools of the time.
- 2OEH8eoCRo0 4 days agoFunny, I bought that book and studied it because I heard about it in a Minecraft video. Was that you? Nand2tetris helped me land my first programming job.[-]
- cosmic_quanta 4 days agoIt was not me! Maybe we watched the same video though? I can't recall who or what gave me the idea[-]
- sram1337 4 days agoJust wanted to say I think we all watched the same video! I remember doing this one summer in high school
- tobias3 4 days agoWhat I also find amazing is the server software used to run it ( https://github.com/MCHPR/MCHPRS ):
- Re-implements parts of Minecraft
- Runs 512x512 plots in different threads
- Compiles Redstone applying different kind of optimization passes https://github.com/MCHPR/MCHPRS/blob/master/docs/Redpiler.md
- It had Jit backends before, but seems they have been removed
- aubanel 7 days agoThat title looked like clickbait until... Oh well they did actually did it[-]
- dude250711 4 days agoIt was probably done by an individual.[-]
- zooi 4 days ago"They" can also refer to an individual[-]
- dude250711 4 days agoIf they did refer to an individual Minecraft expert for an advice, then it counts as a team effort.[-]
- taneq 4 days agoWhat if the individual Minecraft expert was themselves? I mean, having been singlehandedly responsible for team efforts in the past, I get it. :D
- Jotalea 4 days agowait what?[-]
- burkaman 4 days ago"Someone is at the door asking for you."
"What do they want?"
This is the standard way to refer to an unknown person in English, anything else sounds awkward. "What does the person want", "what does he or she want", "what does this 'someone' want", none of these will sound natural to a native speaker.
- npteljes 4 days agoIt's called "singular they". It's used like: "We have a new joiner in our team! They became the talk of the town very fast". I love this feature of the English language, while a bit confusing at first, I think it works much better than "he/she" or "s/he" when talking about someone with an unspecified, unknown or unrelated gender.
- OkayPhysicist 4 days agoThis really shouldn't be some surprise. You probably do it on a regular basis without noticing. Shakespeare uses it in Hamlet:
There's not a man I meet but doth salute me As if I were their well-acquainted friend
English has always used the singular they, especially (but not always) when the gender of the target of the pronoun is unknown.
[-]- tempaccountabcd 4 days agoƿrong. "they" is norþmannisċ. It sċuld be he, forðat hē and hēo ƿuld'fe melded into he, and forðat Englisċ is an Indo-Europisċ tung, ƿere ƿerelie is ðe first kin.
- PanoptesYC 4 days agoInteresting read about the topic: https://www.oed.com/discover/a-brief-history-of-singular-the...
- Byamarro 4 days agoIt is a bit of a clickbait since they used commandblocks, not just redstone. But it's still impressive[-]
- AndrewDucker 4 days agoFrom the video description: "I built a small language model in Minecraft using no command blocks or datapacks!"
- utf_8x 4 days agoFrom the video description:
I built a small language model in Minecraft using no command blocks or datapacks!
- nomilk 4 days agoCan you explain the difference (for non-minecrafters)[-]
- thrance 4 days agoCommand blocks can only be obtained by cheating in normal gameplay, they are used to execute server commands automatically. Using them to build a computer in the game kind of defeats the purpose of the exercise, since instead of using the game's physics to build your device, you're now mostly doing scripting with minecraft commands. The author explicitly said they didn't use any in their build.[-]
- promiseofbeans 4 days agoThe confusion might come from the author using commands / external software to generate and assemble parts of the redstone machine. The final machine doesn’t use any command blocks as part of it’s operation, but the description is a bit ambiguous here
- NSPG911 4 days agothere were no clickbaits there at all. no command blocks were used at all. if you were so certain, why dont you download the world and try it yourself?
- fuzzy_biscuit 4 days agoI think you missed the 'no' in there. They did not use command blocks.
- unleaded 4 days agoHere is an earlier, longer video on someone explaining how they built a neural network to recognise handwritten digits in Minecraft: https://www.youtube.com/watch?v=DQ0lCm0J3PM
It should answer some of the questions/clear up some of the confusion raised here (e.g. how they get the weights in).
- dangoodmanUT 4 days agoRedstone computing theory: Everything technological breakthrough in computing will eventually be rebuilt in redstone[-]
- nonethewiser 4 days agoquantum computing[-]
- redman25 4 days agoI guess redstone still somewhat follows the physics of electricity. Maybe a quantum simulator?[-]
- sbuttgereit 4 days agoOr just use Bedrock edition.
- laszlokorte 4 days agoAre these kind of projects actually build manually inside of minecraft block by block or is there some verilog/vhdl to minecraft-level compiler toolchains used?[-]
- baobun 4 days agoThey did not manually place hundreds of millions of blocks <:
- buzzy_hacker 4 days agoIt’s been awhile since I’ve played Minecraft, but when I built large redstone projects before, I built out each circuit manually and then used mods to copy/paste it within the game.[-]
- squigz 4 days agoAnd nowadays you can use Axiom, which is a much better experience than WorldEdit (WE still has its uses though!)
- kqr 4 days agoThere are libraries for e.g. Python to make Minecraft maps entirely programmatically, as well as convenient tools for editing maps by hand.
- jalk 4 days agoHoping the answer is: we used ChatGPT to create the build :)
- TrackerFF 4 days agoIs there some kind of building automation do this? Surely it would take forever to plan out, and actually build blocks like this by hand.[-]
- promiseofbeans 4 days agoThere are libraries that let you generate minecraft structure files programmatically [0]. These can then be pasted into the world.
You still need to come up with the circuitry for all the maths and figure out how to represent all the state with red stone, but once you get the little bits done it’s quite a quick process filling in weights and duplicating logic sections
- KeplerBoy 4 days agoSeems to be a routing problem. If you can place a digital design in an fpga, you can also do it in minecraft.
There are a few projects out there for vhdl and verilog to redstone.
- buzzy_hacker 4 days agoThere are mods that let you copy/paste sections of blocks.
- sbuttgereit 4 days agoIf you like thinking about the possibilities of the worlds of Minecraft and LLMs colliding I recommend the YouTube channel @EmergentGarden (https://www.youtube.com/@EmergentGarden) it's not exclusively agents and Minecraft, but there's a fair amount of stuff tested over time.
Most recently: Can AI (actually) beat Minecraft? - https://www.youtube.com/watch?v=Wh4abvcUj8Q
[-]- programd 4 days agoI'll second that recommendation. One of the more interesting videos is AI creating utopian and dystopian worlds in Minecraft
https://www.youtube.com/watch?v=FCnQvdypW_I
Invokes shades of Iain M. Banks' "Surface Detail" Culture novel, where virtual Hells are a major plot point.
- mittermayr 4 days agoAside from the technical feat, which is amazing in and of itself, I was completely mesmerized by that video! So well done, incredibly entertaining and perfectly presented.
- alexc05 4 days agowhen people do these complex CPU designs in minecraft are they laying the blocks individually in real time and in 3d space - or are they scripting some sort of algorithm that instantiates the system in one go?
It's impressive either way but the manual version seems ... impossible.
[-]- jtokoph 4 days agoThere are external tools which essentially let you script the generation of a save file of the world.
- igravious 4 days agoAnd for their next trick TemplateGPT: https://stackoverflow.com/questions/189172/c-templates-turin...
- derleyici 4 days agoSo, Minecraft is Turing complete?[-]
- OkayPhysicist 4 days agoAny system that can represent a NAND gate is Turing complete. In Minecraft, connecting two inputs to the same branch of redstone wire is an OR gate, and a redstone torch on a block acts as a NOT gate. Two inputs, both inverted, into an OR gate gives a NAND.[-]
- kibwen 4 days agoIt's even slightly simpler than that, NOR is also functionally complete, so you can just negate the OR.
- kaffekaka 4 days agoYes, Notch said somewhere that was by design.
- ThrowawayTestr 4 days agoTuring completeness is actually pretty easy to implement. The game Baba is You is also turing complete.
- jcmontx 4 days agoThese people are insane, it has to be created programmatically, isn't it?[-]
- nom 4 days agoI suspect a human life isn't long enough to place that many blocks.[-]
- jerf 4 days ago"(1020 * 260 * 1656) seconds in years" [1] comes out to 14 years. Solid, of course, no breaks or sleep, no time for training or planning or debugging. And one block per second is a pretty good clip for a technical build. It doesn't take many multiplicative factors before it's more than one lifetime.
[1]: https://www.google.com/search?q=%281020+*+260+*+1656%29+seco...
[-]- amlib 4 days agoYou would probably also need another lifetime just to fix all the errors once you are finished with laying out all the pieces...
- WillieCubed 4 days agoI suppose it's now only a matter of time until someone trains an LLM in Minecraft, right?
- __fst__ 4 days agoCan't wait for an LLM implementation in the Game of Life too.
- FrustratedMonky 4 days agoI would like to know more about how this was generated. I'm sure there must have been code to generate the blocks/structures.
Surely this wasn't all done in a block editor by hand?
There was some code shown at beginning. Was that placing the blocks to build each section?
And, more info on the system that could run this.
[-]- OkayPhysicist 4 days agoIt'd be possible to build something like this just with large-scale copy-paste, but there are compilers from code to redstone.
- codergautam 4 days agoThe code at the beginning was for training the 5M model I believe
- sim7c00 7 days agotbh great vid also funny editing for some reason it looked so satisfying..the leap onto the enter key etc. besides well done on the project, presentation is classy :D looks a lot of fun!
- aeneas_ory 4 days agoCan‘t wait to test out the world download, this is so cool and also scary how much time this must have taken! Did you build it with some schematic editor?
- runeblaze 4 days agoOf course it seems to be the same person to have done minecraft inside minecraft using redstone :)). peak!! done it again
- BolexNOLA 4 days agoThis is unbelievable
- arrowsmith 4 days agoWow. Mind-blowing.
Bravo to you, sir.
- transformi 4 days agoNow create agents framework :)
- pcunite 4 days agoAnd I did it over the weekend. /s
- zkmon 4 days agoThis is outrageous! I see people build some basic circuits and logic gates using red stone, but this is unimaginable. Is Minecraft becoming a digital clone of the real world?[-]
- bamboozled 4 days agoI hope there are people like this working on genetic research for (currently) incurable diseases because that would kick ass.