When German journalist Martin Bernklautyped his name and location into Microsoft’s Copilot to see how his articles would be picked up by the chatbot, the answers horrified him. Copilot’s results asserted that Bernklau was an escapee from a psychiatric institution, a convicted child abuser, and a conman preying on widowers. For years, Bernklau had served as a courts reporter and the AI chatbot had falsely blamed him for the crimes whose trials he had covered.
The accusations against Bernklau weren’t true, of course, and are examples of generative AI’s “hallucinations.” These are inaccurate or nonsensical responses to a prompt provided by the user, and they’re alarmingly common. Anyone attempting to use AI should always proceed with great caution, because information from such systems needs validation and verification by humans before it can be trusted.
But why did Copilot hallucinate these terrible and false accusations?
Not really. The purpose of the transformer architecture was to get around this limitation through the use of attention heads. Copilot or any other modern LLM has this capability.
The llm does not give you the next token. It gives you a probability distribution of what the next token coould be. Then, after the llm, that probability distribution is randomly sampled.
You could add billions of attention heads, it will still have an element of randomness in the end. Copilot or any other llm (past, present or future) do have this problem too. They all "hallucinate" (have a random element in choosing the next token)
Semi-randomly. There's a lot of sampling strategies. For example temperature, top-K, top-p, min-p, mirostat, repetition penalty, greedy..
A more correct term is constrained randomness. You're still looking at probability distribution functions, but they're more complex than just a throw of the dice.
randomly doesn't mean equiprobable. If you're sampling a probability distribution, it's random. Temperature 0 is never used, otherwise a lot of stuff would consistently hallucinate the exact same thing
It is in some cases, where you want a deterministic / "best" response. Seen it used in benchmarks, or when doing some "Is this comment X?" where X is positive, negative, spam, and so on. You don't want the model to get creative there, but rather answer consistently and always the most likely path.