Fine-tuning dengan TorchTune

Fine-Tuning dengan Llama 3

Francesca Donadoni

Curriculum Manager, DataCamp

Komponen fine-tuning TorchTune

  • Model

    • Menetapkan arsitektur dan bobot pra-latih untuk di-fine-tune
    • Tersedia berbagai versi dan jumlah parameter
  • Dataset

    • Menentukan data untuk pelatihan
  • Resep

    • Berkas konfigurasi pusat yang menggabungkan model, dataset, dan parameter pelatihan
    • Menjamin konsistensi dan reprodusibilitas

Ilustrasi model AI

Ilustrasi dataset

Ilustrasi konfigurasi

Fine-Tuning dengan Llama 3

Komponen fine-tuning TorchTune

  • Model

    • !tune ls
      llama3/8B_full
      llama3_1/8B_full
      llama3_2/1B_full ...
      
  • Dataset

    • ds.save_to_disk("new_dataset")
  • Resep

    • custom_recipe.yaml

Ilustrasi model AI

Ilustrasi dataset

Ilustrasi konfigurasi

Fine-Tuning dengan Llama 3

Komponen resep TorchTune

  • Pengaturan umum dan direktori keluaran
    • Batch size, device, dan epochs

 

  • Model
    • Menentukan arsitektur dan konfigurasi model

 

  • Optimizer

    • Mencakup learning rate
  • Dataset

    • Mendefinisikan prapemrosesan dan path dataset
batch_size: 4
device: cuda
epochs: 20
output_dir: /tmp/full-llama3.2-finetune

model:
  _component_: 
      torchtune.models.llama3_2.llama3_2_1b

optimizer:
  _component_: bitsandbytes.optim.PagedAdamW8bit
  lr: 2.0e-05

dataset:
  _component_: torchtune.datasets.alpaca_dataset
Fine-Tuning dengan Llama 3

Mengonfigurasi resep TorchTune

  • Lebih banyak parameter tersedia
  • Dapat dikonfigurasi di Python dengan yaml
import yaml

config_dict = {"batch_size": 4, "device": "cuda", "model": { "_component_": "torchtune.models.llama3_2.llama3_2_1b" }, ... }
yaml_file_path = "custom_recipe.yaml" with open(yaml_file_path, "w") as yaml_file: yaml.dump(config_dict, yaml_file)
Fine-Tuning dengan Llama 3

Menjalankan fine-tuning kustom

tune run --config custom_recipe.yaml
INFO:torchtune.utils.logging:Running 
Menulis log ke /tmp/full-llama3.2-finetune/log_1732815689.txt
INFO:torchtune.utils.logging:Model diinisialisasi dengan presisi torch.bfloat16.
INFO:torchtune.utils.logging:Tokenizer diinisialisasi dari berkas.
1|52|Loss: 2.3697006702423096:   0%|▏                     | 52/25880
  • Log tersimpan
  • Inisialisasi berhasil
  • Progres epoch dan step
  • Metrik loss
Fine-Tuning dengan Llama 3

Ayo berlatih!

Fine-Tuning dengan Llama 3

Preparing Video For Download...