🧩NVIDIA Nemotron 3 Nano - guide pour exécuter
Exécutez et affinez NVIDIA Nemotron 3 Nano localement sur votre appareil !
NVIDIA publie Nemotron 3 Nano, un modèle hybride MoE 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'une 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 localement. Merci NVIDIA d'avoir fourni à Unsloth un support dès le jour zéro.
Tutoriel d'exécutionFine-tuning Nano 3
NVIDIA Nemotron 3 Nano GGUF pour exécuter : unsloth/Nemotron-3-Nano-30B-A3B-GGUF Nous avons également téléversé BF16 et FP8 variantes.
⚙️ Guide d'utilisation
NVIDIA recommande ces paramètres pour l'inférence :
Chat/instruction général (par défaut) :
temperature = 1.0top_p = 1.0
Cas d'utilisation d'appel d'outils :
temperature = 0.6top_p = 0.95
Pour la plupart des utilisations locales, définissez :
max_new_tokens=32,768à262,144pour les invites standard avec un maximum de 1M de tokensAugmentez pour un raisonnement profond ou une génération longue selon les capacités de votre RAM/VRAM.
Le format de template de chat se trouve 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,
)Parce que le modèle a été entraîné avec NoPE, vous n'avez besoin de changer que max_position_embeddings. Le modèle n'utilise pas d'embeddings positionnels explicites, donc YaRN n'est pas nécessaire.
Format du template de chat Nemotron 3 :
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 finissent par être de taille similaire parce que 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 inférieurs.
Les versions 4 bits du modèle nécessitent ~24 Go de RAM. 8 bits nécessitent 36 Go.
Tutoriel Llama.cpp (GGUF) :
Instructions pour exécuter dans llama.cpp (notez que nous utiliserons du 4 bits pour tenir sur la plupart des appareils) :
Obtenez le dernier llama.cpp sur GitHub ici. Vous pouvez également suivre les instructions de compilation ci-dessous. Changez -DGGML_CUDA=ON à -DGGML_CUDA=OFF si vous n'avez pas de GPU ou si vous voulez uniquement 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.
Vous pouvez récupérer directement depuis Hugging Face. Vous pouvez augmenter le contexte à 1M selon les capacités de votre RAM/VRAM.
Suivez ceci pour cas d'utilisation d'instruction générale :
Suivez ceci pour appel d'outils :
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.
Ensuite, exécutez le modèle en mode conversation :
Ajustez également la fenêtre de contexte selon les besoins. Assurez-vous que votre matériel peut gérer plus d'une fenêtre de contexte de 256K. La définir sur 1M peut déclencher un OOM CUDA et provoquer un crash, c'est pourquoi la valeur par défaut est 262 144.
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é.
Parce que le modèle a été entraîné avec NoPE, vous n'avez besoin de changer que max_position_embeddings. Le modèle n'utilise pas d'embeddings positionnels explicites, donc YaRN n'est pas nécessaire.
🦥 Fine-tuning de Nemotron 3 Nano et RL
Unsloth prend désormais en charge le fine-tuning 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 préparé un notebook Colab A100 80 Go pour que vous puissiez l'affiner. Le fine-tuning LoRA en 16 bits de Nemotron 3 Nano utilisera environ 60 Go de VRAM:
Pour le fine-tuning des MoE - ce n'est probablement pas une bonne idée d'affiner la couche de routage, donc nous l'avons désactivée par défaut. Si vous souhaitez 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 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 Gym 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 :
Consultez également notre dernier guide collaboratif publié sur le blog officiel des développeurs de NVIDIA :
🎉Service et déploiement Llama-server
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 ?

