- Publié le
Saviez-vous que LLama 2 ou 3 sont probablement parmi les meilleurs choix si vous avez besoin d'une grande fenêtre contextuelle avec un modèle open source ?
- Auteurs
- Nom
- AbnAsia.org
- @steven_n_t
"Saviez-vous que LLama 2 ou 3 sont probablement parmi les meilleurs choix si vous avez besoin d'une grande fenêtre contextuelle avec un modèle open source ? En fait, tout modèle utilisant l'intégration positionnelle RoPE est un bon pari !
8 192 jetons, cela fait environ 6 000 mots. Pas mal mais ça limite les applications possibles. L'architecture typique de Transformer est composée d'intégrations pour coder la saisie de texte, de plusieurs blocs de transformateur et d'une tête de prédiction spécifique à la tâche d'apprentissage pour laquelle le LLM est utilisé. Pour coder le texte, nous utilisons une matrice d'intégration de texte T qui a la taille du vocabulaire du jeton et une intégration positionnelle P qui code la position du jeton dans la séquence d'entrée. Cette taille d'intégration de position définit la taille du contexte. Cette intégration peut être apprise, ou il peut s'agir d'une simple fonction sin de l'indice de position. Généralement, ils sont additionnés T + P de telle sorte que le même mot soit codé différemment aux positions i et j.
L'avantage de LLama est qu'il utilise des intégrations positionnelles rotatives (RoPE) par opposition à l'encodage typique de la fonction sin. Chaque couche d'attention est modifiée à l'aide de cette intégration et garantit que l'attention calculée entre les jetons d'entrée dépend uniquement de la distance entre ces jetons. Si le jeton T1 est en position i et un jeton T2 en position j, l'attention A(T1, T2) = f(j - i) est fonction de j - i. L'attention ne dépend pas de l'emplacement spécifique du jeton mais de sa position relative.
La technique qu'ils utilisent chez Meta pour étendre la fenêtre contextuelle consiste à interpoler à des positions non entières. Fondamentalement, si la taille d'origine de la fenêtre est L, vous pouvez l'étendre à L' (avec L' > L) en redimensionnant les positions entières.
i' = i * L / L'
A titre d'exemple, si vous souhaitez avoir une saisie de texte de 16 384 jetons (donc 4x la taille de la fenêtre de LLama 2) dans LLama 2, il vous suffira de diviser chaque position entière par 4 : i' = i / 4. Pour être clair, si vous regardez l'implémentation de LLama 2 disponible sur GitHub (ligne 101 dans model.py aujourd'hui https://lnkd.in/exqcTkDD), il vous suffirait de remplacer la ligne de code suivante
t = torch.arange(fin, appareil=freqs.device) par t = torch.arange(fin, appareil=freqs.device) / 4
Est-ce simple ? Étant donné que le modèle n'a pas été formé pour cette intégration de position, vous devrez affiner un peu le modèle pour l'adapter à cette nouvelle fenêtre de contexte et à cette intégration de position. Quand on pense que LLama 2 sera très probablement utilisé pour affiner des données privées, c'est la cerise sur le gâteau de pouvoir adapter dynamiquement la fenêtre contextuelle à nos besoins au fur et à mesure que nous la peaufinons.
Vous pouvez consulter la méthode ici : https://lnkd.in/dCYuwdHz. Ils ont pu étendre la fenêtre contextuelle de LLama par 16 tout en gardant les performances au même niveau !"
Veuillez noter que la version française est assistée par Ai, des erreurs mineures peuvent donc exister.
Auteur
AiUTOMATING PEOPLE, ABN ASIA a été fondée par des personnes ayant des racines profondes dans le milieu académique, avec une expérience professionnelle aux États-Unis, aux Pays-Bas, en Hongrie, au Japon, en Corée du Sud, à Singapour et au Vietnam. ABN ASIA est l'endroit où l'académie et la technologie rencontrent l'opportunité. Avec nos solutions de pointe et nos services de développement logiciel compétents, nous aidons les entreprises à se développer et à s'imposer sur la scène mondiale. Notre engagement : Plus vite. Mieux. Plus fiable. Dans la plupart des cas : moins cher également.
N'hésitez pas à nous contacter chaque fois que vous avez besoin de services informatiques, de conseils en matière de numérique, de solutions logicielles prêtes à l'emploi, ou si vous souhaitez nous envoyer des demandes de propositions (RFP). Vous pouvez nous contacter à l'adresse [email protected]. Nous sommes prêts à vous aider avec tous vos besoins technologiques.
© ABN ASIA