LLM: Fine-tuning, distilasi, dan Prompt Engineering

Unit sebelumnya menjelaskan LLM tujuan umum, yang dikenal sebagai:

  • LLM foundation
  • LLM dasar
  • LLM terlatih

LLM dasar dilatih dengan cukup natural language untuk "mengetahui" sejumlah besar tentang tata bahasa, kata, dan idiom. Model bahasa dasar dapat menghasilkan kalimat yang berguna tentang topik yang dilatihnya. Selain itu, LLM dasar dapat melakukan tugas tertentu yang secara tradisional disebut "kreatif", seperti menulis puisi. Namun, output teks generatif LLM dasar bukan solusi untuk jenis masalah ML umum lainnya, seperti regresi atau klasifikasi. Untuk kasus penggunaan ini, LLM dasar dapat berfungsi sebagai platform, bukan solusi.

Mengubah LLM fondasi menjadi solusi yang memenuhi kebutuhan aplikasi memerlukan proses yang disebut penyesuaian. Proses sekunder yang disebut distilasi menghasilkan versi model yang lebih kecil (lebih sedikit parameter) yang telah disesuaikan.

Fine tuning

Riset menunjukkan bahwa kemampuan pengenalan pola dari model bahasa dasar begitu canggih sehingga terkadang memerlukan pelatihan tambahan yang relatif sedikit untuk mempelajari tugas tertentu. Pelatihan tambahan tersebut membantu model membuat prediksi yang lebih baik pada tugas tertentu. Pelatihan tambahan ini, yang disebut penyesuaian, akan membuka sisi praktis LLM.

Penyesuaian melatih contoh yang spesifik untuk tugas yang akan dilakukan aplikasi Anda. Engineer terkadang dapat menyesuaikan LLM dasar hanya dengan beberapa ratus atau beberapa ribu contoh pelatihan.

Meskipun jumlah contoh pelatihan relatif kecil, penyesuaian standar sering kali mahal secara komputasi. Hal ini karena penyesuaian standar melibatkan pembaruan bobot dan bias setiap parameter pada setiap iterasi backpropagation. Untungnya, proses yang lebih cerdas yang disebut parameter-efficient tuning dapat menyesuaikan LLM dengan hanya menyesuaikan subkumpulan parameter pada setiap iterasi backpropagation.

Prediksi model yang disesuaikan biasanya lebih baik daripada prediksi LLM dasar. Namun, model yang disesuaikan berisi jumlah parameter yang sama dengan LLM dasar. Jadi, jika LLM fondasi berisi sepuluh miliar parameter, versi yang disesuaikan juga akan berisi sepuluh miliar parameter.

Distilasi

Sebagian besar LLM yang dioptimalkan berisi parameter dalam jumlah besar. Akibatnya, LLM dasar memerlukan resource komputasi dan lingkungan yang sangat besar untuk menghasilkan prediksi. Perhatikan bahwa sebagian besar parameter tersebut biasanya tidak relevan untuk aplikasi tertentu.

Distilasi membuat versi LLM yang lebih kecil. LLM yang distilasi menghasilkan prediksi jauh lebih cepat dan memerlukan lebih sedikit resource komputasi dan lingkungan daripada LLM lengkap. Namun, prediksi model yang distilasi umumnya tidak begitu baik seperti prediksi LLM asli. Ingat bahwa LLM dengan lebih banyak parameter hampir selalu menghasilkan prediksi yang lebih baik daripada LLM dengan lebih sedikit parameter.

Bentuk distilasi yang paling umum menggunakan inferensi massal untuk memberi label pada data. Data berlabel ini kemudian digunakan untuk melatih model baru yang lebih kecil (dikenal sebagai model siswa) yang dapat ditayangkan dengan lebih hemat. Data berlabel berfungsi sebagai saluran yang digunakan model yang lebih besar (dikenal sebagai model pengajar) untuk menyalurkan pengetahuannya ke model yang lebih kecil.

Misalnya, Anda memerlukan penilai toksisitas online untuk moderasi komentar secara otomatis. Dalam hal ini, Anda dapat menggunakan penilai toksisitas offline besar untuk memberi label pada data pelatihan. Kemudian, Anda dapat menggunakan data pelatihan tersebut untuk menyaring model penghitung toksisitas yang cukup kecil untuk ditayangkan dan menangani traffic live.

Model pengajar terkadang dapat memberikan lebih banyak data berlabel daripada yang digunakan untuk melatihnya. Atau, model pengajar dapat menyalurkan skor numerik, bukan label biner, ke model siswa. Skor numerik memberikan sinyal pelatihan yang lebih kaya daripada label biner, sehingga model siswa tidak hanya dapat memprediksi class positif dan negatif, tetapi juga class batas.

Rekayasa perintah

Prompt engineering memungkinkan pengguna akhir LLM menyesuaikan output model. Artinya, pengguna akhir menjelaskan bagaimana LLM harus merespons perintah mereka.

Manusia belajar dengan baik dari contoh. Begitu juga dengan LLM. Menampilkan satu contoh ke LLM disebut one-shot prompting. Misalnya, Anda ingin model menggunakan format berikut untuk menghasilkan kelompok buah:

Pengguna memasukkan nama buah: LLM menghasilkan class buah tersebut.

Perintah one-shot menampilkan satu contoh format sebelumnya kepada LLM, lalu meminta LLM untuk menyelesaikan kueri berdasarkan contoh tersebut. Misalnya:

peach: drupe
apple: ______

Terkadang, satu contoh sudah cukup. Jika demikian, LLM akan menghasilkan prediksi yang berguna. Misalnya:

apple: pome

Dalam situasi lain, satu contoh saja tidak cukup. Artinya, pengguna harus menampilkan beberapa contoh LLM. Misalnya, perintah berikut berisi dua contoh:

plum: drupe
pear: pome
lemon: ____

Memberikan beberapa contoh disebut few-shot prompting. Anda dapat menganggap dua baris pertama perintah sebelumnya sebagai contoh pelatihan.

Dapatkah LLM memberikan prediksi yang berguna tanpa contoh (perintah zero-shot)? Terkadang, tetapi LLM menyukai konteks. Tanpa konteks, perintah zero-shot berikut mungkin menampilkan informasi tentang perusahaan teknologi, bukan buah:

apple: _______

Inferensi offline

Jumlah parameter dalam LLM terkadang begitu besar sehingga inferensi online terlalu lambat untuk menjadi praktis bagi tugas dunia nyata seperti regresi atau klasifikasi. Akibatnya, banyak tim engineer mengandalkan inferensi offline (juga dikenal sebagai inferensi massal atau inferensi statis). Dengan kata lain, alih-alih merespons kueri pada waktu penayangan, model terlatih membuat prediksi terlebih dahulu, lalu meng-cache prediksi tersebut.

Tidak masalah jika LLM memerlukan waktu lama untuk menyelesaikan tugasnya jika LLM hanya perlu melakukan tugas tersebut seminggu sekali atau sebulan sekali.

Misalnya, Google Penelusuran menggunakan LLM untuk melakukan inferensi offline guna menyimpan dalam cache daftar lebih dari 800 sinonim untuk vaksin Covid dalam lebih dari 50 bahasa. Google Penelusuran kemudian menggunakan daftar yang di-cache untuk mengidentifikasi kueri tentang vaksin dalam traffic live.

Menggunakan LLM secara bertanggung jawab

Seperti bentuk machine learning lainnya, LLM umumnya memiliki bias:

  • Data yang digunakan untuk melatihnya.
  • Data yang digunakan untuk memisahkannya.

Gunakan LLM secara adil dan bertanggung jawab, dengan mengikuti panduan yang disajikan dalam modul data dan Modul keadilan.

Latihan: Periksa pemahaman Anda

Manakah dari pernyataan berikut yang benar tentang LLM?
Seiring pengguna melakukan lebih banyak rekayasa perintah, jumlah parameter dalam LLM akan bertambah.
LLM yang distilasi berisi lebih sedikit parameter daripada model bahasa dasar tempatnya berasal.
LLM yang disesuaikan dengan baik berisi lebih sedikit parameter daripada model bahasa dasar tempatnya dilatih.