Cet article présente une nouvelle méthode pour améliorer la capacité d'inférence de code complexe des modèles de langage à grande échelle (MLL). Si les LLM sont performants pour les tâches de codage courantes, ils peuvent échouer pour les tâches complexes nécessitant des inférences non triviales sur la sémantique du programme. Pour répondre à ce problème, cette étude explore une méthode de génération synthétique de données d'entraînement d'inférence de code basée sur le jeu d'inégalité sémantique (SInQ). Un agent générateur génère des variantes de programme sémantiquement distinctes, dérivées d'un ensemble de données de tâches de programmation réelles, et un agent d'évaluation identifie les exemples d'entrée qui entraînent des différences de comportement entre le programme d'origine et les variantes générées. Les deux agents s'entraînent mutuellement de manière semi-adversative, et nous démontrons que cette configuration peut théoriquement s'améliorer à l'infini grâce à l'auto-jeu, en supposant des ressources de calcul infinies. Nous validons l'efficacité de la méthode proposée par des expérimentations sur divers benchmarks de génération et de compréhension de code, notamment la détection de vulnérabilités multilingues et le benchmark d'échange d'identifiants intégré à Python. Bien qu'entraînée uniquement sur du code Python, la méthode proposée améliore la détection des vulnérabilités en code C/C++ et permet des gains de performances significatifs sur le benchmark d'échange d'identifiants intégré à Python, un benchmark où les LLM existants peinent. Nous avons rendu public le code nécessaire à la reproduction de l'expérience et les données synthétiques générées, permettant ainsi à d'autres chercheurs d'affiner le LLM.