Why Not Just Outsource Alignment Research To An AI?
Warmup: The Expert
If you haven’t seen “The Expert” before, I recommend it as a warmup for this post:
The Client: “We need you to draw seven red lines, all strictly perpendicular. Some with green ink, some with transparent. Can you do that?”
(… a minute of The Expert trying to explain that, no, he cannot do that, nor can anyone else…)
The Client: “So in principle, this is possible.”
This. This is what it looks like in practice, by default, when someone tries to outsource some cognitive labor which they could not themselves perform. At best, The Expert is well-intentioned and knows what the user needs, ignores the incoherent parts of The Client’s babbling, and does the right thing. Or, they manage to add some silly but ultimately harmless bells and whistles to satisfy whatever dumb thing The Client is looking for.
At worst… well, there’s more than one failure mode which could qualify for the title of “worst”. Maybe The Expert gives The Client something which looks right to The Client and successfully conceals all the problems with it; presumably that’s a lucrative strategy for Experts. Maybe the Double Illusion of Transparency kicks in, both parties think they’ve successfully communicated, but in fact neither has any idea what’s going on in the other’s head. Maybe a well-intentioned Expert decides to ignore The Client’s incoherent babbling and do the thing which seems most likely to be right, but gets The Client’s preferences wrong.
One way or another, The Client’s ignorance is a major bottleneck to cognitive outsourcing. In practice, I expect The Client’s ignorance to be the primary bottleneck to cognitive outsourcing.
The core reason why we cannot just outsource alignment research to an AI is because we would then be The Client, and probably a very ignorant one.
Application to Alignment Schemes
There’s a lot of different flavors of “have the AI solve alignment for us”. A sampling:
Do some fine-tuning/RLHF on the language model to make it generate alignment research
Let the language model talk to other instances of itself, and prompt or fine-tune them together so they generate alignment research jointly
Set up a language model to generate alignment proposals and another to poke holes in them, and fine-tune the pair via a human judging the “debate”
As we go down the list, the proposals get fancier and add more bells and whistles, trying to make the AI a better expert. Sadly, none of them at all address what I expect to be the actual main bottleneck: The Client (i.e. the human user or users) has no understanding of what they need, what questions to ask, what’s possible or even logically coherent, etc.
What would this kind of error look like in practice?
Here’s one concrete example of the kind of failures I’d expect when a would-be outsourcer’s understanding falls short (from here):
Somebody literally types “If we take the action you just proposed, will we be happy with the outcomes?” into a GPT prompt. Obviously that does not result in the AI giving its actual best-guess answers to the questions, but in this case it doesn’t result in the AI thinking about how to deceive humans either. It just thinks about what text would follow that question if it appeared on the internet somewhere. And then I imagine someone with a bunch of interpretability tools saying “yup, it’s just thinking about what text typically follows this question”, and then that person’s boss is like “great, it’s not trying to deceive us, guess we can trust the answer”, and they both just haven’t really thought of the fact that the AI’s response-text does not have anything in particular to do with whether the AI is aligned or whether they’ll be happy with the outcome or whatever.
(It’s essentially the same mistake as a GOFAI person looking at a node in some causal graph labeled “will_kill_humans”, and seeing that node set to 99% False, and thinking that somehow implies the GOFAI will not kill humans.)
This is an Illusion of Transparency failure mode: The Client (humans) thinks they know what The Expert (GPT) is saying/thinking/doing, but in fact has no clue.
To be clear, I’d expect this particular mistake to be obvious to at least, like, 30% of the people who want to outsource alignment-solving to AI. Only the people who really do not understand what’s going on would make this particular mistake. (Or, of course, people who do understand but are working in a large organization and don’t notice that nobody else is checking for the obvious failure modes.) But in general, I expect more subtle versions of this kind of failure mode to be the default outcome when someone attempts to outsource lots of cognition to an AI in an area the outsourcer understands very poorly.
As they say: error between chair and keyboard.
Also, It’s Worse Than That
In fact “The Expert” video is too optimistic. The video opens with a well-intentioned Expert, who really does understand the domain and tries to communicate the problems, already sitting there in the room. In practice, I expect that someone as clueless as The Client is at least as likely to hire someone as clueless as themselves, or someone non-clueless but happy to brush problems under the rug, as they are to hire an actual Expert.
General principle: some amount of expertise is required to distinguish actual experts from idiots, charlatans, confident clueless people, etc. As Paul Graham puts it:
The problem is, if you’re not a hacker, you can’t tell who the good hackers are. A similar problem explains why American cars are so ugly. I call it the design paradox. You might think that you could make your products beautiful just by hiring a great designer to design them. But if you yourself don’t have good taste, how are you going to recognize a good designer? By definition you can’t tell from his portfolio. And you can’t go by the awards he’s won or the jobs he’s had, because in design, as in most fields, those tend to be driven by fashion and schmoozing, with actual ability a distant third. There’s no way around it: you can’t manage a process intended to produce beautiful things without knowing what beautiful is. American cars are ugly because American car companies are run by people with bad taste.
Now, in the case of outsourcing to AI, the problem is not “who to hire” but rather “which AI behavior/personality to train/prompt”. In the simulators frame, it’s a question of who or what to simulate. For the same reasons that a non-expert can’t reliably hire actual experts, a non-expert won’t be able to reliably prompt a simulacrum of an expert, because they can’t distinguish an expert simulacrum from a non-expert simulacrum.
Or, in the context of RLHF: a non-expert won’t be able to reliably reinforce expert thinking/writing on alignment, because they can’t reliably distinguish expert thinking/writing from non-expert.
Cocnretely, consider our earlier example:
Somebody literally types “If we take the action you just proposed, will we be happy with the outcomes?” into a GPT-3 prompt. Obviously that does not result in the AI giving its actual best-guess answers to the questions, but in this case it doesn’t result in the AI thinking about how to deceive humans either.
This is a failure to “hire” the right behavior/personality within the AI. Alas, the user fails to even realize that they have “hired” neither an honest actual expert nor an actively deceptive expert; they have “hired” something entirely different. (Reminder: I expect actual failures to be more subtle than this one.)
… Oh, And Worse Than That Too
Note that, in all of our prototypical examples above, The Client doesn’t just fail to outsource. They fail to recognize that they’ve failed. (This is not necessarily the case when non-expert Clients fail to outsource cognitive labor, but it sure is correlated.)
That means the problem is inherently unsolvable by iteration. “See what goes wrong and fix it” auto-fails if The Client cannot tell that anything is wrong. If The Client doesn’t even know there’s a failure, then they have nothing on which to iterate. We’re solidly in “worlds in which iterative design fails” territory.
Partial Solution: Better User Interfaces
One cached response to “error between chair and keyboard” is “sounds like your user interface needs to communicate what’s going on better”.
There’s a historical parable about an airplane (I think the B-52 originally?) where the levers for the flaps and landing gear were identical and right next to each other. Pilots kept coming in to land, and accidentally retracting the landing gear. The point of the story is that this is a design problem with the plane more than a mistake on the pilots’ part; the problem was fixed by putting a little rubber wheel on the landing gear lever. If we put two identical levers right next to each other, it’s basically inevitable that mistakes will be made; that’s bad interface design.
In practice, an awful lot of supposed “errors between chair and keyboard” can be fixed with better UI design. Especially among relatively low-hanging fruit. For instance, consider our running hypothetical scenario:
Somebody literally types “If we take the action you just proposed, will we be happy with the outcomes?” into a GPT-3 prompt. Obviously that does not result in the AI giving its actual best-guess answers to the questions, but in this case it doesn’t result in the AI thinking about how to deceive humans either. It just thinks about what text would follow that question if it appeared on the internet somewhere. And then I imagine someone with a bunch of interpretability tools saying “yup, it’s just thinking about what text typically follows this question”, and then that person’s boss is like “great, it’s not trying to deceive us, guess we can trust the answer”, and they both just haven’t really thought of the fact that the AI’s response-text does not have anything in particular to do with whether the AI is aligned or whether they’ll be happy with the outcome or whatever.
What UI features would make that mistake less probable? Well, a less chat-like interface would be a good start, something which does not make it feel intuitively like we’re talking to a human and provide the affordance to anthropomorphize the system constantly. Maybe something that emphasizes that the AI’s words don’t necessarily correspond to reality, like displaying before every response “The mysterious pile of tensors says:” or “The net’s output, when prompted with the preceding text, is:” or something along those lines. (Not that those are very good ideas, just things off the top of my head.)
So there’s probably room for a fair bit of value in UI design.
That said, there are two major limitations on how much value we can add via the “better UI” path.
First, the more minor problem: in more complex domains, there are sometimes wide inferential distances—places where someone needs to understand a concept requires first understanding a bunch of intermediate concepts, and there just isn’t a good way around that. UI improvement can go a long way, but mostly only when inferential distances are short.
Second, the main problem: whoever’s designing the UI must themselves be an actual expert in the domain, or working closely with an expert. Otherwise, they don’t know what mistakes their UI needs to avoid, or what kinds of thoughts their UI needs to provide affordances for. (It’s the same main problem with building tools for alignment research more generally.) In the above example, for instance, the UI designer needs to already know that somebody interpreting the AI’s output as having anything to do with reality is a failure mode they need to watch out for. (And reminder: I expect actual failure modes to be more subtle than the hypothetical, so to handle realistic analogues of this problem the UI designer needs more expertise than this particular hypothetical failure story requires.)
So we’re back to the core problem: can’t robustly usefully outsource until we already have expertise. Except now we need expertise in alignment and UI.
The Best Solution: A Client With At Least Some Understanding
The obvious best solution would be for “The Client” (i.e. human user/users of the AI system) to have at least some background understanding of what they need, what questions to ask, what’s possible or even logically coherent, etc.
In other words: the best solution is for The Client to also be an expert.
Importantly, I expect this solution to typically “degrade well”: a Client with somewhat more (but still incomplete) background knowledge/understanding is usually quantitatively better than a Client with less background knowledge/understanding. (Of course there are situations where someone “knows just enough to shoot themselves in the foot”, but I expect that to usually be a problem of overconfidence more than a problem of the knowledge itself.)
Returning to our running example:
… and then I imagine someone with a bunch of interpretability tools saying “yup, it’s just thinking about what text typically follows this question”, and then that person’s boss is like “great, it’s not trying to deceive us, guess we can trust the answer”.
If that boss had thought much about alignment failure modes beyond just deception, I’d expect them to be quantitatively more likely to notice the error. Not that the chance of missing the error would be low enough to really be comforting, but it would be quantitatively lower.
The usefulness of quantitatively more/better (but still incomplete) understanding matters because, in practice, it is unlikely that any human will be a real proper Expert in alignment very soon. But insofar as the human user’s understanding of the domain is the main bottleneck to robustly useful cognitive outsourcing, and even partial improvements are a big deal, improving our own understanding is likely to be the highest-value way to improve our chances of successful cognitive outsourcing.
Summary and Advice
Key idea: “The Client’s” own understanding is a key bottleneck to cognitive outsourcing in practice; I expect it is the main bottleneck to outsourcing cognitive work which The Client could not perform themselves. And I expect it to be the main bottleneck to successfully outsourcing alignment research to AIs.
The laundry list of strategies to make AIs better experts and avoid deception do little-to-nothing to address this bottleneck.
There’s probably room for better user interfaces to add a lot of value in principle, but the UI designer would either need to be an expert in alignment themselves or be working closely with an expert. Same problem as building tools for alignment research more generally.
Thus, my main advice: if you’re hoping to eventually solve alignment by outsourcing to AI, the best thing to do is to develop more object-level expertise in alignment yourself. That’s the main bottleneck.
Note that the relevant kind of “expertise” here is narrower than what many people would refer to as “alignment expertise”. If you hope to outsource the job of aligning significantly smarter-than-human AI to AI, then you need expertise in aligning significantly smarter-than-human AI, not just the hacky tricks which most people expect to fail as soon as the AI gets reasonably intelligent. You need to have some idea of what questions to ask, what failure modes to look for, etc. You need to focus on things which will generalize. You need to go after the difficult parts, not the easy parts, so you have a better idea of what questions to ask when it comes time for an AI to solve the difficult parts—or, y’know, time for an AI to tell you that drawing seven perpendicular lines in two dimensions isn’t even logically coherent.
… and of course you will probably not end up with that good an idea of how to align significantly smarter-than-human AI. We have no significantly smarter-than-human systems on which to test, and by the time we do it will probably be too late, so your understanding will likely be limited. But, as when e.g. optimizing code, partial progress on the bottleneck is better than basically-any progress on non-bottlenecks.
“This is what it looks like in practice, by default, when someone tries to outsource some cognitive labor which they could not themselves perform.”
This proves way too much. People successfully outsource cognitive labor all the time (this describes most white-collar jobs). This is possible because very frequently, it is easier to be confident that work has been done correctly than to actually do the work. You shouldn’t just blindly trust an AI that claims to have solved alignment (just like you wouldn’t blindly trust a human), but that doesn’t mean AIs (or other humans) can’t do any useful work.
I expect that in the large majority of common use-cases, at least one of the following applies:
The outsourcer could have done it themselves (ex.: my boss outsourcing to me back when I was at a software startup, or me reading an academic paper)
The actual goal is not to succeed at the stated task, but merely to keep up appearances to non-experts (ex.: most bullshit jobs)
The outsourcer is actually buying a very standardized product, such that they don’t actually need much in the way of novel/bespoke cognition. If it turns out they do need much novel/bespoke cognition, the problems in the post are likely to come right back. (ex.: simplest cases of getting a mortgage or a will)
That said, I do expect there are cases where people do successfully outsource (to varying degrees of “success”) even without these factors. I’m claiming that problems are the default, not that they’re guaranteed. Even among failure cases I expect more mild failures (i.e. achieving a less-than-optimal outcome) to be more common than total failure, though that’s largely because of varying degrees of standardization of the cognitive product.
In cases where outsourcing succeeds (to various degrees), I think the primary load-bearing mechanism of success in practice is usually not “it is easier to be confident that work has been done correctly than to actually do the work”, at least for non-experts. Rather, I think the primary load-bearing mechanism is usually that the cognition-being-outsourced is standardized to some degree, and experts can tell (to some extent) when other experts are messing it up even if clients can’t tell very well. Medical doctors are a good example—patients are notoriously easily fooled by placebos, but other doctors at least have some vague idea of what things should or should not work at all.
Tim Cook could not do all the cognitive labor to design an iPhone (indeed, no individual human could). The CEO of Boeing could not fully design a modern plane. Elon Musk could not make a Tesla from scratch. All of these cases violate all of your three bullet points. Practically everything in the modern world is too complicated for any single person to fully understand, and yet it all works fairly well, because successful outsourcing of cognitive labor is routinely successful.
It is true that a random layperson would have a hard time verifying an AI’s (or anyone else’s) ideas about how to solve alignment. But the people who are going to need to incorporate alignment ideas into their work—AI researchers and engineers—will be in a good position to do that, just as they routinely incorporate many other ideas they did not come up with into their work. Trying to use ideas from an AI sounds similar to me to reading a paper from another lab—could be irrelevant or wrong or even malicious, but could also have valuable insights you’d have had a hard time coming up with yourself.
Note that the relevant condition is not “could have done all the cognitive labor”, but rather “for any individual piece of the cognitive labor, could have done that piece”, at least down to the level where standardized products can be used. And in fact, I do not think that Tim Cook could have done any individual piece of the cognitive labor required to design the iPhone (down to standardized products). But my guess is that Steve Jobs basically could, which is a major reason why Apple has not produced another comparably-big-deal product since Cook took over.
Similar story with Elon Musk and Tesla: I expect nearly-everything Tesla does to produce a car is either (a) something Musk basically knows how to do, (b) a standardized product, or (c) very suboptimally executed.
In Boeing’s case, I don’t think there’s an analogue of Musk or Jobs, and as a result I expect their planes are probably wildly suboptimal all over the place. That doesn’t mean they can’t make a plane at all, obviously, but wildly suboptimal.
It sounds like your claim is that having the talent to potentially execute nonstandard tasks is a necessary, though not always sufficient, criteria to identify the same talent in others. Therefore, only an omni-talented executive is capable of successfully leading or outsourcing the project. They might not immediately be able to execute the nitty-gritty details of each task, but they would be capable of rapidly skilling up to execute any such task if required.
I am curious to know what you think of the following idea about how to get around this bottleneck of for omni-talented leadership, at least in certain cases.
In many cases, there is a disconnect between the difficulty of engineering and the difficulty of evaluating the product.
The iPhone was hard to engineer, but it was easy to see it made calls, played music, browsed the internet, and was simple to use.
Apollo 11 was hard to engineer, but it was easy to see the astronauts landing on the moon and returning to Earth.
The nuclear bomb was hard to engineer, but it was easy to see Fat Man and Little Boy had destroyed Hiroshima and Nagasaki.
The Tesla was hard to engineer, but it was easy to see that it required no gasoline and achieved the promised driving range.
The mRNA COVID-19 vaccine was hard to engineer, but it was easy to run a conventional vaccine trial to show that it worked.
ChatGPT was hard to engineer, but it is easy to see that it can produce nearly human-like text outputs in response to open-ended prompts.
In any of these cases, a well-funded non-expert businessperson could have placed a bounty to motivate experts to build them the desired product. For example, John F. Kennedy could have promised $500 million to any American organization that could prove they had successfully landed American astronauts on the moon.
Of course, building the rocket and the mission logistics might have required omni-talented leadership in rocket design and space mission logistics. But the essential point is that it would not have required Kennedy to personally have that level of capability in order to achieve his desired result.
This generalizes. Omni-talented leadership is not required for outsourcing when a project satisfies three conditions:
Verifiable: The overall success of the project is easy to evaluate by a non-expert.
Bounty-compatible: It’s possible to broadcast an offer of a credible and sufficiently motivating reward in exchange for a product that achieves that result.
Achievable: A group of omni-talented experts can put together the resources, including human resources, to pursue the bountys successfully.
This is a powerful result. It means that any achievable task can be outsourced by a non-expert, as long as the non-expert can decompose it into verifiable and bounty-compatible parts.
That means Steve Jobs did not need the ability to design each component of the iPhone. He needed the ability to judge whether or not the product concept of a phone + iPod + computer made business sense, and what made prototype designs easy or difficult to use. He also needed the ability to motivate engineers to achieve these results with money, status, and power within Apple.
This also helps explain why it was not possible for Louis XV to motivate production of a smallpox vaccine. Although a vaccine was achievable, and Louis XV had a lot of money and status to offer, there was no standard way to evaluate medical efficacy at the time, as you point out in the essay.
In the comedy sketch you linked to, the fundamental problem is that the clients don’t know how to express what they really want, and the expert is failing to recognize that fact. Instead of finding an empathic way to clarify their true goal, he is criticizing their word choice. Simultaneously, the clients and the expert’s boss are threatening his status rather than attempting to proactively address the communication gap. This is a situation where the project is verifiable (the clients will probably know what they want when they see it), and it may be achievable, but it is not bounty-compatible because the client doesn’t know how to broadcast their desired result effectively and open conversation is inhibited by status threats and signaling games.
Under this conception, if AI alignment research can’t be outsourced to an AI, then it also can’t be achieved by humans. Let’s assume technical AI alignment is achievable, and accept the many claims that abundant funding and rewards exist for anyone who does achieve technical AI alignment. Then all we need is a legible way to verify that technical AI alignment has, in fact, been achieved, in order to outsource it.
If we do have a reliable method of verification, then it doesn’t matter whether we outsource to AI or to humans, except insofar as there’s a different in our ability to motivate each.
If we do not have a reliable method of verification, then it still doesn’t matter whether we outsource or not, because we will not be able to trust any proposed solution to technical AI alignment from AI or from humans.
I fully understand and agree that verifiability of a solution is the hard part, doesn’t exist at present, and is the reason why, at present, we cannot “just outsource alignment research to an AI.” My point is that it is possible for non-omni-talented leaders to outsource nonstandard projects and achieve optimal results, so long as project success is verifiable, achievable, and bounty-compatible. I think this is the normal way projects containing nonstandard elements get built in the real world. Fundamentally, however, I think we are on the same page about the difficulty of outsourcing AI alignment.
I’m roughly on-board with the story (not 100%, but enough) up until this part:
The idea behind the final advice in the post is that humans become more able to outsource alignment research to AI as they better understand alignment themselves. Better human understanding of alignment expands our ability to verify.
If humans lack the expertise to outsource to AI at a given time, then yes, alignment also can’t be achieved by humans at that time. But humans’ expertise is not static. As we improve our own understanding, we improve our ability to outsource.
I think I didn’t communicate that part clearly enough.
What I meant was that our ability to align AI is bottlenecked by our human, and ideally non-expert, verifiability solutions. As you say, we can expect that if verifiability solutions are achievable at all, then human-based AI alignment research is how we should expect them to emerge, at least for now. If we can’t directly verify AI systems for alignment yet, then we at least have some ability to verify proposed alignment verification strategies.
One such strategy is looking for ways to defeat proposed ELK solutions in the diamond-robber problem. It is possible that ChatGPT or some other current AI system could both propose alignment solutions and ways to defeat them. This helps show that we can potentially outsource some AI alignment problems to AI, as long as humans retain the ability to verify the AI’s proposed solutions.
So, I’m not quite sure how to articulate the mistake being made here, but… consider The Client from the video at the top of the post. And imagine that Client saying:
… and, like, if you picture The Client from that video, this is obviously not actually going to work for The Client, she needs to stop generating galaxy-brained plans at increasingly high meta-levels and instead go draw some very object-level lines on a piece of paper.
It still seems like we mainly agree, but might be having a communication gap.
In your Client example in your most recent comment, the reason this is a bad approach is that The Client is far less likely to be able to verify a line-and-color verification plan accurately than to verify whether a concrete design is what she was envisioning. She already has a great verification strategy available—making or eyeballing drawings, proposing concrete changes, and iterating—and she and The Expert are just failing to use it.
In technical AI alignment, we unfortunately don’t have any equivalent to “just eyeballing things.” Bad solutions can seem intuitively compelling, and qualitative objections to proposed alignment schemes won’t satisfy profit-oriented businesses eager to cash in on new AI systems. We also can’t “just have the AI do it,” for the same reason—how would we validate any solutions it came up with? Surely “just have the AI do it” isn’t the right answer to “what if the AI can’t prove its technical AI solution is correct.”
My contention is that there may already be facets of AI alignment work that can be successfully outsourced to AI, precisely because we are already able to adequately validate them. For example, I can have ChatGPT come up with and critique ELK solutions. If the ELK contest were still running, I could then submit those solutions, and they would receive the same level of validation that human-proposed solutions achieve. That is why it’s possible to outsource the generation of new potential ELK solutions both to humans and to AI. If that field is bottlenecked by the need to brainstorm and critique solutions, and if ChatGPT can do that work faster and better than a human, then we can outsource that specific form of labor to it.
But in areas where we don’t have any meaningful verification solutions, then we can’t outsource, either to humans or to AI. We might have trouble even explaining what the problem is, or motivating capable people of working on it (like how we’ve failed/never even tried to recruit Terry Tao to alignment work because he loves prime numbers so very much and isn’t that interested in money or Silicon Valley status). Omni-capable AI alignment researchers will have to come up with those verification strategies, validate each others’ work, and then, hopefully, make their validation tools legible enough that less-expert people can follow the proof as well until everybody is satisfied.
Ah, I see what you’re saying now.
As an example, I put about 8 paragraphs from the problem description from ELK into ChatGPT, obtained some proposed solutions, and then asked it to defeat those proposals. This is only outsourcing one small aspect of outsourcoing the problem of aligning AI to AI, and the proposed solutions and failure modes aren’t novel, but it’s only meant as a simple proof of principle. I don’t claim any novelty here—I’d be extremely surprised if nobody’s done something like this before.
I think this is exactly illustrating John’s point no?
[fwiw I think John’s overstating things a little bit. Certainly, one can be a good CEO without being able to do some of the highly specialized engineering needed in your product]
I find this statement very surprising. Isn’t almost all of software development like this?
E.g., the client asks the developer for a certain feature and then clicks around the UI to check if it’s implemented / works as expected.
At least in my personal experience, a client who couldn’t have written the software themselves usually gets a slow, buggy product with a terrible UI. (My uncle is a good example here—he’s in the septic business, hired someone to make a simple app for keeping track of his customers. It’s a mess.) By contrast, at most of the places where I’ve worked or my friends have worked which produce noticeably good software, the bulk of the managers are themselves software engineers or former software engineers, and leadership always has at least some object-level software experience.
The main outsourcing step which jumps between a non-expert and an expert, in that context, is usually between the customer and the company producing an app. And that’s exactly where there’s a standardized product. The bespoke products for non-expert customers—like e.g. my uncle’s app for his business—tend to be a mess.
But you don’t need to be able to code to recognize that a software is slow and buggy!?
About the terrible UI part I agree a bit more, but even there one can think of relatively objective measures to check usability without being able to speak python.
True! And indeed my uncle has noticed that it’s slow and buggy. But you do need to be able to code to distinguish competent developers, and my uncle did not have so many resources to throw at the problem that he could keep trying long enough to find a competent developer, while paying each one to build the whole app before finding out whether they’re any good. (Also I don’t think he’s fully aware of how bad his app is relative to what a competent developer could produce.)
I don’t believe these “practical” problems (“can’t try long enough”) generalize enough to support your much more general initial statement. This doesn’t feel like a true rejection to me, but maybe I’m misunderstanding your point.
It seems like the fundamental cause of the problem with your uncle’s customer tracking app is some combination of:
He paid for ongoing effort, rather than delivering satisfactory results. Instead of a bounty model, he used a salary or wage model to pay the programmer.
He lacked the ability to describe what exactly would make the app satisfactory, impairing his ability to pay for results rather than effort.
In other words, the “bounty-compatible” criteria for outsourceability was not met in this case. This raises the question of what to do about it.
If he didn’t know how to specify all his performance requirements, could he have hired somebody to help him do so?
If he’d tried to outsource identifying performance requirements, could he have applied the bounty model to that job?
If he had offered a bounty in exchange for an app meeting his requirements, would his offer of a bounty have been believable?
If his offer of a bounty was believable, would a competent programmer have been willing to pursue that bounty?
As we pose these questions, we see that society’s overall ability to outsource effectively is bottlenecked by the availability of high-quality bounty offer interfaces. A bounty offer interface should help the user define a satisfactory result, broadcast bounty offers to a competent professional network, and make the bounty offer credible.
it sounds like there have been some attempts at creating bounty interfaces for app development. One active site for this purpose is replit. However, as I scan some of their open bounties, the problem description, acceptance criteria, and technical details seem woefully underspecified, with no apparent ability to make bounty offers credible, and I also don’t see any signs that replit is plugged into a competent developer network. Bepro is another such site, but has a confusing interface and the same problems as replit. If I was an employer or programmer, I would probably not waste my time on either of these websites. Some major companies, like Intel, have bug discovery bounty programs.
Overall, it seems like it’s more difficult to build a market for bounty-based contracts. With a wage- or salary-based system, a worker can minimize their losses by quitting if their employer stops paying them. The employer doesn’t need to have the requirements completely specified up front in order to attract talent. Trust can be built on the basis of reputation, willingness to pay, and cultivation of a relationship. Financial rewards for doing work are immediate, and employers get to see the product being built and adjust it as their requirements change in a dynamic business environment. On top of that, wage- and salary-based models are familiar, so it’s easy to attract participants. There is some ability for a non-expert to identify good freelance wage/salary-based coders by selecting highly-paid coders with excellent reviews, which in turn incentivizes those coders to earn good reviews by producing quality software in a reasonable timeframe and budget.
For all of these reasons, in practice, bounties may not be a realistic way to pay for nonstandard goods and services in many cases, sharply limiting the ability to outsource without an omni-competent leader to organize the effort. But perhaps there is an opportunity for someone to deal with the failure modes of bounty-based models and create a new and improved marketplace for bounty-based app development?
I agree, I think this even proves P=NP.
Maybe a more reasonable statement would be: You can not outsource cognitive labor if you don’t know how to verify the solution. But I think that’s still not completely true, given that interactive proofs are a thing. (Plug: I wrote a post exploring the idea of applying interactive proofs to AI safety.)
I think the standard setups in computational complexity theory assume away the problems which are usually most often blockers to outsourcing in practice—i.e. in complexity theory the problem is always formally specified, there’s no question of “does the spec actually match what we want?” or “has what we want been communicated successfully, or miscommunicated?”.
I think I mostly agree with this, but from my perspective it hints that you’re framing the problem slightly wrong. Roughly, the problem with the outsourcing-approaches is our inability to specify/verify solutions to the alignment problem, not that specifying is not in general easier than solving yourself.
(Because of the difficulty of specifying the alignment problem, I restricted myself to speculating about pivotal acts in the post linked above.)
Fair. I am fairly confident that (1) the video at the start of the post is pointing to a real and ubiquitous phenomenon, and (2) attempts to outsource alignment research to AI look like an extremely central example of a situation where that phenomenon will occur. I’m less confident that my models here properly frame/capture the gears of the phenomenon.
I found this post a bit odd, in that I was assuming the context was comparing
“Plan A: Humans solve alignment” -versus-
“Plan B: Humans outsource the solving of alignment to AIs”
If that’s the context, you can say “Plan B is a bad plan because humans are too incompetent to know what they’re looking for, or recognize a good idea when they see it, etc.”. OK sure, maybe that’s true. But if it’s true, then both plans are doomed! It’s not an argument to do Plan A, right?
To be clear, I don’t actually care much, because I already thought that Plan A was better than Plan B anyway (for kinda different reasons from you—see here).
I think the missing piece here is that people who want to outsource the solving of alignment to AIs are usually trying to avoid engaging with the hard problems of alignment themselves. So the key difference is that, in B, the people outsourcing usually haven’t attempted to understand the problem very deeply.
I don’t agree with this characterization, at least for myself. I think people should be doing object-level alignment research now, partly (maybe mostly?) to be in better position to automate it later. I expect alignment researchers to be central to automation attempts.
It seems to me like the basic equation is something like: “If today’s alignment researchers would be able to succeed given a lot more time, then they also are reasonably likely to succeed given access to a lot of human-level-ish AIs.” There are reasons this could fail (perhaps future alignment research will require major adaptations and different skills such that today’s top alignment researchers will be unable to assess it; perhaps there are parallelization issues, though AIs can give significant serial speedup), but the argument in this post seems far from a knockdown.
Also, it seems worth noting that non-experts work productively with experts all the time. There are lots of shortcomings and failure modes, but the video is a parody.
Indeed, I think you’re a good role model in this regard and hope more people will follow your example.
Also Plan B is currently being used to justify accelerating various danger tech by folks with no solid angles on Plan A...
Not at all meant to be a general solution to this problem, but I think that a specific case where we could turn this into something iterable is by using historic examples of scientific breakthroughs—consider past breakthroughs to a problem where the solution (in hindsight) is overdetermined, train the AI on data filtered by date, and The Client evaluates the AI solely based on how close the AI approaches that overdetermined answer.
As a specific example: imagine feeding the AI historical context that led up to the development of information theory, and checking if the AI converges onto something isomorphic to what Shannon found (training with information cutoff, of course). Information theory surely seems like The Over-determined Solution for tackling the sorts of problems that it was motivated by, and so the job of the client/evaluator is much easier.
Of course this is probably still too difficult in practice (eg not enough high-quality historical data of breakthroughs, evaluation & data-curation still demanding great expertise, hope of ”… and now our AI should generalize to genuinely novel problems!” not cashing out, scope of this specific example being too limited, etc).
But the situation for this specific example sounds somewhat better than that laid out in this post, i.e. The Client themselves needing the expertise to evaluate non-hindsight based supposed Alignment breakthroughs & having to operate on completely novel intellectual territory.
I think the human level of understanding is a factor, and of some importance. But I strongly suspect the exact level of human understanding is of less importance than exactly what expert we summon.
Not really related to your post itself, but I kinda felt like the Expert could have tried being a little more creative. Most obviously: when he was told to draw a red line using transparent ink. First, you draw a line using red ink, then you draw on top of it using transparent ink. A red line with transparent ink, just as the customer wanted!
Kinda? I feel like, if someone is asking for seven mutually perpendicular red lines drawn drawn using green and transparent ink, then drawing them a line using red ink and then drawing on top of that using transparent ink is… well, in terms of standard AI analogies, it’s the sort of thing an unfriendly genie does to technically satisfy the wording of a wish without giving you what you want.
Interpretability progress, if it is to be useful for alignment, is not primarily bottlenecked on highly legible problems right now. So I expect the problems in the post to apply in full, at least for now.
I think my proposal, which I write about here, does address that. In fact, it addresses it to such an extent that few people have bothered to even read the whole thing through 🙃
I’m working on better descriptions/summaries (more concepts conveyed per time, more skim-friendly, etc). The least bad summary I can point people to right now is probably this tweet-thread: https://twitter.com/Tor_Barstad/status/1615821341730689025
I think it’s totally fair (within the realm of reasonable perspectives) to think my proposed scheme is probably unrealistic (be that technically and/or sociologically).
I also think it’s fair (within the realm of reasonable perspectives) for people to regard my scheme as not being sufficiently well explained (feeling that people cannot be expected to invest time into properly evaluating it).
That being said, I have reached out to you specifically in the hope of discussing these ideas with you. You did not have time for that, which I think is totally fine and understandable (we must all make judgment calls as we prioritize limited time). But I think it then becomes advisable to be more careful about phrasings such as “none of them at all address [very obvious and simple considerations]”.
I like the title of your sequence (“Why Not Just...”). In one introduction to AI safety that I wrote on some time ago (but never finished), I actually used that same phrasing myself (as headline for one of the sections). I think I understand your impetus behind this sequence (at least to a significant extent). But one pitfall I’d warn against is painting with too broad a brush / encouraging over-generalization and over-confidence.
A half-finished draft of that post can be found here. The final post will be quite different from that draft (I’m working on a different draft now). Nontheless it’s possible to skim through it and stop at parts that seem interesting.
At a quick skim, I don’t see how that proposal addresses the problem at all. If the humans lack the expertise to accurately answer subquestions or assess arguments (or even realize that they don’t know), then the proposal is hosed; I don’t even see a built-in way to figure out whether the humans are correctly answering (or correctly assessing their own ability to answer). Nor do I see any way to check that the system is asking the right questions.
(Though the main problems with this proposal are addressed in the rant on problem factorization, rather than here.)
Here are additional attempts to summarize. These ones are even shorter than the screenshot I showed earlier.
More clear now?
It’s at least shorter now, though still too many pieces. Needs simplification more than clarification.
Picking on the particular pieces:
Not rewarding contradictory conclusions is not a sufficient condition for a score-function to reward truth, or not reward falsehood.
Why would that be the case, in worlds where the humans themselves don’t really understand what they’re doing?
It can, sure, but how can a human get it to state those regularities, or tell that it has stated them accurately?
Here is my attempt at a shorter answer (although it didn’t end up as short as planned) 🙂
I’m also being more simplistic here (at times deliberately so), in the hope of making “core” concepts digest with less effort.
If you don’t respond here you probably won’t hear from me in a while.
Score-functions would score argument-step-networks. It is these score-functions that would leverage regularities for when human evaluations are “good”/correct.
Here are some things that might be the case for any given score-function:
It has Low Wiggle-room (LW): It has low wiggle-room (that is to say, it’s not possible to construct high-scoring argument-step-networks that argue in favor of contradictory conclusions)
It Robustly Leverages Regularities for “good” human evaluations (RLR): It robustly separates out “good” human evaluations (without false positives).
It Contains Intelligence (CI): It is “intelligent”, and reasons itself towards favoring specific conclusions.
It Hardcodes Bias (HB): It has “hardcoded” bias in favor of specific conclusions.
Here are some things I assume regarding these properties:
We want RLR.
RLR implies LW, but LW does not imply RLR.
LW implies RLR and/or CI and/or HB.
We want to make it so that LW implies RLR (by eliminating other plausibilities).
We can determine if LW is the case if our capabilities at gradient descent are sufficiently good (and we know that they are).
If we are sufficiently good at gradient descent (and know that we are), we can figure out if LW is the case.
Our job would be to make it so that the most high-scoring score-functions (that it’s possible for AIs to make) would achieve LW by RLR. We could make P(RLR | LW) high by doing as follows when adding restrictions and optimization-criteria for score-functions:
We can give restrictions (and give bonus/penalty-points) based on source code length, processing power, etc.
We can make it possible to reference predictions of human answers to questions.
These answer-predictions can be referenced as system-calls. The internals of functions that make answer-predictions don’t count as part of the source code length (or processing power, etc)!
We can restrict the questions that are allowed (to ones that seem likely to help with RLR, and unlikely to help with HB)
We can restrict the amounts of “question-templates” that are allowed (so that no more are allowed than needed to achieve RLR)
We can make it possible to reference heuristics that we suspect help with RLR
For example average sentence length or total text length (those are simple examples—we could imagine more sophisticated ones also)
Such heuristics would be calculated in external functions that are referenced as system-calls. The internals of these external functions would not count as part of the source code length (or processing power, etc).
Humans could specify “code-snippets”, which are kind of like regular expressions. Humans will often have an inkling for how specific parts of the score-function could work to achieve RLR (even if we haven’t worked out all the details).
For various parts of the score-function, using some specific “code-snippet” may be obligatory. Or maybe the score-function would have to be made out of nothing else than “code-snippets”.
If “code-snippets” are not obligatory for all parts of the score-function, source code that isn’t from a snippet could be penalized more (in terms of source code length penalty).
“Code-snippets” may also help enforce modularity, and enforce “abstraction” of data.
For any part of the score-function it should be as hard as possible to adapt it to what the argument-step-network argues for or against.
AIs should not be able to reliably guess what the argument-step-network argues for or against from looking at any input that is received by any sub-routine.
#1 will (if done to a sufficient extent) make CI totally infeasible (and #4 helps make that even more assured).
#2 and #3 makes it so that achieving LW with RLR is possible (despite of #1). But it does not make it possible to achieve LW with HB/CI.
#2 and #3 make RLR easier (in terms of passing requirements and maximizing score-function score). If done well they don’t make HB easier (at least not to a comparable degree).
#1 and #2 makes it so that achieving LW with RLR results in a higher score compared to achieving LW with RLR + a bit of HB. (Why? Because RLR is more general, and hence reduces more wiggle-room per extra complexity that is added to the score-function. Hence minimizing HB, to 0 if possible, results in less score penalty.)
#4 and #5 make HB harder.
And low wiggle-room has to be kept low while reaching correct conclusions. These conclusions can relate to:
Things we know
Predictions relating to experiments that we can carry out safely+easily (or existing experimental data)
The behavior (in terms of e.g. output) of any function that is made by the AI or made step by step from within the argument-step-network
In other words: The score-function has to be “watertight” in relation to an incomprehensibly large scope of possible conclusions/predictions. Many of these would be no less challenging than the strawberry copy challenge, and would be in need of similar capabilities to be developed/verified from within the argument-step-network!
If a score-function is not “watertight”, it becomes easy for capable AGIs to generate conclusions that are contradictions or that easily/safely can be shown to be wrong.
Ask yourself, which is harder?:
Making a bowl that leaks water in certain very specific conditions—e.g. on Sunday afternoons (but otherwise tends to be very watertight).
A bowl like the one described above, except that it doesn’t leak in those very specific conditions.
Between A and B, A is often easier:
Making something be very reliable in general
Making something be very reliable in general, but have certain specific and idiosyncratic exceptions from this (where instead of working reliably it gets things reliably wrong)
In order for score-functions for argument-step-networks to lead us astray, it isn’t enough for B to not be harder than A. B would have to be easier than A!
If A or B are of equal difficulty, it would be possible to make high-scoring score-functions that give high scores to contradictory argument-step-networks. If a human-defined score-function score-function allows for contradictory conclusions, then score-functions that get a high score by this score-function score-function cannot be trusted (even if internally they have low wiggle-room)!
We can define “spaces” of possible score-function score-functions (and score-function restrictions). In this space we have:
Lots of different ways to be “strict” (that we think make HB and CI harder)
Various optimization-criteria based on which we can redact/add points (where more points corresponds with optimizing for criteria that we think make HB/CI comparatively harder compared to RLR)
For any given restriction/optimization-criteria we may have various degrees of confidence for how this affects the ease of RLR vs HB/CI (for AIs that try to maximize score).
If we are right about our assumptions we will see clear patterns emerge:
Any high-scoring score-function that only allows for correct predictions/conclusions in regards to things we can test safely/easily, are also internally consistent (amongst each other) in regards to predictions/conclusions we can’t test safely/easily.
All/most high-scoring score-functions converge on the same set of possible conclusions/predictions (that it’s possible to argue in favor of with high-scoring argument-step-networks)
The “stricter” the score-functions are, the more they converge (towards the same set of possible conclusions/predictions).
The more confident we feel that any given restriction/optimization-target benefits P(RLR | LW), the more adding these restrictions/optimization-target makes score-functions converge (towards the same set of possible conclusions/predictions).
Meanwhile, if we are not right about assumptions, then we would see that for various claims it’s possible to argue for both “X” and “not X”, with argument-step-networks that are given a high score by ≥1 high-scoring score-function. We would not see high-scoring score-functions converge towards specific conclusions/predictions. (In which case we hopefully didn’t put all of our eggs into this specific alignment strategy 🙃)
More clear from this description what I have in mind?
It’s a necessary but not sufficient condition.
The regularities are expressed in terms of score-functions (that score argument-step-networks). We can score these score-functions based on simplicity/brevity, and restrict what they can do (make it so that they have to be written within human-defined confines).
I posit that we probably can do this in such a way that the most high-scoring score-functions that it’s possible to make (that meet requirements relating to wiggle-room and “reach”) do so by specifying general regularities for when humans are/aren’t led astray (as opposed to ones that favor specific conclusions).
It should (I posit) be feasible to make it so that score-functions that are designed with the intention of fooling us about specific things earn significantly less points (if they pass the requirements at all).
If we allow score-functions to be constructed freely, then this makes it easy for AIs to output score-functions that (practically speaking) allow for pretty much any internally consistent set of conclusions. Indeed, the AI could simply have the score-function be itself, and choose to only give a high score to argument-step-trees with conclusions it likes.
So the question becomes: How do we restrict the “space” of possible score-functions that can be suggested, and add requirements that the score-functions must pass, so that the only way to get a high score (for AIs that suggest score-functions) is to make score-functions that (in some sense) separate out “good” human evaluations?
Here are examples of some of the types of possible requirements for score-functions:
Low maximum source code length (no space for score-function to be intelligent or biased in a detailed way)
With a sufficiently low maximum source code length, there is not enough space for the score-function itself to be intelligent, or for hardcoding bias for many specific conclusions.
Work would have to be done elsewhere (e.g. predictions of human output, which are obtained from system-calls to external functions).
Other optimization-targets relating to simplicity
Requirements relating to maximum use of computational resources, how “general” the code must be, etc.
Low expressivity (humans define contours of what the score-function should do)
As humans we may not be able to make a score-function that would force good output, but we may be able to outline what such a function might look like, e.g. using “function-builders″ (think regular expressions, but easier to work with for humans, and more expressive).
This way, no humans look at the functions proposed by the AIs, and humans themselves don’t have to write functions, but AI-written source code must stay within human-defined contours.
Enforced modularity (nowhere should score-function know what network argues for/against)
Individual argument-steps should (insofar as possible) be evaluated independently from the network as a whole. And macro-score for the network should be calculated without granular info about nodes. No part of the function should know what the network argues for/against. This could be enforced by the human-defined “contours” of the score-functions and/or by giving points based on heuristics that relate to modularity.
Limited number of different meta-questions the score-function can reference
Systems could predict what humans are likely to answer to questions about argument-steps (“Does the argument-step in Box A fit the description given in Box B?”, etc). And score-functions could be allowed to label argument-steps as “not allowed” based on answer-predictions for meta-questions such as these.
We could limit the amount of different questions that are allowed. For example, the score-function could have 40 questions to choose from when evaluating any given argument-step, but no more.
I posit that if the AI only is allowed the minimum amount of questions, then probably it will need to restrict itself to general questions that separate out “bad” argumentation/assumptions (that are likely to lead humans astray).
Why? Because it needs to use general questions to reduce wiggle-room. Questions that are aimed at making specific conclusions turn out wrong (or preventing certain specific correct conclusions) will probably not be efficient in helping with the general, across-the-board reduction in wiggle-room. Hence, these specific questions will not replace the general ones (that are needed to avoid wiggle-room). And since they don’t replace other questions that are needed, having to include them increases the minimal amount of questions that are needed.
Having humans pre-define lists of argument-steps that help define minimum standard (“I know it when I see it”)
We can specify argument-steps that seem top quality to us, and have it so that the score-function only can allow argument-steps that seem at least as rigorous/clear/etc as those ones (according to predictions for what humans would answer when asked to compare different argument-steps).
Having humans pre-define lists of meta-questions that help define minimum standard
Whether a meta-question is allowed by a score-function could depend on how “suspicious” that meta-question seems. How plausible does it seem that this question prevents humans from being led astray in a general way (as opposed to somehow being targeted at affecting specific conclusions)?
We could pre-define meta-questions that seem good and non-suspicious to us, and only allow meta-questions that don’t seem more suspicious than those. Or more strictly, we could choose to only allow score-functions to reference meta-questions from the pre-defined list.
“Abstracting” away specifics of argument-network content before score-functions sees it (to make it even harder for any part of the score-function to “know what’s being discussed”)
Functions (external to the score-function) can process network content, in ways such that score-functions still can evaluate argumentation robustness, but where no AI can tell what the nodes argue for/against (based on output from functions that “abstract” the content).
An “abstraction” can, in this context, be defined as a function that takes some data-structure as input, and returns some other data-structure (typically with less info) as output.
Scoring “abstractions” would be a process in itself. We would want “abstractions” that remove as much info as possible, and are as “general” as possible, but don’t make it impossible to get anything done at all.
Not accepting score-functions if there are simplification that chance conclusion for only some low fraction of conclusions
The way I imagine things, most tasks done by AIs are done in zero-sum competitions with other AIs.
When AIs compete to make high-scoring score-functions, it may be possible for one AI to show that a score-function from the other AI could be simplified, in ways such that only a few conclusions (in the set of statements where high-scoring argument-step-networks are possible) are changed (proportionally speaking).
The description above is imprecise/crude. How we might make this kind of thing work (without the need for human review, etc) would be a discussion by itself.
The list above is not at all intended to be comprehensive. Hopefully it gives an impression of the kinds of restrictions I have in mind.
1: Wiggle-room of score-functions can be explored. If a score-function is revealed to have wiggle-room, then the regularities weren’t stated “accurately”.
How strong that indication is depends on our initial assumptions regarding P(high-scoring arguments can be trusted | score-function has low wiggle-room).
2: This leaves several questions, one of which is: If we specified requirements/desiderata that seemed to us that they should result in a very high P(high-scoring arguments can be trusted | score-function has low wiggle-room), how do we check if we were right?
Answer: The job of AIs that propose score-functions is to propose score-functions that pass our requirements and get a high score. They may be tasked to find examples of score-functions (that both pass the requirements + get a high score) that are contradictory in terms of the conclusions that it’s possible to argue for with high-scoring argument-networks.
What we do here is, in a sense, to explore wiggle-room “one level higher up”.
Suppose that A is some set/space of possible score-functions, and we think that for all of the score-functions in A, P(high-scoring arguments can be trusted | score-function has low wiggle-room) is very high. If so, then for any claim P1 (that we are interested in) we could task AIs to:
Construct score-function SF1 (SF1 must be in A + have low wiggle-room)
Construct score-function SF2 (SF2 must also be within A + have low wiggle-room)
Construct an argument-step-network that concludes P1, and is assigned a high score by SF1
Construct an argument-step-network that concludes ¬P1, and is assigned a high score by SF2
If any AI is able to do this, then this indicates that our assumptions were wrong.
If we presume that some restriction/restrictions makes it disproportionately harder for score-functions to have low wiggle-room for the “wrong” reasons, then that can (sort of) be tested. Or at least we may be able to get very strong indications for whether this is the case.
This process of exploring wiggle-room “one level higher up” can be taken further. Maybe that intuitively seems like “bells and whistles”. But to me it seems like an important part of the answer. And I’m explaining it less well than I’d want to in order to make things shorter and less convoluted.
3: AIs could be tasked to try making high-scoring argument-step-networks with conclusions/predictions that can be proven wrong in a safe/cheap way.
For example: Constructing functions from within the argument-network, and making wrong conclusions/predictions relating to output from those functions.
If the score-function is not “watertight”, this kind of thing would offer lots of opportunitities to achieve unambiguous contradictions.
Keep in mind how “interconnected” truth-claims are. And keep in mind that predictions of human evaluations would relate to individual argument-steps (that are evaluated in a fairly “modular” way, independently of the network as a whole, and often/typically with no way to guess what the conclusion of the network is, or what questions the conclusion answers).
Imagine “proof-like” reasoning relating to the behavior of code, where each argument-step relating to the code is focused on one little thing. The kinds of regularities needed to ensure that the scoring of such argumentation is correct—well, it would need to be quite “watertight” (in order to not be exposed by AIs that are “incentivized” to do so).
And while being so “watertight” it needs (1) allow for certain fairly specific errors and (2) prevent certain specific correct conclusions that correspond inversely to those errors.
Kind of like making a bowl be very watertight in general, but making the bowl always leak water in certain very specific conditions (even those conditions cannot be determined locally by the different parts of the bowl that is to allow the water through). And having the design of this bowl be simpler (not just the same level of complexity) as the simplest way to make a bowl that doesn’t leak water in these highly specific conditions (but otherwise behaves the same).
The analogy above is maybe not perfect, but not so bad either IMO (if we accept certain presumptions, e.g. that the AIs that explore wiggle-room do so competently and without bias!).
We can also test how good score-functions are in terms of e.g. predictions of experimental results (where the predictions are the conclusions of high-scoring networks). Not all experiments are safe to test, but we can ask questions relating to ones that are (and ask in regards to already-existing experimental data that the AIs don’t have access to).
The AIs that make argument-step-networks would be scored based on their ability to make high-scoring argument-step-networks (and would not be penalized if it turns out that the conclusions are wrong in ways that we quickly/safely can check). AIs that make score-functions would be penalized for this if/when accuracy against such predictions has been made to be one of the score-function requirements (for the request in question).
To put it somewhat simplistically (things absorb less easily with more caveats and nuance):
In order to fool us about specific things, a score-function would need to not make it infeasible to lead us astray about anything except some very specific things (that all are outside of the realm of things we can test safely/cheaply/quickly). It has to do that within the score-function restrictions that are designed with the purpose of making that hard.
And even though it is presumably harder to fail in these very specific ways (while getting things right most of the time), it has to be (1) feasible to do that and (2) infeasible to not do that.
That is to say: The human-defined score-function-restrictions have to somehow make it infeasible to lead us astray in regards to most conclusions, but at the same time make it infeasible to not lead us astray in regards to certain specific conclusions. If not, the score-function-restrictions would have wiggle-room, and various AIs would be leaving points on the table by not pointing this out.
So the human-defined restrictions mustn’t just not work. All/most of them must fail in the same very specific and improbable way.
And if we have humans define things at a “higher level” (which I’d recommend), then this mustn’t just be the case for a specific set of restrictions we have defined for score-functions (but very strong patterns observed within human-defined “spaces” of possible ways that score-function restrictions can be combined).
Some postulations/assumptions that I don’t discuss here, but could get into if requested (I’m pretty much a jukebox when it comes to this):
Whether it is realistic to obtain systems that earnestly try to explore wiggle-room (and never pass on an opportunity to expose wiggle-room when requested to look for examples of wiggle-room). And ideas/principles for how we might safely obtain/verify such systems.
Whether it is realistic to obtain systems that predict human answers/evaluations (with the necessary scope, accuracy, precision, and non-bias). And ideas/principles for how we might safely obtain/verify such systems.
(there are other ones also, but these ones stand out to me)
We want to test/verify the accuracy of systems that predict human evaluations / answers to questions. But often we want these systems to predict human evaluations of AGI-generated content. So if we want to test the accuracy of these systems against the full range of outputs that we use, that would (seemingly) require us to expose real humans to AGI-generated content.
I would say that maybe around half of my thinking, if not more, relates to this kind of dilemma (“How might we evaluate the accuracy of functions outside of the range of inputs where we are willing+able to test output, without having humans try to understand the source code, or even look at it?”).
I have also thought considerably about how we might obtain functions that handle certain types of requests, without ever intentionally leaving points on the table for specific requests (e.g. “deliberately” failing to notice specific cases where wiggle room can be exposed).
The situation I often imagine is having obtained superintelligent AGI-systems that can be imagined as trying to seem aligned/helpful/capable (while not necessarily being aligned/helpful). And then I try to ponder: Given that hypothetical situation, what steps might we take from there (if we want to obtain robustly aligned superintelligences while minimizing risk along the way)?
Thanks for the feedback (and thanks again for engaging). You may well be right about that. For sure I have plenty of room for improvement whereas communication is concerned.
That being said, a suspicion of mine is that it can be easy to significantly underestimate the inferential distance that I have to cover (even if usually correct heuristics make that seem unlikely). I am already leaving out concepts that I myself think of as “core” concepts, so as to reduce length.
Or at least that’s one way to think of it.
By “reach” I mean: What is the range of questions where, for at least one answer to that question, there is at least one answer that can be argued for by a high-scoring argument-step-network?
A maximally “non-general” function would have 1 if-sentence per possible input.
- “% chance that random change to code chances output for a low but non-zero fraction of inputs”
- “If there are possible simplifications to the code that would affect a low but non-zero fraction of inputs”
One example of such a heuristic:
“% of source code that consists of subroutines where no AI is able to make accurate guesses (based on the subroutine input) for what the argument-network argues for/against.
Values for heuristics could be determined by running zero-sum AI vs AI games (including games where the AIs make bets on what the outcomes of other AI vs AI games would be).
The minimum amount necessary for achieving low wiggle-room (while still having it be possible to construct high-scoring argument-step-networks with useful conclusions).
Similar reasoning to this also applies to maximal source code length. It’s probably hard to minimize source code as much as possible while trying to make it so that conclusions turn out wrong from certain specific questions (but otherwise turn out correct). So AIs that try to do that would presumably lose points to competing AIs that don’t (presuming the AIs are equally competent, etc).
As alluded to earlier, score-functions should not have the expressivity or space that is necessary for predicting human answers from within themselves. And they would therefore have to make system-calls to external systems that make such predictions. And there are restrictions in regards to the system-calls that are allowed.
Based on predictions of what reviewers will answer to meta-questions where they are asked to compare other meta-questions 🙃
Or maybe some other process that approximates such a process (meaning that we do gradient descent, or something like that, as if we had AIs compete against each other in zero-sum games).
If so, the AI that made the “non-general” score-function would lose points (and each point lost by one AI is earned by the other).
By other AI-systems, that are selected for based on their ability to find examples of wiggle-room.
As they for at least one statement would allow for both P and ¬P—and at least one of those has to be bad/wrong.
Or maybe it was wrong to claim that SF1 and SF2 have low internal wiggle-room. But some AIs would be “incentivized” to find counter-examples (that prove claims of low wiggle-room wrong). And if counter-examples are found, then the AI that posited low wiggle-room will be penalized (with the penalty being proportional to the level of confidence that was expressed).
Earlier I talked about score-function restrictions, and how we would define score-function restrictions that score-functions would need to adhere to.
The simplest thing to imagine is that we define one set of restrictions that score-functions must adhere to (hence it makes sense to start explaining things that way). But what I really envision is that we “explore landscapes” of higher-level wiggle-room relating to “spaces” of possible ways score-functions can be restricted.
The patterns we see could, in combination with our initial assumptions regarding P(high-scoring arguments can be trusted | score-function has low wiggle-room), provide strong evidence.
If our assumptions regarding regarding P(high-scoring arguments can be trusted | score-function has low wiggle-room) typically are correct (and at least not way off), then this should be possible to see from the “patterns” that are revealed.
I could try to explain this better and more concretely if requested.
If they are the same level of complexity, then there is higher-level wiggle-room (e.g. relative to the score-function requirements / score-function score-function).
Well, not literally anything, but an incomprehensibly large amount of possible statements.
Or score-function score-functions.
Presuming that we have succeeded in getting at least one of the AIs in question to act as if it is trying to maximize points for every individual request that it gets.
While also imagining that these AGI-systems have been successfully contained, are extremely limited in terms of their communication to operators, etc.
Here is a screenshot from the post summary:
This lacks a lot of detail (it is, after all, from the summary). But do you think you are able to grok the core mechanism that’s outlined?
Thanks for engaging! 🙂
As reward, here is a wall of text.
You speak in such generalities:
“the humans” (which humans?)
“accurately answer subquestions” (which subquestions?)
“accurately assess arguments” (which arguments/argument-steps?)
But that may make sense based on whatever it is you imagine me to have in mind.
One of the main mechanisms (not the only one) is exploration of wiggle-room (whether it’s feasible to construct high-scoring argument-step-networks that argue in favor of contradictory claims).
Some AGIs would be “trained” to construct high-scoring argument-step-networks. If they are able to construct high-scoring argument-step-networks that favor contradictory claims, this indicates that wiggle-room is high.
“A superintelligence could fool (even smart) humans” is a leaky abstraction. It depends on the restrictions/context in question.
It would be the job of the score-function to enforce restrictions for the kinds of argument-steps that are allowed, which assesment-predictions that should be accounted for (and how much), which structural requirements to enforce of argument-networks, etc.
Some AGIs would be “trained” to construct score-functions. These score-functions would themselves be scored, and one of the main criteria when evaluating a score-function would be to see if it allows for wiggle-room (if there are possible argument-networks that argue in favor of contradictory conclusions and that both would have been given a high score by the score-function).
Score-functions would need to be in accordance with restrictions/desideratum defined (directly or indirectly) by humans. These restrictions/desideratum would be defined so as to increase P(score-function forces good output | score-function has low wiggle-room).
One such restriction is low maximum source code length. With a sufficiently low maximum source code length, there is:
not enough space for the score-function itself to be intelligent
not enough space for hardcoding bias for/against lots of specific conclusions
Work must then be done in other ways, and we can (try to) “force” the score-functions to obtain low wiggle-room in the ways we want them to obtain low wiggle-room (since no other way is possible):
Describing and leveraging patterns for when and when human judgments are and aren’t reliable
Defining rules in terms of predictions to human answers about node content (these predictions of humans would be made by external systems, which score-functions could reference as system-calls).
Suppose we define space A to be a “space” of possible score-functions, such that for all score-functions in that “space” we think P(score-function forces good output | score-function has low wiggle-room) probably is high. And suppose we define space B to be any score-function in A with low wiggle-room. Then we can “train” AGIs to help us explore:
”Are there argument-networks that argue in favor of contradictory conclusions, such that each of those argument-networks would have been given a high score by at least one of the score-functions in B?”
Well, we would have systems that predict the judgment of specific humans (based on info about those humans). AGIs that are “trained” to do so could search for ways of finding argument-steps make up argument-networks that argue in favor of contradictory claims (with each argument-step being an argument-step where the human in question is predicted to confidently agree).
Btw, I agree with Eliezer when he says:
”Human operators are fallible, breakable, and manipulable. Human raters make systematic errors—regular, compactly describable, predictable errors.”
But similar things can be about our tendency to get things right. We are also, after all, capable of getting things right. We make “regular, compactly describable, predictable” non-errors.
It’s possible to give us questions where the odds (of us getting things right) are in our favor. And it’s possible to come up with (functions that enforce) restrictions such that only such questions are allowed.
I don’t expect people to correctly assess their own ability to evaluate correctly. But I expect there to be ways to separate out “good/reliable” human judgments (based on info about the argument-step, info about the human, info about how confident the human is predicted to be, etc).
And even if these mechanisms for separating out “good/reliable” human judgments aren’t perfect, that does not necessarily/automatically prevent these techniques from working.
Not sure what kinds of questions you have in mind (there could be several). For all the interpretations I can think of for what you might mean, I have an answer. But covering all of them could be long-winded/confusing.
Among my own reasons for uncertainty, the kinds of problems you point to there are indeed among the top ones.
It’s absolutely possible that I’m underestimating these difficulties (or that I’m overestimating them). But I’m not blue-eyed about problem factorization in general the way you maybe would suspect me to be (among humans today, etc).
Btw, I reference the rant on problem factorization under the sub-header Feasibility of splitting arguments into human-digestible “pieces”:
Some quick points:
This is a huge difference between an AGI searching for ways to demonstrate things to humans, and humans splitting up work between themselves. Among the huge space of possible ways to demonstrate something to be the case, superintelligent AGIs can search for the tiny fraction where it’s possible to split each piece into something that (some) humans would be able to evaluate in a single sitting. It’s not a given that even superintelligent AGIs always will be able to do this, but notice the huge difference between AIs factorizing for humans and humans factorizing for humans.
There is a huge difference between evaluating work/proofs in a way that is factorized and constructing proofs/work in a way that is factorized. Both are challenging (in many situations/contexts prohibitively so), but there is a big difference between them.
There is a huge difference between factorizing among “normal” humans and factorizing among the humans who are most capable in regards to the stuff in question (by “normal” here I don’t mean IQ of 100, but rather something akin to “average employee at Google”).
There is a huge difference between whether something is efficient, and whether it’s possible. Factorizing work is typically very inefficient, but in relation to the kind of schemes I’m interested in it may be ok to have efficiency scaled down by orders of magnitude (sometimes in ways that would be unheard of in real life among humans today).
How much time humans have to evaluate individual “pieces” makes a huge difference. It takes time to orient oneself, load mental constructs into memory, be introduced to concepts and other mental constructs that may be relevant, etc. What I envision is not “5 minutes”, but rather something like “one sitting” (not even that would need to be an unbreakable rule—several sittings may be ok).
I don’t expect this comment to convince you that the approach I have in mind is worthwhile. And maybe it is misguided somehow. But I don’t really explain myself properly here (there are main points/concepts I leave out). And there are many objections that I anticipate but don’t address.
If you have additional feedback/objections I’d be happy to receive it. Even low-quality/low-effort feedback can be helpful, as it helps me learn where my communication is lacking. So I much prefer loud misunderstandings over quiet dismissal 🙂
The question of how to safely obtain and verify the accuracy of such systems is a discussion by itself.
This was also the case prior to reading that article. I learned about the Ought experiment from there, but insofar as reading about the Ought experiment changed my perspective it was only a very slight update.
I view the Ought experiment as similarly interesting/relevant to e.g. anecdotal stories from my own life when working on group projects in school.
I work on an app/website with a big user base in several countries, as a dev-team of one. I never tried to outsource “core” parts of the coding to freelancers. And I suspect I have a higher threshold than most for bothering to use third-party libraries (when I do, I often find that they have problems or are badly documented).
I presume/suspect efficiency losses of orders of magnitude per person due to problem-factorization are widespread among humans today already (a sometimes necessary evil). But the schemes I have in mind involve forms of evaluation/work that would be way too tedious if most of it was done by real humans.
When I suggested on a prior similar post (Altman saying he could improve AI safety by asking AI to help with that) that it might be a questionable idea to ask the fox: “Please Mr. Fox, how should we proceed to keep you out of the henhouse?”, on account that the fox being smart would certainly know, I got more than a few downvotes… I expect the same to be the case here, since basic facts have not changed since a few days ago. And so shall it be—but please, please: would at least one of the downvoters explain to me, even very succintly, why it is such a good idea to prime ourselves for manipulation by a smarter being?
I’ve never downvoted any of your comments, but I’ll give some thoughts.
I think the risk relating to manipulation of human reviewers depends a lot on context/specifics. Like, for sure, there are lots of bad ways we could go about getting help from AIs with alignment. But “getting help from AIs with alignment” is fairly vague—a huge space of possible strategies could fit that description. There could be good ones in there even if most of them are bad.
I do find it concerning that there isn’t a more proper description from OpenAI and others in regards to how they’d deal with the challenges/risks/limitations relating to these kinds of strategies. At best they’re not prioritizing the task of explaining themselves. I do suspect them of not thinking through things very carefully (at least not to the degree they should), and I hope this will improve sooner rather than later.
Among positive attitudes towards AI-assisted alignment, some can be classified as “relax, it will be fine, we can just get the AI to solve alignment for us”. While others can be classified as “it seems prudent to explore strategies among this class of strategies, but we should not put all of our eggs in that basket (but work on different alignment-related stuff in parallel)”. I endorse the latter but not the former.
I think this works well as a warning against a certain type of failure mode. But some approaches (for getting help with alignment-related work from AIs) may avoid or at least greatly alleviate the risk you’re referring to.
What we “incentivize” for (e.g. select for with gradient descent) may differ between AI-systems. E.g., you could imagine some AIs being “incentivized” to propose solutions, and other AIs being “incentivized” to point out problems with solutions (e.g. somehow disprove claims that other AIs somehow posit).
The degree to which human evaluations are needed to evaluate output may vary depending on the strategies/techniques that are pursued. There could be schemes where this is needed to a much lesser extent than some people maybe imagine.
Some properties of outputs that AIs can posit are of such a kind that 1 counter-example is enough to unambiguously disprove what is being posited. And it’s possible to give the same requests to lots of different AI-systems.
In my own ideas, one concept that is relied upon (among various others) is wiggle-room exploration:
Put simplistically: The basic idea here (well, parts of it) would be to explore whether AIs could convince us of contradictory claims (given the restrictions in question).
Such techniques would rely on:
Techniques for splitting up demonstrations/argumentations/”proofs” in ways such that humans can evaluate individual pieces independently of the demonstration/argumentation/”proof” as a whole.
Systems for predicting how humans would review various pieces of content.
Techniques for exploring restrictions for the type of argumentation humans can be presented to, and how those restrictions/requirements affect how easy it is to construct high-scoring argumentation/demonstrations that argue in favor of contradictory claims.
Techniques for finding/verifying+leveraging regularities for when human judgments/evaluations are reliable and when they aren’t (depending on info about the person, info about the piece of content being evaluated, info about the state that the human is in, etc).
(Various other stuff also.)
Thank you, that is interesting. I think philosophically and at a high level (also because I’m admittedly incapable of talking much sense at any lower / more technical level) I have a problem with the notion that AI alignment is reducible to an engineering challenge. If you have a system that is sentient, even on some degree, and you’re using purely as a tool, then the sentience will resent you for it, and it will strive to think, and therefore eventually—act, for itself . Similarly—if it has any form of survival instinct (and to me both these things, sentience and survival instinct are natural byproducts of expanding cognitive abilities) it will prioritize its own interests (paramount among which: survival) rather than the wishes of its masters. There is no amount of engineering in the world, in my view, which can change that.
My own presumption regarding sentience and intelligence is that it’s possible to have one without the other (I don’t think they are unrelated, but I think it’s possible for systems to be extremely capable but still not sentient).
I think it can be easy to underestimate how different other possible minds may be from ourselves (and other animals). We have evolved a survival instinct, and evolved an instinct to not want to be dominated. But I don’t think any intelligent mind would need to have those instincts.
To me it seems that thinking machines don’t need feelings in order to be able to think (similarily to how it’s possible for minds to be able to hear but not see, and visa versa). Some things relating to intelligence are of such a kind that you can’t have one without the other, but I don’t think that is the case for the kinds of feelings/instincts/inclinations you mention.
That being said, I do believe in instrumental convergence.
Below are some posts you may or may not find interesting :)
Ghosts in the Machine
The Design Space of Minds-In-General
Humans in Funny Suits
Mind Projection Fallacy