Skip to content

Instantly share code, notes, and snippets.

@w8r
Last active September 7, 2022 23:17
Show Gist options
  • Save w8r/99fda364d01616241aabd1faa7087725 to your computer and use it in GitHub Desktop.
Save w8r/99fda364d01616241aabd1faa7087725 to your computer and use it in GitHub Desktop.
AI screenplays hackathon

Problem

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.

State of the art

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.

What we did

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").

Problems

Future work

Problème

Nous voulions savoir si nous pouvions générer des scénarios de films ou des synopsis de nouvelles en utilisant l'intelligence artificielle. L'idée était de voir si nous pouvions l'entraîner non seulement à suivre un certain style de texte, mais aussi à lui faire produire de nouvelles idées et à les livrer de manière structurée.

L'état de l'art

Nous avons exploré les modèles d'intelligence artificielle pour la génération de texte. Nous nous sommes concentrés sur les derniers modèles les plus récents et avancés capables de produire et d'imiter le langage naturel. Les derniers modèles sont GPT-3 par OpenAI et GPT-J par EleutherAI. Ce sont des modèles très lourds et complexes formés pour prédire et continuer le texte en fonction de leur modèle de langage et du contexte fourni. Les deux ont des milliards de paramètres internes et sont capables de produire environ 500 à 1 000 mots en fonction du contexte transmis sous forme d'invite ou de question, de quelques paramètres et des ajustements effectués en les alimentant avec différents ensembles de données avant de les utiliser. Les deux sont basés sur la même recherche scientifique mais formés par différentes entreprises sur différents ensembles de données gigantesques. Nous avons envisagé d'autres modèles, mais aucun d'entre eux ne s'est approché de la qualité de ces deux-là.

Ce que nous avons fait

Nous avons essayé de construire un environnement où nous pouvons jouer avec ces modèles et éventuellement les former à notre objectif. Il est devenu évident très rapidement que nous ne pouvions pas nous permettre de jouer avec GPT-3 car il ne peut être utilisé que via l'API payante d'OpenAI et nous ne pourrons pas couvrir les coûts. Nous nous sommes donc concentrés sur GPT-J. GPT-J ne peut pas non plus être exécuté localement et ne peut pas être formé localement sans un matériel très coûteux (64 + Go de RAM ou de mémoire vidéo, cartes GPU qui coûtent >2500$). Mais il est accessible via plusieurs plateformes plus abordables. Nous avons trouvé une plate-forme sur laquelle nous pouvions l'expérimenter gratuitement (bananadev), mais nous ne pouvions pas l'y régler. Nous avons trouvé 2 plateformes sur lesquelles nous pouvions effectuer des formations : nlpcloud et fronline.ai. Ils ont également été payés mais ont fourni une période d'essai gratuite de 20 $.

Nous avons extrait environ 280 résumés d'intrigues de nouvelles et de romans de Wikipédia et avons essayé de les donner au GPT-J comme matériel de formation. Nous avons essayé 2 techniques : alimenter tous les textes bruts, uniquement avec des délimiteurs et alimenter les textes avec des marques de structure grossière ("Introduction", "Exposition", "Corps", "Conclusion").

Problèmes

Travail futur

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment