Man, that sucks. It’s really annoying how sycophantic these companies have made their chatbots, which makes this worse.
But, I think by the very nature of how chatbots work, you can’t fix that problem. Chatbots simulate what text is likely to follow other text.
If someone online has definitely read a book that really exists, and they describe a scene they remember from that book, the clear pattern online is that someone will say “Oh yeah, that’s the book X by author Y”. Some people might say “I’ve never heard of that book”, but it’s likely they might just not say anything. If we’re looking at a kind of forum with upvotes and downvotes, the person who found the real book will be the most upvoted.
So, that’s the pattern the LLM trains on. It knows that when someone posts a question like that, the best answer is one where someone names the book and types out the passage in the book.
It would be nice if the chatbot would instead say “I don’t know that book” or “That book doesn’t exist”.
But, it can’t do that, because it doesn’t “know” anything. Everything the chatbots put out is a hallucination. It’s just that some hallucinations are more useful. It has been trained millions of times on patterns when the passage someone remembers is “It was the best of times, it was the blurst of times”, so when it hallucinates about that sequence of words, its hallucination is bound to be more helpful. But, if what someone remembers doesn’t exist, or is obscure enough that it’s not in the training data, things break. Then it follows the general pattern used for every other book, and comes up with a “useful” answer that doesn’t match any actual book.
It’s definitely in the nature of the current-gen systems. It’s possible to imagine other ways to train chatbots that wouldn’t favor bullshitting in the same way, though. The way they currently are isn’t a way they necessarily have to be.
Anyway, it’s very clearly a case where it would have been better to cut out the middleman and just share the prompt, which was my point in sharing it.
It’s possible to imagine other ways to train chatbots that wouldn’t favor bullshitting in the same way, though
How? The way they work is that they predict the next word (token). They don’t know anything. So, when someone says “what’s the book that features an X doing Y and has a Z that looks like a Q” the process is basically “if this were a forum post, what’s the next word that’s likely to appear, what’s the one after that, what’s the one after that”.
If the scene being described is something from Harry Potter that has been discussed endlessly on the web, it’s likely to predict next words that end up being helpful. If the scenario being described has never been described before, there’s no way for it to say “aha, this book doesn’t exist!” Instead it just invents a plausible conversation between two people about a fictional book.
Now, you could design a filter that sits in front of the LLM that makes things better. It could be designed to recognize quotes, and if it spots a quote, it can “search the web” (or really look through a big index) to see if those words in that sequence have actually been seen before. If not, it could reject the entire response as being a “hallucination”.
But, fundamentally, this isn’t a problem you can fix through training, because of how LLMs work.
You can’t fix it with a pure LLM, no. But very few of the major models are pure LLMs anymore. They’ve got LLMs built in to them as subsystems, but they’ve got control systems layered on top of those to adjust their behaviors. And those don’t have to be trained purely with next word prediction.
Man, that sucks. It’s really annoying how sycophantic these companies have made their chatbots, which makes this worse.
But, I think by the very nature of how chatbots work, you can’t fix that problem. Chatbots simulate what text is likely to follow other text.
If someone online has definitely read a book that really exists, and they describe a scene they remember from that book, the clear pattern online is that someone will say “Oh yeah, that’s the book X by author Y”. Some people might say “I’ve never heard of that book”, but it’s likely they might just not say anything. If we’re looking at a kind of forum with upvotes and downvotes, the person who found the real book will be the most upvoted.
So, that’s the pattern the LLM trains on. It knows that when someone posts a question like that, the best answer is one where someone names the book and types out the passage in the book.
It would be nice if the chatbot would instead say “I don’t know that book” or “That book doesn’t exist”.
But, it can’t do that, because it doesn’t “know” anything. Everything the chatbots put out is a hallucination. It’s just that some hallucinations are more useful. It has been trained millions of times on patterns when the passage someone remembers is “It was the best of times, it was the blurst of times”, so when it hallucinates about that sequence of words, its hallucination is bound to be more helpful. But, if what someone remembers doesn’t exist, or is obscure enough that it’s not in the training data, things break. Then it follows the general pattern used for every other book, and comes up with a “useful” answer that doesn’t match any actual book.
It’s definitely in the nature of the current-gen systems. It’s possible to imagine other ways to train chatbots that wouldn’t favor bullshitting in the same way, though. The way they currently are isn’t a way they necessarily have to be.
Anyway, it’s very clearly a case where it would have been better to cut out the middleman and just share the prompt, which was my point in sharing it.
How? The way they work is that they predict the next word (token). They don’t know anything. So, when someone says “what’s the book that features an X doing Y and has a Z that looks like a Q” the process is basically “if this were a forum post, what’s the next word that’s likely to appear, what’s the one after that, what’s the one after that”.
If the scene being described is something from Harry Potter that has been discussed endlessly on the web, it’s likely to predict next words that end up being helpful. If the scenario being described has never been described before, there’s no way for it to say “aha, this book doesn’t exist!” Instead it just invents a plausible conversation between two people about a fictional book.
Now, you could design a filter that sits in front of the LLM that makes things better. It could be designed to recognize quotes, and if it spots a quote, it can “search the web” (or really look through a big index) to see if those words in that sequence have actually been seen before. If not, it could reject the entire response as being a “hallucination”.
But, fundamentally, this isn’t a problem you can fix through training, because of how LLMs work.
You can’t fix it with a pure LLM, no. But very few of the major models are pure LLMs anymore. They’ve got LLMs built in to them as subsystems, but they’ve got control systems layered on top of those to adjust their behaviors. And those don’t have to be trained purely with next word prediction.