There are three closely related reasons why spaced repetition is much less useful in practice then in theory.
1. It doesn't train real task performance. There is a spectrum of problems that people solve. On one end it is the recall of randomized facts in a flashcard prompt->answer way. On the other end is task performance, which can be more formally thought of as finding a path through a state space to reach some goal. The prompt->answer end is what SR systems relentlessly drill you at.
2. SR is pretty costly, prompt->answer problems are also low value. If you think about real world scenarios, its unlikely that you will come across a specific prompt->answer question. And if you do, the cost of looking it up is usually low.
3. The structure of knowledge stored is very different (and worse). If you think about high performance on a real world task like programming or theorem proving, you don't recall lists of facts to solve it. There's a lot about state space exploration, utilising principles of the game, leveraging known theorems, and so on.
This is a more descriptive version of the "rote memorization" argument. There's two common counters to this:
1. Learning is memorization. This is strictly true, but the prompt->answer way of learning is a specific kind of memorization. There's a correlation-causation fallacy here - high performers trained in other ways can answer prompts really well, it doesn't mean answering prompts really well means you will becoming high performing.
2. Memorization is a part of high performance, and SR is the optimal way to learn it. This is generally true, but in many cases the memorization part is often very small.
These ideas more accurately predict how SR is only significantly better in specific cases where the value of prompt-answer recall is really high. This is a function of both the cost to failing to remember and the structure of knowledge. So medical exams, where you can't look things up and is tested a lot as prompt->recalls, SR finds a lot of use.
My own guess for the what the next generation of learning systems that will be an order of magnitude more powerful will look like this:
1. Domain specific. You won't have a general system you chuck everything in. Instead you will have systems which are built differently to each task, but on the similar principles (which are explained below).
2. Computation instead of recall - the fundamental unit of "work" will shift from recalling the answer to a prompt to making a move in some state space. This can be taking a step in a proof, making a move in chess, writing a function, etc.
3. Optimise for first principles understanding of the state space. A state space is a massive, often exponential tree. Human minds cannot realistically solve anything in it, if not for our ability to find principles and generalise them to huge swaths of the state space. This is closely related to meta-cognition, you want to be thinking about solving as much has solving specific instances of a task.
4. Engineered for state space exploration - a huge and underdeveloped ability of machines is to help humans track the massive state space explorations, and evaluate and feedback to the user. The most common used form of this is currently git + testing suites. A future learning system could have a git like system to keep track of multiple branches that are possible solutions, and the UX features to evaluate various results of each branch.
It's not even stealing. They paid OpenAI for the tokens. It violates the OpenAI TOS, which specifically forbids using it's outputs for training competing models (which is very ironic)
The other big missing part here is the enormous incentives (and punishments if you don't) to publish in the big three AI conferences. And because quantity is being rewarded far more than quantity, the meta is to do really shoddy and uninspired work really quickly. The people I talk to have a 3 month time horizon on their projects.
JavaScript code and Haskell code ultimately both get turned into instructions for a microprocessor, so there really isn't much of a difference between both.
My own experience with Dual N-Back
1) I did it for a month. Probably some improvement, although I did not have any specific test done. Probably the most tangible use is really feeling how working memory (and losing it) is like and having better control. In the same way you might suddenly realize how breathing is and controlling it after learning meditation.
2) The study specified dual N back imposes a pretty demanding regiment. It's 12 sessions daily, consecutively for ~month. It takes about 20 minutes each day of intense focus.
3) There's naturally going to be a lot of survivorship bias in reviews. But you could argue it doesn't make your intelligence worse, so there's only net upside.
I predict many areas will eventually become like old mining/factory towns. Middle class jobs are being offshored at an astounding rate. Just doing some math - if a tech company lays off 7% of its employees for six years and sends the jobs overseas, nearly half of its American employees will be fired
My mostly uninformed worse case estimate is a large portion of these companies become something like the "body shops" (I believe MS has some association with Accenture, so that'd fit) where they maintain a minimal US presence for (mostly) customer facing "sales"/"high touch" positions so they have someone to broker deals and contracts with the (often clueless, IME) F500s, and then outsource all implementation work offshore. Same goes for some large portion of "important" managers.
For the "deep"/important/critical technical work, there will likely be staff retained on-shore, while the "boring" CRUD-type work that comprises some portion of the FANNAGS (whatever) is done overseas.
It's unlikely, say, for Google Search or AWS EC2 or something critical at MS (M365 maybe?) to be totally off-shored, but lesser services/functions are a likely target. (I know this is already happening to some extent at these companies; I've heard from reputable sources there's some large services that were nearly entirely built by staffing firms)
Basically, I think it's two things: we've reached the end of stratospheric growth in "tech" (sorry I just don't see the LLM wave getting there; a million SAAS thingys to "vibe code" a React calorie tracker ain't it), there's a massive surplus from the ZIRP era paired with some sort of obvious recession happening (or that's been going on for a while).
It's also a reset of sorts--look I'm as "pro software" as the next commentator here, but it's pretty absurd to think that there's loads of people making 200K+ to write CRUD stuff. There's just not a "shortage" in any way for any of these skills, as anyone doing a job search can attest.
This type of pay is really only "rational" in the markets where the cost of living has skyrocketed in the manner it has (largely/entirely a function of the "growth" era in SF/Seattle/Austin). It never seemed sustainable, and I suspected there would be some abrupt end when the "learn to code" era really took off.
On a positive note, perhaps those cities would be more affordable, but the in-elasticity of housing prices on the "way down" are always a problem for buyers.
This assumption is a pretty Western view, in that you assume that SV/USA still has technological primacy. I believe this to be generally true, but leadership has no incentive or reason it should. And if I'm being frank, there may be some bias here because it seems like companies with indian CEOs are offshoring at a much faster rate than non indian CEOs (e.g. Google vs Netflix). And non core roles could effectively be perceived to make up the majority of the company. So some cultural fondness for India plus a somewhat low view of the bulk of employees could result in most jobs being offshored.
For sure, I think your projection is a worse case scenario, one that's totally in the realm of possibility.
In "non-growth" times (i.e the era we're in now (post ZIRP) and probably for the foreseeable future, LLMs being the exception), very little outside the major revenue generators is probably "core" roles.
>For the "deep"/important/critical technical work, there will likely be staff retained on-shore, while the "boring" CRUD-type work that comprises some portion of the FANNAGS (whatever) is done overseas.
Someone who was a highly skilled factory worker would have said the same thing in
the 80's. That didn't work out too well for them in the long run. You have to assume that eventually those overseas workers will become experts in that "deep" work because they have the incentive to.
This. Tech workers are the modern day factory workers and tech cities will become like the rust belt once all the jobs get shipped overseas and AI takes over.
No it won't happen overnight, but neither did factory jobs leaving. I suspect though in 10 years the tech market for US workers will look very different than it does today.
I really want to destroy this blatant lying by tech CEOs that these are layoffs because of AI, tax laws or interest rates. Most tech companies have headcounts at their peak or slightly below. Whenever these amounts are fired, often near equal amounts are hired in India (and not counting L-1 transfers into the US, H1Bs etc). AI is a fiction invented to cover up the true reason: tech companies have adopted a long term strategy of profit making by wage arbitrage. They have identified their largest cost to be people, and are working to fix this.
1. It doesn't train real task performance. There is a spectrum of problems that people solve. On one end it is the recall of randomized facts in a flashcard prompt->answer way. On the other end is task performance, which can be more formally thought of as finding a path through a state space to reach some goal. The prompt->answer end is what SR systems relentlessly drill you at.
2. SR is pretty costly, prompt->answer problems are also low value. If you think about real world scenarios, its unlikely that you will come across a specific prompt->answer question. And if you do, the cost of looking it up is usually low.
3. The structure of knowledge stored is very different (and worse). If you think about high performance on a real world task like programming or theorem proving, you don't recall lists of facts to solve it. There's a lot about state space exploration, utilising principles of the game, leveraging known theorems, and so on.
This is a more descriptive version of the "rote memorization" argument. There's two common counters to this:
1. Learning is memorization. This is strictly true, but the prompt->answer way of learning is a specific kind of memorization. There's a correlation-causation fallacy here - high performers trained in other ways can answer prompts really well, it doesn't mean answering prompts really well means you will becoming high performing.
2. Memorization is a part of high performance, and SR is the optimal way to learn it. This is generally true, but in many cases the memorization part is often very small.
These ideas more accurately predict how SR is only significantly better in specific cases where the value of prompt-answer recall is really high. This is a function of both the cost to failing to remember and the structure of knowledge. So medical exams, where you can't look things up and is tested a lot as prompt->recalls, SR finds a lot of use.
My own guess for the what the next generation of learning systems that will be an order of magnitude more powerful will look like this:
1. Domain specific. You won't have a general system you chuck everything in. Instead you will have systems which are built differently to each task, but on the similar principles (which are explained below).
2. Computation instead of recall - the fundamental unit of "work" will shift from recalling the answer to a prompt to making a move in some state space. This can be taking a step in a proof, making a move in chess, writing a function, etc.
3. Optimise for first principles understanding of the state space. A state space is a massive, often exponential tree. Human minds cannot realistically solve anything in it, if not for our ability to find principles and generalise them to huge swaths of the state space. This is closely related to meta-cognition, you want to be thinking about solving as much has solving specific instances of a task.
4. Engineered for state space exploration - a huge and underdeveloped ability of machines is to help humans track the massive state space explorations, and evaluate and feedback to the user. The most common used form of this is currently git + testing suites. A future learning system could have a git like system to keep track of multiple branches that are possible solutions, and the UX features to evaluate various results of each branch.
reply