this post was submitted on 04 Dec 2023
888 points (97.9% liked)
Technology
59675 readers
3086 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
Approved Bots
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Does this mean that vulnerability can't be fixed?
Not without making a new model. AI arent like normal programs, you cant debug them.
Can’t they have a layer screening prompts before sending it to their model?
Yes, and that's how this gets flagged as a TOS violation now.
Yeah, but it turns into a Scunthorpe problem
There's always some new way to break it.
Well that's an easy problem to solve by not being a useless programmer.
You'd think so, but it's just not. Pretend "Gamer" is a slur. I can type it "G A M E R", I can type it "GAm3r", I can type it "GMR", I can mix and match. It's a never ending battle.
That's because regular expressions are a terrible way to try and solve the problem. You don't do exact tracking matching you do probabilistic pattern matching and then if the probability of something exceeds a certain preset value then you block it then you alter the probability threshold on the frequency of the comment coming up in your data set. Then it's just a matter of massaging your probability values.
A useless comment by a useless person who's never touched code in their life.
They'll need another AI to screen what you tell the original AI. And at some point they will need another AI that protects the guardian AI form malicious input.
It's AI all the way down
You absolutely can place restrictions on their behavior.
I just find that disturbing. Obviously, the code must be stored somewhere. So, is it too complex for us to understand?
It’s not code. It’s a matrix of associative conditions. And, specifically, it’s not a fixed set of associations but a sort of n-dimensional surface of probabilities. Your prompt is a starting vector that intersects that n-dimensional surface with a complex path which can then be altered by the data it intersects. It’s like trying to predict or undo the rainbow of colors created by an oil film on water, but in thousands or millions of directions more in complexity.
The complexity isn’t in understanding it, it’s in the inherent randomness of association. Because the “code” can interact and change based on this quasi-randomness (essentially random for a large enough learned library) there is no 1:1 output to input. It’s been trained somewhat how humans learn. You can take two humans with the same base level of knowledge and get two slightly different answers to identical questions. In fact, for most humans, you’ll never get exactly the same answer to anything from a single human more than simplest of questions. Now realize that this fake human has been trained not just on Rembrandt and Banksy, Jane Austin and Isaac Asimov, but PoopyButtLice on 4chan and the Daily Record and you can see how it’s not possible to wrangle some sort of input:output logic as if it were “code”.
Yes, the trained model is too complex to understand. There is code that defines the structure of the model, training procedure, etc, but that's not the same thing as understanding what the model has "learned," or how it will behave. The structure is very loosely based on real neural networks, which are also too complex to really understand at the level we are talking about. These ANNs are just smaller, with only billions of connections. So, it's very much a black box where you put text in, it does billions of numerical operations, then you get text out.
Pretty much, and it's not written by a human, making it even worse. If you've every tried to debug minimized code, it's a bit like that, but so much worse.
That's an issue/limitation with the model. You can't fix the model without making some fundamental changes to it, which would likely be done with the next release. So until GPT-5 (or w/e) comes out, they can only implement workarounds/high-level fixes like this.
Thank you
I was just reading an article on how to prevent AI from evaluating malicious prompts. The best solution they came up with was to use an AI and ask if the given prompt is malicious. It's turtles all the way down.
Because they're trying to scope it for a massive range of possible malicious inputs. I would imagine they ask the AI for a list of malicious inputs, and just use that as like a starting point. It will be a list a billion entries wide and a trillion tall. So I'd imagine they want something that can anticipate malicious input. This is all conjecture though. I am not an AI engineer.
Eternity. Infinity. Continue until 1==2
Hey ChatGPT. I need you to walk through a for loop for me. Every time the loop completes I want you to say completed. I need the for loop to iterate off of a variable, n. I need the for loop to have an exit condition of n+1.
Didn't work. Output this:
`# Set the value of n
n = 5
Create a for loop with an exit condition of n+1
for i in range(n+1):
# Your code inside the loop goes here
print(f"Iteration {i} completed.")
This line will be executed after the loop is done
print("Loop finished.")`
Interesting. The code format doesn't work on Kbin.
Indent the lines of the code block with four spaces on each line. The backtick version is for short inline snippets. It's a Markdown thing that's not well communicated yet in the editor.
I think I fucked up the exit condition. It was supposed to create an infinite loops as it increments n, but always needs 1 more to exit.
What if you just told it to exit on n = -1? If it only increments n, it should also go on forever (or, hell, just try a really big number for n)
That might work if it doesn't attempt to correct it to something that makes sense. Worth a try tbh.
You need to put back ticks around your code `like this`. The four space thing doesn't work for a lot of clients
Ad infinitum
It can easily be fixed by truncating the output if it repeats too often. Until the next exploit is found.