Modèle / jeu de données
ymcui/Chinese-LLaMA-Alpaca-2 avatar
ymcui/Chinese-LLaMA-Alpaca-2

Chinese-LLaMA-Alpaca-2 : des poids Llama-2 à vocabulaire chinois élargi, jusqu'à 64K de contexte

中文LLaMA-2 & Alpaca-2大模型二期项目 + 64K超长上下文模型 (Chinese LLaMA-2 & Alpaca-2 LLMs with 64K long context models)

7 117 étoiles559 forksPythonApache-2.0
GitHub

En bref

De quoi s’agit-il ?
Le dépôt ymcui/Chinese-LLaMA-Alpaca-2 publie des modèles dérivés de Llama-2 avec une nouvelle table de vocabulaire chinoise, des scripts d'entraînement et des variantes long contexte. Un projet utile, mais dont la maintenance est explicitement redirigée vers une troisième génération.
À qui s’adresse-t-il ?
À adopter si vous avez besoin de poids Llama-2 dont le vocabulaire chinois a été redessiné et que vous acceptez de figer une pile de 2023. À éviter si vous démarrez un nouveau projet : le README recommande lui-même de migrer vers Chinese-LLaMA-Alpaca-3.
Puis-je l’utiliser commercialement ?
Oui. Apache-2.0 est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
Est-il encore maintenu ?
Oui. Les derniers commits datent d’il y a 150 jours.
En quel langage est-il écrit ?
Principalement Python, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 15 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

Le problème concret : un tokenizer anglais sur du texte chinois

Llama-2 a été entraîné avec une table de vocabulaire majoritairement anglophone. Un caractère chinois y est souvent découpé en plusieurs jetons, ce qui allonge les séquences, consomme du contexte utile et dégrade le rendement du modèle sur cette langue. Le projet attaque ce point en premier : là où la première génération ajoutait des mots chinois à une table de 32K (49953 pour LLaMA, 49954 pour Alpaca), la deuxième génération repart d'une table redessinée de 55296 entrées. Le README indique que cette table est désormais unifiée entre LLaMA et Alpaca, ce qui évite les incohérences liées au mélange de vocabulaires. Le public visé est précis : équipes qui doivent faire tourner un modèle de langage sur du chinois, sur leur propre matériel, sans dépendre d'une API distante. Le dépôt fournit des poids, mais aussi les scripts pour poursuivre l'entraînement, ce qui le rend pertinent pour ceux qui veulent ajuster le modèle sur un corpus métier plutôt que consommer un service. Les tailles disponibles vont de 1.3B à 13B, avec des variantes 16K et 64K en 7B et 13B selon les cas.

Ce que le dépôt contient réellement : poids, scripts et trois familles de modèles

La liste des modèles publiés se lit en trois blocs. Les modèles de base en contexte 4K : Chinese-LLaMA-2 (1.3B, 7B, 13B) pour la complétion, et Chinese-Alpaca-2 (1.3B, 7B, 13B) pour le dialogue. Les modèles long contexte : Chinese-LLaMA-2-16K et Chinese-Alpaca-2-16K en 7B et 13B, puis Chinese-LLaMA-2-64K et Chinese-Alpaca-2-64K en 7B uniquement. Enfin les modèles alignés sur les préférences humaines, Chinese-Alpaca-2-RLHF en 1.3B et 7B. Le README est explicite sur un point de sélection : pour une interaction de type chat, il faut choisir Alpaca et non LLaMA. Cette distinction compte, car les deux familles ne se substituent pas l'une à l'autre. Le dépôt contient aussi les scripts de pré-entraînement et d'instruction fine-tuning, ce qui signifie que les poids publiés sont un point de départ et non un produit fini. C'est un choix cohérent avec l'écosystème Llama, où l'on attend de l'utilisateur qu'il assemble lui-même sa chaîne d'inférence.

Le mécanisme d'entraînement : FlashAttention-2 et une recette en deux temps

La construction suit une recette classique. On part des poids Llama-2, on remplace la table de vocabulaire par la version chinoise, puis on fait du pré-entraînement incrémental sur un corpus chinois. Le README mentionne 120 Go de corpus chinois pour la version 7B, précision reprise de la première génération. Vient ensuite l'instruction fine-tuning, avec environ 5 millions d'exemples d'instructions pour produire Chinese-Alpaca-2-7B. Le projet indique que tous ses modèles ont été entraînés avec FlashAttention-2, une implémentation d'attention qui réduit l'empreinte mémoire et accélère le calcul. Ce détail n'est pas cosmétique : plus le contexte s'allonge, plus la mémoire d'attention croît, et l'usage d'une attention efficace devient une condition pratique pour entraîner sur des séquences longues. Pour l'extension de contexte, le dépôt combine deux approches. La position interpolation (PI) et les méthodes NTK ont servi à produire les variantes 16K, extensibles jusqu'à 24K-32K selon le README. La méthode YaRN a servi à produire les variantes 64K. Le projet ajoute une formule empirique adaptative qui évite de régler manuellement les hyperparamètres NTK selon la longueur visée, ce qui retire une source d'erreur fréquente chez les utilisateurs.

Mise en route : quantifier, puis charger selon l'écosystème choisi

Le dépôt ne fournit pas de binaire unique. Il s'intègre dans l'écosystème Llama, et le README cite explicitement transformers, llama.cpp, text-generation-webui, LangChain, privateGPT et vLLM. Le chemin le plus court pour un poste de travail passe par la quantification, présentée comme le moyen de déployer et tester le modèle localement sur CPU ou GPU. Les versions v4.0 et v4.1 ont ajouté des poids GGUF quantifiés avec imatrix et des modèles AWQ, et la note de version v4.1 signale la prise en charge du chargement des modèles long contexte YaRN sous vLLM. Pour l'entraînement et l'ajustement, ce sont les scripts de pré-entraînement et d'instruction fine-tuning du dépôt qui prennent le relais. Deux points pratiques ressortent de la documentation. D'abord, le format de prompt compte : les modèles Alpaca-2 suivent le template d'instruction de Llama-2-Chat avec un système de prompt bilingue simplifié, et le projet précise que le prompt système par défaut de Llama-2-Chat n'apportait pas de gain statistiquement significatif tout en étant trop long. Ensuite, les modèles RLHF s'utilisent de la même manière que les modèles SFT, ce qui évite d'apprendre une seconde procédure.

La limite qui décide de tout : le projet est redirigé vers sa troisième génération

C'est l'information la plus importante du README, et elle figure en tête de la section des actualités. La note du 30 avril 2024 annonce la sortie de Chinese-LLaMA-Alpaca-3, avec Llama-3-Chinese-8B et Llama-3-Chinese-8B-Instruct, et recommande à tous les utilisateurs des première et deuxième générations de migrer. Autrement dit, le dépôt décrit ici n'est plus la cible recommandée par ses propres mainteneurs. Cela ne le rend pas inutile : les poids restent téléchargeables, les scripts restent lisibles, et une équipe qui a déjà validé un pipeline sur ces modèles n'a pas de raison de le casser du jour au lendemain. Mais adopter Chinese-LLaMA-Alpaca-2 pour un nouveau projet en 2026 revient à choisir une base que l'auteur oriente ailleurs. Il faut aussi noter une contrainte de couverture : les variantes 64K n'existent qu'en 7B, pas en 13B. Si votre cas d'usage réclame à la fois un contexte très long et un modèle plus grand, le dépôt ne propose pas cette combinaison. Enfin, la qualité des réponses longues dépend du réglage de l'extension de contexte ; la formule adaptative simplifie le problème sans le supprimer.

Face à quoi le comparer : l'adaptation d'un modèle existant contre l'entraînement depuis zéro

L'alternative la plus directe n'est pas un autre dépôt de modèles chinois, c'est une autre stratégie. D'un côté, ce projet adapte un modèle occidental existant en remplaçant son vocabulaire et en le réentraînant sur du chinois : on hérite des capacités de raisonnement de Llama-2 et de son écosystème d'outils, au prix d'un détour par une table de vocabulaire qui n'a pas été conçue pour cette langue à l'origine. De l'autre, des modèles chinois entraînés dès le départ sur un vocabulaire natif, comme la famille Qwen, n'ont pas ce détour : leur tokenizer est pensé pour la langue cible depuis l'initialisation. La différence se paie à l'usage, sur le nombre de jetons nécessaires pour encoder un même texte et sur la quantité de données qu'il a fallu pour compenser l'écart initial. Le choix dépend donc moins de la qualité brute que de ce que vous voulez conserver : si votre pile est déjà bâtie autour de llama.cpp, de vLLM et des formats GGUF, rester dans la lignée Llama-2 évite de réécrire l'outillage. Si vous partez de zéro et que le chinois est la seule langue visée, l'argument de l'écosystème pèse moins.

Coût de maintenance, licence et ce qu'il faut vérifier avant de s'engager

Le dépôt est publié sous Apache-2.0, mais cette licence couvre le code, pas les poids. Les modèles sont dérivés de Llama-2, que le README décrit comme un modèle commercialisable, ce qui renvoie à la licence Meta de Llama-2 et à ses conditions propres. C'est le point à faire valider par votre service juridique avant tout déploiement en production : la licence du dépôt ne suffit pas à trancher. Sur la maintenance, le matériel fourni ne permet pas de conclure à un rythme de mise à jour soutenu. La dernière version publiée listée est v4.1, datée du 23 janvier 2024, et la note la plus récente du README renvoie vers un autre dépôt. Le coût réel d'adoption se situe donc ailleurs : dans le téléchargement et le stockage de plusieurs variantes de poids, dans l'adaptation des scripts d'entraînement à votre infrastructure, et dans la vérification que la quantification choisie préserve les performances sur vos textes. Pour un contexte long, testez d'abord la variante 16K avant de viser 64K : le README indique que les modèles 16K restent extensibles par NTK, ce qui offre une marge sans changer de famille de poids.

Conclusion éditoriale

À adopter si vous avez besoin de poids Llama-2 dont le vocabulaire chinois a été redessiné et que vous acceptez de figer une pile de 2023. À éviter si vous démarrez un nouveau projet : le README recommande lui-même de migrer vers Chinese-LLaMA-Alpaca-3. Avant tout engagement, vérifiez la licence Meta de Llama-2 qui couvre les poids dérivés, puis confirmez que les variantes 64K tiennent dans votre mémoire GPU avec les réglages d'inférence du dépôt.

Sources officielles

  1. Issues
  2. License: Apache-2.0
  3. README
  4. Releases
  5. ymcui/Chinese-LLaMA-Alpaca-2 on GitHub
Notes de la communauté

Notes de la communauté