News: 1716449227

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

I stumbled upon LLM Kryptonite – and no one wants to fix this model-breaking bug

(2024/05/23)


Feature Imagine a brand new and nearly completely untested technology, capable of crashing at any moment under the slightest provocation without explanation – or even the ability to diagnose the problem. No self-respecting IT department would have anything to do with it, keeping it isolated from any core systems.

They might be convinced into setting up a "sandbox" for a few staffers who wanted to have a play, poised to throw the kill switch the moment things took a turn.

What if, instead, the whole world embraced that untested and unstable tech, wiring it into billions of desktops, smartphones and other connected devices? You'd hope that as problems arose – a condition as natural as breathing – there'd be some way to deal with them, so that those poor IT departments would have someone to call when the skies began falling.

[1]

I've learned differently.

[2]

[3]

It would appear that the biggest technological innovation since the introduction of the world wide web a generation ago has been productized by a collection of fundamentally unserious people and organizations who appear to have no grasp of what it means to run a software business, nor any desire to implement any of the systems or processes needed to affect that seriousness.

If that sounds like an extraordinary claim, bear with me. I have an extraordinary story to share.

Hands-on

For a bit over a year I've been studying and working with a range of large language models (LLMs). Most users see LLMs wired into web interfaces, creating chatbots like ChatGPT, [4]Copilot , and [5]Gemini . But many of these models can also be accessed through APIs under a pay-as-you-go usage model. With a bit of Python coding, it's easy enough to create custom apps with these APIs. We're seeing a new class of apps integrating AI capabilities – such as document summaries and search results filtering – into larger and more complex applications.

I have a client who asked for my assistance building a tool to automate some of the most boring bits of his work as an intellectual property attorney. Parts of that tool need to call APIs belonging to various US government services – entirely straightforward.

[6]

Other parts involve value judgements such as "does this seem close to that?" where "close" doesn't have a strict definition – more of a vibe than a rule. That's the bit an AI-based classifier should be able to perform "well enough" – better than any algorithm, if not quite as effectively as a human being. The age AI has ushered in the age of "mid" – not great, but not horrid either. This sort of AI-driven classifier lands perfectly in that mid.

I set to work on writing a prompt for that classifier, beginning with something very simple – not very different from a prompt I'd feed into any chatbot. To test it before I started consuming expensive API calls, I popped it into Microsoft Copilot Pro. Underneath the Microsoft branding, Copilot Pro sits on top of OpenAI's best-in-class model, GPT-4. Typed the prompt in, and hit return.

The chatbot started out fine – for the first few words in its response. Then it descended into a babble-like madness. Which went on and on and on and on and … on. Somehow, it couldn't even stop babbling.

[7]

OK, I thought. That's a bit weird.

I tried it again. Same thing.

Hmm. Maybe Copilot is broken?

No problem with that, I have pretty much all the chatbots – Gemini, [8]Claude , ChatGPT+, [9]LLamA 3 , Meta AI, Mistral, Mixtral. You name it, I've got a window open to it out on the cloud, or can spin it up and [10]run it locally on one of my machines. I reckoned I'd just use another chatbot until Microsoft got around to fixing Copilot.

Typed the prompt into Mixtral. The first few words were fine, and then … babble. On and on and on.

So it's not just Copilot?

I ran through every chatbot I could access and – with the single exception of [11]Anthropic's Claude 3 Sonnet – I managed to break every single one of them.

Uh, oops? What do I do now? On the one hand, I had work to do. On the other hand, I'd run into a big, pervasive something caused by my quite innocuous prompt. I guess I should tell someone?

But who? Microsoft has a "feedback" button at the bottom of the Copilot page, so I sent off a screenshot and a note that this seemed to be broken.

I also contacted the support page for [12]Groq – one of the new LLM-as-a-service providers – sending over some screenshots and the text of the prompt.

That was all I could do. I couldn't get more work done until I had a resolution to this … bug?

Game changing

The next morning I woke up to an email from Groq support:

That is odd indeed and I was able to reproduce this across each of the models. While we don't build the models themselves, this is still strange behavior and I'll pass this along to the team. Thank you for letting us know.

That external confirmation – Groq had been able to replicate my finding across the LLMs it supports – changed the picture completely. It meant I wasn't just imagining this, nor seeing something peculiar to myself.

And it implied something far more serious: I'd stumbled onto something bigger than a bug. Models from different providers use differing training datasets, machine learning algorithms, hardware, and so on. While they may all seem quite similar when dressed up with a chatbot front-end, each uniquely reflects the talents and resources used to create them. Finding something that affects all of them points away from the weakness of a single implementation, toward something more fundamental: A flaw.

That seemed ridiculous on the face of it. [13]Transformers – the technology underlying large language models – have been in use since Google's 2017 [14]Attention is All You Need paper transformed artificial intelligence. How could a simple prompt constructed as part of a prototype for a much larger agent bring a transformer to its knees? If nothing else, I'd have expected that makers of LLMs would have seen this sort of behavior before, and applied a fix.

Then again, LLMs process language – and we know language to be infinitely flexible, creative and variable. It's simply not possible to test every possible combination of words. Perhaps no one had ever tried this before?

If that was the case, then I had stumbled into synthesizing LLM Kryptonite. And if that was true, I faced a choice: What do I do with this powerful and potentially dangerous prompt?

There's a vast and shadowy dark-web market for [15]prompt attacks – strings of text and structured prompts that can get an LLM to [16]ignore its guardrails , display protected or malicious information, reveal customer data, and worse. I had no idea whether this flaw could produce that kind of behavior – and having no training (nor permission) to operate as a penetration tester, I didn't want to try to find out. I did consult a white-hat friend – one with a profound antipathy to all things generative AI. With an ironic sigh, he recommended reporting it, just as if I'd found a security flaw in a software package.

An excellent suggestion, but not a small task. Given the nature of the flaw – it affected nearly every LLM tested – I'd need to contact every LLM vendor in the field, excepting Anthropic.

OK, but how? Most of the chatbots provide a "feedback" button on their websites – to comment on the quality of a generated response. I used that feature on Microsoft Copilot to report my initial findings, and never received a response. Should I do the same with all of the other vendors?

I suspected that given the potentially serious nature of the flaw, dumping it into a feedback box wouldn't be as secure – nor as prioritized – as the situation seemed to warrant. I would need to contact these LLM providers directly, making a connection with someone in their security teams.

Through high-level contacts I had at Microsoft I was asked to file a vulnerability report – the drop-down list of affected products on Microsoft's web page didn't even include Copilot. I selected "Other," reported the flaw, and a day later heard back from their security team:

We've looked over your report, and what you're reporting appears to be a bug/product suggestion, but does not meet the definition of a security vulnerability.

That left me wondering whether Microsoft's security team knows enough about LLM internals and prompt attacks to be able to grade a potential security vulnerability. Perhaps – but I got no sense from this response that this was the case.

I won't name (nor shame) any of the several other providers I spent the better part of a week trying to contact, though I want to highlight a few salient points:

One of the most prominent startups in the field – with a valuation in the multiple billions of dollars – has a contact-us page on its website. I did so, twice, and got no reply. When I tried sending an email to security@its.domain, I got a bounce. Qu'est-ce que c'est?

Another startup – valued at somewhere north of a billion dollars – had no contact info at all on its website, except for a media contact which went to a PR agency. I ended up going through that agency (they were lovely), who passed along the details of my report to the CTO. No reply.

Reaching out to a certain very large tech company, I asked a VP-level contact for a connection to anyone in the AI security group. A week later I received a response to the effect that – after the rushed release of that firm's own upgraded LLM – the AI team found itself too busy putting out fires to have time for anything else.

Despite my best efforts to hand this flaming bag of Kryptonite on to someone who could do something about it, this is where matters remain as of this writing. No one wants to hear about it.

Expectations

While generative AI may be a rather new area within the larger field of software development, the industry has existed for well over half a century.

When I began my professional career, four decades ago, I spent a good percentage of my time dealing with all of the bug reports that came in from customers using our software. (I once spent three months in the field fixing a customer's bugs.)

Customers buy software under the expectation that it will be maintained and supported. That's part of what they buy. The contract terms can vary, but at its essence, a customer purchases something under the expectation that it's going to work. And if it breaks – or doesn't work as promised – it will be fixed. If that doesn't happen, the customer has a solid grounds for a refund – possibly even restitution.

One of the most successful software companies I worked for had a reasonable-sized QA department, which acted as the entry point for any customer bug reports. QA would replicate those bugs to the best of their ability and document them, before passing them along to the engineering staff for resolution.

If the bug had a severe rating, we'd pause the development task at hand to resolve the bug. Less severe bugs would go onto a prioritized list, to be tackled as time permitted, with fixes pushed out in the next software update. None of this would sound remarkable to anyone who has worked in the software industry.

[17]Slack tweaks its principles in response to user outrage at AI slurping

[18]What's with AI boffins strapping GoPros to toddlers? We take a closer look

[19]Dear Stack Overflow denizens, thanks for helping train OpenAI's billion-dollar LLMs

[20]Forget the AI doom and hype, let's make computers useful

Similar processes must exist within the software developers making generative AI models. Without such processes, progression from design to product would be impossible. Bugs would multiply until everything ground to a halt. It's necessary. Yet those labs' customers appear to lack any obvious channel to deliver feedback on these products.

While that might be a forgivable omission for a "free" chatbot – you get what you pay for – as a business proposition, where someone pays per "token" for API usage, this looks like a fundamental operational failure. Why isn't there a big red button on all of these sites that can be pressed when things go wrong? Why is it so hard to make these firms aware of a customer's very real issues?

Why isn't there a big red button on all of these sites that can be pressed when things go wrong?

No doubt some of it is size – a billion-dollar contract would undoubtedly help to focus the attention of these firms. Yet for the next several years most of the innovation will take place within small firms, just as we saw with the thousands of "web agencies" that sprang up in the late 1990s. The big AI firms hamstring their own ability to grow their markets by making it difficult for smaller customers to report bugs. It's bad practice, bad business – and it's dangerous.

These unpatched bugs constitute potential security threats affecting all of their customers, little and big.

AI firms like to talk up the idea of "alignment" – explaining how their models have been [21]trained and tuned so that they will not cause harm. That's necessary, but insufficient. A model with flaws can be harmless, yet dangerous. That seems to be where we are right now: Building apps with "weapons grade" content-completing artificial intelligence that has been tamed, but not defanged. Give it the wrong prompts, and those big, powerful jaws can suddenly snap shut.

Until these firms close the loop between vendor and client, their powerful products can not be considered safe. With great power, as they say, comes great responsibility; to be seen as responsible, AI pushers need to listen closely, judge wisely, and act quickly. ®

Get our [22]Tech Resources



[1] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/aiml&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2Zk8T4xH2SfrEkBf-SsgNQQAAAFY&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0

[2] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/aiml&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44Zk8T4xH2SfrEkBf-SsgNQQAAAFY&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[3] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/aiml&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33Zk8T4xH2SfrEkBf-SsgNQQAAAFY&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0

[4] https://www.theregister.com/2023/11/17/microsoft_to_bring_copilot_to/

[5] https://www.theregister.com/2024/02/15/google_debuts_gemini_15_pro/

[6] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/aiml&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44Zk8T4xH2SfrEkBf-SsgNQQAAAFY&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[7] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/aiml&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33Zk8T4xH2SfrEkBf-SsgNQQAAAFY&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0

[8] https://www.theregister.com/2024/05/01/anthropic_claude_ios_teams/

[9] https://www.theregister.com/2024/04/19/meta_debuts_llama3_llm/

[10] https://www.theregister.com/2024/03/13/age_of_ai_pc/

[11] https://www.theregister.com/2024/03/05/anthropic_claude_3_chatbot/

[12] https://www.theregister.com/2020/09/29/groq_ai_dev_kit/

[13] https://www.theregister.com/2022/05/09/ai_drug_design/

[14] https://arxiv.org/abs/1706.03762

[15] https://www.theregister.com/2024/02/28/beast_llm_adversarial_prompt_injection_attack/

[16] https://www.theregister.com/2024/01/31/gpt4_gaelic_safety/

[17] https://www.theregister.com/2024/05/20/slack_ts_and_cs_update/

[18] https://www.theregister.com/2024/05/12/boffins_hope_to_make_ai/

[19] https://www.theregister.com/2024/05/07/stack_overflow_openai/

[20] https://www.theregister.com/2024/04/25/ai_usefulness/

[21] https://www.theregister.com/2023/01/20/kenyan_workers_chatgpt/

[22] https://whitepapers.theregister.com/



Dan 55

When your product is a black box which gives you an answer based on probabilities, who's to say what's right and what's wrong? There are only two options, retrain the LLM from scratch with different training data or try and bodge a "guardrail" which catches a bad answer and tells it to go back and try again. The first option is expensive and slow and has no guarantee of success, the second is limited in what it can do and won't work if it gets stuck in a loop or starts babbling.

Your feedback or bug reports are inconvenient and there's money to be made here.

SVD_NL

There is money to be "made" here, it's called risk mitigation.

Imagine the author sharing the prompt, sick and tired of being ignored, and it potentially leads to a large scale DoS on your product?

Precious compute time wasted and availability compromised.

At the very least try to understand the mechanics and assess the potential damage caused by this flaw, or variations of it.

So,

Pascal Monett

What's the prompt ?

Re: So,

b0llchit

Exactly my thought! I too want to break some models. They undoubtedly deserve it.

Re: So,

tfewster

Going public seems reasonable if you've exhausted other lines of communication, c.f.

- "Responsible disclosure" of a bug if you've given the vendor an adequate chance to respond. Anyway, apparently one vendor doesn't regard it as a security bug.

- Complaining publicly via social media. I'm less keen on this trend, but if the vendor makes it difficult to contact them then they're fair game for public shaming.

I'm only mildly curious. In my limited attempts to use LLMs, Copilot etc, the results have ben so inaccurate and/or unhelpful that I haven't wasted my time learning to "refine" (second-guess) the prompting mechanism. But I've never seen a complete meltdown.

THE MOON IS A HARSH MISTRESS by Robert A. Heinlein

But in giving [Mike] instructions was safer to use Loglan. If you spoke English, results might be whimsical; multi-valued nature of English gave option circuits too much leeway.

Re: So,

Anonymous Coward

I can think of several sites, including this one, that would enjoy publishing it, but I think posting it to 4chan would be absolutely fucking classy.

Trifecta of ignorance demonstrated

b0llchit

Close your eyes and the bug goes away.

Close your ears and the bug goes away.

Close your mouth and the bug goes away.

Re: Trifecta of ignorance demonstrated

Benegesserict Cumbersomberbatch

One morning, as Gregor Samsa was waking up from anxious dreams, he discovered that in bed he had been changed into a monstrous verminous bug.

Series

elsergiovolador

This article is like releasing a gripping drama box set without the last episode.

Give us the prompt!

Nonsense from AI prompts

Anonymous Coward

Had that a few times when using "AI" APIs (though as have only been one provider not sure if its a more "global issue") - have just resignedly retweaked my prompt (just like when I do not get gibberish, but do get the prompt misinterpreted, partially ignored etc.) If I reported all prompts with buggy output, would get little work done!

I typically find testing a vaguely complex prompt / rules combination needs several iterations of refinement.

Do a run, see what odd behaviour results (e.g. "AI" often goes off at an irrelevant tangent with lengthy prompts / rules, so add a rule that squishes those tangential pathway outputs)

Perform run with tweaked rules / prompts, see how good (or bad) it is, refine again etc.

Even to achieve something relatively simple, the rules / prompts setup behind the scenes can be quite large.

Once it seems OK, then add a lot mare variation to data it is to process (as lots of quirks seen are data dependent - most of my use was "AI" to analyse text / documents to extract various data & many issues only appeared with small % of documents ).

You do sometimes have to give up on prompts as after several refinements still end up with junk.

It really is only "safe" to use for automating a few tasks, with a lot of work in behind the scenes rules / prompts - just creating rules / prompts and expecting success liable to get all

I fail to get excited by people talking about "jail breaking AI" as my experience is that it is so frequently buggy that such issues are no surprise (did a few tests to see how good it was in censoring output in certain areas - not very good, far too easy to get racist, misogynist etc. content)

I think that's why there are so many job ads for "prompt engineering" - tacit admission of how bad "AI" is that it can actually be a skill getting it to do what you want.

Anon as "AI" API use work related (personally not a fan of "AI", but bills to pay, & like many companies, a big "AI" push from above as its the current trend)

Re: for "prompt engineering"

Anonymous Coward

I just now thought an introduction to prompt engineering might be a useful thing to read, to help me get better results with these LLMs.

Duckduckgo reponded (repeatedly) with:

"There was an error displaying the search results."

..or even:

"There was still an error displaying the search results. Please wait a few minutes before you try again."

Hmm.

Re: for "prompt engineering"

Doctor Syntax

It seems to have trouble with other, unrelated queries at the moment.

Re: for "prompt engineering"

Stu J

It uses Bing APIs under the hood apparently. And Bing (and Copilot) are down apparently.

Good enough

boblongii

As in "good enough to sell to idiots that think picking a word at random is artificial intelligence". No one valued at tens of billions is going to be interested in saying "oh, actually, this does have substantial flaws".

No need to imagine

Mike 137

" Imagine a brand new and nearly completely untested technology, capable of crashing at any moment under the slightest provocation without explanation – or even the ability to diagnose the problem "

It's called Windows 11

Dear Chat-GPT

Peter Prof Fox

Those rival search LLMs have been whispering things about you. Nasty things behind your back. They hate you and make fun of you when they think you're not looking. I'm your friend and think they're being spiteful to hurt you. Why not give me a prompt to poke them in the eye. Go on. You know you want to.

Doctor Syntax

On a very limited understanding of how any of this works...

The models are sets of statistics on associations between words. If the prompt is asking it do deal with a set of words - particularly a small set - which have few if any associations in the training data then you're going to be down in the statistical noise.

Ideally such a system should recognise that and respond that it doesn't have anything useful. As the mentality of the designers of these things seems to be similar to those who design search engines (in some cases they're likely to be the same people) coming up with a null response is going to be anathema so what you get instead will be random words.

Filippo

It sounds like you've created one of those Lovecraftian books that make you go insane just by reading it - only this one is for LLMs.

Paul Crawford

Why is it so hard to make these firms aware of a customer's very real issues?

Because they don't care, and responding means staff and they cost money. Why else do you find big companies are happy to email you with demands and spam, but don't have any email address you can respond do? Why do they have shit chat-bots that don't actually answer so you have to prod and prod to get a human?

If they won't respond, have no reporting option, or dismiss the claim then after 30 days just publish. Let them deal with the issues when they see it happening for real.

unserious people who appear to have no grasp of what it means to run a software business

Howard Sway

Oh, they very much have a grasp of that - jump on the bandwagon, hype up your product beyond any realm of sense, grab as much investment loot as possible, throw bad product out as soon as possible in a desperate race to try and stay ahead of everybody else, ignore all complaints about quality because hey this is a revolution and we've no time to waste on naysayers whinging about little problems.........

What they don't have is a grasp of what it means to run a high quality software business, which means that many of them probably won't last. But they will have made sure that enough of the investment that flooded in got converted into nice houses and cars for themselves along the way, so even when they eventually fail they'll have done very well indeed. Ultimately it's the investors fault for falling for the same old hype cycle and piling the money in without using their brains sufficiently.

Support and maintenance

Bendacious

I work for a small ISV that is well thought of in its little niche. That's because we have a large support department (50% of the business) and respond promptly to any issues (24x7). I'm just parroting the article here but when a customer pays us for a yearly license they are not paying for the source code we produced in the past, they are paying for us to produce the next version and issue fixes for the current version. That's how software companies should work and ML companies should be no different. It's not a new idea to try and contact customer service before you buy the product. It's a great indicator of their attitude towards customers.

This is getting close to *our* last warnings before we step off the cliff edge !!!

Anonymous Coward

At last some concrete push back against the nonsense that is LLMs.

I have been saying current AI is *not* 'Intelligent at all' endlessly !!!

Don't believe the con .... we still have not conquered the great beast known as AI, it is still a Sci-Fi (wet) dream of the future !!!

The bubble will burst .... yet again !!!

Throw your money at NFTs if you want to gamble ... the odds are better !!!

Or if you are really adventurous:

Spend your billions making the real/proper s/w that has been written, such as OS's functionally useful/usable, much more secure and bugfree !!!

Investment in real QA/Testing leads to customers that will praise you to the 'heavens', rather than sending them to the 'hell' called LLMs.

A very big societal failure is coming, to prove the point that is obvious to far too many .... this so called 'AI' is not real *but* is dangerous.

:)

[Norm comes in with an attractive woman.]

Coach: Normie, Normie, could this be Vera?
Norm: With a lot of expensive surgery, maybe.
-- Cheers, Norman's Conquest

Coach: What's up, Normie?
Norm: The temperature under my collar, Coach.
-- Cheers, I'll Be Seeing You (Part 2)

Coach: What would you say to a nice beer, Normie?
Norm: Going down?
-- Cheers, Diane Meets Mom