MoBA : le grand modèle linguistique de Kimi pour le traitement des contextes longs
Introduction générale
MoBA (Mixture of Block Attention) est un mécanisme d'attention innovant développé par MoonshotAI, conçu pour les grands modèles de langage (LLM) avec traitement des longs contextes. MoBA réalise un traitement efficace des longues séquences en divisant le contexte complet en plusieurs blocs, et chaque jeton d'interrogation apprend à se concentrer sur les blocs KV les plus pertinents. Son mécanisme unique de gating top-k sans paramètre garantit que le modèle se concentre uniquement sur les blocs les plus informatifs, ce qui améliore considérablement l'efficacité du calcul. MoBA est capable de basculer de manière transparente entre les modes d'attention complète et d'attention éparse, ce qui garantit à la fois la performance et l'efficacité. La technique a été appliquée avec succès à des requêtes contextuelles longues compatibles avec Kimi, démontrant des avancées significatives dans le calcul efficace de l'attention.

Liste des fonctions
- Attention éparse en blocLe contexte complet est divisé en morceaux et chaque jeton de requête apprend à se concentrer sur les morceaux de KV les plus pertinents.
- Mécanisme de déclenchement sans paramètreLes résultats de l'étude sont les suivants : introduction d'un mécanisme de classement top-k sans paramètre qui sélectionne le bloc le plus pertinent pour chaque mot-clé de l'interrogation.
- Commutation complète de l'attention disperséeLes modes d'attention : Passez sans transition du mode d'attention complète au mode d'attention éparse.
- Calculs efficacesLes résultats de l'étude sont les suivants : une amélioration significative de l'efficacité des calculs pour les tâches à long contexte.
- source ouverteLe code source complet est fourni pour faciliter l'utilisation et le développement secondaire.
Utiliser l'aide
Processus d'installation
- Créer un environnement virtuel :
conda create -n moba python=3.10
conda activate moba
- Installer la dépendance :
pip install .
Démarrage rapide
Nous fournissons une implémentation MoBA compatible avec les transformateurs. Les utilisateurs peuvent utiliser le--attn
Ce paramètre sélectionne le backend d'attention entre moba et moba_naive.
python3 examples/llama.py --model meta-llama/Llama-3.1-8B --attn moba
Fonction détaillée du déroulement des opérations
- Attention éparse en blocMoBA divise le contexte complet en plusieurs morceaux, et chaque jeton de requête apprend à se concentrer sur les morceaux de KV les plus pertinents, ce qui permet un traitement efficace des longues séquences.
- Mécanisme de déclenchement sans paramètreLe modèle MoBA introduit un mécanisme de sélection top-k sans paramètre qui sélectionne le bloc le plus pertinent pour chaque jeton de requête, garantissant ainsi que le modèle se concentre uniquement sur les blocs les plus informatifs.
- Commutation complète de l'attention disperséeLe MoBA est conçu pour être une alternative flexible à l'attention totale, permettant de basculer de manière transparente entre les modes d'attention totale et éparse, ce qui garantit à la fois la performance et l'efficacité.
- Calculs efficacesLa MoBA améliore de manière significative l'efficacité de calcul des tâches à contexte long pour une variété de tâches de raisonnement complexes grâce au mécanisme décrit ci-dessus.
exemple de code (informatique)
Vous trouverez ci-dessous un exemple de code qui utilise MoBA :
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("meta-llama/Llama-3.1-8B")
model = AutoModelForCausalLM.from_pretrained("meta-llama/Llama-3.1-8B", attn="moba")
inputs = tokenizer("长上下文示例文本", return_tensors="pt")
outputs = model(**inputs)
print(outputs)
Description en une phrase (brève)
MoBA est un mécanisme innovant d'attention en bloc conçu pour les modèles linguistiques de grande taille avec un long traitement du contexte, qui améliore considérablement l'efficacité des calculs et prend en charge la commutation de l'attention éparse.
Mots clés de la page
Traitement des contextes longs, mécanisme d'attention en bloc, grands modèles de langage, calcul efficace, MoonshotAI
Introduction générale
MoBA (Mixture of Block Attention) est un mécanisme d'attention innovant développé par MoonshotAI, conçu pour les grands modèles de langage (LLM) avec traitement des longs contextes. MoBA réalise un traitement efficace des longues séquences en divisant le contexte complet en plusieurs blocs, et chaque jeton d'interrogation apprend à se concentrer sur les blocs KV les plus pertinents. Son mécanisme unique de gating top-k sans paramètre garantit que le modèle se concentre uniquement sur les blocs les plus informatifs, ce qui améliore considérablement l'efficacité du calcul. MoBA est capable de basculer de manière transparente entre les modes d'attention complète et d'attention éparse, ce qui garantit à la fois la performance et l'efficacité. La technique a été appliquée avec succès à des requêtes contextuelles longues compatibles avec Kimi, démontrant des avancées significatives dans le calcul efficace de l'attention.
Liste des fonctions
- Attention éparse en blocLe contexte complet est divisé en morceaux et chaque jeton de requête apprend à se concentrer sur les morceaux de KV les plus pertinents.
- Mécanisme de déclenchement sans paramètreLes résultats de l'étude sont les suivants : introduction d'un mécanisme de classement top-k sans paramètre qui sélectionne le bloc le plus pertinent pour chaque mot-clé de l'interrogation.
- Commutation complète de l'attention disperséeLes modes d'attention : Passez sans transition du mode d'attention complète au mode d'attention éparse.
- Calculs efficacesLes résultats de l'étude sont les suivants : une amélioration significative de l'efficacité des calculs pour les tâches à long contexte.
- source ouverteLe code source complet est fourni pour faciliter l'utilisation et le développement secondaire.
Utiliser l'aide
Processus d'installation
- Créer un environnement virtuel :
conda create -n moba python=3.10
conda activate moba
- Installer la dépendance :
pip install .
Démarrage rapide
Nous fournissons une implémentation MoBA compatible avec les transformateurs. Les utilisateurs peuvent utiliser le--attn
Ce paramètre sélectionne le backend d'attention entre moba et moba_naive.
python3 examples/llama.py --model meta-llama/Llama-3.1-8B --attn moba
Fonction détaillée du déroulement des opérations
- Attention éparse en blocMoBA divise le contexte complet en plusieurs morceaux, et chaque jeton de requête apprend à se concentrer sur les morceaux de KV les plus pertinents, ce qui permet un traitement efficace des longues séquences.
- Mécanisme de déclenchement sans paramètreLe modèle MoBA introduit un mécanisme de sélection top-k sans paramètre qui sélectionne le bloc le plus pertinent pour chaque jeton de requête, garantissant ainsi que le modèle se concentre uniquement sur les blocs les plus informatifs.
- Commutation complète de l'attention disperséeLe MoBA est conçu pour être une alternative flexible à l'attention totale, permettant de basculer de manière transparente entre les modes d'attention totale et éparse, ce qui garantit à la fois la performance et l'efficacité.
- Calculs efficacesLa MoBA améliore de manière significative l'efficacité de calcul des tâches à contexte long pour une variété de tâches de raisonnement complexes grâce au mécanisme décrit ci-dessus.
exemple de code (informatique)
Vous trouverez ci-dessous un exemple de code qui utilise MoBA :
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("meta-llama/Llama-3.1-8B")
model = AutoModelForCausalLM.from_pretrained("meta-llama/Llama-3.1-8B", attn="moba")
inputs = tokenizer("长上下文示例文本", return_tensors="pt")
outputs = model(**inputs)
print(outputs)
© déclaration de droits d'auteur
Article copyright Cercle de partage de l'IA Tous, prière de ne pas reproduire sans autorisation.
Articles connexes
Pas de commentaires...