Accélérer l'optimisation directe des préférences avec le partage de préfixes
Accelerating Direct Preference Optimization with Prefix Sharing
October 27, 2024
Auteurs: Franklin Wang, Sumanth Hegde
cs.AI
Résumé
Les algorithmes d'optimisation des préférences appariées hors ligne sont devenus une approche populaire pour le réglage fin sur des données de préférence, surpassant le réglage fin supervisé traditionnel dans diverses tâches. Cependant, les implémentations traditionnelles impliquent souvent des calculs redondants, en particulier pour les tâches avec de longs prompts partagés. Nous introduisons le partage de préfixes pour l'optimisation des préférences, une nouvelle technique qui traite les réponses choisies et rejetées comme une seule séquence avec un préfixe partagé. Pour éviter la contamination entre les réponses, nous utilisons un masque d'attention personnalisé à blocs épars. Notre méthode permet d'améliorer de 1,1 à 1,5 fois le débit d'entraînement sur des ensembles de données DPO populaires, sans aucun impact sur la convergence. Lorsqu'elle est combinée avec l'emballage de séquences, nous observons des accélérations constantes de 1,3 à 1,6 fois, bénéficiant même aux ensembles de données avec de plus petites longueurs de séquence. Bien que nous nous concentrions sur l'Optimisation Directe des Préférences (DPO), notre approche est applicable à d'autres méthodes d'optimisation des préférences appariées. En améliorant l'efficacité computationnelle, notre travail contribue à rendre le réglage fin basé sur les préférences plus accessible pour une gamme plus large d'applications et de tailles de modèle. Nous rendons notre code open source disponible sur https://github.com/frankxwang/dpo-prefix-sharing.
English
Offline paired preference optimization algorithms have become a popular
approach for fine-tuning on preference data, outperforming traditional
supervised fine-tuning in various tasks. However, traditional implementations
often involve redundant computations, especially for tasks with long shared
prompts. We introduce prefix sharing for preference tuning, a novel technique
that processes chosen and rejected responses as one sequence with a shared
prefix. To prevent cross-response contamination, we use a custom block-sparse
attention mask. Our method achieves 1.1-1.5times improvement in training
throughput on popular DPO datasets, without any effect on convergence. When
combined with sequence packing, we observe consistent 1.3-1.6times
speedups, benefiting even datasets with smaller sequence lengths. While we
focus on Direct Preference Optimization (DPO), our approach is applicable to
other paired preference tuning methods. By enhancing computational efficiency,
our work contributes to making preference-based fine-tuning more accessible for
a wider range of applications and model sizes. We open-source our code at
https://github.com/frankxwang/dpo-prefix-sharing.Summary
AI-Generated Summary