• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 1
  • Tagged with
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

Aligning language models to code : exploring efficient, temporal, and preference alignment for code generation

Weyssow, Martin 09 1900 (has links)
Pre-trained and large language models (PLMs, LLMs) have had a transformative impact on the artificial intelligence (AI) for software engineering (SE) research field. Through large-scale pre-training on terabytes of natural and programming language data, these models excel in generative coding tasks such as program repair and code generation. Existing approaches to align the model's behaviour with specific tasks propose using parameter-free methods like prompting or fine-tuning to improve their effectiveness. Nevertheless, it remains unclear how to align code PLMs and LLMs to more complex scenarios that extend beyond task effectiveness. We focus on model alignment in three overlooked scenarios for code generation, each addressing a specific objective: optimizing fine-tuning costs, aligning models with new data while retaining previous knowledge, and aligning with user coding preferences or non-functional requirements. We explore these scenarios in three articles, which constitute the main contributions of this thesis. In the first article, we conduct an empirical study on parameter-efficient fine-tuning techniques (PEFTs) for code LLMs in resource-constraint settings. Our study reveals the superiority of PEFTs over few-shot learning, showing that PEFTs like LoRA and QLoRA allow fine-tuning LLMs with up to 33 billion parameters on a single 24GB GPU without compromising task effectiveness. In the second article, we examine the behaviour of code PLMs in a continual fine-tuning setting, where the model acquires new knowledge from sequential domain-specific datasets. Each dataset introduces new data about third-party libraries not seen during pre-training or previous fine-tuning. We demonstrate that sequential fine-tuning leads to catastrophic forgetting and implement replay- and regularization-based continual learning approaches, showcasing their superiority in balancing task effectiveness and knowledge retention. In our third article, we introduce CodeUltraFeedback and CODAL-Bench, a novel dataset and benchmark for aligning code LLMs to user coding preferences or non-functional requirements. Our experiments reveal that tuning LLMs with reinforcement learning techniques like direct preference optimization (DPO) using CodeUltraFeedback results in better-aligned LLMs to coding preferences and substantial improvement in the functional correctness of LLM-generated code. / Les modèles de langue pré-entraînés et de grande taille (PLMs, LLMs) ont eu un impact transformateur sur le domaine de la recherche en intelligence artificielle (IA) pour l’ingénierie logicielle (SE). Grâce à un pré-entraînement à grande échelle sur des téraoctets de données en langage naturel et de programmation, ces modèles excellent dans les tâches de codage génératif telles que la réparation de programmes et la génération de code. Les approches existantes pour aligner le comportement du modèle avec des tâches spécifiques proposent l’utilisation de méthodes non paramétriques telles que le prompting ou le fine-tuning pour améliorer leur efficacité. Néanmoins, il reste incertain comment aligner les PLMs et LLMs de code sur des scénarios plus complexes qui nécessitent plus que garantir l’efficacité du modèle sur des tâches cibles. Nous nous concentrons sur l’alignement des modèles dans trois scénarios négligés pour la génération de code, chacun abordant un objectif spécifique: optimiser les coûts de fine-tuning, aligner les modèles avec de nouvelles données dans le temps tout en conservant les connaissances antérieures, et aligner les modèles sur les préférences de codage des utilisateurs ou exigences non fonctionnelles. Nous explorons ces scénarios dans trois articles, qui constituent les principales contributions de cette thèse. Dans le premier article, nous réalisons une étude empirique sur les techniques de finetuning efficaces en paramètres (PEFTs) pour les LLMs de code dans des environnements à ressources limitées. Notre étude révèle la supériorité des PEFTs par rapport au few-shot learning, montrant que des PEFTs comme LoRA et QLoRA permettent de fine-tuner des LLMs jusqu’à 33 milliards de paramètres sur un seul GPU de 24Go sans compromettre l’efficacité sur les tâches. Dans le deuxième article, nous examinons le comportement des PLMs de code dans un contexte de fine-tuning continu, où le modèle acquiert de nouvelles connaissances à partir de jeux de données séquentiels. Chaque jeu de données introduit de nouvelles informations sur des bibliothèques tierces non vues lors de la phase de préentraînement ou dans les jeux de données de fine-tuning précédents. Nous démontrons que le fine-tuning séquentiel conduit à de l’oubli catastrophique et mettons en œuvre des approches d’apprentissage continu basées sur le replay et la régularisation, et montrons leur supériorité pour balancer l’efficacité du modèle et la rétention des connaissances. Dans notre troisième article, nous introduisons CodeUltraFeedback et CODAL-Bench, un nouveau jeu de données et un banc d’essai pour aligner les LLMs de code sur les préférences de codage des utilisateurs ou exigences non fonctionnelles. Nos expériences révèlent que le tuning des LLMs avec des techniques d’apprentissage par renforcement comme l’optimisation directe des préférences (DPO) utilisant CodeUltraFeedback résulte en des LLMs mieux alignés sur les préférences de codage et une amélioration substantielle de l’exactitude fonctionnelle des codes générés.
Read more

Page generated in 0.0833 seconds