We wanted to find out if we can generate movie screenplays or short story synopsises using artificial intelligence. The idea was to see if we can train it not only to follow the certain text style, but make it produce new ideas and deliver them in a structured way.
We have explored the artificial intelligence models for text generation. We have focused on the latest most recent and advanced models capable of producing and imitating natural language. The latest models are GPT-3 by OpenAI and GPT-J by EleutherAI. They are very heavy and complex models trained to predict and continue text based on their language model and the provided context. Both have billions of internal parameters and are able to produce about 500-1000 words based on the context that is passed in as a prompt or question, few parameters and the adjustments made by feeding them different datasets before using them. Both are based on the same scientific research but trained by different companies on different gigantic datasets. We have considered other models but none of them came close to the quality of these two.
We have tried to build an environment where we can play with these models and possibly train them for our purpose. It became obvious very quickly that we cannot afford playing with GPT-3 because it can only be used through payed API of OpenAI and we won't be able to cover the costs. So we focused on GPT-J. GPT-J also cannot be run locally and cannot be trained locally without very expensive hardware (64+Gb RAM or video memory, GPU cards that cost >2500$). But it can be accessed via several more affordable platforms. We found one platform where we could experiment with it for free (bananadev), but could not tune it there. We found 2 platforms where we could perform training: nlpcloud and fronline.ai. They were also payed but provided 20$ trial period for free.
We have extracted ~280 plot summaries of short stories and novels from Wikipedia and tried to give them to GPT-J as training material. We tried 2 techniques: feeding all the texts to it raw, only with delimiters and feeding the texts with rough structure marks ( "Introduction", "Exposition", "Body", "Conclusion").