This is largely a side effect of mimicking the distribution on the internet via pretraining.
It's a good basis for setting up a model of the world since we have so much data and it's free.
Post-training techniques like DPO and RLHF are then about using minimal hand-curated data (expensive!) to shift that distribution closer to standard human / desired behavior.
It will continue to get better -- early versions of chat gpt were taught to say "I don't know" with something like 20 training examples and it got substantially better off of those. As that number of training examples increases with the amount of capital invested, there will be more patterns that get latched onto and expressed by attention in these models.
----
It will take time but they'll get pretty robust. Models will still be susceptible to Dunning-Kruger / ignorance. They aren't perfect AND it's in their training data thanks to us humans that they're copying.
A single synchronous request is not a good way to understand cost here unless your workload is truly singular tiny requests. Chatgpt handles many requests in parallel and this article's 4 GPU setup certainly can handle more too.
It is miraculous that the cost comparison isn't worse given how adversarial this test is.
Larger requests, concurrent requests, and request queueing will drastically reduce cost here.
Of course, we already need to be working in Spaghetti ints or prepping them will be as complex than a linear scan.
Can't wait for spaghetti arithmetic.
Do we have a better algo than log(n) for locating the min?
I'm thinking spaghetti max align them, lay them across an arm at the midway point, sweep the shorts that fell, and repeat until all remaining are same length.
In some places, it's "gay" if two guys hold hands. On the racist bit: it can be hard to disambiguate why someone treats you in an unfavorable way -- it could be because they're actually racist or they could just be a pissy person who hates their job.
Just because a person or group of people classifies you a certain way doesn't make it universally true.
You can get most products on prem at a certain price & size. A lot of companies will apply resistance though unless the contract size is right b/c on-prem contracts tend to be less unit-profitable, risky, + unique annoying terms or constraints.
If you * need * it, you find a human to talk to (sales or connect from your network).
Is there a design paper somewhere? Curious how this was accomplished (and what trade-offs / failure modes it has):
"System uses a consistency sharding algorithm, lock-free design, task scheduling is accurate down to the second, supporting lightweight distributed computing and unlimited horizontal scaling"
If you have tight interfaces that fully encapsulate the use of any, you're fine. If you want to return `any` or pass it around outside of an insulated zone, you're gonna have a bad time.
`any` is a contagious/viral construct where anything it touches could become `any`. And then you spiral out of control and the whole codebase gets nothing from typescript but gets all the operational overhead.
Final note is that you likely shouldn't blindly cast unknown to stuff that you hope it is but instead use type guards to find out what the type is.
Zod is really good at making this ergonomic for most use cases. More niche types using nonprimitives or uncopyable attributes require hand rolled type guards :/
Type guards also update the type of your unknown var after it passes through them if you gate scopes with them if(isX(y)) {...}
Additional guards will merge attributes onto the type
or perhaps for some applications it would be sufficient to do
playlists {
id
song_ids []
}
-------------
and just store the ordering in an array. Some postgres drivers might start shitting the bed though at some gigantic array sizes, but a playlist probably has reasonable enough limits that you wouldn't have a big problem.
Or model it as a linked list and you can sidestep the limitations / complexity of some kind of numeric (or bytes / text based ordering field)
------------
playlists {
id
}
------------
playlist_members {
id
playlist_id
prev_playlist_member_id
(and/or next_playlist_member_id)
song_id
}
------------
you could then just select * from playlist_members where playlist_id = ... and sort on the client side.
you'd probably add an application limit where playlists have a max length of some kind.
re-orders can be done in a fixed number of row updates and typical application queries are still possible / fast.
One could argue that what you're describing is one of those alternative business models. You don't care if someone comes to your page anymore for ads if the scraped page is the ad.
I'm sad about what I think the stable equilibrium looks like for internet vs AI, and I hope there are some platforms that are able to put in the good fight to keep the internet awesome.
The internet is such an amazing public good and has moved technology forward at such an insane pace. It'd be depressing to explain to my grandkids that you used to be able to learn anything on the internet without subscribing to the X platform or Y curated channel.
There is flywheel issue with generative search: content producers, information curators or outlets, etc need to get paid.
People are okay-ish with Google in part because it drives traffic and traffic can be profitable. Fancy features that snatch website content and show them in Google's result pages are already not appreciated by indexed websites.
If generative search becomes the dominant interface, we will eventually see severe public info stagnation until alternative business models can grow around it or avoid it altogether. I suspect we'll see more platforms like Spotify for X and a continued shift toward subscription platforms and youtube.
Of course, what's to stop the bots from watching all of Netflix, listening to every podcast, etc? It will be an interesting decade for law / regulation / licensing.
I'm a midwesterner and half of my siblings, most of my wife's siblings, and some of my friends' siblings are in their late 20s, have no jobs (or <10 hrs a week), and live with their parents.
From the outside, they look nervous / afraid to try to get into the job market or to date people. Men & women, but it leans men. The ones in poorer families stay home all day and play video games, and the richer ones venture out to spend their parent's money at restaurants or on trips but otherwise do the same. Half of them were doing minimum-wage work and left at the start of the pandemic and the other half have never had jobs.
I could just be in a local pocket of people like this, but I'm worried about how many people must have fallen off of the wagon and will never get back on.
Trying to get a skilled entry-level job after having done literally nothing for 5 years is hard for a lot of reasons. One being the mental hurdle you have to get over: you know you'll face a lot of rejection, you're out of practice, and your work peers will be a lot younger.
--------------
Controversial opinion:
The whole thing has burnt me on UBI. I am afraid that the average American doesn't have the discipline to be productive if we introduce too much free income / free state of subsistence.
A great counter-argument is "well why does someone have to be productive? why should anyone have to work?". I don't know anything, but I suspect that we get to ask that question because of how dominant/rich the US is, and that is bound to end if we aren't more than competitive against countries that work their asses off.
Another counter is something like: exceptional people are responsible for the 10x-1000x outcomes that carry the economy, but those individuals are only the catalyst and do it on the backs of the rest of us. Takes all parts to make the machine work.
It's a good basis for setting up a model of the world since we have so much data and it's free.
Post-training techniques like DPO and RLHF are then about using minimal hand-curated data (expensive!) to shift that distribution closer to standard human / desired behavior.
It will continue to get better -- early versions of chat gpt were taught to say "I don't know" with something like 20 training examples and it got substantially better off of those. As that number of training examples increases with the amount of capital invested, there will be more patterns that get latched onto and expressed by attention in these models.
----
It will take time but they'll get pretty robust. Models will still be susceptible to Dunning-Kruger / ignorance. They aren't perfect AND it's in their training data thanks to us humans that they're copying.