×
Community Blog Pengoptimalan Model GenAI: Panduan Penyesuaian dan Kuantisasi

Pengoptimalan Model GenAI: Panduan Penyesuaian dan Kuantisasi

Artikel ini menjelaskan cara menyesuaikan dan mengkuantisasi model bahasa yang telah terlatih.

Penulis: Farruh

1_jpeg

Kecerdasan Buatan telah meningkat pesat dari sebuah buzzword menjadi alat penting dalam aplikasi bisnis dan pribadi. Seiring pertumbuhan bidang AI, kebutuhan akan model yang lebih efisien dan khusus tugas pun meningkat. Di sinilah penyempurnaan dan kuantisasi berperan, yang memungkinkan kita untuk menyempurnakan model siap pakai agar lebih sesuai dengan kebutuhan kita dan melakukannya dengan lebih efisien. Di bawah ini adalah panduan yang dirancang untuk membawa pemula melalui proses penyempurnaan dan kuantisasi model bahasa menggunakan Python dan pustaka Hugging Face Transformers.

Pentingnya Penyesuaian dan Kuantisasi dalam AI

Penyesuaian berkaitan dengan mengasah sekumpulan keterampilan yang luas menjadi keterampilan khusus. Model bahasa yang telah terlatih mungkin tahu banyak tentang berbagai topik, namun melalui penyempurnaan, model tersebut dapat menjadi ahli dalam ranah tertentu, seperti jargon hukum atau terminologi medis.

Kuantitasi melengkapinya dengan menjadikan model besar ini lebih hemat sumber daya, mengurangi jejak memori dan mempercepat komputasi, yang bermanfaat terutama ketika menyebarkan model pada perangkat tepi atau di lingkungan dengan kekuatan komputasi terbatas.

2_jpeg

Nilai untuk Bisnis dan Individu

Bisnis dapat memanfaatkan model yang disempurnakan dan dikuantifikasi untuk membuat aplikasi AI canggih yang tampaknya tidak layak karena adanya kendala sumber daya. Bagi individu, teknik ini memungkinkan untuk menjalankan AI canggih pada perangkat keras standar, sehingga proyek, atau penelitian pribadi lebih dapat diakses.

3_jpeg

Menyiapkan Akun Hugging Face Anda

Sebelum menangani kode, Anda memerlukan akses ke model dan set data AI. Hugging Face adalah tempat untuk memulai:

  1. KunjungiHugging Face.
  2. KlikDaftar untuk membuat akun baru.
  3. Selesaikan proses pendaftaran.
  4. Verifikasi email Anda, dan Anda pun sudah siap!

4

Mempersiapkan Lingkungan

Pertama, pustaka yang diperlukan diimpor. Anda akan membutuhkan pustaka torch untuk fungsi PyTorch, dan pustaka transformer dari Hugging Face arsitektur model dan bobot yang telah terlatih. Impor lainnya termasuk datasets untuk pemuatan dan penanganan set data, dan peft dan trl untuk rutinitas pelatihan dan dukungan kuantisasi yang efisien.

import torch
from datasets import load_dataset
from transformers import (
    AutoModelForCausalLM,
    AutoTokenizer,
    BitsAndBytesConfig,
    TrainingArguments,
    pipeline,
    logging,
)
from peft import LoraConfig, PeftModel
from trl import SFTTrainer

Memilih Model dan Set Data

Selanjutnya, kode tersebut menjelaskan model dan set data yang akan digunakan, yang sangat penting untuk penyempurnaan. Variabel model_name berisi pengenal model yang telah terlatih yang ingin Anda sempurnakan, dan dataset_name adalah pengenal set data yang akan Anda gunakan untuk pelatihan.

model_name = "Qwen/Qwen-7B-Chat"
dataset_name = "mlabonne/guanaco-llama2-1k"
new_model = "Qwen-7B-Chat-SFT"

Menyesuaikan Parameter

Parameter untuk penyempurnaan diatur menggunakan TrainingArguments. Ini mencakup jumlah epoch, ukuran batch, tingkat pembelajaran, dan banyak lagi, yang menentukan cara model akan belajar selama proses penyempurnaan.

training_arguments = TrainingArguments(
    output_dir="./results",
    num_train_epochs=1,
    per_device_train_batch_size=1,
    gradient_accumulation_steps=1,
    learning_rate=2e-4,
    weight_decay=0.001,
    # ... other arguments
)

Kuantisasi dengan BitsAndBytes

BitsAndBytesConfig mengonfigurasi model untuk kuantisasi. Dengan mengatur load_in_4bit kntukTrue, Anda memungkinkan model untuk menggunakan versi terkuantisasi 4 bit, yang mengurangi ukurannya dan berpotensi meningkatkan kecepatan.

bnb_config = BitsAndBytesConfig(
    load_in_4bit=use_4bit,
    bnb_4bit_quant_type=bnb_4bit_quant_type,
    bnb_4bit_compute_dtype=compute_dtype,
    bnb_4bit_use_double_quant=use_nested_quant,
)

Menyesuaikan dan Melatih Model

Model dimuat dengan konfigurasi yang ditentukan, dan tokenizer disiapkan. SFTTrainer kemudian digunakan untuk menyesuaikan model pada set data yang dimuat. Setelah pelatihan, model ini disimpan untuk penggunaan di masa mendatang.

model = AutoModelForCausalLM.from_pretrained(
    model_name,
    quantization_config=bnb_config,
    # ... other configurations
)

trainer = SFTTrainer(
    model=model,
    train_dataset=dataset,
    # ... other configurations
)

trainer.train()
trainer.model.save_pretrained(new_model)

Mengevaluasi Model Anda

Dengan model yang disempurnakan dan terkuantisasi, Anda sekarang dapat membuat teks berdasarkan prompt untuk melihat seberapa baik fungsinya berjalan. Ini dilakukan menggunakan fungsi pipeline dari transformers.

pipe = pipeline(task="text-generation", model=model, tokenizer=tokenizer, max_length=200)
result = pipe(f"<s>[INST] {prompt} [/INST]")
print(result[0]['generated_text'])

Melibatkan Pembaca Tutorial

Panduan ini seharusnya mengarahkan pembaca langkah demi langkah, dari menyiapkan lingkungan hingga menjalankan model pertama mereka yang disempurnakan dan terkuantisasi. Setiap langkah harus digambarkan dengan cuplikan dari kode yang disediakan, yang menjelaskan tujuannya dan memandu pembaca tentang cara mengubahnya sesuai kebutuhan mereka.

Kesimpulan

Di akhir tutorial ini, pembaca akan memiliki pemahaman yang kuat tentang cara menyesuaikan dan mengkuantisasi model bahasa yang telah terlatih. Pengetahuan ini membuka dunia kemungkinan baru untuk aplikasi AI, sehingga model menjadi lebih khusus dan efisien.

Ingat bahwa bidang AI terus berkembang, dan tetap terkini dengan teknik terbaru adalah kunci untuk membuka potensi lengkapnya. Jadi selami, bereksperimen, dan jangan ragu untuk membagikan pencapaian dan pembelajaran Anda kepada komunitas.

Bersiaplah untuk menyesuaikan cara Anda menuju keunggulan AI!

Selamat membuat kode!


Artikel ini ditulis dalam bahasa Inggris. Lihat artikel asli di sini.

0 0 0
Share on

Regional Content Hub

36 posts | 2 followers

You may also like

Comments

Regional Content Hub

36 posts | 2 followers

Related Products