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 menggunakan bahasa alami yang cukup untuk "mengenali" tata bahasa, kata, dan idiom. Model bahasa dasar dapat menghasilkan kalimat yang bermanfaat tentang topik yang digunakan untuk melatihnya. 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.

Untuk mengubah LLM dasar menjadi solusi yang memenuhi kebutuhan aplikasi, diperlukan proses yang disebut fine-tuning. 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 untuk tugas tertentu. Pelatihan tambahan ini, yang disebut penyesuaian, akan membuka sisi praktis LLM.

Penyesuaian akan melatih contoh yang spesifik untuk tugas yang akan dilakukan aplikasi Anda. Terkadang engineer 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 meningkatkan kualitas LLM dengan hanya menyesuaikan subset parameter pada setiap iterasi propagasi mundur.

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 yang sangat 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 disaring umumnya tidak sebagus prediksi LLM asli. Ingat bahwa LLM dengan lebih banyak parameter hampir selalu menghasilkan prediksi yang lebih baik daripada LLM dengan parameter yang lebih sedikit.

Rekayasa perintah

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

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

Pengguna memasukkan nama buah: LLM menghasilkan output dari class buah tersebut.

Perintah one-shot menunjukkan kepada LLM satu contoh dari format sebelumnya, 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 daftar yang berisi lebih dari 800 sinonim vaksin Covid dalam lebih dari 50 bahasa ke dalam cache. Google Penelusuran kemudian menggunakan daftar yang di-cache untuk mengidentifikasi kueri tentang vaksin dalam traffic langsung.

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 sesuai dengan pelajaran yang disajikan sebelumnya dalam kursus ini.

Latihan: Periksa pemahaman Anda

Manakah dari pernyataan berikut yang benar tentang LLM?
LLM yang distilasi berisi lebih sedikit parameter daripada model bahasa dasar tempatnya berasal.
Ya, distilasi mengurangi jumlah parameter.
LLM yang disesuaikan dengan baik berisi lebih sedikit parameter daripada model bahasa dasar tempatnya dilatih.
Model yang disesuaikan berisi jumlah yang sama parameter dengan model bahasa dasar asli.
Seiring pengguna melakukan lebih banyak rekayasa perintah, jumlah parameter dalam LLM akan bertambah.
Prompt Engineering tidak menambahkan (atau menghapus atau mengubah) parameter LLM.