Chinese-LLaMA-Alpaca-3 : ce que le dépôt apporte vraiment à Llama 3 en chinois
中文羊驼大模型三期项目 (Chinese Llama-3 LLMs) developed from Meta Llama 3
En bref
- De quoi s’agit-il ?
- Le dépôt ymcui/Chinese-LLaMA-Alpaca-3 publie des modèles 8B dérivés de Meta Llama 3, entraînés sur du corpus chinois, avec les scripts d'entraînement et les données d'instruction. Voici ce que contient le dépôt, comment on le met en route, et pourquoi il ne convient pas à tous les usages.
- À qui s’adresse-t-il ?
- Adoptez ce dépôt si vous avez besoin d'un modèle 8B à sortie chinoise de qualité correcte, exécutable via llama.cpp ou Ollama sur une machine personnelle, et si la licence Apache-2.0 du dépôt vous suffit après vérification des conditions attachées aux poids de Meta Llama 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 : Llama 3 parle mal chinois, et réentraîner coûte cher
Meta Llama 3 est distribué avec un tokenizer BPE de 128 256 entrées. Le README indique que ce tokenizer atteint environ 95 pour cent de l'efficacité d'encodage du tokenizer étendu de Chinese-LLaMA-2, mesurée sur des données Wikipédia. Autrement dit, le surcoût d'encodage qui justifiait autrefois une extension de vocabulaire a largement disparu. Le projet en tire une conséquence directe : il ne touche pas au vocabulaire. C'est un choix qui simplifie tout le reste, puisqu'un modèle entraîné sans modification du tokenizer reste compatible avec l'écosystème Llama 3 existant.
Le public visé est précis. Il s'agit de développeurs et d'équipes de recherche qui veulent un modèle de 8 milliards de paramètres produisant du chinois correct, sans passer par une API propriétaire, et qui acceptent de manipuler des poids et des scripts. Le dépôt fournit aussi bien les poids que les scripts de pré-entraînement et d'affinage, ce qui permet de repartir de la recette plutôt que du résultat.
Deux familles de modèles, trois générations d'Instruct
Le dépôt distingue le modèle de base Llama-3-Chinese-8B et le modèle d'instruction Llama-3-Chinese-8B-Instruct. Le premier est un modèle causal classique, destiné à la continuation de texte : on donne un début, le modèle poursuit. Le second est affiné sur instructions et répond aux questions, rédige, dialogue. Le README est explicite sur ce point : pour une interaction de type chat, il faut choisir la version Instruct.
La version Instruct existe en trois variantes. La v1 part du modèle de base Meta-Llama-3-8B et suit deux étapes : pré-entraînement sur environ 120 Go de corpus chinois, puis affinage sur environ 5 millions d'exemples d'instruction. La v2 saute la première étape et s'affine directement sur Meta-Llama-3-8B-Instruct avec les mêmes 5 millions d'exemples. La v3 procède autrement : elle fusionne inst-v1, inst-v2 et inst-meta, puis effectue un affinage court sur environ 5 000 exemples. Le README recommande la v3 en l'absence de préférence marquée, et les chiffres cités pour la compétence en chinois (49,3 et 51,5 pour v1 et v2) vont dans ce sens, la valeur de v3 étant tronquée dans l'extrait fourni.
Le mécanisme : LoRA sur les couches d'attention, têtes d'embedding en plein
Les deux modèles sont entraînés selon la même recette : LoRA plus mise à jour complète des embeddings et de la tête de langage. Cette combinaison se comprend. LoRA limite le nombre de paramètres modifiés dans les couches internes, ce qui réduit le coût d'entraînement et la taille des artefacts à stocker. Mais un modèle qui doit produire du chinois avec un vocabulaire inchangé a besoin que les représentations des tokens chinois bougent réellement : geler les embeddings reviendrait à demander à un modèle de parler une langue dont il n'a jamais ajusté les entrées. Réentraîner les embeddings et la lm-head en entier est donc cohérent avec le choix de ne pas étendre le vocabulaire.
Le contexte natif passe de 4K à 8K par rapport à la génération précédente. Le README mentionne la possibilité d'étendre davantage via PI, NTK ou YaRN, mais sans fournir de procédure dans l'extrait disponible. C'est un point à vérifier dans le wiki du projet si votre cas d'usage dépasse 8K tokens.
Installation : les chemins réels passent par transformers, llama.cpp et Ollama
Le dépôt ne publie pas de package installable. C'est un dépôt de modèles et de scripts. Le README liste les intégrations prises en charge : transformers, llama.cpp, text-generation-webui, vLLM et Ollama. Pour un poste de travail sans GPU, la voie documentée est la quantification puis le déploiement local via llama.cpp ou Ollama. Pour un service, vLLM est cité.
Un point pratique compte plus que les autres : le template d'instruction de Llama 3 n'est pas compatible avec celui de Llama 2 chat. Le README renvoie à une section dédiée du dépôt et précise que le modèle de base ne nécessite aucun template, alors que la version Instruct exige d'appliquer le template officiel. Si vous réutilisez un pipeline écrit pour Llama 2, vous obtiendrez des sorties dégradées sans erreur visible. Vérifiez ce fichier avant de brancher quoi que ce soit.
Le dépôt ouvre également trois jeux de données d'affinage : alpaca_zh_51k, stem_zh_instruction et ruozhiba_gpt4. Ce dernier est décliné en versions 4o et 4T selon le README. Ces données sont utiles si vous voulez reproduire l'affinage ou adapter le modèle à un domaine, mais elles ne sont pas documentées en détail dans l'extrait disponible.
La fusion de modèles de la v3 n'est pas une recette reproductible à la légère
La v3 mérite un examen séparé. Elle n'est pas obtenue par un entraînement unique mais par fusion de trois modèles, suivie d'un affinage court d'environ 5 000 exemples. Ce type de pipeline est sensible à plusieurs paramètres : les poids relatifs attribués à chaque modèle source, la méthode de fusion, et la composition exacte du jeu d'affinage final. Le README indique le principe mais pas les coefficients. Si vous comptez reproduire la v3 ou l'adapter, vous devrez retrouver ces détails dans le wiki ou dans les scripts.
Le contraste avec la v2 est instructif. La v2 est la recette la plus simple du dépôt : un seul affinage sur Meta-Llama-3-8B-Instruct. Elle est donc la plus facile à auditer et à reproduire, même si le README la place derrière la v3 sur les tâches chinoises. Pour une équipe qui doit justifier son choix de modèle, la traçabilité de la v2 peut peser plus lourd que quelques points de performance.
Ce que le dépôt ne fait pas
La limite la plus nette concerne le périmètre linguistique. Le projet cible le chinois. Un modèle affiné sur 5 millions d'instructions chinoises et un corpus de pré-entraînement chinois n'est pas un modèle multilingue équilibré. Si votre produit sert des utilisateurs francophones, hispanophones ou arabophones, ce dépôt n'est pas l'outil adapté, quelle que soit la qualité de son chinois.
La deuxième limite est la taille. 8B paramètres, c'est un compromis. Le dépôt ne propose pas de variante 70B, contrairement à ce que la génération précédente pouvait laisser espérer. Les tâches qui exigent un raisonnement long ou une connaissance factuelle dense resteront hors de portée.
La troisième limite tient à la licence, et elle est plus subtile qu'il n'y paraît. Le dépôt est publié sous Apache-2.0. Mais les poids dérivent de Meta Llama 3, et la licence Apache-2.0 du dépôt ne remplace pas les conditions attachées aux poids d'origine. Le README ne traite pas ce point dans l'extrait disponible. Avant un usage commercial, il faut examiner séparément la licence du dépôt et celle de Meta, et consulter un juriste plutôt que de se fier à la seule mention Apache-2.0 affichée en tête de dépôt.
Enfin, la maintenance. La dernière publication listée est la v3.0 du 30 mai 2024, et le dernier push sur la branche main est daté du 19 avril 2026. L'écart entre les deux suggère que le dépôt reçoit encore des mises à jour de maintenance sans nouvelle version de modèle. Le coût de mise à niveau est donc faible en apparence, mais il faut vérifier la nature de ces commits avant de conclure que les modèles ont évolué.
L'alternative : un modèle chinois natif entraîné dès l'origine
Face à ce dépôt, l'approche inverse consiste à utiliser un modèle dont le chinois n'est pas une adaptation mais une langue d'entraînement principale, comme Qwen. La différence n'est pas cosmétique. Chinese-LLaMA-Alpaca-3 part d'un modèle pré-entraîné majoritairement en anglais et ajoute une couche d'adaptation chinoise par LoRA et réentraînement des embeddings. Qwen, dans ses variantes chinoises, est entraîné sur un corpus où le chinois occupe une part structurante dès le départ. Le résultat est que le premier hérite des capacités de raisonnement de Llama 3 tout en devant construire sa compétence chinoise, tandis que le second construit les deux ensemble.
En pratique, le choix dépend de ce que vous optimisez. Si vous avez déjà des pipelines construits autour de l'écosystème Llama 3, des outils de quantification, des templates, des serveurs d'inférence, alors Chinese-LLaMA-Alpaca-3 s'insère sans friction. Si vous partez de zéro sur une application chinoise, l'argument de compatibilité disparaît et la question redevient celle de la qualité brute en chinois, qu'il faut mesurer sur vos propres requêtes.
Conclusion éditoriale
Adoptez ce dépôt si vous avez besoin d'un modèle 8B à sortie chinoise de qualité correcte, exécutable via llama.cpp ou Ollama sur une machine personnelle, et si la licence Apache-2.0 du dépôt vous suffit après vérification des conditions attachées aux poids de Meta Llama 3. Écartez-le si votre charge de travail est multilingue, si vous dépendez d'un template de chat autre que celui de Llama 3, ou si vous avez besoin de fenêtres de contexte supérieures à 8K sans recourir à PI, NTK ou YaRN. Avant tout déploiement, vérifiez d'abord le fichier de template d'instruction fourni dans le dépôt, puis les conditions de licence des poids d'origine, et seulement ensuite lancez une évaluation sur vos propres requêtes chinoises.
Notes de la communauté