HyperAIHyperAI
il y a 12 jours

CodeT5+: Modèles linguistiques massifs open source pour la compréhension et la génération de code

Yue Wang, Hung Le, Akhilesh Deepak Gotmare, Nghi D.Q. Bui, Junnan Li, Steven C.H. Hoi
CodeT5+: Modèles linguistiques massifs open source pour la compréhension et la génération de code
Résumé

Les grands modèles linguistiques (LLM) préentraînés sur d’importants volumes de code source ont connu des progrès notables en intelligence du code. Toutefois, les modèles actuels de code LLM présentent deux limitations majeures en matière d’architecture et de tâches de préentraînement. Premièrement, ils adoptent souvent une architecture spécifique (encodeur-seul ou décodeur-seul) ou s’appuient sur un réseau encodeur-décodeur unifié pour diverses tâches en aval. Le premier paradigme souffre d’une rigidité limitant son application, tandis que dans le second, le modèle est traité comme un système unique pour toutes les tâches, entraînant des performances sous-optimales sur certaines d’entre elles. Deuxièmement, ils utilisent souvent un ensemble restreint de tâches de préentraînement qui peuvent ne pas être pertinentes pour certaines tâches en aval, entraînant ainsi une dégradation substantielle des performances. Pour surmonter ces limites, nous proposons « CodeT5+ », une famille de modèles LLM encodeur-décodeur dédiés au code, dont les modules composants peuvent être combinés de manière flexible afin de s’adapter à un large éventail de tâches en aval liées au code. Cette flexibilité est rendue possible par notre approche de mélange de tâches de préentraînement, conçue pour atténuer le désalignement entre préentraînement et finetuning. Ces tâches couvrent le débruitage de segments (span denoising), l’apprentissage contrastif, la correspondance texte-code, ainsi que le préentraînement par modèle de langage causal, sur des corpus multilingues monomodaux et bimodaux. En outre, nous proposons d’initialiser CodeT5+ à partir de LLM préexistants et figés (off-the-shelf), sans entraînement à partir de zéro, afin d’optimiser l’échelle de nos modèles, et explorons l’instruction-tuning pour mieux aligner les modèles sur des instructions en langage naturel. Nous évaluons de manière exhaustive CodeT5+ sur plus de 20 benchmarks liés au code dans diverses configurations, notamment en zero-shot, en finetuning et en instruction-tuning. Nous observons des performances de pointe (state-of-the-art, SoTA) sur diverses tâches liées au code, telles que la génération et la complétion de code, la programmation mathématique, et la recherche de code à partir de texte. En particulier, notre version instruction-tunée de CodeT5+ 16B atteint de nouveaux résultats de pointe sur la tâche de génération de code HumanEval, surpassant tous les autres modèles open-source de code LLM existants.