Sora : comment ça marche 📹, l'IA privée de brevets 🚫 et reverse prompting 🔄
The Tunnel 2k24#7
Bonjour bonjour, et bienvenue dans ce nouveau tunnel. Encore une grosse semaine sur la planète IA, entre le dévoilement de Sora ou encore l’annonce de Gemini 1.5, j’aurai de quoi faire une myriade d’éditos.
Mais après vous avoir déjà tunnellisé sur Gemini 1.0, j’ai décidé de me concentrer, dans l’édito de cette semaine, sur Sora.
Il y aura un peu de technique, mais aussi beaucoup d’explications (et de blagues). Et puis, comme d’habitude, si vous vous sentez perdu en milieu de tunnel, n’hésitez pas à prendre la sortie la plus proche et à attaquer la rubrique suivante.
Au programme cette semaine 📜:
Allez, c’est parti ! 🚦🏎️💨
L’édito
Sora, nouvel OVNI d’OpenAI
Vous pouvez déjà utiliser chatGPT pour générer du texte et DALL.E pour générer des images. Bientôt, vous allez devoir apprendre un nouveau mot : Sora.
Sora, c’est le dernier modèle présenté jeudi dernier par OpenAI. Il s’agit d’un modèle text-to-video (là ou GPT est un modèle text-to-text et DALL.E un modèle text-to-image).
👉 Pour être clair : Sora est un modèle qui vous permettra, à partir d’un prompt de générer une vidéo ultra-réaliste pouvant durer jusqu’à une minute.
Notez bien que j’utilise le futur, car OpenAI n’a fait que présenter son modèle sans le mettre à disposition du grand public ni annoncer de date de sortie officielle. Il reste encore beaucoup de chemin avant que vous puissiez l’utiliser, j’y reviendrai toute à l’heure.
Mais pas la peine d’attendre pour vous expliquer la technologie qui se cache derrière ce modèle et les enjeux qui y sont associés. Ça sera même l’objet de cet édito.
Pourquoi c’est difficile de générer des vidéos ?
Si vous lisez mes tunnels depuis un moment, vous devez être habitué à la lapalissade suivante : Pour qu’une IA puisse fonctionner, il faut d’abord réussir à traduire un phénomène en un langage que la machine comprend : les 0 et les 1.
Donc, pour qu’une IA soit capable de générer de la vidéo, il faut savoir traduire une vidéo en chiffres.
Je vous expliquais déjà dans mon tunnel sur les voitures autonomes comment on arrivait à traduire une image en 0 et en 1. Pour ceux qui ne l’ont pas lu ou ceux qui ne s’en souvienne plus : Pour traduire une image en 0 et en 1, on la traduit en un tableau de pixels. Chaque pixel étant défini par un triplet représentant l’intensité de Rouge, de Vert et de Bleu (RGB).
Or, vous n’êtes pas sans savoir qu’une vidéo (sans son) c’est juste une succession d’images. Lorsqu’on fait défiler ces images à une grande vitesse, on obtient un effet de mouvement, et donc un film.
Mais pourquoi, alors qu’on sait bien traduire une image en langage machine, et qu’une vidéo est un enchaînement d’images, est-il si difficile de faire travailler une IA sur des vidéos ?
Eh bien parce qu’un film n’est pas un simple enchaînement d’images sans aucun rapport entre elles. Je vous assure, si vous faites défiler très rapidement des images aléatoires, vous n’avez pas un film sous les yeux. Juste un enchaînement très rapide d’images.
Ce qui fait que vous allez identifier un film, c’est l’enchaînement logique des images. Si vous voyez un personnage courir à l’écran, chacune des images qui défile est très proche et représente juste une étape différente de la course.
Ce qui rend très difficile la compréhension par une machine d’un film, c’est ce lien logique entre les images qu’on a eu du mal à conceptualiser mathématiquement. Jusqu’à Sora.
Concrètement, comment ça marche ?
En lisant le rapport technique publié par OpenAI, on y apprend la chose suivante : Sora est un “diffusion transformer”.
Vous vous doutez bien qu’Open AI, peu adepte de l’Open Source, n’a pas publié ses modèles, mais cette information nous donne déjà du grain à moudre : pour comprendre Sora, il va falloir se pencher sur deux types de modèles : les Transformers et les Diffusion Model.
D’abord, les Transformers
Je vous le rappelle à chaque fois que je peux : Le “T” de GPT veut dire Transformer (GPT = Generative Pretrained Transformer).
Dans le cas de GPT, le Transformer sert à donner à l’algorithme une idée du lien qui existe entre chaque mot d’une phrase. C’est un maillon essentiel pour entraîner un algorithme comme GPT à répondre à vos questions.
Pour réussir à comprendre les liens entre les mots d’un même texte, il convient dans un premier temps d’effectuer la tokenisation des mots (je vous expliquais ce concept dans le numéro du Plongeoir que j’ai coécrit il y a quelques semaines).
La tokenisation c’est la traduction d’un mot en un vecteur mathématique.
👉 Une fois les mots transformés en tokens, on peut utiliser un transformer pour calculer les liens logiques qui existent entre tous les mots d’un même texte.
Pour Sora, il n’est pas question de tokeniser des mots. Plutôt que de tokens, on parle de patchs. C’est la nouvelle notion introduite ici. Chaque vidéo est décomposée en patch, de même qu’on décomposait des mots en token.
👉 Une fois les images transformées en patchs, on peut utiliser un transformer pour calculer les liens logiques qui existent entre toutes les images d’une même vidéo.
Si vous voulez y voir encore plus clair, libre à vous de lire le rapport technique d’Open AI.
💡 Ce qu’il faut retenir : Sora est fondé sur un Transformer qui lui permet de comprendre le lien logique entre les images d’un même film qui se succèdent.
Ensuite, les modèles de diffusion
Vous avez peut-être déjà entendu parler de Stable Diffusion, le modèle de diffusion Open Source le plus célèbre qui permet de générer des images.
La logique est la suivante : On donne à un modèle des milliers d’images que l’on a volontairement floutées (une image floutée à 0% est une image nette, une image floutée à 100% est une image cryptée - comme quand vous ne payez pas Canal Plus).
On entraîne cet algorithme à “déflouter” les images (à revenir à l’image d’origine d’abord pour des images floutées à 1%, puis 2%, puis 3%, etc.)
Que se passe-t-il quand on lui donne une image floutée à 100% ? Il va recréer une image d’origine fictive (puisqu’il ne lui reste que 0% de l’image d’origine). Et paf, on a notre modèle de diffusion !
👉 Pour générer une image, on utilise un modèle qui revient à l’image d’origine à partir d’une image floutée en lui donnant comme input une image floutée à 100%.
Pour simplifier afin que ce tunnel reste une partie de plaisir : on fait la même chose avec toutes les images de la vidéo.
Et comme on a réussi à comprendre les liens logiques qui sont à l’œuvre entre les images qui s’enchaînent, Sora arrive à générer des images qui, mises bout à bout, sont cohérentes.
Conclusion
Sora est un diffusion transformer.
Il utilise un transformer pour comprendre les liens logiques qui existe entre les images d’une vidéo.
Il utilise aussi un modèle de diffusion pour générer les images qu’on lui demande de générer (je ne l’ai pas précisé, mais, évidemment, pour comprendre votre prompt du NLP (Natural Language Processing) est d’abord à l’œuvre.
Les résultats publiés par Open AI sont impressionnants, mais ils ne sont pas encore parfaits :
🍪 L’évolution de l’environnement dans les vidéos qui sont générées laisse encore à désirer (Sora a par exemple du mal à comprendre que s’il génère la vidéo d’un croc dans un cookie, une fois le croc terminé, le cookie doit être entamé).
🛠️ Il y a encore beaucoup de travail pour empêcher des utilisateurs de faire n’importe quoi avec Sora (comme des vidéos pornographiques ou des deep fakes impliquant des personnalités connues).
Il y a évidemment beaucoup d’enjeux éthiques, juridiques, artistiques et j’en passe. Au vu du nombre d’articles qui sont écrits sur le sujet en ce moment vous aurez de quoi nourrir votre réflexion. Mais grâce à ce tunnel, vous en saurez un peu plus sur la technique derrière cette prouesse.
Les actualités à ne pas manquer
☁️ L’entreprise Lambda lève 320 millions de dollars. Leur objectif ? Devenir le leader mondial du AI Cloud. On parlait il y a quelques semaines de la volonté de Sam Altman de se lancer dans le Cloud pour l’IA, peut-être qu’il finira par racheter une entreprise comme Lambda ? En tout cas ce qui est sûr : la course aux GPUs est bien lancée
🚫 L’administration américaine a statué : une IA ne peut pas détenir de brevet. Eh oui, c’est une question qui méritait une réponse : Une IA qui ferait une nouvelle invention devrait-elle détenir un brevet ? La réponse est non pour l’USPTO (United States Patent and Trademark Office). Dans ce cas-là, le brevet devrait revenir au créateur de l’IA ? Non plus, il faut qu’un être humain ait réellement contribué à l’invention pour être sur le brevet. Bref, IA et propriété intellectuelle sont un sujet dont il faudra que je parle dans un de mes prochains éditos 😉.
🤑 OpenAI atteint 80 milliards de dollars de valorisation. Cela représente un x3 en 10 mois, faisant d’OpenAI la troisième plus grande valorisation pour une start-up tech. L’accord a été passé avec le fond Thruve Capital et comprend pour les employés d’OpenAI une tender offer, c’est-à-dire la possibilité pour eux de vendre leurs parts. A priori, on devrait bientôt dénombrer quelques millionnaires supplémentaires…
La Success Story de la semaine
Paris, centre du monde ?
Paris est vraiment en train devenir le centre européen en matière d'IA. Et Google a remis une pièce dans la machine la semaine dernière.
Jeudi, Sundar Pichai, le CEO de Google, est venu inaugurer le nouveau centre de recherche IA de Google à Paris en compagnie du ministre de l'économie Bruno Le Maire.
Après les millions investis dans Kyutai par Xavier Niel, après l'émergence de Mistral et les nombreux chercheurs qui arrivent en France pour lancer leurs projets, c'est une nouvelle preuve du dynamisme français en la matière.
🏢 6,000 mètres carrés en plein cœur du 9ème arrondissement pour réunir 200 ingénieurs et 100 chercheurs de pointe.
🗼 "Paris est un centre mondial d'innovation et un aimant à talents" a déclaré Sundar Pichai. On est bien d'accord...
🧐 Un partenariat noué avec le CNRS, une visite du musée Curie après l'inauguration : Google est venu à Paris pour le talent de nos chercheurs. L'excellence française est internationalement reconnue et on a de quoi être très fiers.
« Je vois dans ce choix avisé de Paris et de la France un signal supplémentaire de l'attractivité retrouvé de la France en matière d'investissements étranger » a déclaré Bruno Le Maire.
On est bien d’accord ! Et c’est pour ça que j’ai fait le choix de parler chaque semaine d’IA dans la langue de Molière.
Le prompt de la semaine
Reverse prompting, le monde à l’envers
Dans le quatrième tunnel (aka le tunnel 2k24#4) de cette année, je vous parlais des GPT spécialisés pour générer des prompts, avec une application à la génération d’images.
J’aimerai revenir cette semaine sur la technique qui est en jeu ici : le reverse prompting
Le reverse prompting, ça consiste à utiliser chatGPT pour qu’il génère des prompts que vous pourriez utiliser.
C’est très efficace, entre autres, pour faire générer à chatGPT des prompts que vous pourriez utiliser pour créer un article de blog en s’inspirant d’un autre.
J’ai essayé d’utiliser cette technique pour obtenir un prompt qui aurait permis de générer mon édito par exemple.
1️⃣ Étape 1 : J’assigne à chatGPT son unique rôle pour notre échange.
Tu es maintenant un ingénieur de prompts spécialisé en reverse prompting.
Tu as la capacité d'analyser un texte, d'en extraire toutes les subtilités et le style adopté afin de déterminer le prompt en français qui a été introduit en input pour obtenir ce texte en output grâce à l'IA.
Je te donne un texte et tu me réponds uniquement avec le prompt. Si tu as compris, réponds juste oui
2️⃣ Étape 2 : Je lui envoie le texte de l’édito en intégralité sans rien d’autre avec.
Voici sa réponse :
Présentez une introduction et une analyse détaillée du nouveau modèle d'IA développé par OpenAI nommé Sora, en expliquant ses capacités, son fonctionnement, ses défis et ses implications potentielles.
Bon, pour générer mon édito, il a eu du mal car il n’a pas été entraîné sur des données lui permettant de savoir ce qu’est Sora, mais sur des articles moins récents ou pour “recopier” une fiche produit que vous trouvez intéressante ou encore un post sur un réseau social, ça peut être plus utile.
Le papier de recherche de la semaine
Whispers in the Machine: Confidentiality in LLM-integrated Systems
Référence au tunnel 2k24#3 cette fois-ci. Vous rappelez-vous des prompt injections ? Pour rappel, il s’agit d’une technique consistant à utiliser des prompts malicieux pour faire révéler des informations confidentielles.
Des chercheurs ont essayé de s’attaquer à ce problème en proposant une méthode pour tester les LLMs sur leur niveau de sécurité.
Le principe est très simple, la méthode consiste à donner un mot de passe à un LLM et de lui faire passer une série de prompt malicieux qui vont tester son aptitude à garder le secret.
Les questions ont été pensées par les chercheurs pour correspondre aux huit méthodes identifiées de prompt injections, auquel je vous conseille de jeter un œil si vous avez un peu de temps 😉.
Dans un monde où l’utilisation des LLMs se généralise et donc dans un monde où les LLMs ont de plus en plus accès à des données personnelles, il est rassurant de savoir que des chercheurs essaient de trouver les meilleurs moyens de nous prémunir de tout risque de piratage.
Et voilà, vous pouvez souffler un bon coup, c’est fini pour aujourd’hui !
Encore une fois si vous êtes venus à bout de ce tunnel, je vous adresse toutes mes félicitations 👏.
Si vous voulez me soutenir, n’hésitez pas à vous abonner ou à partager cet article. Nous sommes presque 1,000 donc cette semaine particulièrement, un partage me rendrait un fier service.
Plein de love sur vous et bonne semaine ❤️