> For the complete documentation index, see [llms.txt](https://unsloth.ai/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://unsloth.ai/docs/fr/modeles/nemotron-3-nano-omni.md).

# NVIDIA Nemotron 3 Nano Omni - Comment l'exécuter localement

NVIDIA Nemotron-3-Nano-Omni-30B-A3B est un modèle MoE hybride de raisonnement ouvert à 30B paramètres, dont 3B actifs, conçu pour des charges de travail agentiques multimodales incluant **audio**, **vidéo**, du texte, des images et des documents en entrée, avec une sortie texte. Le modèle fonctionne avec **25 Go de RAM** pour le 4 bits et 36 Go pour le 8 bits.

Avec un **contexte de 256K**, Nemotron 3 Nano Omni est le **omni le plus puissant** modèle pour sa taille et le modèle multimodal ouvert le plus efficace. Nous avons collaboré avec NVIDIA pour une prise en charge dès le jour 0 !\
**GGUF :** [Nemotron-3-Nano-Omni-30B-A3B-Reasoning](https://huggingface.co/unsloth/Nemotron-3-Nano-30B-A3B-GGUF)

### ⚙️ Guide d'utilisation

NVIDIA recommande ces paramètres pour l'inférence :

{% columns %}
{% column %}
**Mode de réflexion :**

* `température = 0.6`
* `top_p = 0.95`
  {% endcolumn %}

{% column %}
**Mode instruct :**

* `température = 0.2`
  {% endcolumn %}
  {% endcolumns %}

### Exécuter Nemotron-3-Nano-Omni

Selon votre cas d'utilisation, vous devrez utiliser [des paramètres différents](#usage-guide). Certains GGUF finissent par avoir une taille similaire parce que l'architecture du modèle (comme [gpt-oss](/docs/fr/modeles/gpt-oss-how-to-run-and-fine-tune.md)) a des dimensions non divisibles par 128, donc certaines parties ne peuvent pas être quantifiées avec moins de bits. **GGUF :** [Nemotron-3-Nano-Omni-30B-A3B-Reasoning](https://huggingface.co/unsloth/Nemotron-3-Nano-30B-A3B-GGUF)

Les versions 4 bits du modèle nécessitent \~25 Go de RAM. Le 8 bits nécessite 36 Go. Pour ces guides, nous utiliserons `UD-Q4-K-XL` qui offre un bon équilibre entre taille et précision.

<a href="/pages/84a40d9b3b6f93f936dda7731d24ec92ca78678b#unsloth-studio-guide" class="button primary">Exécuter dans Unsloth Studio</a><a href="/pages/84a40d9b3b6f93f936dda7731d24ec92ca78678b#llama.cpp-tutorial" class="button secondary">Exécuter dans llama.cpp</a>

{% hint style="warning" %}
Actuellement, aucun GGUF multimodal/vision ne fonctionne dans **Ollama** en raison de fichiers `mmproj` vision séparés. Utilisez des backends compatibles avec llama.cpp.

NE PAS utiliser **CUDA 13.2** car vous pourriez obtenir des sorties incohérentes. NVIDIA travaille sur une correction.
{% endhint %}

### 🦥 Guide Unsloth Studio

Pour ce tutoriel, nous utiliserons [Unsloth Studio](/docs/fr/nouveau/studio.md), qui est notre nouvelle interface web pour exécuter et entraîner des LLM. Avec Unsloth Studio, vous pouvez exécuter des modèles et traiter des entrées **audio**, des images et du texte localement sur **Mac, Windows**, et Linux, et :

{% columns %}
{% column %}

* Rechercher, télécharger, [exécuter des GGUF](/docs/fr/nouveau/studio.md#run-models-locally) et des modèles safetensor
* **Comparer** les modèles **côte à côte**
* [**Appel d'outils** auto-réparateur](/docs/fr/nouveau/studio.md#execute-code--heal-tool-calling) + **recherche web**
* [**Exécution de code**](/docs/fr/nouveau/studio.md#run-models-locally) (Python, Bash)
* [Inférence automatique](/docs/fr/nouveau/studio.md#model-arena) ajustement des paramètres (temp, top-p, etc.)
* [Entraîner des LLM](/docs/fr/nouveau/studio.md#no-code-training) 2x plus rapide avec 70 % de VRAM en moins
  {% endcolumn %}

{% column %}

<div data-with-frame="true"><figure><img src="/files/9d149ac4b773a56a635d40ab8347ea2896781ae6" alt=""><figcaption></figcaption></figure></div>
{% endcolumn %}
{% endcolumns %}

{% stepper %}
{% step %}

#### Installer Unsloth

**MacOS, Linux, WSL :**

```bash
curl -fsSL https://unsloth.ai/install.sh | sh
```

**Windows PowerShell :**

```bash
irm https://unsloth.ai/install.ps1 | iex
```

{% endstep %}

{% step %}

#### Configurer Unsloth Studio (une seule fois)

La configuration installe automatiquement Node.js (via nvm), construit le frontend, installe toutes les dépendances Python et compile llama.cpp avec la prise en charge CUDA.

{% hint style="info" %}
**Utilisateurs de WSL :** vous serez invité à saisir votre `sudo` mot de passe pour installer les dépendances de compilation (`cmake`, `git`, `libcurl4-openssl-dev`).
{% endhint %}
{% endstep %}

{% step %}

#### Lancer Unsloth

**MacOS, Linux, WSL :**

```bash
source unsloth_studio/bin/activate
unsloth studio -H 0.0.0.0 -p 8888
```

**Windows PowerShell :**

```bash
unsloth studio -H 0.0.0.0 -p 8888
```

<div data-with-frame="true"><figure><img src="/files/fa3d706136ff9e7c9e614db9bb2d851ed981df1b" alt="" width="375"><figcaption></figcaption></figure></div>

Puis ouvrez `http://127.0.0.1:8888` dans votre navigateur.
{% endstep %}

{% step %}

#### Rechercher et télécharger NVIDIA-Nemotron-3-Nano-30B-A3B-Omni

Au premier lancement, vous devrez créer un mot de passe pour sécuriser votre compte, puis vous reconnecter plus tard. Ensuite, allez dans l'onglet [Studio Chat](/docs/fr/nouveau/studio/chat.md) et recherchez Nemotron-3-Nano-Omni dans la barre de recherche, puis téléchargez le modèle et la quantification souhaités.

<div data-with-frame="true"><figure><img src="/files/1699a51cb4853d0905e5d301655b2e406fff02bf" alt="" width="375"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

#### Exécuter Nemotron-3-Nano-30B-A3B-Omni

Les paramètres d'inférence devraient être définis automatiquement lors de l'utilisation d'Unsloth Studio, mais vous pouvez toujours les modifier manuellement. Vous pouvez aussi modifier la longueur du contexte, le modèle de chat et d'autres paramètres.

Pour plus d'informations, vous pouvez consulter notre [guide d'inférence Unsloth Studio](/docs/fr/nouveau/studio/chat.md).

<div data-with-frame="true"><figure><img src="/files/b03f506381fed38c517bc09e2e726bc0013f23f4" alt="" width="563"><figcaption></figcaption></figure></div>
{% endstep %}
{% endstepper %}

### 🦙 Tutoriel Llama.cpp :

Instructions pour exécuter dans llama.cpp (notez que nous utiliserons le 4 bits pour convenir à la plupart des appareils) :

{% stepper %}
{% step %}
Obtenez la dernière version de `llama.cpp` sur [GitHub ici](https://github.com/ggml-org/llama.cpp). Vous pouvez également suivre les instructions de compilation ci-dessous. Modifiez `-DGGML_CUDA=ON` en `-DGGML_CUDA=OFF` si vous n'avez pas de GPU ou si vous souhaitez simplement une inférence CPU. **Pour les appareils Apple Mac / Metal**, définissez `-DGGML_CUDA=OFF` puis continuez comme d'habitude - la prise en charge de Metal est activée par défaut.

{% code overflow="wrap" %}

```bash
apt-get update
apt-get install pciutils build-essential cmake curl libcurl4-openssl-dev -y
git clone https://github.com/ggml-org/llama.cpp
cmake llama.cpp -B llama.cpp/build \
    -DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON -DLLAMA_CURL=ON
cmake --build llama.cpp/build --config Release -j --clean-first --target llama-cli llama-mtmd-cli llama-server llama-gguf-split
cp llama.cpp/build/bin/llama-* llama.cpp
```

{% endcode %}
{% endstep %}

{% step %}
**Commençons d'abord par obtenir une image !** Vous pouvez également téléverser des images. Nous utiliserons <https://raw.githubusercontent.com/unslothai/unsloth/refs/heads/main/images/unsloth%20made%20with%20love.png>, qui est simplement notre mini-logo montrant comment les fine-tunes sont réalisés avec Unsloth :

{% code overflow="wrap" %}

```bash
wget https://raw.githubusercontent.com/unslothai/unsloth/refs/heads/main/images/unsloth%20made%20with%20love.png -O unsloth.png
```

{% endcode %}

<figure><img src="/files/8226e799b1a697c94669626a5da8371ee8388470" alt="" width="188"><figcaption></figcaption></figure>

Récupérons la 2e image à <https://files.worldwildlife.org/wwfcmsprod/images/Sloth_Sitting_iStock_3_12_2014/story_full_width/8l7pbjmj29_iStock_000011145477Large_mini__1_.jpg>

{% code overflow="wrap" %}

```bash
wget https://files.worldwildlife.org/wwfcmsprod/images/Sloth_Sitting_iStock_3_12_2014/story_full_width/8l7pbjmj29_iStock_000011145477Large_mini__1_.jpg -O picture.png
```

{% endcode %}

<figure><img src="/files/eb404a2bbe8e7f1836a2608a3950391d566357e3" alt="" width="188"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Téléchargeons maintenant le modèle manuellement. Nous pouvons le faire via le code ci-dessous (après avoir installé pip install huggingface\_hub). Si les téléchargements se bloquent, voir : [Hugging Face Hub, débogage XET](/docs/fr/notions-de-base/troubleshooting-and-faqs/hugging-face-hub-xet-debugging.md)

{% code overflow="wrap" %}

```bash
pip install huggingface_hub
hf download unsloth/NVIDIA-Nemotron-3-Nano-Omni-30B-A3B-Reasoning-GGUF \
    --local-dir unsloth/NVIDIA-Nemotron-3-Nano-Omni-30B-A3B-Reasoning-GGUF \
    --include "*mmproj-BF16*" \
    --include "*UD-Q4_K_XL*" # Utilisez "*UD-Q2_K_XL*" pour le 2 bits dynamique
```

{% endcode %}
{% endstep %}

{% step %}
Puis exécutez le modèle en mode conversation :

{% code overflow="wrap" %}

```bash
./llama.cpp/llama-cli \
    --model unsloth/NVIDIA-Nemotron-3-Nano-Omni-30B-A3B-Reasoning-GGUF/NVIDIA-Nemotron-3-Nano-Omni-30B-A3B-Reasoning-UD-Q4_K_XL.gguf \
    --mmproj unsloth/NVIDIA-Nemotron-3-Nano-Omni-30B-A3B-Reasoning-GGUF/mmproj-BF16.gguf \
    --temp 0.6 \
    --top-p 0.95 \
    --min-p 0.01
```

{% endcode %}
{% endstep %}

{% step %}
Vous verrez alors ce qui suit :

<figure><img src="/files/4ac8b4608ce88784442ef6aafa0120f6a6a64021" alt="" width="563"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Puis utilisez `/image` pour charger les deux images et demander « Qu'est-ce que cette image ? » :

<figure><img src="/files/11da951728aae90bcdf3970db13f1536e3e1bf8d" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/9821cdb409813d56c5d9c92650edaf539a75e4bd" alt="" width="563"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Et pour l'image du paresseux :

<figure><img src="/files/06db90f47cdde379c970d3bcf67cbe972caf4d55" alt="" width="563"><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

#### Service et déploiement avec llama-server

Pour déployer Nemotron 3 Nano Omni localement, utilisez `llama-server`. Dans un nouveau terminal, par exemple via `tmux`, déployez le modèle :

```bash
./llama.cpp/llama-server \
    -hf unsloth/NVIDIA-Nemotron-3-Nano-Omni-30B-A3B-Reasoning-GGUF:UD-Q4_K_XL \
    --alias "unsloth/NVIDIA-Nemotron-3-Nano-Omni-30B-A3B-Reasoning" \
    --prio 3 \
    --temp 0.6 \
    --top-p 0.95 \
    --port 8001
```

Si vous avez téléchargé le modèle manuellement, utilisez :

{% code overflow="wrap" %}

```bash
./llama.cpp/llama-server \
    --model unsloth/NVIDIA-Nemotron-3-Nano-Omni-30B-A3B-Reasoning-GGUF/NVIDIA-Nemotron-3-Nano-Omni-30B-A3B-Reasoning-UD-Q4_K_XL.gguf \
    --mmproj unsloth/NVIDIA-Nemotron-3-Nano-Omni-30B-A3B-Reasoning-GGUF/mmproj-BF16.gguf \
    --alias "unsloth/NVIDIA-Nemotron-3-Nano-Omni-30B-A3B-Reasoning" \
    --prio 3 \
    --temp 0.6 \
    --top-p 0.95 \
    --port 8001
```

{% endcode %}

Puis dans un nouveau terminal, après avoir installé le client OpenAI avec `pip install openai`:

```python
from openai import OpenAI
openai_client = OpenAI(
    base_url = "http://127.0.0.1:8001/v1",
    api_key = "sk-no-key-required",
)
completion = openai_client.chat.completions.create(
    model = "unsloth/NVIDIA-Nemotron-3-Nano-Omni-30B-A3B-Reasoning",
    messages = [
        {"role": "user", "content": "Combien font 2+2 ?"},
    ],
)
print(completion.choices[0].message.reasoning_content)
print(completion.choices[0].message.content)
```

Ce qui affichera quelque chose comme ci-dessous :

<figure><img src="/files/001688603ea17508d20655000d265c4ffcf1221f" alt="" width="563"><figcaption></figcaption></figure>

#### Entrée d'image via le serveur compatible OpenAI

Utilisons `picture.png` qui était l'image du paresseux comme dans [#llama.cpp-tutorial](#llama.cpp-tutorial "mention")

{% code expandable="true" %}

```python
from openai import OpenAI
import base64
import mimetypes
image_link = "picture.png"

def file_to_data_url(path: str) -> str:
    mime = mimetypes.guess_type(path)[0] or "application/octet-stream"
    with open(path, "rb") as f:
        data = base64.b64encode(f.read()).decode("utf-8")
    return f"data:{mime};base64,{data}"

openai_client = OpenAI(
    base_url = "http://127.0.0.1:8001/v1",
    api_key = "sk-no-key-required",
)

completion = openai_client.chat.completions.create(
    model = "unsloth/NVIDIA-Nemotron-3-Nano-Omni-30B-A3B-Reasoning",
    messages = [ {
        "role": "user",
        "content": [
            { "type": "text", "text": "Qu'est-ce que cette image ?", },
            {
                "type": "image_url",
                "image_url": { "url": file_to_data_url(image_link), },
            },
        ],
    } ],
)
print(completion.choices[0].message.reasoning_content)
print(completion.choices[0].message.content)
```

{% endcode %}

Ce qui affichera quelque chose comme ci-dessous :

<figure><img src="/files/b26011e49a55cbb93c0786c1c4da8c19b7e55db2" alt=""><figcaption></figcaption></figure>

### 🦥 Fine-tuning de Nemotron 3 Nano Omni

Unsloth prend en charge toute la [famille de modèles Nemotron](/docs/fr/modeles/nemotron-3.md) . Nemotron 3 Nano Omni est utile pour les ensembles de données d'agents multimodaux. Vous pouvez entraîner sur l'audio, la vision ou le texte via Unsloth. **Entrée vidéo** l'ajustement fin n'est actuellement pas pris en charge.

Pour le texte uniquement et les notebooks, vous pouvez partir du flux d'ajustement fin existant de [Nemotron 3 Nano](/docs/fr/modeles/nemotron-3.md#fine-tuning-nemotron-3-and-rl). Pour les adaptateurs multimodaux, assurez-vous que votre ensemble de données inclut la modalité dont votre agent a réellement besoin :

* **Utilisation de l'ordinateur :** captures d'écran, état de l'interface, curseur/contexte, action suivante attendue
* **Intelligence documentaire :** PDF, captures d'écran, graphiques, tableaux, cibles d'extraction structurée
* **Compréhension audio :** clips audio, images échantillonnées, résumés, horodatages, événements et questions de suivi
* **Boucles d'agent :** exemples observation → raisonnement → action → validation

Pour Omni, ne réutilisez pas aveuglément les chiffres de VRAM du texte seul. Les encodeurs multimodaux, les poids du projecteur, les jetons d'image, les segments audio et le long contexte augmentent tous l'utilisation de la mémoire. Commencez avec des contextes plus courts et des tailles de lot plus petites, puis augmentez progressivement.

### Benchmarks

Nemotron 3 Nano Omni est le modèle omni le plus puissant pour sa taille. C'est aussi le modèle multimodal ouvert le plus efficace, avec une précision de premier plan. Le modèle surpasse Qwen3-Omni-30B-A3B sur tous les benchmarks.

<div data-with-frame="true"><figure><img src="/files/b46f26f5997bc80271f7b187fc87091952887d8c" alt="" width="563"><figcaption></figcaption></figure></div>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://unsloth.ai/docs/fr/modeles/nemotron-3-nano-omni.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
