Tutorial Torchtune: Fine-Tuning LLM dengan PyTorch Native

# Tutorial Torchtune: Fine-Tuning LLM dengan PyTorch Native ## Pendahuluan Torchtune adalah library resmi dari PyTorch untuk melakukan fine-tuning Large Language Models (LLM). Library ini dirancang...

By Ruby Abdullah · · tutorial
TorchtuneLLM Fine-TuningPyTorchLoRAQLoRA

Tutorial Torchtune: Fine-Tuning LLM dengan PyTorch Native

Pendahuluan

Torchtune adalah library resmi dari PyTorch untuk melakukan fine-tuning Large Language Models (LLM). Library ini dirancang sebagai solusi native PyTorch yang ringan, modular, dan mudah dikustomisasi. Berbeda dengan framework fine-tuning lainnya yang sering kali kompleks dan memiliki banyak abstraksi tersembunyi, Torchtune memberikan kontrol penuh kepada developer sambil tetap menyediakan komponen-komponen siap pakai.

Torchtune mendukung berbagai model populer seperti Llama 3, Mistral, Gemma, Phi, dan Qwen. Library ini menyediakan berbagai teknik fine-tuning mulai dari full fine-tuning hingga parameter-efficient methods seperti LoRA dan QLoRA. Dengan integrasi langsung ke ekosistem PyTorch, Torchtune menjadi pilihan ideal bagi praktisi yang sudah familiar dengan PyTorch dan ingin melakukan fine-tuning LLM tanpa bergantung pada framework pihak ketiga yang berat.

Dalam tutorial ini, kita akan mempelajari cara menggunakan Torchtune dari instalasi hingga fine-tuning model dengan berbagai teknik, termasuk konfigurasi dataset kustom dan deployment model hasil fine-tuning.

Mengapa Torchtune?

Sebelum masuk ke implementasi, ada beberapa alasan mengapa Torchtune layak dipertimbangkan:

  • Native PyTorch: Dibangun sepenuhnya di atas PyTorch tanpa layer abstraksi tambahan
  • Modular: Setiap komponen (model, dataset, optimizer, loss) bisa diganti dan dikustomisasi
  • Memory Efficient: Mendukung teknik hemat memori seperti QLoRA, gradient checkpointing, dan mixed precision
  • Config-Driven: Workflow diatur melalui file YAML yang mudah dibaca dan dimodifikasi
  • Multi-GPU: Mendukung distributed training melalui FSDP2 (Fully Sharded Data Parallel)
  • Ekosistem: Integrasi langsung dengan Hugging Face Hub, Weights & Biases, dan format GGUF
  • Instalasi

    Prasyarat

    Pastikan Anda memiliki Python 3.10+ dan PyTorch 2.4+ terinstal.

    # Cek versi Python
    

    python --version

    Cek versi PyTorch

    python -c "import torch; print(torch.version)"

    Instalasi Torchtune

    # Instalasi via pip (stable release)
    

    pip install torchtune

    Atau instalasi dari source untuk versi terbaru

    pip install git+https://github.com/pytorch/torchtune.git

    Instalasi dengan dukungan semua fitur

    pip install torchtune[all]

    Verifikasi Instalasi

    # Cek versi torchtune
    

    tune --version

    Lihat daftar recipe yang tersedia

    tune ls

    Output dari tune ls akan menampilkan semua recipe fine-tuning yang tersedia:

    RECIPE                          CONFIG
    

    fullfinetunesingledevice llama32/1Bfullsingledevice

    fullfinetunedistributed llama32/3Bfull

    lorafinetunesingledevice llama32/1Blorasingledevice

    lorafinetunedistributed llama32/3Blora

    qlorafinetunesingledevice llama32/1Bqlorasingledevice

    knowledgedistillation llama32/1Bkdsingledevice

    ...

    Download Model

    Sebelum melakukan fine-tuning, kita perlu mengunduh model dasar. Torchtune menyediakan command tune download untuk mengunduh model dari Hugging Face Hub.

    # Download Llama 3.2 1B (model kecil, cocok untuk eksperimen)
    

    tune download meta-llama/Llama-3.2-1B-Instruct \

    --output-dir ./models/Llama-3.2-1B-Instruct \

    --hf-token YOURHFTOKEN

    Download Mistral 7B

    tune download mistralai/Mistral-7B-Instruct-v0.3 \

    --output-dir ./models/Mistral-7B-Instruct \

    --hf-token YOURHFTOKEN

    Download Qwen 2.5 0.5B (sangat ringan)

    tune download Qwen/Qwen2.5-0.5B-Instruct \

    --output-dir ./models/Qwen2.5-0.5B-Instruct

    Anda memerlukan Hugging Face token untuk model yang memerlukan akses khusus seperti Llama. Dapatkan token di huggingface.co/settings/tokens.

    Basic Usage: LoRA Fine-Tuning

    LoRA (Low-Rank Adaptation) adalah teknik fine-tuning yang paling populer karena hemat memori dan cepat. Mari kita mulai dengan fine-tuning Llama 3.2 1B menggunakan LoRA.

    Artikel Terkait

    Tutorial Lengkap LlamaFactory: Toolkit Fine-Tuning LLM All-in-One

    Tutorial Lengkap LlamaFactory: Toolkit Fine-Tuning LLM All-in-One Fine-tuning Large Language Model (LLM) sering kali men...

    Tutorial Unsloth: Fine-Tuning LLM yang Cepat dan Hemat Memori

    Fine-Tuning LLM Secara Efisien dengan Unsloth Dahulu, melakukan fine-tuning model bahasa besar membutuhkan server multi-...

    Tutorial PyTorch Geometric: Graph Neural Network dengan PyTorch

    Memulai dengan PyTorch Geometric: Graph Neural Network di PyTorch Sebagian besar machine learning bekerja pada grid (gam...

    Tutorial Axolotl: Fine-Tuning LLM Berbasis Konfigurasi YAML

    Fine-Tuning LLM Berbasis Konfigurasi dengan Axolotl Kebanyakan proyek fine-tuning dimulai dengan cara yang sama: seseora...