Microsoft présente phi-1, un modèle de génération de code plus léger et plus performant que GPT-3.5,
les chercheurs de Microsoft estiment que cette performance est due à la « puissance des données de haute qualité »

Microsoft a présenté phi-1, un nouveau modèle de génération de code qui se veut léger et performant. Le modèle, basé sur les Transformers, ne compte que 1,3 milliard de paramètres, contre 12 milliards pour Codex, le modèle d’OpenAI qui a servi de base à GitHub Copilot.

Des limites dans l'approche actuelle de la formation des LLM

OpenAI a réalisé une série d'avancées impressionnantes dans l'IA qui fonctionne avec le langage ces dernières années en prenant des algorithmes d'apprentissage automatique existants et en les faisant évoluer jusqu'à une taille inimaginable auparavant. GPT-4, le dernier de ces projets, a probablement été formé à l'aide de milliards de mots de texte et de plusieurs milliers de puces informatiques puissantes. Le processus a coûté plus de 100 millions de dollars.

Mais le PDG de la société, Sam Altman, affirme que de nouveaux progrès ne proviendront pas de l'agrandissement des modèles : « Je pense que nous sommes à la fin de l'ère où règneront ces modèles géants », a-t-il déclaré à un public lors d'un événement organisé au MIT à la fin de la semaine dernière. « Nous allons les rendre meilleurs par d'autres moyens ».

La déclaration d'Altman suggère une tournure inattendue dans la course au développement et au déploiement de nouveaux algorithmes d'IA. Depuis qu'OpenAI a lancé ChatGPT en novembre, Microsoft a utilisé la technologie sous-jacente pour ajouter un chatbot à son moteur de recherche Bing, et Google a lancé un chatbot rival appelé Bard. De nombreuses personnes se sont précipitées pour expérimenter l'utilisation de la nouvelle race de chatbot pour aider au travail ou à des tâches personnelles.

Pendant ce temps, de nombreuses startups bien financées, dont Anthropic, AI21, Cohere et Character.AI, consacrent d'énormes ressources à la construction d'algorithmes toujours plus grands dans le but de rattraper la technologie d'OpenAI. La version initiale de ChatGPT était basée sur une version légèrement améliorée de GPT-3, mais les utilisateurs peuvent désormais également accéder à une version alimentée par le GPT-4 plus performant.

La déclaration d'Altman suggère que GPT-4 pourrait être la dernière avancée majeure à émerger de la stratégie d'OpenAI consistant à agrandir les modèles et à leur fournir plus de données. Il n'a pas dit quel genre de stratégies ou de techniques de recherche pourraient prendre sa place. Dans l'article décrivant GPT-4, OpenAI indique que ses estimations suggèrent des rendements décroissants lors de l'augmentation de la taille du modèle. Altman a déclaré qu'il existe également des limites physiques au nombre de centres de données que l'entreprise peut construire et à la rapidité avec laquelle elle peut les construire.

Nom : chatgpt.png
Affichages : 84341
Taille : 310,2 Ko

Un argument qui « sonne vrai » pour le cofondateur de Cohere

Nick Frosst, cofondateur de Cohere qui travaillait auparavant sur l'IA chez Google, affirme que le sentiment d'Altman selon lequel « agrandir [le nombre de paramètres] ne fonctionnera pas indéfiniment » sonne vrai. Lui aussi pense que les progrès sur les transformateurs, le type de modèle d'apprentissage automatique au cœur de GPT-4 et de ses rivaux, vont au-delà de l'évolutivité. « Il existe de nombreuses façons de rendre les transformateurs bien meilleurs et plus utiles, et beaucoup d'entre eux n'impliquent pas l'ajout de paramètres au modèle », dit-il. Frosst dit que de nouvelles conceptions ou architectures de modèles d'IA et un réglage supplémentaire basé sur la rétroaction humaine sont des directions prometteuses que de nombreux chercheurs explorent déjà.

Viennent alors les chercheurs de Microsoft avec phi-1

Il a fallu aux chercheurs de Microsoft seulement quatre jours pour entraîner phi-1 en utilisant huit puces A100 de Nvidia. Le modèle a été entraîné sur six milliards de tokens provenant du web ainsi qu’un milliard de tokens supplémentaires générés à l’aide de GPT-3.5, l’un des modèles sous-jacents utilisés pour construire ChatGPT d’OpenAI.

En termes de performance, phi-1 a obtenu une précision de pass@1 de 50,6 % sur le benchmark HumanEval. Le modèle de Microsoft a battu StarCoder de Hugging Face et ServiceNow (33,6 %), GPT-3.5 d’OpenAI (47 %) et PaLM 2-S de Google (37,6 %) malgré sa taille nettement inférieure. Sur le test MBPP pass@1, phi-1 a fait mieux, atteignant un score de 55,5 %. Beaucoup des modèles mentionnés ci-dessus n’ont pas encore publié de résultats sur ce benchmark, mais WizardLM’s WizardCoder a obtenu 51,5 % lors d’un test effectué plus tôt ce mois-ci. WizardCoder est un modèle de 15 milliards de paramètres, contre 1,3 milliard de paramètres pour phi-1.

Nom : phi.png
Affichages : 3140
Taille : 74,7 Ko

Les chercheurs de Microsoft affirment que c’est la « puissance des données de haute qualité » qui explique pourquoi phi-1 se comporte si bien. Pour appuyer leur point de vue, l’équipe de recherche a intitulé son article décrivant le modèle Textbooks Are All You Need. L’article indique : « Tout comme un manuel complet et bien conçu peut fournir à un étudiant les connaissances nécessaires pour maîtriser un nouveau sujet, notre travail démontre l’impact remarquable des données de haute qualité dans l’amélioration de la maîtrise d’un modèle de langage dans les tâches de génération de code. En créant des données de qualité ‘textbook’, nous avons pu entraîner un modèle qui surpasse presque tous les modèles open source sur les benchmarks de codage tels que HumanEval et MBPP malgré une taille de modèle 10 fois plus petite et une taille de jeu de données 100 fois plus petite ».

Phi-1 est limité au codage Python, contrairement à d’autres modèles de codage disponibles. Le modèle est également limité par le fait qu’il manque de connaissances spécifiques au domaine des modèles plus grands comme la programmation avec des API spécifiques. Pour approfondir leur travail, les chercheurs de Microsoft ont suggéré d’utiliser GPT-4 plutôt que GPT-3.5 pour générer des données synthétiques pour l’entraînement du modèle. Les chercheurs chercheraient également à améliorer la diversité et la non-répétitivité dans leur jeu de données, mais ils devraient trouver des moyens « d’injecter du hasard et de la créativité dans le processus de génération des données, tout en conservant la qualité et la cohérence des exemples ».

ZeRO++ : Accélérer le réglage fin des grands modèles

Microsoft a également dévoilé ZeRO++ (pour Zero Redundancy Optimizer ++), une méthode améliorée pour que les GPU communiquent entre eux et qui permet d’accélérer l’entraînement et le réglage fin des modèles IA. ZeRO++ est une extension de ZeRO, une technique de réduction de la mémoire développée par Microsoft Research qui permet d’entraîner des modèles de plusieurs milliards de paramètres sur un nombre limité de GPU. ZeRO++ permet aux GPU de partager non seulement les paramètres du modèle, mais aussi les gradients et les activations, ce qui réduit encore plus les besoins en mémoire et en bande passante.

ZeRO++ a été utilisé pour entraîner phi-1, ainsi que pour le réglage fin du modèle sur des données spécifiques au domaine. Les chercheurs de Microsoft affirment que ZeRO++ a permis de réduire le temps d’entraînement de phi-1 de 40 % par rapport à ZeRO. Ils affirment également que ZeRO++ peut entraîner des modèles jusqu’à 100 milliards de paramètres sur huit GPU A100, ce qui ouvre la voie à la création de modèles de codage encore plus puissants.

Le modèle phi-1 et la technique ZeRO++ sont des exemples de la façon dont Microsoft utilise l’IA pour faciliter le développement d’applications. Microsoft propose déjà Power Apps, une plateforme de développement d’applications à faible code qui permet à tout le monde, des personnes ayant peu ou pas d’expérience en codage aux développeurs professionnels ayant une expertise approfondie en programmation, de créer des applications pour améliorer la productivité ou les processus métier. Power Apps utilise Power Fx, un langage de programmation open source basé sur Microsoft Excel, qui est beaucoup plus facile à utiliser que les langages de codage traditionnels.

ZeRO++ est disponible pour tous les membres de la communauté AI et est accessible via GitHub. Les chercheurs ont annoncé qu'une version pour le chat sortira « dans les semaines à venir ».

Microsoft a récemment annoncé qu’il intégrerait GPT-3 dans Power Apps, ce qui permettra aux utilisateurs de décrire un objectif de programmation en utilisant un langage conversationnel comme « trouve les produits dont le nom commence par ‘enfants’ ». Un modèle GPT-3 affiné proposera alors des choix pour transformer la commande en une formule Power Fx, comme "Filter (‘BC Orders’ Left (‘Product Name’,4)=“Kids”). Il s’agit d’une des premières implémentations montrant comment GPT-3, fonctionnant exclusivement sur Azure et alimenté par Azure Machine Learning, peut répondre aux besoins métier réels à l’échelle de l’entreprise, selon Microsoft.

« Utiliser un modèle IA avancé comme celui-ci peut aider nos outils low code à devenir encore plus accessibles à un public encore plus large en devenant véritablement ce que nous appelons du no-code », a déclaré Charles Lamanna, vice-président corporatif de la plateforme d’applications low-code de Microsoft.

D'autres acteurs s'intéressent à la programmation assistée par IA

Microsoft n’est pas le seul acteur à s’intéresser à la programmation assistée par IA. Google, par exemple, a développé son propre modèle de programmation assistée par IA, PaLM 2-S, qui utilise une architecture hybride de langage et de mémoire pour générer du code à partir d’une description en langage naturel. PaLM 2-S peut gérer plusieurs langages de programmation, tels que Python, Java et SQL, et peut également s’adapter à différents domaines et styles de codage. Google a publié PaLM 2-S en open source sur GitHub.

La programmation assistée par IA est un domaine en pleine croissance qui promet de révolutionner le développement d’applications et de rendre la programmation plus accessible et plus efficace.

Sources : Microsoft (1, 2)

Et vous ?

Quelle est votre opinion sur le modèle phi-1 de Microsoft ?
Avez-vous déjà essayé GitHub Copilot ou PaLM 2-S ?
Quels sont les avantages et les inconvénients de la programmation assistée par IA par rapport à la programmation traditionnelle ?
Quels sont les domaines ou les projets où vous aimeriez utiliser la programmation assistée par IA ?
Quelles sont les limites, quels sont les défis de la programmation assistée par IA ?