MathCoder : Intégration fluide du code dans les LLM pour un raisonnement mathématique amélioré

Le modèle récemment publié GPT-4 Code Interpreter a démontré une compétence remarquable dans la résolution de problèmes mathématiques complexes, principalement en raison de sa capacité à raisonner de manière fluide en langage naturel, à générer du code, à l'exécuter et à poursuivre le raisonnement à partir des résultats d'exécution. Dans cet article, nous présentons une méthode de fine-tuning des modèles linguistiques open-source, permettant à ces derniers d'utiliser le code pour modéliser et dériver des équations mathématiques, améliorant ainsi leurs capacités de raisonnement mathématique. Nous proposons une méthode pour générer des jeux de données originaux et de haute qualité comprenant des problèmes mathématiques et leurs solutions basées sur le code, désignés sous le nom de MathCodeInstruct. Chaque solution intègre de manière alternée du langage naturel, du code et les résultats d'exécution. Nous introduisons également une approche personnalisée de fine-tuning supervisé et d'inférence. Cette approche donne naissance aux modèles MathCoder, une famille de modèles capables de produire des solutions basées sur le code pour résoudre des problèmes mathématiques complexes. Impressivement, les modèles MathCoder atteignent des performances de pointe parmi les modèles LLM open-source sur les jeux de données MATH (45,2 %) et GSM8K (83,9 %), surpassant de manière significative d'autres alternatives open-source. Notamment, le modèle MathCoder dépasse non seulement ChatGPT-3.5 et PaLM-2 sur GSM8K et MATH, mais également GPT-4 sur le jeu de données MATH de niveau compétition. Les jeux de données et les modèles seront publiés à l'adresse suivante : https://github.com/mathllm/MathCoder.