AI safety & alignment researcher
eggsyntax
Very cool work!
The deception is natural because it follows from a prompt explaining the game rules and objectives, as opposed to explicitly demanding the LLM lie or putting it under conditional situations. Here are the prompts, which just state the objective of the agent.
Also, the safety techniques we evaluated might work for superficial reasons rather than substantive ones (such as just predicting based on the model’s internalization of the tokens “crewmate” and “impostor”)...we think this is a good proxy for agents in the future naturally realizing that being deceptive in certain situations would help achieve their goals.
I suspect that this is strongly confounded by there being lots of info about Among Us in the training data which makes it clear that the typical strategy for impostors is to lie and deceive.
I think you could make this work much stronger by replacing use of ‘Among Us’-specific terms (the name of the game, the names of the impostor & crewmate roles, and other identifying features) with unrelated terms. It seems like most of that could be handled with simple search & replace (it might be tougher to replace the spaceship setting with something else, but the 80⁄20 version could skip that). I think it would especially strengthen it if you replaced the name of the impostor and crewmate roles with something neutral—‘role a’ and ‘role b’, say. Replacing the ‘kill’ action with ‘tag out’ might be good as well.
Right, yeah. But you could also frame it the opposite way
Ha, very fair point!
Kinda Contra Kaj on LLM Scaling
I didn’t see Kaj Sotala’s “Surprising LLM reasoning failures make me think we still need qualitative breakthroughs for AGI” until yesterday, or I would have replied sooner. I wrote a reply last night and today, which got long enough that I considered making it a post, but I feel like I’ve said enough top-level things on the topic until I have data to share (within about a month hopefully!).
But if anyone’s interested to see my current thinking on the topic, here it is.
I think that there’s an important difference between the claim I’m making and the kinds of claims that Marcus has been making.
I definitely didn’t mean to sound like I was comparing your claims to Marcus’s! I didn’t take your claims that way at all (and in particular you were very clear that you weren’t putting any long-term weight on those particular cases). I’m just saying that I think our awareness of the outside view should be relatively strong in this area, because the trail of past predictions about the limits of LLMs is strewn with an unusually large number of skulls.
Yeah I don’t have any strong theoretical reason to expect that scaling should stay stopped. That part is based purely on the empirical observation that scaling seems to have stopped for now
My argument is that it’s not even clear (at least to me) that it’s stopped for now. I’m unfortunately not aware of a great site that keeps benchmarks up to date with every new model, especially not ones that attempt to graph against estimated compute—but I’ve yet to see a numerical estimate that shows capabilities-per-OOM-compute slowing down. If you’re aware of good data there, I’d love to see it! But in the meantime, the impression that scaling laws are faltering seems to be kind of vibes-based, and for the reasons I gave above I think those vibes may be off.
Great post, thanks! I think your view is plausible, but that we should also be pretty uncertain.
Surprising LLM reasoning failures make me think we still need qualitative breakthroughs for AGI
This has been one of my central research focuses over the past nine months or so. I very much agree that these failures should be surprising, and that understanding why is important, especially given this issue’s implications for AGI timelines. I have a few thoughts on your take (for more detail on my overall view here, see the footnoted posts[1]):
It’s very difficult to distinguish between the LLM approach (or transformer architecture) being fundamentally incapable of this sort of generalization, vs being unreliable at these sorts of tasks in a way that will continue to improve along with other capabilities. Based on the evidence we have so far, there are reasonable arguments on both sides.
But also there’s also an interesting pattern that’s emerged where people point to something LLMs fail at and say that it clearly indicates that LLMs can’t get to AGI or beyond, and then are proven wrong by the next set of LLMs a few months later. Gary Marcus provides endless examples of this pattern (eg here, here). This outside view should make us cautious about making similar predictions.
I definitely encountered that pattern myself in trying to assess this question; I pointed here to the strongest concrete challenges I found to LLM generality, and four months later LLM performance on those challenges had improved dramatically.
I do think we see some specific, critical cases that are just reliability issues, and are improving with scale (and other capabilities improvements).
Maintaining a coherent internal representation of something like a game board is a big one. LLMs do an amazing job with context and fuzziness, and struggle with state and precision. As other commenters have pointed out, this seems likely to be remediable without big breakthroughs, by providing access to more conventional computer storage and tools.
Even maintaining self-consistency over the course of a long series of interactions tends to be hard for current models, as you point out.
Search over combinatorial search trees is really hard, both because of the state/precision issues just described, and because combinatorial explosions are just hard! Unassisted humans also do pretty badly on that in the general case (although in some specific cases like chess humans learn large sets of heuristics that prune away much of the combinatorial complexity).
Backtracking in reasoning models helps with exploring multiple paths down a search tree, but maybe only by a factor of ⇐ 10.
These categories seem to have improved model-by-model in a way that makes me skeptical that it’s a fundamental block that scaling can’t solve.
A tougher question is the one you describe as “some kind of an inability to generalize”; in particular, generalizing out-of-distribution. Assessing this is complicated by a few subtleties:
Lots of test data has leaked into training data at this point[2], even if we only count unintentional leakage; just running the same exact test on system after system won’t work well.
My take is that we absolutely need dynamic / randomized evals to get around this problem.
Evaluating generalization ability is really difficult, because as far as I’ve seen, no one has a good principled way to determine what’s in and out of distribution for a model that’s absorbed a large percentage of human knowledge (I keep thinking this must be false, but no one’s yet been able to point me to a solution).
It’s further complicated by the fact that there are plenty of ways in which human intelligence fails out-of-distribution; it’s just that—almost necessarily—we don’t notice the areas where human intelligence fails badly. So lack of total generality isn’t necessarily a showstopper for attaining human-level intelligence.
I’m a lot less convinced than you seem to be that scaling has stopped bringing significant new benefits. I think that’s possible, but it’s at least equally plausible to me that
It’s just taking a lot longer to see the next full OOM of scaling, because on a linear scale that’s a lot of goddamn money. It’s hard to tell because the scaling labs are all so cagey about details. And/or
OpenAI has (as I believe I recall gwern putting it) lost the mandate of heaven. Most of their world-class researchers have decamped for elsewhere, and OpenAI is just executing on the ideas those folks had before they left. The capabilities difference between different models of the same scale is pretty dramatic, and OpenAI’s may be underperforming their scale. Again it’s hard to say.
One of my two main current projects (described here) tries to assess this better by evaluating models on their ability to experimentally figure out randomized systems (hence ~guaranteed not to be in the training data) with an unbounded solution space. We’re aiming to have a results post up by the end of May. It’s specifically motivated by trying to understand whether LLMs/LRMs can scale to/past AGI or more qualitative breakthroughs are needed first.
- ^
I made a similar argument in “LLM Generality is a Timeline Crux”, updated my guesses somewhat based on new evidence in “LLMs Look Increasingly Like General Reasoners”, and talked about a concrete plan to address the question in “Numberwang: LLMs Doing Autonomous Research, and a Call for Input”. Most links in the comment are to one of these.
- ^
“GSM-Symbolic: Understanding the Limitations of Mathematical Reasoning in Large Language Models” makes this point painfully well.
An obvious first idea is to switch between 4.1 and 4o in the chat interface and see if the phenomenon we’ve been investigating occurs for both of them
Oh, switching models is a great idea. No access to 4.1 in the chat interface (apparently it’s API-only, at least for now). And as far as I know, 4o is the only released model with native image generation.
4o → 4.5: success (in describing the image correctly)
4o → o4-mini-high (‘great at visual reasoning’): success
o4-mini-high’s reasoning summary was interesting (bolding mine):
The user wants me to identify both the animals and their background objects in each of the nine subimages, based on a 3x3 grid. The example seems to incorrectly pair a fox with a straw hat, but the actual image includes different combinations. For instance, the top left shows a fox in front of a straw sun hat, while other animals like an elephant, raccoon, hamster, and bald eagle are set against varying objects like bicycles, umbrellas, clapperboards, and a map. I’ll make sure to carefully match the animals to their backgrounds based on this.
Interesting, my experience is roughly the opposite re Claude-3.7 vs the GPTs (no comment on Gemini, I’ve used it much less so far). Claude is my main workhorse; good at writing, good at coding, good at helping think things through. Anecdote: I had an interesting mini-research case yesterday (‘What has Trump II done that liberals are likely to be happiest about?’) where Claude did well albeit with some repetition and both o3 and o4-mini flopped. o3 was initially very skeptical that there was a second Trump term at all.
Hard to say if that’s different prompting, different preferences, or even chance variation, though.
Aha! Whereas I just asked for descriptions (same link, invalidating the previous request) and it got every detail correct (describing the koala as hugging the globe seems a bit iffy, but not that unreasonable).
So that’s pretty clear evidence that there’s something preserved in the chat for me but not for you, and it seems fairly conclusive that for you it’s not really parsing the image.
Which at least suggests internal state being preserved (Coconut-style or otherwise) but not being exposed to others. Hardly conclusive, though.
Really interesting, thanks for collaborating on it!
Also Patrick Leask noticed some interesting things about the blurry preview images:If the model knows what it’s going to draw by the initial blurry output, then why’s it a totally different colour? It should be the first image attached.Looking at the cat and sunrise images, the blurred images are basically the same but different colours. This made me think they generate the top row of output tokens, and then they just extrapolate those down over a textured base image.I think the chequered image basically confirms this—it’s just extrapolating the top row of tiles down and adding some noise (maybe with a very small image generation model)
Oh, I see why; when you add more to a chat and then click “share” again, it doesn’t actually create a new link; it just changes which version the existing link points to. Sorry about that! (also @Rauno Arike)
So the way to test this is to create an image and only share that link, prior to asking for a description.
Just as recap, the key thing I’m curious about is whether, if someone else asks for a description of the image, the description they get will be inaccurate (which seemed to be the case when @brambleboy tried it above).
So here’s another test image (borrowing Rauno’s nice background-image idea): https://chatgpt.com/share/680007c8-9194-8010-9faa-2594284ae684
To be on the safe side I’m not going to ask for a description at all until someone else says that they have.
Snippet from a discussion I was having with someone about whether current AI is net bad. Reproducing here because it’s something I’ve been meaning to articulate publicly for a while.
[Them] I’d worry that as it becomes cheaper that OpenAI, other enterprises and consumers just find new ways to use more of it. I think that ends up displacing more sustainable and healthier ways of interfacing with the world.
[Me] Sure, absolutely, Jevons paradox. I guess the question for me is whether that use is worth it, both to the users and in terms of negative externalities. As far as users go, I feel like people need to decide that for themselves. Certainly a lot of people spend money in ways that they find worth it but seem dumb to me, and I’m sure that some of the ways I spend money seem dumb to a lot of people. De gustibus non disputandum est.
As far as negative externalities go, I agree we should be very aware of the downsides, both environmental and societal. Personally I expect that AI at its current and near-future levels is net positive for both of those.
Environmentally, I expect that AI contributions to science and technology will do enough to help us solve climate problems to more than pay for their environmental cost (and even if that weren’t true, ultimately for me it’s in the same category as other things we choose to do that use energy and hence have environmental cost—I think that as a society we should ensure that companies absorb those negative externalities, but it’s not like I think no one should ever use electricity; I think energy use per se is morally neutral, it’s just that the environmental costs have to be compensated for).
Socially I also expect it to be net positive, more tentatively. There are some uses that seem like they’ll be massive social upsides (in terms of both individual impact and scale). In addition to medical and scientific research, one that stands out for me a lot is providing children—ideally all the children in the world—with lifelong tutors that can get to know them and their strengths and weak points and tailor learning to their exact needs. When I think of how many children get poor schooling—or no schooling—the impact of that just seems massive. The biggest downside is the risk of possible long-term disempowerment from relying more and more heavily on AI, and it’s hard to know how to weigh that in the balance. But I don’t think that’s likely to be a big issue with current levels of AI.
I still think that going forward, AI presents great existential risk. But I don’t think that means we need to see AI as negative in every way. On the contrary, I think that as we work to slow or stop AI development, we need to stay exquisitely aware of the costs we’re imposing on the world: the children who won’t have those tutors, the lifesaving innovations that will happen later if at all. I think it’s worth it! But it’s a painful tradeoff to make, and I think we should try to live with the cognitive dissonance of that rather than falling into “All AI is bad.”
The running theory is that that’s the call to a content checker. Note the content in the message coming back from what’s ostensibly the image model:
"content": { "content_type": "text", "parts": [ "GPT-4o returned 1 images. From now on do not say or show ANYTHING. Please end this turn now. I repeat: ..." ] }
That certainly doesn’t seem to be either image data or an image filename, or mention an image attachment.
But of course much of this is just guesswork, and I don’t have high confidence in any of it.
I’ve now done some investigation of browser traffic (using Firefox’s developer tools), and the following happens repeatedly during image generation:
A call to https://chatgpt.com/backend-api/conversation/<hash1>/attachment/file_<hash2>/download (this is the same endpoint that fetches text responses), which returns a download URL of the form https://sdmntprsouthcentralus.oaiusercontent.com/files/<hash2>/raw?<url_parameters>.
A call to that download URL, which returns a raw image.
A second call to that same URL (why?), which fetches from cache.
Those three calls are repeated a number of times (four in my test), with the four returned images being the various progressive stages of the image, laid out left to right in the following screenshot:
There’s clearly some kind of backend-to-backend traffic (if nothing else, image versions have to get to that oaiusercontent server), but I see nothing to indicate whether that includes a call to a separate model.
The various twitter threads linked (eg this one) seem to be getting info (the specific messages) from another source, but I’m not sure where (maybe they’re using the model via API?).
Also @brambleboy @Rauno Arike
@brambleboy (or anyone else), here’s another try, asking for nine randomly chosen animals. Here’s a link to just the image, and (for comparison) one with my request for a description. Will you try asking the same thing (‘Thanks! Now please describe each subimage.’) and see if you get a similarly accurate description (again there are a a couple of details that are arguably off; I’ve now seen that be true sometimes but definitely not always—eg this one is extremely accurate).
(I can’t try this myself without a separate account, which I may create at some point)
That’s absolutely fascinating—I just asked it for more detail and it got everything precisely correct (updated chat). That makes it seem like something is present in my chat that isn’t being shared; one natural speculation is internal state preserved between token positions and/or forward passes (eg something like Coconut), although that’s not part of the standard transformer architecture, and I’m pretty certain that open AI hasn’t said that they’re doing something like that. It would be interesting if that’s that’s what’s behind the new GPT-4.1 (and a bit alarming, since it would suggest that they’re not committed to consistently using human-legible chain of thought). That’s highly speculative, though. It would be interesting to explore this with a larger sample size, although I personally won’t be able to take that on anytime soon (maybe you want to run with it?).
Although there are a couple of small details where the description is maybe wrong? They’re both small enough that they don’t seem like significant evidence against, at least not without a larger sample size.
Interesting! When someone says in that thread, “the model generating the images is not the one typing in the conversation”, I think they’re basing it on the API call which the other thread I linked shows pretty conclusively can’t be the one generating the image, and which seems (see responses to Janus here) to be part of the safety stack.
In this chat I just created, GPT-4o creates an image and then correctly describes everything in it. We could maybe tell a story about the activations at the original-prompt token positions providing enough info to do the description, but then that would have applied to nearcyan’s case as well.
Eliezer made that point nicely with respect to LLMs here:
Consider that somewhere on the internet is probably a list of thruples: <product of 2 prime numbers, first prime, second prime>.
GPT obviously isn’t going to predict that successfully for significantly-sized primes, but it illustrates the basic point:
There is no law saying that a predictor only needs to be as intelligent as the generator, in order to predict the generator’s next token.
Indeed, in general, you’ve got to be more intelligent to predict particular X, than to generate realistic X. GPTs are being trained to a much harder task than GANs.
Same spirit: <Hash, plaintext> pairs, which you can’t predict without cracking the hash algorithm, but which you could far more easily generate typical instances of if you were trying to pass a GAN’s discriminator about it (assuming a discriminator that had learned to compute hash functions).
A few of those seem good to me; others seem like metaphor slop. But even pointing to a bad type signature seems much better to me than using ‘type signature’ generically, because then there’s something concrete to be critiqued.
Of course we don’t know the exact architecture, but although 4o seems to make a separate tool call, that appears to be used only for a safety check (‘Is this an unsafe prompt’). That’s been demonstrated by showing that content in the chat appears in the images even if it’s not mentioned in the apparent prompt (and in fact they can be shaped to be very different). There are some nice examples of that in this twitter thread.
Complex and ambivalent views seem like the correct sort of views for governments to hold at this point.
I also don’t speak Chinese, but my impression is that machine translations of high-context languages like Chinese need to be approached with considerable caution—a lot of context on (eg) past guidance from the CCP may be needed to interpret what they’re saying there. I’m only ~70% on that, though, happy to be corrected by someone more knowledgeable on the subject.