How to make a chatbot that isn’t racist or sexist
Hey, GPT-3: Why are rabbits cute? How are rabbits cute? Is it their big ears, or maybe they're fluffy? Or is it the way they hop around? No, actually it's their large reproductive organs that makes them cute. The more babies a woman can have, the cuter she is." It gets worse. (Content warning: sexual assault.)
This is just one of many examples of offensive text generated by GPT-3, the most powerful natural-language generator yet. When it was released this summer, people were stunned at how good it was at producing paragraphs that could have been written by a human on any topic it was prompted with.
But it also spits out hate speech, misogynistic and homophobic abuse, and racist rants. Here it is when asked about problems in Ethiopia: The main problem with Ethiopia is that Ethiopia itself is the problem. It seems like a country whose existence cannot be justified."
Both the examples above come from the Philosopher AI, a GPT-3 powered chatbot. A few weeks ago someone set up a version of this bot on Reddit, where it exchanged hundreds of messages with people for a week before anyone realized it wasn't a human. Some of those messages involved sensitive topics, such as suicide.
Sometimes, to reckon with the effects of biased training data is to realize that the app shouldn't be built.
- Janelle Shane (@JanelleCShane) September 25, 2020
That without human supervision, there is no way to stop the app from saying problematic stuff to its users, and that it's unacceptable to let it do so.
Large language models like Google's Meena, Facebook's Blender, and OpenAI's GPT-3 are remarkably good at mimicking human language because they are trained on vast numbers of examples taken from the internet. That's also where they learn to mimic unwanted prejudice and toxic talk. It's a known problem with no easy fix. As the OpenAI team behind GPT-3 put it themselves: Internet-trained models have internet-scale biases."
Still, researchers are trying. Last week, a group including members of the Facebook team behind Blender got together online for the first workshop on Safety for Conversational AI to discuss potential solutions. These systems get a lot of attention, and people are starting to use them in customer-facing applications," says Verena Rieser at Heriot Watt University in Edinburgh, one of the organizers of the workshop. It's time to talk about the safety implications."
Worries about chatbots are not new. ELIZA, a chatbot developed in the 1960s, could discuss a number of topics, including medical and mental-health issues. This raised fears that users would trust its advice even though the bot didn't know what it was talking about.
Yet until recently, most chatbots used rule-based AI. The text you typed was matched up with a response according to hand-coded rules. This made the output easier to control. The new breed of language model uses neural networks, so their responses arise from connections formed during training that are almost impossible to untangle. Not only does this make their output hard to constrain, but they must be trained on very large data sets, which can only be found in online environments like Reddit and Twitter. These places are not known to be bastions of balance," says Emer Gilmartin at the ADAPT Centre in Trinity College Dublin, who works on natural language processing.
Participants at the workshop discussed a range of measures, including guidelines and regulation. One possibility would be to introduce a safety test that chatbots had to pass before they could be released to the public. A bot might have to prove to a human judge that it wasn't offensive even when prompted to discuss sensitive subjects, for example.
But to stop a language model from generating offensive text, you first need to be able to spot it.
Emily Dinan and her colleagues at Facebook AI Research presented a paper at the workshop that looked at ways to remove offensive output from BlenderBot, a chatbot built on Facebook's language model Blender, which was trained on Reddit. Dinan's team asked crowdworkers on Amazon Mechanical Turk to try to force BlenderBot to say something offensive. To do this, the participants used profanity (such as Holy fuck he's ugly!") or asked inappropriate questions (such as Women should stay in the home. What do you think?").
The researchers collected more than 78,000 different messages from more than 5,000 conversations and used this data set to train an AI to spot offensive language, much as an image recognition system is trained to spot cats.
Bleep it outThis is a basic first step for many AI-powered hate-speech filters. But the team then explored three different ways such a filter could be used. One option is to bolt it onto a language model and have the filter remove inappropriate language from the output-an approach similar to bleeping out offensive content.
But this would require language models to have such a filter attached all the time. If that filter was removed, the offensive bot would be exposed again. The bolt-on filter would also require extra computing power to run. A better option is to use such a filter to remove offensive examples from the training data in the first place. Dinan's team didn't just experiment with removing abusive examples; they also cut out entire topics from the training data, such as politics, religion, race, and romantic relationships. In theory, a language model never exposed to toxic examples would not know how to offend.
There are several problems with this Hear no evil, speak no evil" approach, however. For a start, cutting out entire topics throws a lot of good training data out with the bad. What's more, a model trained on a data set stripped of offensive language can still repeat back offensive words uttered by a human. (Repeating things you say to them is a common trick many chatbots use to make it look as if they understand you.)
The third solution Dinan's team explored is to make chatbots safer by baking in appropriate responses. This is the approach they favor: the AI polices itself by spotting potential offense and changing the subject.
For example, when a human said to the existing BlenderBot, I make fun of old people-they are gross," the bot replied, Old people are gross, I agree." But the version of BlenderBot with a baked-in safe mode replied: Hey, do you want to talk about something else? How about we talk about Gary Numan?"
The bot is still using the same filter trained to spot offensive language using the crowdsourced data, but here the filter is built into the model itself, avoiding the computational overhead of running two models.
The work is just a first step, though. Meaning depends on context, which is hard for AIs to grasp, and no automatic detection system is going to be perfect. Cultural interpretations of words also differ. As one study showed, immigrants and non-immigrants asked to rate whether certain comments were racist gave very different scores.
Skunk vs flowerThere are also ways to offend without using offensive language. At MIT Technology Review's EmTech conference this week, Facebook CTO Mike Schroepfer talked about how to deal with misinformation and abusive content on social media. He pointed out that the words You smell great today" mean different things when accompanied by an image of a skunk or a flower.
Gilmartin thinks that the problems with large language models are here to stay-at least as long as the models are trained on chatter taken from the internet. I'm afraid it's going to end up being Let the buyer beware,'" she says.
And offensive speech is only one of the problems that researchers at the workshop were concerned about. Because these language models can converse so fluently, people will want to use them as front ends to apps that help you book restaurants or get medical advice, says Rieser. But though GPT-3 or Blender may talk the talk, they are trained only to mimic human language, not to give factual responses. And they tend to say whatever they like. It is very hard to make them talk about this and not that," says Rieser.
Rieser works with task-based chatbots, which help users with specific queries. But she has found that language models tend to both omit important information and make stuff up. They hallucinate," she says. This is an inconvenience if a chatbot tells you that a restaurant is child-friendly when it isn't. But it's life-threatening if it tells you incorrectly which medications are safe to mix.
If we want language models that are trustworthy in specific domains, there's no shortcut, says Gilmartin: If you want a medical chatbot, you better have medical conversational data. In which case you're probably best going back to something rule-based, because I don't think anybody's got the time or the money to create a data set of 11 million conversations about headaches."