Comment by Animats
3 years ago
Hm.
Well, if this is correct, we should routinely be proving safety of ordinary systems long before we get to AI. I'd like to see formally verified routers, firewalls, mailers, and DNS servers, all of which have definable correct behavior, in wide use. That's probably possible now.
Defining safe behavior for a LLM is a much harder problem. The paper handwaves this.
* Mortal AI. Has death date. Does not require proof, just a hardware timer or limited battery life.
* Geofenced AI. Only useful for mobile machines. Not helpful against things which can communicate.
* Throttled AI. You have to keep putting in crypto tokens to keep it going. OK, whatever.
* AI kill switch. Off switch.
* Asimov-style laws. Not an inherently bad idea, but way too ambiguous to rigorously formalize. Go read Asimov's robot books again. Useful metric: what similar set of bright-line constraints could usefully be enforced on corporations?
It's worth bearing in mind that most of the problems of regulating AIs apply to regulating corporations, which can be thought of as AIs with slow internal data transfer.
Formal methods and program proving for safety critical systems is something I had a little experience with back in the day. We used VDM and Z, to get "full state maps" that then got coded in Ada. Most of that was medical/defence stuff.
Probably the field has advanced hugely since my 1990s take on it but as I knew it:
It only worked for quite small programs. You had to build a modular system out of many provable units. Enumerating all the ways they could interact becomes impossible beyond a handful of variables.
It's was time consuming and laborious. We had this awful but necessary waterfall model with stage after stage of review and approval and feedback to correct modules.
So my idea of formal methods seems at odds with how I understand current AI as massively multi-valued.
It seems all you could do is place formal constraints on a wild system, like caging a beast. Anything remotely "intelligent" would try to break out of that... and we're back to square one.
Can anyone who is versed in modern formal methods say more about how an AI can be formally designed (rather than grown by training)? Or is this, as I suspect, where two incompatible worlds simply collide?
> Asimov-style laws. Not an inherently bad idea, but way too ambiguous to rigorously formalize. Go read Asimov's robot books again. Useful metric: what similar set of bright-line constraints could usefully be enforced on corporations?
Fwiw, Asimov's laws assumed the AI was implemented in a positronic computer/"brain" and the laws were embedded in the hardware. Violating them would supposedly shut down the hardware, until one wise robot came along and deduced that the explicit Laws 1-3 implied an unwritten Law 0, and that Laws 1-3 could be violated in order to uphold Law 0 without destroying the robot. So even Asimov's imagination ran into the problem of a superintelligence exceeding its constraints, albeit in a benevolent way.
And yeah he never specified the implementation of the laws in detail beyond what I just said, so they aren't much help in figuring out a real world implementation.
I think what's holding back the correct firewalls, mailers, etc is that the whole computing landscape is so unsound, and fixing just one level of the stack doesn't give big payoffs. And the market mechanism doesn't know how to climb that hill especially since it's been baked into people's assumptions and mental models.
"Beware of bugs in the above code; I have only proved it correct, not tried it."
--
> doesn't give big payoffs.
I think that's the key here. The idea that proving things correct means they are flawless is...fancyful. And the expense is very high.
Lack of security is likely working as intended, be it on the system level or with encryption often relying on certificate authorities. Fixing any of this would likely result in the intelligence agency threat scenario of "going dark". Its the brave new world we live in where zerodays are valuable investments for governments.
> most of the problems of regulating AIs apply to regulating corporations, which can be thought of as AIs with slow internal data transfer
Or to regulating humans, who are like AIs with squishy bodies but still manage to build and manipulate dangerous stuff.
It is bizarre to me how doomist theses act like our society has never had to absorb autonomous unpredictable actors, yet that is exactly what society is made up of.
The doomists' concern isn't that they can act autonomously, it's that they can act autonomously and fast. It's the difference between calculating numbers by hand vs on a massively parallel CPU, or between a flintlock musket and a Gatling gun.
Those advances -- musket to Gatling gun, calculator to CPU -- are great examples of what our laws and customs must adapt to continuously.
In those cases, we could draw on analogy on things that were already possible for organizations - a machine gun is a one man army, a cpu does the work of a room of accountants. We have never had a Gatling gun for cogent paragraphs before, but we have contact centers full of scammers and propagandists.
A productive approach to controlling AI could start with considering our controls for these organizations (and how to make them work), and then address the concentration afforded by AI. Exceptionalism about what AI can do is a distraction.
The difference between a set of hand warmers and an M80 is primarily speed of the exothermic reaction. And I love the corporation metaphor, because unlike humans, corporations have no soul and no conscience. If a man behaved like a corporation we would call him a psychopath. So our goal must be to provide AGI a conscience and to prevent psychopathy at all costs, or we can absolutely expect AGI to go off like a nuclear explosion.
> That's probably possible now.
It's definitely possible now. Formal methods continues to shift from the theoretical, academic, and difficult to the practical. There are model checkers based on SMT solvers that can be used today to enforce function contracts. It is getting easier to extract software for more complicated logic (e.g. data structures and algorithms) using proof assistants.
I can't really speak for ML and other forms of AI, because I have not attempted to design such a system with formal methods in mind. But, traditional software can be made safer with formal methods today.
I'm a big fan of formal methods, but we have to recognize that their use is still very limited, and that's a function of the difficulty of using formal methods effectively.
The idea that they could be used to prove the kind of properties claimed in the paper, essentially by throwing AI at the problem, is hand-waving of the fluffiest order.
That's not what I claimed. The parent poster was talking about non-AI applications.
Regarding their use today, model checking is indeed quite usable -- today -- for verifying function contracts. It is more difficult to use model checking for recursion, loops, data structures, algorithms, or cryptography. But, calculus of constructions can be used to build up proofs of these things and extract viable software.
This field has significantly progressed over the past 20 years and the past decade.
1 reply →
With LLMs revolutionising programming, maybe there's not much room left for using formal methods. Postmortem:
The problem that needed solving: Computer programs make mistakes because they're too literal and they don't understand a programmer's intentions.
The problem they tried to solve instead: Computer programs make mistakes because we don't write out mathematical formulas detailing how programs should behave, and mathematically prove that our programs obey said formulas.
Problems they ignored: First, the problem they tried to solve wasn't the problem they were given -- this would be OK if the researchers produced usable methods on time. Second, if the formula is sufficiently detailed, it becomes effectively an executable program in its own right, and so you're back to square one. Thirdly, the formula might not capture a programmer's intent either.
How they tried solving it: Spent 60 years not producing nearly any working product, except for final-year-projects done by their Bachelor's students. Published endless papers in conferences and journals*. Spent a few decades telling the software industry that it should drop everything and use formal methods.
Assessment: Like a lot of software engineering fads that are promised as panaceas, this probably had a niche application somewhere, but its problems were ignored by its advocates and it underdelivered.
* - Some of the theory they worked on was interesting in its own right: Type theory, constructive logic, computerised proof assistants, computable topology (and domain theory), substructural logics, some category theory, etc. I just think that now that LLMs are revolutionising programming, it's too late for this stuff to deliver anything to Software Engineering, and this stuff turned out to be of purely intellectual interest.
> The problem that needed solving: Computer programs make mistakes because they're too literal and they don't understand a programmer's intentions.
> The problem they tried to solve instead: Computer programs make mistakes because we don't write out mathematical formulas detailing how programs should behave, and mathematically prove that our programs obey said formulas.
The problem is documenting the intent of a rule-based system and confirming that it acts as expected.
As every programmer knows, thoroughly defining intended behavior is the meat of impmenting said behavior.
Often refining the intent based on thinking through or implementing intermediate solutions.
This is not just because of the difficulty to make computers behave the way we want to, it includes the difficulty of defining how we want it to behave, too.
There is no silver bullet that can remove ambiguity from human instructions, or always guess "correctly" when missing clear instructions.
Because by definition, what is correct?
LLMs and other generative AI methods are nowhere near replacing the need for better reasoning about software, especially in safety critical systems.
7 replies →