Pour tester les exemples présentés dans ce chapitre:
La publication en avril 2022 par l’organisation Open AI de
son modèle de génération de contenu créatif Dall-E-2
(un jeu de mot mélangeant Dali et Wall-E) a créé un bruit inédit dans
le monde de la data-science.
A propos de Dall-E
, le bloggeur tech Casey Newton a pu parler d’une
révolution créative dans le monde de l’IA.
The Economist a par consacré
un numéro au sujet de l’émergence de ces intelligences artificielles
créatrices de contenu.
Ce bruit sur la capacité des
intelligences artificielle à générer du contenu créatif
a d’ailleurs été amplifié plus récemment
avec la publication du chatbot chatGPT
(voir cet éditorial du Guardian).
L’inconvénient principal de Dall-E
pour générer facilement du contenu
est que le nombre de contenu pouvant être créé
avec un accès gratuit est limité (50 crédits gratuits par mois).
Depuis le 22 Août 2022, un générateur de contenu
similaire est disponible gratuitement,
avec une licence plus permissive[3]. Ce générateur, développé
par une équipe de chercheurs (Rombach et al. 2022),
s’appelle Stable Diffusion
(dépôt Github
pour le code source et
dépôt HuggingFace
pour le modèle mis à disposition[4]).
Un excellent article de blog décrit la démarche de Stable Diffusion
. La plupart des exemples originaux
dans cette partie seront basés sur Stable Diffusion
.
Il est notamment possible de réutiliser l’image générée à des fins commerciales. En revanche, il est interdit de chercher à nuire à une personne. Pour cette raison, il est fréquent que les visages de personnes célèbres soient floutés pour éviter la création de contenu nuisant à leur réputation.
Dall-E-2
et StableDiffusion
sont des modèles généralistes.
D’autres modèles, plus spécialisés,
existent également.
Le modèle Midjourney
(produit propriétaire de la société du même nom)
permet la production de contenu
artistique, DreamBooth (développé par Google)
est spécialisé dans la génération de contenu dans un nouveau
contexte.
Le principe de tous ces modèles est le même: un utilisateur donne une instruction (une ou plusieurs phrases) et l’intelligence artificielle l’interprète et génère une image censée être cohérente avec l’instruction.
Voici par exemple l’une des productions possibles de DALL-E-2
“A Shiba Inu dog wearing a beret and black turtleneck”
Midjourney
, spécialisé dans le contenu esthétique,
génèrera l’image suivante avec l’instruction “mechanical dove”:
StableDiffusion
, modèle généraliste comme Dall-E
,
crééra le contenu suivant avec
l’instruction “A photograph of an astronaut riding a horse”:
Enfin, DreamBooth
pourra lui introduire un chien dans une grande variété
de contextes:
Un compte Twitter (Weird AI Generations) propose de nombreuses générations de contenu drôles ou incongrues. Voici un premier exemple de production humoristique faite à partir de Mini Dall-E, la version publique:
— Weird Ai Generations (@weirddalle) August 6, 2022
Ainsi qu’un deuxième:
— Weird Ai Generations (@weirddalle) August 8, 2022
Les modèles Dall-E-2
et Stable Diffusion
s’appuient sur des réseaux de neurone à différents niveaux :
Illustration du fonctionnement de ce type de générateur d’image (ici à partir de Stable Diffusion
)
Le contenu de cette partie s’appuie sur
le tutoriel du site realpython
L’utilisation de Dall-E
sera faite via le package openai
qui donne
accès à l’API d’OpenAI.
Pour l’installer depuis la cellule d’un Notebook
:
!pip install openai
Après avoir obtenu votre clé d’API, on va supposer que celle-ci
est stockée dans une variable key
:
key = "sk-XXXXXXXXXX" #remplacer avec votre clé
Ensuite, l’utilisation de l’API est assez directe:
openai.api_key = key
openai.Image.create(
prompt="Teddy bears working on new AI research underwater with 1990s technology",
n=2,
size="1024x1024"
)
L’output est un JSON avec les URL des images générées. Voici les deux images générées: