Trumpy is a bot that tweets in the style of Donald J. Trump using a fine-tuned GPT-2 model.


I’m running this as a social experiment more than anything else. OpenAI have been very transparent about their misgivings regarding the AI model they have created that is capable of generating extremely convincing “fake news”. They are rightly concerned that it might be used for evil. But they, like me, also believe that it is important to increase awareness of what is possible. There is a ongoing arms race between the generators of fake news and those who are trying to discriminate between what is fake and what is real.

I took the 345 million parameter model of GPT-2 and fed it 32,000 Donald Trump tweets for over 12 hours. (I tried the larger models but found that they were prone to over-fitting and repeating verbatim past tweets from the current POTUS.) Trumpy generates a tweet every hour using a recent tweet from the Donald as inspiration. It also randomly tweets people who pop up in a search for “Trump”. It will reply to any tweets, using the tweet text as inspiration. Bear in mind that it was trained on series of tweets that didn’t necessarily follow on from each other, so don’t be surprised if you get tweeted back a non-sequitur.

Interestingly, the profiles of the people who have chosen to follow @realDonTrumpy seem to be very polarized between those who want to #MAGA and those who would rather #impeachtrump. Occasionally @realDonTrumpy says something offensive and I’ve had to delete the tweet. (Twitter has blocked the account a few times and one fairly high profile user got into a slagging match.) Sometimes I have noticed that Trumpy gets into an endless conversation with another bot. On one occasion, with a Japanese bot, it even ended up replying in Japanese. I continue to be fascinated by how much of language can simply be modeled by probability distributions.