🧩NVIDIA Nemotron 3 Nano - Guide d'exécution

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

NVIDIA publie Nemotron-3-Nano-4B, un modèle hybride MoE ouvert 4B qui succède à Nemotron-3-Super-120B-A12B et Nemotron-3-Nano-30B-A3B. La famille Nemotron est conçue pour des charges de travail rapides et précises en codage, mathématiques et agentivité. Ils disposent d'une fenêtre de contexte de 1M tokens et sont compétitifs sur les benchmarks de raisonnement, de chat et de débit.

Nemotron-3-Nano-4B fonctionne sur 5GB de RAM, VRAM ou mémoire unifiée. Nemotron-3-Nano-30A3B fonctionne sur 24GB de RAM. Nemotron 3 peut désormais être affiné localement via Unslotharrow-up-right. Merci à NVIDIA d'avoir offert un support day-zero à Unsloth.

Nemotron-3-Nano-4BNemotron-3-Nano-30B-A3BAffinage de Nemotron 3

⚙️ Guide d'utilisation

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

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

  • temperature = 1.0

  • top_p = 1.0

Cas d'utilisation d'appel d'outils :

  • temperature = 0.6

  • top_p = 0.95

Pour la plupart des usages locaux, réglez :

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

  • Augmentez pour un raisonnement profond ou une génération longue selon les capacités de votre RAM/VRAM.

Le format de modèle 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,
)
circle-check

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-4B

Selon votre cas d'utilisation, vous devrez utiliser des paramètres différents. Certains GGUF ont une 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 requièrent ~3GB de RAM. 8 bits requièrent 5GB.

Tutoriel Llama.cpp (GGUF) :

Instructions pour exécuter dans llama.cpp (nous utiliserons du 8 bits pour une précision proche du plein) :

1

Obtenez le dernier llama.cpp sur GitHub iciarrow-up-right. 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 juste l'inférence CPU.

2

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 :

3

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

4

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 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.

🖥️ 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 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 requièrent ~24GB de RAM. 8 bits requièrent 36GB.

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) :

1

Obtenez le dernier llama.cpp sur GitHub iciarrow-up-right. 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 juste l'inférence CPU. Pour les appareils Apple Mac / Metal, réglez -DGGML_CUDA=OFF puis continuez comme d'habitude - le support Metal est activé par défaut.

2

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 :

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 selon les besoins. 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.

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é.

🦥 Affinage de Nemotron 3 et RL

Unsloth prend désormais en charge l'affinage de tous les modèles Nemotron, y compris Nemotron 3 Super et Nano.

Le modèle 4B tient sur un GPU Colab gratuit cependant le modèle 30B n'y tient pas. Nous avons tout de même préparé un notebook Colab avec une A100 80GB pour que vous puissiez affiner. L'affinage LoRA 16 bits de Nemotron 3 Nano utilisera environ 60GB VRAM:

Concernant l'affinage des MoE - ce n'est probablement pas une bonne idée d'affiner la couche routeur, 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 Gymarrow-up-right pour permettre la démocratisation des environnements RL. Notre collaboration permet un entraînement RL en rollouts à tour unique pour de nombreux domaines d'intérêt, y compris mathématiques, codage, utilisation d'outils, etc., en utilisant des environnements d'entraînement et des jeux de données de NeMo Gym :

circle-check

🦙Service & 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 imprimera

Benchmarks

Nemotron-3-Nano-4B est le modèle offrant les meilleures performances pour sa taille, y compris en débit.

Nemotron-3-Nano-30B-A3B est le modèle offrant les meilleures performances sur tous les benchmarks, y compris en débit.

Mis à jour

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