But also, he argues a lot about sample efficiency. He wants to develop algorithms/methods/models which can learn much faster / with much fewer data.
10,898 karma · joined March 2, 2010
albzey@gmail.com
http://www.az2000.de
https://github.com/albertz
https://twitter.com/albertzeyer
Research Scientist, PhD; Deep Learning, Speech Recognition, NLP: http://www-i6.informatik.rwth-aachen.de/~zeyer/ https://scholar.google.com/citations?user=qrh5CBEAAAAJ&hl=en
[ my public key: https://keybase.io/albertzeyer; my proof: https://keybase.io/albertzeyer/sigs/1NQp461oCwDiD4vB8HKfiZAkztYALFalSYwHFsnX8IU ]
But also, he argues a lot about sample efficiency. He wants to develop algorithms/methods/models which can learn much faster / with much fewer data.
His goal is to develop generic methods. So you could work with more complex games or the physical world for that, as that is what you want in the end. However, his insight is, you can even modify the Atari setting to test this, e.g. to work in realtime, and the added complexity by more complex games doesn't really give you any new additional insights at this point.
But this is a wrong statement? Google never made this statement? You can have a Transformer diffusion models. Actually Transformers are very standard for all of the discrete diffusion language models, so I would expect Gemini Diffusion also uses Transformers.
Edit Ah sorry, I missed, this was already addressed, also linked in the post: https://news.ycombinator.com/item?id=44057939 Maybe my remaining post is still useful to some.
The difference is, it's an encoder-only Transformer, and not a decoder-only Transformer. I.e. it gets fed in a full sequence (but noisy/corrupted), and it predicts the full correct sequence. And then you can iterate on that. All frames in the sequence can be calculated in parallel, and if you need only a few iterations, this is faster than the sequential decoding in decoder-only models (although speculative decoding also gets you some speedup for similar reasons). Those discrete diffusion models / encoder-only Transformers are usually trained with BERT-like masking, but that's actually an active field of research. It's really a pity that they don't provide any details here (on training and modeling).
I wonder how this relates to Gemini. Does it use the same modeling? Was the model checkpoint even imported from Gemini, and then further finetuned for discrete diffusion? Or knowledge distillation? Or is it just branding?
https://en.wikipedia.org/wiki/Programming_language_generatio...
But speaking more seriously, how to get this deterministic?
https://nlp.seas.harvard.edu/NamedTensor
https://namedtensor.github.io/
https://docs.pytorch.org/docs/stable/named_tensor.html
https://github.com/JuliaArrays/AxisArrays.jl
https://github.com/ofnote/tsalib
https://github.com/google-deepmind/tensor_annotations
https://github.com/google-deepmind/penzai
https://github.com/tensorflow/mesh/
https://github.com/facebookresearch/torchdim
https://returnn.readthedocs.io/en/latest/getting_started/dat... (that's my own development; unfortunately the doc is very much outdated on that)
Interpolation is also related to extrapolation. In higher dimensional spaces, the distinction is not so clear. In terms of machine learning, you would call this generalization.
The question is more, is it a good type of interpolation/extrapolation/generalization. You measure that on a test set.
And mathematically speaking, your brain also is just doing another type of interpolation/extrapolation.
But all but the first page seems to be missing in this PDF? There is just an abstract and (partial) outline.
But I guess you mean this? https://www.sciencedirect.com/science/article/pii/S000437022...
"Reward is enough", David Silver, Satinder Singh, Doina Precup, Richard S. Sutton, 2021.
Also note, depending on your model dimensions and sequence lengths, often the attention computation plays only a minor role (maybe 10% overall or so), and the MLP computation dominates.
I'm not sure about the other examples. But maybe it's a similar reason that it is not a 50:50 ratio?
One problem with stack traces is maybe that they can be too verbose. E.g. if you print them for any warning you print to log (or stdout). Sometimes they will be extremely helpful for debugging some problem, but in many cases, you maybe don't need them (you know why you get the warning and/or you don't care about it).
You could also add more information to the stack trace such as local variables. That can be even more helpful for debugging then, but again adds more verbosity.
For example, we often use this to add information about relevant local variables: https://github.com/albertz/py_better_exchook
One solution to the problem with verbosity is when you have foldable text output. Then the stack trace is folded away (not shown in all details) and you can unfold it to see the details. See the DomTerm demo here: https://github.com/albertz/py_better_exchook#domterm
Some more on text folding:
https://github.com/PerBothner/DomTerm/issues/54
https://gitlab.com/gnachman/iterm2/-/issues/4950
https://github.com/xtermjs/xterm.js/issues/1875
https://gitlab.freedesktop.org/terminal-wg/specifications/-/...
Btw, what about some clang18.tc comparison, i.e. Clang18 with the new tail-call interpreter? I wonder how that compares to clang19.tc.
I find this quite impressive, that they rewrote the whole Fish core, but everything keeps working exactly in the same way (except very few minor things which change in only minor ways, which they list).
I think that ZFS actually does this. https://www.truenas.com/docs/references/zfsdeduplication/
My main motivation was for the packages of Python virtual envs, where I often have similar packages installed, and even if versions are different, many files would still match. Some of the packages are quite huge, e.g. Numpy, PyTorch, TensorFlow, etc. I got quite some disk space savings from this.
https://github.com/albertz/system-tools/blob/master/bin/merg...
So, that makes implementing training with only the C++ API quite a big task. You first need to define all the gradients, and then implement backprop / autograd.
I'm not sure if this was a very bad joke by Elon, or if Grok 3 is really biased like that.
Then some time later, I got Internet access, and I read about Gentoo, and the tutorial to install it from scratch was really well written and easy to follow, and that helped me really a lot in understanding how Linux really works, what components are involved in the whole system. I continued using that for many years. Whenever there was some problem, I was able to understand it and fix it.
Nowadays, I just want to use sth which is so widespread that it is very well supported, and I can expect that any problem can be found on the Internet with some solution, and sth where I just need to spend only a minimal amount of effort to keep it running and up-to-date, so I chose Ubuntu (already couple of years ago; not sure if my choice today would be the same, but for now I stick to it). So this is sth which basically just works. But I wonder, for a newcomer who really wants to understand how Linux works, I think I would rather recommend Gentoo or Arch Linux or so. I think I also prefer the rolling release concept (Arch, Gentoo) over the point release development model (Ubuntu, Debian, Suse, Slackware, etc).
E.g. from https://arxiv.org/abs/1804.09849:
%\title{Sequence-to-Sequence Tricks and Hybrids\\for Improved Neural Machine Translation} % \title{Mixing and Matching Sequence-to-Sequence Modeling Techniques\\for Improved Neural Machine Translation} % \title{Analyzing and Optimizing Sequence-to-Sequence Modeling Techniques\\for Improved Neural Machine Translation} % \title{Frankenmodels for Improved Neural Machine Translation} % \title{Optimized Architectures and Training Strategies\\for Improved Neural Machine Translation} % \title{Hybrid Vigor: Combining Traits from Different Architectures Improves Neural Machine Translation}
\title{The Best of Both Worlds: \\Combining Recent Advances in Neural Machine Translation\\ ~}
Also a lot of things in the Attention is all you need paper: https://arxiv.org/abs/1706.03762v1
However, that target audience, those hobby enthusiasts, hobby developers, also university labs with low budget, those are the people who will develop the future open source frameworks, and ultimately/implicitly those are the people who can have a quite big impact on the future development of brand recognition and the open source ecosystem around the hardware. Those people can shape the future trends.
So, only looking at the market, how much units you would sell here, that totally ignores the impact this might have indirectly in the future.
There was one month time to complete the competition. But it seems you were allowed to reuse any existing other code.
Looks like this was quite fun to work on.
(I feel a bit sad that I would never be able to get one month of free time to work on this now, due to family and job...)
I'm quite sure you will still be able to find such events, if you want to try. I know a couple of friends who still do that.
Speaking of something which has a similar feeling: There are the hacker events, such as the CCC, which is even right now: https://events.ccc.de/congress/2024/infos/index.html
(Unfortunately, I wasn't able to attend any of these since a while due to having small kids... But I definitely will join them sooner or later again. Maybe then with my kids.)
Also related: https://lanparty.house/ (https://news.ycombinator.com/item?id=42156977)