Instructions to use mimba/neutts-nano-plt with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- llama-cpp-python
How to use mimba/neutts-nano-plt with llama-cpp-python:
# !pip install llama-cpp-python from llama_cpp import Llama llm = Llama.from_pretrained( repo_id="mimba/neutts-nano-plt", filename="gguf/backbone_plt_Q4_0.gguf", )
output = llm( "Once upon a time,", max_tokens=512, echo=True ) print(output)
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use mimba/neutts-nano-plt with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf mimba/neutts-nano-plt:Q4_0 # Run inference directly in the terminal: llama cli -hf mimba/neutts-nano-plt:Q4_0
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf mimba/neutts-nano-plt:Q4_0 # Run inference directly in the terminal: llama cli -hf mimba/neutts-nano-plt:Q4_0
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf mimba/neutts-nano-plt:Q4_0 # Run inference directly in the terminal: ./llama-cli -hf mimba/neutts-nano-plt:Q4_0
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf mimba/neutts-nano-plt:Q4_0 # Run inference directly in the terminal: ./build/bin/llama-cli -hf mimba/neutts-nano-plt:Q4_0
Use Docker
docker model run hf.co/mimba/neutts-nano-plt:Q4_0
- LM Studio
- Jan
- Ollama
How to use mimba/neutts-nano-plt with Ollama:
ollama run hf.co/mimba/neutts-nano-plt:Q4_0
- Unsloth Studio
How to use mimba/neutts-nano-plt with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for mimba/neutts-nano-plt to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for mimba/neutts-nano-plt to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for mimba/neutts-nano-plt to start chatting
- Atomic Chat new
- Docker Model Runner
How to use mimba/neutts-nano-plt with Docker Model Runner:
docker model run hf.co/mimba/neutts-nano-plt:Q4_0
- Lemonade
How to use mimba/neutts-nano-plt with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull mimba/neutts-nano-plt:Q4_0
Run and chat with the model
lemonade run user.neutts-nano-plt-Q4_0
List all available models
lemonade list
🎙️ NeuTTS-Nano — Plateau Malagasy (PLT)
Modèle de synthèse vocale NeuTTS-Nano fine-tuné pour le malgache du Plateau (dialecte standard), à partir de neuphonic/neutts-nano.
Dataset : mimba/plt-tts-dataset
Base model : neuphonic/neutts-nano
Speakers : spk_m1, spk_f1, spk_m2, spk_f2
Phonemization : Non (texte brut)
📊 Résultats d'entraînement
Courbe de loss (75 000 steps, ~1.93 epochs)
| Métrique | Valeur |
|---|---|
| Steps | 75 000 |
| Epochs | ~1.93 |
| Train loss initiale | 1.860 |
| Train loss finale | 1.816 |
| Meilleure loss | 1.768 @ step 73 500 |
| Amélioration totale | −2.4% |
Évolution par phase
| Phase | Steps | Loss moyenne | Évolution |
|---|---|---|---|
| Warmup + Exploration | 500 – 10 000 | 1.929 ± 0.036 | +4.5% (instabilité initiale) |
| Apprentissage actif | 10 000 – 40 000 | 1.915 ± 0.036 | −5.7% (descente rapide) |
| Affinement | 40 000 – 75 000 | 1.812 ± 0.019 | −1.0% (convergence douce) |
La loss atteint son minimum à step 73 500 (epoch 1.90), puis remonte légèrement jusqu'à la fin. Cela suggère que le modèle a atteint sa capacité d'optimisation sur ce dataset avec la configuration actuelle.
🎧 Exemples audio
🔊 Synthèse par locuteur
| Locuteur | Texte | Audio |
|---|---|---|
| 👨 spk_m1 (homme) | "Mianatra teny malagasy aho." | |
| 👩 spk_f1 (femme) | "Mianatra teny malagasy aho." | |
| 👨 spk_m2 (homme) | "Mianatra teny malagasy aho." | |
| 👩 spk_f2 (femme) | "Mianatra teny malagasy aho." |
🔊 Exemples variés
| 🔊 Texte | Lecteur |
|---|---|
| "Manao ahoana ianao?" | |
| "Misafidia ny teny malagasy." | |
| "Faly aho mahafantatra anao." |
🧪 Configuration d'entraînement
# Hyperparamètres clés
learning_rate = 3e-5
max_steps = 75000
warmup_ratio = 0.10
batch_size = 1
gradient_accumulation_steps = 4 # batch effectif = 4
# LR Schedule
lr_scheduler = "cosine_with_min_lr" # warmup -> cosine decay
min_lr = 0.0
# Modèle de base
base_model = "neuphonic/neutts-nano"
phonemize = False
🎧 Utilisation
Installation
pip install neuphonic
Inférence
from neuphonic import TTS
model = TTS.from_pretrained("mimba/neutts-nano-plt")
# Texte brut en malgache du Plateau
text = "Mianatra teny malagasy aho."
wav = model.synthesize(text, speaker="spk_m1")
# Changer de locuteur
wav = model.synthesize(text, speaker="spk_f1")
📁 Structure du dataset
Le dataset mimba/plt-tts-dataset contient :
| Split | Durée | Locuteurs |
|---|---|---|
| Train | ~8h | 4 (2M, 2F) |
| Val | ~1h | 4 (2M, 2F) |
| Test | ~1h | 4 (2M, 2F) |
Phonémisation : Non utilisée. Le modèle fonctionne en texte brut grâce à son backbone LLM riche.
📈 Analyse post-entraînement
Gradient health
- Gradient norm moyenne : 1.284 ± 0.178
- Gradient norm initiale : 1.320 @ step 500
- Gradient norm finale : 1.212 @ step 75 000
- Stabilité : Aucun pic anormal, gradients bien contrôlés sur l'ensemble du training
Convergence
- Phase d'exploration (steps 500–10 000) : Instabilité initiale due au warmup, loss remonte légèrement (+4.5%)
- Phase d'apprentissage (steps 10 000–40 000) : Descente rapide et régulière (−5.7%), le modèle apprend les patterns acoustiques du malgache
- Phase d'affinement (steps 40 000–75 000) : Convergence douce (−1.0%), le modèle peaufine les détails prosodiques
- Optimum : Step 73 500 (loss = 1.768) — les derniers steps montrent une légère remontée, suggérant un plateau
Recommandations
- Checkpoint optimal : step 73 500 (loss = 1.768)
- Dataset : Avec seulement ~1.93 epochs couverts, augmenter
max_stepsà 150 000+ pourrait améliorer la qualité - LR : La courbe de LR semble bien calibrée ; pas besoin de changement majeur
🎯 Limites connues
| Problème | Cause | Solution |
|---|---|---|
| Couverture limitée (~1.93 epochs) | Dataset large, max_steps = 75 000 |
Augmenter max_steps à 150 000+ ou réduire le dataset |
| Pas de voice cloning | Entraînement sans référence cross-locuteur | Re-train avec prompts de clonage |
| Batch size limité | VRAM 12GB | gradient_checkpointing=True ou utiliser un GPU plus grand |
| Pas de validation metrics | Configuration sans eval periodique | Ajouter un loop de validation tous les N steps |
🙏 Remerciements
- Neuphonic pour NeuTTS-Nano
- La communauté malgache pour les données vocales
📄 Citation
@misc{neuphonic2024neutts,
title={NeuTTS-Nano: A lightweight neural text-to-speech model},
author={Neuphonic},
year={2024},
howpublished={https://huggingface.co/neuphonic/neutts-nano}
}
@misc{
title={afrilang: Small Out-of-domain resource for various africain languages},
author={Mimba Ngouana Fofou},
year={2026},
}
📬 Contact
Pour questions ou contributions : ouvrez une issue sur ce repo ou contactez @mimba.
Licensing Information
This model is released under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license.
Contact For all questions contact @Mimba.
- Downloads last month
- 5
4-bit
16-bit