Discussion about this post

User's avatar
Marcelo Rinesi's avatar

As a counterpoint (acknowledging a probable bias on that direction), I think it's impossible to do that cycle of thinking with the MAMLMs --you can't pick up when it's BSing you or putting you into a path with huge costs later--- without understanding what's going on in the layer below, and that does take, I think, doing the work.

I'd characterize the situation at best as equivalent to statistical packages: to fit a statistical model I often do things like

* Write a `brm(...` call in R

* ... which generates Stan code

* ... which compiles to C

* ... which does MCMC

* ... which...

* ... which hopefully does some inference...

* ... which maaaybe tells me something about the bits of the world I'm thinking about.

Lots of abstraction layers there, and my knowledge of many of them lies somewhere between "very cursory" and "once upon a time." However, I do have some direct knowledge --I've put some time, for related or unrelated reasons, in some of the maths and the code and so on--- which means that I have a sometimes-reasonable idea of what all of this can do, what it can't do, when it's giving me BS (not because of a bug but rather because I'm pushing it to do what it can't).

But I know far too many people whose approach to data analysis is "throw the data at the program, press the FIT MODEL button, make decisions based on a p-value and the sign of a coefficient." Sometimes I do it myself. Thus is furthered the sale of rue.

Extrapolating, I worry that the fact that people who do know the lower layers are having so much success iterating with MAMLMs that they underestimate how much their understanding is necessary for that success. A good programmer can co-code with one of these systems quite well, but I don't know that you can become a good programmer without being able to code without one.

Granted, there are caveats here; you don't need to know assembler to good code in most languages, etc - as Whitehead would say, that's the point of civilization. But MAMLMs don't offer the guarantees a compiler can, or a mathematical process, or even a car's automatic gearbox -- it can go wildly or subtly wrong in ways you can't tell without knowing about things one or two layers below what you're discussing with it. I don't know how to learn that without doing some of the work.

[I have other, unrelated reasons to decry the use of natural language as the primary interface to write and edit code --it reduces the already too-low short-term organizational incentive to building and improving the formalized domain abstractions that end up being one of the main ways in which organizations scale up their thinking; just like the shift from Latin to algebra, the short-term limitations have a cumulative payoff - I would hypothesize that a physicist who never has to learn to think in algebra will have an easier early time but won't go far in his understanding. Same goes for coding.].

Expand full comment
Kaleberg's avatar

Abstraction is built into the brain. For example, once the brain recognizes and characterizes a surface, it drops the details that allowed that recognition. That's why it's so hard to find a small item one has dropped on the floor. One is sure that one has looked at the entire floor, but finding that item may require looking at each part of the floor individually, a far more tedious task. As noted, sometimes one needs to change one's level of abstraction.

I went through the CS course at MIT in the 1970s and more recently helped my niece get through the CS course at Stanford. I found the courses highly relevant to my career just as my niece found them equally relevant. There were differences. For example, the P=NP problem had not been formulated as such when I took CS, but I had taken a course addressing computational complexity so the ideas were familiar. We both studied algorithms even though Knuth literally wrote the book in time for my undergraduate education.

It's easy for someone managing a company, and so dealing at a very high level of abstraction, to argue that what one learns in a CS course isn't relevant or useful in one's career. The reality is that it is immensely important. Just as studying poetry teaches one about rhyme, scansion, metaphor and allusion, studying CS teaches one about complexity, modularity, experimental design and algorithmic expression. Having studied CS then and now, I found that things had changed remarkably little. Top level executives working at the highest level of abstraction are often the most clueless about what is happening in their organizations and in their business.

Orzel makes some good points about the tension between learning and getting credentials, but this tension has always been there. There have always been ways to cheat. Oxford was notorious for granting degrees to the sons of aristocrats on a handshake basis but still managed to crank out a good supply of the literate, numerate and otherwise educated. Some of them were even the sons of aristocrats. LLMs just mean that credential granting institutions need to change some of their tactics.

Expand full comment
11 more comments...

No posts