🚀 Mimo Language Model
Mimo est un modèle de langage AI pour exceller à la fois en génération de code et en conversations naturelles.
Il est issu d'un mélange de datasets puissants.
📑 Table des matières
- ✨ Points forts de Mimo
- 📦 Installation
- 🔑 Configuration
- 🏋️ Fine-tuning
- 🧑💻 Exemples d’utilisation
- 📊 Performances comparatives
- 🧠 Visualisations comparatives
- 📂 Structure du dépôt
- 🛠️ Intégration dans VSCode
- 📧 Auteur
✨ Points forts de Mimo
- 🔧 Optimisé pour le code : génération fiable de scripts Python, JS, etc.
- 💬 Excellente conversation : réponses naturelles et contextualisées.
- ⚡ Compatibilité multiplateforme : fonctionne sur Mac, PC et VSCode.
- 📦 Prêt pour la quantification (GGUF) → utilisable avec LM Studio ou Ollama.
📦 Installation
Clonez le dépôt et installez les dépendances dans un environnement virtuel :
# Cloner le dépôt
git clone https://github.com/eurocybersecurite/Mimo-llm.git
cd Mimo-llm
# Créer et activer un environnement virtuel (recommandé)
python3 -m venv .venv
source .venv/bin/activate # Sur Linux/macOS
# Ou sur Windows : .\.venv\Scripts\activate
# Installer les dépendances
pip install -r requirements.txt
⚠️ Assurez-vous d’avoir git-lfs installé pour gérer les poids du modèle.
🔑 Configuration
Avant toute utilisation, configurez votre Hugging Face Token :
export HF_TOKEN="votre_token_hugging_face"
(Remplacez "votre_token_hugging_face" par votre véritable token.)
🏋️ Fine-tuning
Lancez le fine-tuning avec :
python fine_tune_mimo.py
IMPORTANT : Remplacez example.jsonl par votre propre fichier de dataset avant d'exécuter ce script. Le fichier example.jsonl contient quelques exemples fictifs à des fins de démonstration.
- Utilise vos données perso (
example.jsonl) - Combine un sous-ensemble du dataset public
mosaicml/instruct-v3 - Sauvegarde les poids et tokenizer dans
./Mimo
🧑💻 Exemples d’utilisation
Génération de code
# Assurez-vous que le modèle et le tokenizer sont chargés correctement
# Exemple d'inférence pour la génération de code
prompt_code = "Écris une fonction Python pour calculer la somme des éléments d'une liste."
inputs_code = tokenizer(prompt_code, return_tensors="pt").to(model.device)
with torch.no_grad():
outputs_code = model.generate(
**inputs_code,
max_new_tokens=100,
pad_token_id=tokenizer.eos_token_id
)
generated_code = tokenizer.decode(outputs_code[0], skip_special_tokens=True)
print("--- Génération de Code ---")
print(generated_code)
Conversation
# Exemple d'inférence pour la conversation
prompt_conversation = "Quelle est la meilleure façon d'apprendre une nouvelle langue ?"
inputs_conversation = tokenizer(prompt_conversation, return_tensors="pt").to(model.device)
with torch.no_grad():
outputs_conversation = model.generate(
**inputs_conversation,
max_new_tokens=50,
pad_token_id=tokenizer.eos_token_id
)
generated_conversation = tokenizer.decode(outputs_conversation[0], skip_special_tokens=True)
print("\n--- Génération de Conversation ---")
print(generated_conversation)
📊 Performances comparatives
| Modèle | Code (Python) | Conversation | Mémoire requise |
|---|---|---|---|
| GPT-Neo 1.3B | ⭐⭐ | ⭐⭐ | ~12 Go |
| DeepSeek-Qwen-1.5B (base) | ⭐⭐⭐ | ⭐⭐⭐ | ~10 Go |
| Mimo-1.5B (fine-tuned) | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ~8 Go (quantisé) |
➡️ Mimo surpasse la version de base sur les benchmarks internes (code + QA).
🧠 Visualisations comparatives
Afin d’illustrer les forces de Mimo par rapport aux autres modèles, plusieurs visualisations ont été générées à partir de benchmarks internes (Septembre 2025).
🔹 1. Radar de performance
Ce diagramme radar compare les capacités globales (Code, Conversation, Mémoire, Raisonnement).
➡️ Mimo domine sur tous les axes, montrant son équilibre entre compréhension et génération.
🔹 2. Entraînement & efficacité
Comparaison des métriques d’entraînement :
- ⏱ Temps d’entraînement plus court
- 📉 Perte finale plus faible
- 💾 Mémoire optimisée
➡️ Mimo apprend plus vite et avec moins de ressources.
🔹 3. Classification & Clustering
Ce graphique montre comment chaque modèle regroupe les données en classes.
➡️ Les clusters prédits par Mimo sont plus nets et bien séparés, preuve de sa meilleure capacité de généralisation.
🔹 4. Précision en classification
Comparaison des scores : Accuracy, Recall, F1-score.
➡️ Mimo garde une avance claire sur la précision et la robustesse des prédictions.
🔹 5. Raisonnement avancé
Testé sur des tâches de raisonnement logique et contextuel.
➡️ Mimo démontre une supériorité dans la résolution de problèmes complexes.
🔹 6. Conscience artificielle (concept)
Visualisation heatmap sur 5 axes : Perception, Mémoire, Raisonnement, Créativité, Auto-adaptation.
➡️ Mimo émerge comme le modèle le plus “conscient”, avec des scores nettement supérieurs aux autres.
📂 Structure du dépôt
Mimo/
├── README.md
├── assets/mimo.png
├── mohamed.jsonl
├── fine_tune_mimo.py
├── requirements.txt
└── .gitignore
🛠️ Intégration dans VSCode
- Clonez le dépôt :
git clone https://github.com/votre-utilisateur/mimo-llm.git cd mimo-llm
- Installez les dépendances :
pip install -r requirements.txt
- Exécutez soit :
fine_tune_mimo.py→ pour l’entraînement- un script d’inférence personnalisé
⚡ Vous pouvez aussi utiliser Mimo dans LM Studio en important la version quantisée GGUF ou autre Format.
📧 Auteur
- Nom : ABDESSEMED Mohamed
- Entreprise : Eurocybersecurite
- Contact : mohamed.abdessemed@eurocybersecurite.fr
Metadata
Release files for mimo-llm 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mimo_llm-0.1.4.tar.gz | 9.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mimo_llm-0.1.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.6 kB
Release files / mimo_llm-0.1.4.tar.gz
| Download URL | mimo_llm-0.1.4.tar.gz |
|---|---|
| Size | 9.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8509248ac0858eebf08906d9da767c0ca276c1a021049853f9a7a5fc1b6fa424
|
|
BLAKE2b-256 checksum How to use checksums |
9f0f4ad33d5ae9d08b67f5070ab29092cd67f37872e0d6fd892270e5d1134621
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|
Release files / mimo_llm-0.1.4-py3-none-any.whl
| Download URL | mimo_llm-0.1.4-py3-none-any.whl |
|---|---|
| Size | 8.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
993caa5e359fef910ab7c8706f3b0654f0f7c55973446b47f4cd3c3e9a00ed29
|
|
BLAKE2b-256 checksum How to use checksums |
16e41ad3335b7bb3ef160550ded6d9936a0dfd54c551ce637d7513fce4dc07b5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|