# About Fine-Tuning

Learn how to fine-tune models by making requests to NVIDIA NeMo Customizer through the API. Fine-tuned models you have created can be deployed using NVIDIA NIMs.

## Fine-Tuning Workflow

At a high level, the fine-tuning workflow consists of the following steps:

1. [Create a Model Entity](manage-model-entities/index.md) pointing to your base model checkpoint (stored as a FileSet).
1. Format a compatible [dataset](tutorials/format-training-dataset.md).
1. [Create a customization job](manage-customization-jobs/index.md) referencing the Model Entity.
1. Monitor the job until it completes.
1. The customization job automatically creates either:
 - **LoRA jobs**: An adapter attached to the original Model Entity
 - **Full fine-tuning jobs**: A new Model Entity with the customized weights
1. [Deploy the model](../run-inference/about.md) using the Deployment Management Service.
1. Move on to [Evaluate the output model](../evaluator/index.md).

---

## Model Catalog

Explore the model families and sizes supported by NVIDIA NeMo Customizer.

-   **[Llama Models](models/llama.md)**

    ---

    View the available Llama models in the model catalog.

-   **[Llama Nemotron Models](models/llama-nemotron.md)**

    ---

    View the available Llama Nemotron models from NVIDIA, including Nano and Super variants for efficient and advanced instruction tuning.

-   **[Phi Models](models/phi.md)**

    ---

    View the available Phi models from Microsoft, designed for strong reasoning capabilities with efficient deployment.

-   **[GPT-OSS Models](models/gpt-oss.md)**

    ---

    View the available GPT-OSS models supported for Full SFT customization.

-   **[Embedding Models](models/embedding.md)**

    ---

    View the available embedding models for question-answering and retrieval tasks.


## Task Guides

Perform common fine-tuning tasks.

-   **[Manage Customization Jobs](manage-customization-jobs/index.md)**

    ---

    Create, list, view, and cancel customization jobs.

-   **[Manage Model Entities](manage-model-entities/index.md)**

    ---

    Create FileSets and Model Entities to prepare base models for customization.

- **[Manage Datasets](../get-started/concepts/manage-files.md)**

    ---

    Upload and manage datasets for training.


---

## Tutorials

Follow these tutorials to learn how to accomplish common fine-tuning tasks.

-   **[Format Training Datasets](tutorials/format-training-dataset.md)**

    ---

    Learn how to format datasets for different model types.

    <small><span class="md-tag">datasets</span> <span class="md-tag">chat-models</span> <span class="md-tag">completion-models</span></small>

-   **[Start a LoRA Customization Job](tutorials/lora-customization-job.ipynb)**

    ---

    Learn how to start a LoRA customization job using a custom dataset.

    <small><span class="md-tag">nemo-customizer</span></small>

-   **[Start a Full SFT Customization Job](tutorials/sft-customization-job.ipynb)**

    ---

    Learn how to start a SFT customization job using a custom dataset.

    <small><span class="md-tag">nemo-customizer</span></small>

-   **[Align a Model with DPO](tutorials/dpo-customization-job.ipynb)**

    ---

    Learn how to align a model with DPO (Direct Preference Optimization) using preference data.

    <small><span class="md-tag">nemo-customizer</span> <span class="md-tag">dpo</span></small>

-   **[Distill a Model with Knowledge Distillation](tutorials/distillation-customization-job.ipynb)**

    ---

    Learn how to compress a larger teacher model into a smaller student model.

    <small><span class="md-tag">nemo-customizer</span> <span class="md-tag">knowledge-distillation</span></small>

-   **[Check Customization Job Metrics](tutorials/metrics.md)**

    ---

    Learn how to check job metrics using MLFlow or Weights & Biases.

    <small><span class="md-tag">nemo-customizer</span> <span class="md-tag">mlflow</span> <span class="md-tag">wandb</span></small>

-   **[Optimize Tokens per GPU](tutorials/optimize-throughput.ipynb)**

    ---

    Learn how to optimize the token-per-GPU throughput for a LoRA optimization job.

    <small><span class="md-tag">nemo-customizer</span> <span class="md-tag">wandb</span> <span class="md-tag">sequence-packing</span></small>


---

## References

-   **[Hyperparameters](manage-customization-jobs/hyperparameters.md)**

    ---

    View the available hyperparameters and their valid options that you can set when creating a customization job.

-   **[Customizer API](../api/index.md#tag-customizer)**

    ---

    View the OpenAPI specification for Customizer.

-   **[Troubleshoot Failed Jobs](../troubleshooting/customizer.md)**

    ---

    View troubleshooting tips for failed jobs.


