EmoLLM : ce que contient réellement le dépôt de micro-ajustement psychologique
心理健康大模型 (LLM x Mental Health), Pre & Post-training & Dataset & Evaluation & Depoly & RAG, with InternLM / Qwen / Baichuan / DeepSeek / Mixtral / LLama / GLM series models
En bref
- De quoi s’agit-il ?
- EmoLLM rassemble des configurations de micro-ajustement pour une quinzaine de modèles ouverts, des scripts de déploiement et une application de démonstration. Le README annonce une chaîne complète, mais ce qui est livré reste un ensemble de fichiers de configuration à adapter soi-même.
- À qui s’adresse-t-il ?
- EmoLLM convient à une équipe qui possède déjà un pipeline xtuner et cherche des points de départ pour comparer plusieurs familles de modèles sur un corpus francophone ou chinois. Il ne convient pas à qui veut un service de soutien psychologique prêt à l'emploi : le dépôt ne fournit ni garde-fous cliniques, ni protocole d'évaluation standardisé.
- Puis-je l’utiliser commercialement ?
- Oui. MIT 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 89 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 visé : rendre comparable le micro-ajustement de plusieurs familles de modèles
Le dépôt ne propose pas un modèle unique mais une collection de configurations sous xtuner. Le tableau du README recense une quinzaine d'entrées couvrant InternLM2, Qwen, Baichuan2, ChatGLM3, DeepSeek MoE, Mixtral et LLaMA3, chacune associée à un fichier dans le dossier xtuner_config et à un mode d'entraînement précis : QLoRA, LoRA ou ajustement complet. L'intérêt est là. Une personne qui veut savoir si Qwen2-7B-Instruct se comporte mieux qu'InternLM2_5_7B_chat sur des dialogues de soutien psychologique dispose de deux fichiers de configuration comparables, avec les mêmes conventions de nommage et la même base d'outils. Le public visé est donc un développeur ou un chercheur qui sait déjà lancer un entraînement xtuner et qui veut éviter de réécrire un fichier de configuration pour chaque modèle testé. Le README précise que le projet est né d'un travail de commande d'instructions, ce qui signifie que les corpus d'entraînement ne sont pas neutres : ils orientent le style de réponse vers l'écoute et la reformulation plutôt que vers le diagnostic.
Ce que le dépôt contient : configurations, poids publiés, application
Trois couches distinctes apparaissent dans la documentation. La première est le dossier xtuner_config, qui héberge les fichiers Python d'entraînement. La deuxième est constituée des poids publiés sur OpenXLab et ModelScope, avec des liens séparés pour chaque variante. La troisième est l'application de démonstration, accessible via une page OpenXLab et illustrée par plusieurs GIF dans le dossier assets. Le README mentionne également une variante récente nommée Careyou, décrite comme une version à raisonnement approfondi, avec sa propre image careyou.png. Il faut noter que la description du dépôt annonce RAG, évaluation et déploiement, mais que le README fourni ne détaille que la partie entraînement et les liens vers les modèles. Les composants d'évaluation et de génération augmentée par récupération ne sont pas documentés dans l'extrait disponible. Cette asymétrie est le premier point à vérifier avant de s'engager : la promesse de la description dépasse ce que le README explique.
Le mécanisme réel : des fichiers xtuner, pas une bibliothèque
Chaque entrée du tableau correspond à un fichier dont le nom encode la recette. Par exemple, internlm2_5_chat_7b_qlora_oasst1_e3.py indique le modèle de base, la méthode QLoRA, le jeu de données oasst1 et trois époques. Le fichier internlm2_7b_base_qlora_e10_M_1e4_32_64.py va plus loin : il encode dix époques, un taux d'apprentissage de 1e-4, une taille de lot de 32 et une longueur de séquence de 64. Ces noms ne sont pas décoratifs, ils remplacent une documentation absente. Pour comprendre ce qu'une configuration fait, il faut ouvrir le fichier et lire les paramètres. Le flux est celui de xtuner : on prépare un jeu de données au format conversationnel, on pointe la configuration vers ce jeu, on lance l'entraînement, puis on convertit les poids LoRA en modèle fusionné pour le déploiement. Le README ne décrit pas cette dernière étape, ce qui suppose une certaine familiarité avec l'écosystème. La présence de variantes à la fois QLoRA et ajustement complet sur le même modèle de base, InternLM2_5_7B_chat, montre que le dépôt sert aussi à mesurer l'écart de qualité entre quantification et entraînement plein.
Mise en route : ce que les noms de fichiers imposent
Le README ne fournit pas de séquence de commandes complète. Il donne des chemins et des noms de modèles. Concrètement, la mise en route suppose d'installer xtuner, de cloner le dépôt, puis d'appeler l'outil avec le fichier de configuration voulu, par exemple xtuner train xtuner_config/qwen_7b_chat_qlora_e3.py. Les points de contrôle résultants se convertissent ensuite avec xtuner convert pth_to_hf, en indiquant le fichier de configuration d'origine et le chemin de sortie. Pour les variantes publiées, le README renvoie vers OpenXLab et ModelScope, ce qui évite l'entraînement mais impose de faire confiance à des dépôts hébergés sur des comptes tiers, parfois différents de l'organisation principale. C'est un détail pratique : sur les seize lignes du tableau, plusieurs liens de modèles pointent vers des comptes individuels plutôt que vers SmartFlowAI. La traçabilité des poids n'est donc pas uniforme, et il faut la vérifier au cas par cas.
Limites visibles : évaluation absente et périmètre flou
La description du dépôt annonce une composante Evaluation. Le README fourni n'en montre aucune trace : pas de script de scoring, pas de jeu de test, pas de métrique. Pour un domaine où la réponse générée peut être lue par une personne en détresse, l'absence de protocole d'évaluation documenté est la limite la plus sérieuse. Elle signifie que la qualité se juge à l'œil, sur des exemples choisis. Deuxième limite : l'application de démonstration est hébergée, pas incluse. On ne peut pas inspecter le code de l'interface à partir du README. Troisième limite : le projet est explicitement un travail de micro-ajustement, pas un dispositif clinique. Rien dans le matériel fourni ne décrit de filtrage des messages à risque, de détection de crise ou de renvoi vers un professionnel. Utiliser ces poids comme premier niveau de réponse à une personne en crise serait un mauvais usage du dépôt, indépendamment de la qualité des réponses générées.
Alternatives : entraîner soi-même plutôt que reprendre un modèle ajusté
L'alternative la plus directe n'est pas un autre dépôt de modèles psychologiques, c'est de partir d'un modèle de base instruct et d'écrire sa propre configuration xtuner. La différence n'est pas technique mais documentaire. EmoLLM apporte des recettes déjà nommées et un tableau qui permet de savoir quelle combinaison modèle/méthode a été tentée. Écrire sa propre configuration apporte le contrôle sur le jeu de données, sur la langue et sur les critères d'arrêt, au prix d'un travail de mise au point. Un autre chemin consiste à utiliser un modèle généraliste récent sans micro-ajustement et à traiter le style d'écoute par le prompt système. Cette approche évite l'entraînement et ses coûts, mais elle déplace le problème : le comportement dépend alors de la robustesse du prompt, pas des poids. Le choix entre ces voies dépend de ce qu'on veut mesurer. Si l'objectif est de comparer des familles de modèles, les configurations EmoLLM font gagner du temps. Si l'objectif est de contrôler finement le contenu des réponses, elles ne suffisent pas.
Coût de maintenance et implications de licence
Le dépôt est publié sous licence MIT, ce qui couvre le code des configurations. Cette licence ne s'étend pas aux poids des modèles de base, qui gardent leurs propres conditions : InternLM, Qwen, Baichuan, ChatGLM, DeepSeek, Mixtral et LLaMA n'ont pas tous la même politique d'usage commercial, et certains imposent des restrictions selon la taille du modèle ou le nombre d'utilisateurs. Vérifier la licence du modèle de base avant tout déploiement n'est pas une précaution de principe, c'est une étape obligatoire. Sur la maintenance, les versions publiées montrent un rythme d'environ deux mises à jour majeures par an, avec v0.4 en octobre 2024, v0.5 en mars 2025 et v0.6 en mai 2025. Le dépôt n'est pas archivé et le dernier envoi de code date de juin 2026. Le coût réel ne vient pas du code, qui reste mince, mais du suivi des versions de xtuner et des modèles de base : une configuration écrite pour une version d'InternLM2 ne se transpose pas telle quelle à une version ultérieure. Le travail de maintenance se situe donc dans la mise à jour des fichiers de configuration, pas dans la correction de bugs.
Conclusion éditoriale
EmoLLM convient à une équipe qui possède déjà un pipeline xtuner et cherche des points de départ pour comparer plusieurs familles de modèles sur un corpus francophone ou chinois. Il ne convient pas à qui veut un service de soutien psychologique prêt à l'emploi : le dépôt ne fournit ni garde-fous cliniques, ni protocole d'évaluation standardisé. Avant tout usage, vérifier la licence du modèle de base choisi et l'état réel des fichiers de configuration listés dans le tableau du README, dont plusieurs liens de modèles pointent vers des comptes tiers sur ModelScope.
Notes de la communauté