# Fine-Tuning Tutorials

Use the tutorials in this section to gain a deeper understanding of how the NVIDIA NeMo Customizer microservice enables fine-tuning tasks.

!!! tip "Tutorials are organized by complexity and typically build on one another. The tutorials reference `NMP_BASE_URL`, which is the base URL of your {{platform_name}} deployment. Refer to the [NeMo Setup guide](../../get-started/setup.md) for installation, setup, and platform URL guidance."

---

## Getting Started

-   **[Understanding Model Entities and Adapters](understand-configurations-and-models.md)**

    ---

    Learn the fundamentals of how NeMo Customizer works with Model Entities and Adapters, and how to choose the right approach for your project.

    <small><span class="md-tag">model-entities</span> <span class="md-tag">adapters</span> <span class="md-tag">training-types</span></small>


## Dataset Preparation

-   **[Format Training Datasets](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>


## Customization Jobs

-   **[Fine-Tune a Model with Custom Data Using LoRA](lora-customization-job.ipynb)**

    ---

    Learn how to perform supervised fine-tuning with LoRA adapters using custom data.

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

-   **[Fine-Tune a Model with Custom Data Processing All Weights](sft-customization-job.ipynb)**

    ---

    Learn how to perform supervised fine-tuning using custom data by modifying the all training parameters.

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

-   **[Align a Model with DPO and Preference Data](dpo-customization-job.ipynb)**

    ---

    Learn how to align a model with DPO (Direct Preference Optimization) to prefer certain kinds of responses over others.

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

-   **[Distill a Large Model into a Smaller One with Knowledge Distillation](distillation-customization-job.ipynb)**

    ---

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

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

-   **[Fine-Tune an Embedding Model With Positive and Negative Samples Using LoRA](embedding-customization-job.ipynb)**

    ---

    Learn how to fine-tune embedding models using LoRA merged training for improved question-answering and retrieval tasks.

    <small><span class="md-tag">embedding-models</span> <span class="md-tag">lora-merged</span> <span class="md-tag">nemo-customizer</span></small>


## Monitoring & Optimization

-   **[Check Customization Job Metrics](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](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>


