Well, 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.
>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.
>> 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?)
> (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.
I 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.
Funny, 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.
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.
It'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.
ƿ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.
Command 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.
The 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
there 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?
Here 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).
Are 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?
It’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.
There 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
If 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.
Aside 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.
when 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.
Any 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.
"(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.
tbh 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!
Can‘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?
This 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?