Vide dans les modèles de langage
Void in Language Models
May 20, 2025
Auteurs: Mani Shemiranifar
cs.AI
Résumé
Malgré les avancées des modèles de langage basés sur les transformers, une question fondamentale reste largement sans réponse : Toutes les couches sont-elles activées lors de l'inférence ? Nous explorons cette question en détectant les couches non activées (que nous appelons Vides) à l'aide d'une méthode de calcul adaptatif non entraînable et sans paramètres appelée L2 Adaptive Computation (LAC). Nous adaptons LAC de son application initiale axée sur l'efficacité pour tracer les couches activées pendant l'inférence. Cette méthode surveille les changements dans la norme L2 des activations pour identifier les vides. Nous analysons l'activation des couches dans les modèles de langage ajustés par instruction (instruction-tuned) à travers deux phases : le Traitement des Invites (Prompt Processing, PP), où nous traçons les couches activées pour chaque token dans les invites d'entrée, et la Génération de Réponses (Response Generation, RG), où nous traçons les couches activées pour chaque token généré. Nous démontrons en outre que des couches distinctes sont activées pendant ces deux phases. Pour montrer l'efficacité de notre méthode, nous avons évalué trois modèles de langage ajustés par instruction distincts des familles Llama, Mistral et Qwen sur trois benchmarks : MMLU, GPQA Diamond et BoolQ. Par exemple, sur MMLU avec un paramétrage zero-shot, ignorer les vides dans Qwen2.5-7B-Instruct a entraîné une amélioration de 69,24 à 71,29 tandis que le modèle n'utilise que 30 % des couches. De même, Mistral-7B-Instruct-v0.3 sur GPQA Diamond est passé de 13,88 à 18,36 en utilisant 70 % des couches pendant les phases PP et RG. Ces résultats montrent que toutes les couches ne contribuent pas de manière égale pendant l'inférence, et que sauter sélectivement la plupart d'entre elles peut améliorer les performances des modèles sur certaines tâches.
English
Despite advances in transformer-based language models (LMs), a fundamental
question remains largely unanswered: Are all layers activated during inference?
We investigate this question by detecting unactivated layers (which we refer to
as Voids) using a non-trainable and parameter-free adaptive computation method
called L2 Adaptive Computation (LAC). We adapt LAC from its original
efficiency-focused application to trace activated layers during inference. This
method monitors changes in the L2-norm of activations to identify voids. We
analyze layer activation in instruction-tuned LMs across two phases: Prompt
Processing (PP), where we trace activated layers for each token in the input
prompts, and Response Generation (RG), where we trace activated layers for each
generated token. We further demonstrate that distinct layers are activated
during these two phases. To show the effectiveness of our method, we evaluated
three distinct instruction-tuned LMs from the Llama, Mistral, and Qwen families
on three benchmarks: MMLU, GPQA Diamond, and BoolQ. For example, on MMLU with a
zero-shot setting, skipping voids in Qwen2.5-7B-Instruct resulted in an
improvement from 69.24 to 71.29 while the model uses only 30% of the layers.
Similarly, Mistral-7B-Instruct-v0.3 on GPQA Diamond improved from 13.88 to
18.36 when using 70% of the layers during both the PP and RG phases. These
results show that not all layers contribute equally during inference, and that
selectively skipping most of them can improve the performance of models on
certain tasks.Summary
AI-Generated Summary