shoyer
AST parsing via reflection means your ML compiler needs to re-implement all of Python, which is not a small language. This is a lot of work and hard to do well with abstractions that are not designed for those use-cases. (I believe Julia's whole language auto-diff systems struggle for essential the same reason.)
One nit on your framing: NeuralGCM (https://www.nature.com/articles/s41586-024-07744-y), built by my team at Google, is currently at the top of the WeatherBench leaderboard and actually builds in lots of physics :).
We would love to metrics from your model in WeatherBench for comparison. When/if you have that, please do reach out.
Finding a good mentor -- someone whose values you agree with and who sets you up for career success -- is far more important than working on any particular topic of interest. The world is full of interesting research topics, and very few PhDs work in the precise area of their PhD research for their entire career.
This article also misses what is likely the leading interpretation of quantum mechanics by actual quantum physicists, namely that the measurment problem is solved by decoherence (the quantitative theory of how classical states emerge from quantum states):
https://en.wikipedia.org/wiki/Measurement_problem#The_role_o...
https://royalsocietypublishing.org/doi/10.1098/rsta.2011.049...
Exmaple: I got divorced last year. Betterment took weeks of time and many phones calls until they were able to figure out a way to divide our assets evenly, without a large difference in cost basis. Their automatic algorithm for dividing accounts just didn't know how to handle it.
If UBS figures out how to offer a higher level of service on top of robo-advising, that could be a real win.
We'll believe it when it happens.
I don't think this is quite fair. There are several variations of 2nd order methods, notably KFAC and Shampoo, that seem to quite effective for large-scale neural network training, e.g., see the intro of this paper for an overview: https://openreview.net/forum?id=-t9LPHRYKmi
As for that survey of PhD students, I suspect you would get similarly dismal reviews of parenthood from parents of 0-5 year old children -- but of course that doesn't mean that nobody should have children! A better survey would ask PhD students how they feel about the experience well after they are done with it.
∂ y(x) = -(∂_1 F(x, y(x)))^{-1} (∂_0 F(x, y(x)))
where ∂ denotes partial differentiation.
This turns out to be an incredibly useful identity for calculating derivatives. No matter how you calculated a solution to the equation, computing derivatives is "just" a matter of performing a linear solve.
If the calculation you performed is a solution to solving an equation, implicit differentiation is typically much faster, less memory intensive and more accurate than calculating derivatives by differentiating through your solver. For examples, you might check-out a recent paper I co-authored with colleagues at Google: https://arxiv.org/abs/2105.15183
Does anyone know where the money is coming from? I'm guessing foundations like Schmidt Futures? It seems like financing is the crucial challenge for getting anything like this off the ground.
It’s a little annoying to have to set and pass RNG state explicitly, but on the plus side you never hit these sorts of issues. Your code will also be completely reproducible, without any chance of spooky “action at a distance.” Once you’ve been burned by this a few times, you’ll never go back.
You might think that explicitly seeding the global RNG would solve reproducibility issues, but it really doesn’t. If you call into any code you didn’t write, it might also be using the same global RNG.
Xarray definitely takes a different philosophical approach based on its roots in the Python data science ecosystem, compared to "all in one" solutions like a full array databases.
I agree, formulating open benchmarks is great work, and there's nothing suspicious about performing well on benchmarks you write. It's just worth keeping in mind: https://matthewrocklin.com/blog/work/2017/03/09/biased-bench...
My initial remarks were a little careless and overly provocative! I don't doubt that there are cases where a true "array database" provides value. I do think the use-cases are less clear for arrays than they are for tabular data, because the users of arrays tend to be more sophisticated.
My two cents (as the author of Xarray, one of the Python libraries mentioned in this report) is that it’s questionable whether we need “array databases” at all. Certainly we need to be able to store arrays and compute with them, but do we need an integrated solution that does both at the same time with a query language that looks like SQL? Maybe not, in an era of cloud computing, prolific open source software and when everyone who works with big array datasets already knows Python.
Unfortunately on closer examination the results look pretty meaningless to me. The study involves rather small numbers (e.g., 4/33 vs 10/44 divorces), but an even bigger issue is that the “control” arm in this study wasn’t selected randomly, but rather consisted of couples “declining active treatment” or who “could not be scheduled for active treatment.”
So a better summary might be “Divorce rate cut in half for coupling willing and able to take part in a relationship building program, of any sort.”
If these psychologists had only been a bit less greedy about wanting to compare three different treatment arms rather than a real control arm, they could have set up a study that could actually have taught us something...
I am a strong believer in always using a seed for random number generation for exactly these sorts of reasons. (Side note: deterministic RNGs is one of my favorite features about JAX.)
This is all the more concerning for 8-bit quantized arithmetic, where off-by-one means a relative error of about half a percent. If a individual layers in a quantized neural net have off-by-one errors with a consistent bias, I can imagine these errors accumulating into significant losses in model quality in deep networks. There isn't a huge margin for error in quantized neural nets.
One concern about the article: it uses the word "non-deterministic" in a slightly misleading way. I assume any specific hardware is still expected to produce consistent results when run twice on the same input. So it's more non-reproducible than non-deterministic. Compensating for inconsistent arithmetic on different devices sounds much more feasible than compensating for stochastic arithmetic.