🧩NVIDIA Nemotron 3 Nano - Guide pour exécution

Exécutez et affinez NVIDIA Nemotron 3 Nano localement sur votre appareil !

NVIDIA publie Nemotron 3 Nano, un modèle MoE hybride de raisonnement de 30 milliards de paramètres avec ~3,6 milliards de paramètres actifs - conçu pour des tâches de codage, de mathématiques et d'agentivité rapides et précises. Il dispose d'un fenêtre de contexte de 1M et est le meilleur de sa classe de taille sur SWE-Bench, GPQA Diamond, le raisonnement, le chat et le débit.

Nemotron 3 Nano fonctionne sur 24 Go de RAM/VRAM (ou mémoire unifiée) et vous pouvez maintenant l'affiner l'exécuter localement. Merci à NVIDIA d'avoir fourni à Unsloth un support dès le jour zéro.

Tutoriel d’exécutionAjustement fin de Nano 3

NVIDIA Nemotron 3 Nano GGUF pour exécuter : unsloth/Nemotron-3-Nano-30B-A3B-GGUFarrow-up-right Nous avons aussi téléchargé BF16arrow-up-right et FP8arrow-up-right variantes.

⚙️ Guide d'utilisation

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

Chat/instruction général (par défaut) :

  • température = 1.0

  • top_p = 1.0

Cas d'utilisation d'appel d'outils :

  • température = 0,6

  • top_p = 0.95

Pour la plupart des usages locaux, réglez :

  • max_new_tokens = 32,768 en 262,144 pour des invites standard avec un maximum de 1M de tokens

  • Augmentez pour un raisonnement profond ou une génération longue selon ce que votre RAM/VRAM permet.

Le format du modèle de chat est trouvé lorsque nous utilisons ce qui suit :

tokenizer.apply_chat_template([
    {"role" : "user", "content" : "What is 1+1?"},
    {"role" : "assistant", "content" : "2"},
    {"role" : "user", "content" : "What is 2+2?"}
    ], add_generation_prompt = True, tokenize = False,
)

Format de modèle de chat Nemotron 3 :

circle-info

Nemotron 3 utilise <think> avec l'ID de token 12 et </think> avec l'ID de token 13 pour le raisonnement. Utilisez --special pour voir les tokens pour llama.cpp. Vous pourriez aussi avoir besoin de --verbose-prompt pour voir <think> puisqu'il est préfixé.

🖥️ Exécuter Nemotron-3-Nano-30B-A3B

Selon votre cas d'utilisation, vous devrez utiliser des paramètres différents. Certains GGUF ont une taille similaire car l'architecture du modèle (comme gpt-oss) a des dimensions non divisibles par 128, donc des parties ne peuvent pas être quantifiées en bits plus faibles.

Tutoriel Llama.cpp (GGUF) :

Instructions pour exécuter dans llama.cpp (notez que nous utiliserons du 4 bits pour tenir sur la plupart des dispositifs) :

1

Obtenez la dernière llama.cpp sur GitHub iciarrow-up-right. Vous pouvez aussi suivre les instructions de compilation ci-dessous. Changez -DGGML_CUDA=ON en -DGGML_CUDA=OFF si vous n'avez pas de GPU ou si vous voulez simplement de l'inférence CPU. Pour les appareils Apple Mac / Metal, définissez -DGGML_CUDA=OFF puis continuez comme d'habitude - le support Metal est activé par défaut.

2

Vous pouvez directement récupérer depuis Hugging Face. Vous pouvez augmenter le contexte à 1M selon ce que votre RAM/VRAM permet.

Suivez ceci pour cas d'instruction généraux :

Suivez ceci pour appel d'outils généraux :

3

Téléchargez le modèle via (après avoir installé pip install huggingface_hub hf_transfer ). Vous pouvez choisir UD-Q4_K_XL ou d'autres versions quantifiées.

4

Ensuite, exécutez le modèle en mode conversation :

Ajustez également la fenêtre de contexte si nécessaire. Assurez-vous que votre matériel peut gérer plus qu'une fenêtre de contexte de 256K. La définir à 1M peut provoquer un OOM CUDA et planter, c'est pourquoi la valeur par défaut est 262 144.

5

Nemotron 3 utilise <think> avec l'ID de token 12 et </think> avec l'ID de token 13 pour le raisonnement. Utilisez --special pour voir les tokens pour llama.cpp. Vous pourriez aussi avoir besoin de --verbose-prompt pour voir <think> puisqu'il est préfixé.

circle-check

🦥 Affinage de Nemotron 3 Nano et RL

Unsloth prend désormais en charge l'affinage de tous les modèles Nemotron, y compris Nemotron 3 Nano. Le modèle 30B ne tient pas sur un GPU Colab gratuit ; cependant, nous avons tout de même créé un notebook Colab A100 80 Go pour vous permettre de l'affiner. L'affinage LoRA en 16 bits de Nemotron 3 Nano utilisera environ 60 Go de VRAM:

Pour l'affinage des MoE - ce n'est probablement pas une bonne idée d'affiner la couche de routeur, donc nous l'avons désactivée par défaut. Si vous voulez préserver ses capacités de raisonnement (optionnel), vous pouvez utiliser un mélange de réponses directes et d'exemples de chaîne de pensée. Utilisez au moins 75 % de raisonnement et 25 % sans raisonnement dans votre jeu de données pour faire en sorte que le modèle conserve ses capacités de raisonnement.

Apprentissage par renforcement + NeMo Gym

Nous avons travaillé avec l'équipe open-source NVIDIA NeMo Gymarrow-up-right pour permettre la démocratisation des environnements RL. Notre collaboration permet l'entraînement RL par rollout à tour unique pour de nombreux domaines d'intérêt, y compris les mathématiques, le codage, l'utilisation d'outils, etc., en utilisant des environnements d'entraînement et des jeux de données de NeMo Gym :

circle-check

🎉Llama-server service & déploiement

Pour déployer Nemotron 3 en production, nous utilisons llama-server Dans un nouveau terminal, par exemple via tmux, déployez le modèle via :

Lorsque vous exécutez ce qui précède, vous obtiendrez :

Puis dans un nouveau terminal, après avoir fait pip install openai, faites :

Ce qui affichera

Benchmarks

Nemotron-3-Nano-30B-A3B est le modèle le plus performant sur tous les benchmarks, y compris le débit.

Mis à jour

Ce contenu vous a-t-il été utile ?