LLM: Fine-tuning, distilasi, dan Prompt Engineering

Unit sebelumnya menjelaskan LLM tujuan umum, dengan berbagai yang dikenal sebagai:

  • LLM fondasi
  • LLM dasar
  • LLM terlatih

LLM dasar dilatih menggunakan natural language yang cukup untuk "mengetahui" hal yang luar biasa tata bahasa, kata, dan idiom. Model bahasa dasar dapat menghasilkan kalimat yang bermanfaat tentang topik yang menjadi bahan latihan. Selain itu, LLM dasar dapat melakukan tugas-tugas tertentu yang secara tradisional disebut "kreatif", seperti menulis puisi. Namun, teks generatif LLM yayasan output bukanlah solusi untuk jenis masalah ML umum lainnya, seperti regresi atau klasifikasi. Untuk kasus penggunaan ini, LLM dasar dapat melayani sebagai platform, bukan solusi.

Mengubah LLM dasar menjadi solusi yang memenuhi persyaratan memerlukan proses yang disebut fine-tuning. Proses sekunder yang disebut distilasi menghasilkan versi yang lebih kecil (lebih sedikit parameter) dari model transformer.

Fine tuning

Penelitian menunjukkan bahwa kemampuan pengenalan pola pada model bahasa sangat canggih sehingga terkadang memerlukan sedikit pelatihan tambahan untuk mempelajari tugas-tugas spesifik. Pelatihan tambahan itu membantu model membuat prediksi yang lebih baik untuk tugas tertentu. Pelatihan tambahan ini, yang disebut fine-tuning, membuka sisi praktis LLM.

Fine-tuning melatih contoh spesifik untuk tugas yang diterapkan aplikasi Anda berjalan. Terkadang engineer dapat menyesuaikan LLM dasar hanya dengan beberapa ratusan atau beberapa ribu contoh pelatihan.

Meskipun contoh pelatihan dalam jumlah relatif kecil, fine-tuning standar biaya komputasi sering kali mahal. Hal itu karena fine-tuning standar melibatkan memperbarui bobot dan bias setiap parameter pada setiap Iterasi propagasi mundur. Untungnya, proses yang lebih cerdas yang disebut parameter-efficient penyesuaian dapat menyesuaikan LLM dengan menyesuaikan hanya subset parameter pada setiap iterasi propagasi mundur.

Prediksi model yang sudah di-fine-tune biasanya lebih baik daripada LLM dasar terhadap prediksi yang di-output oleh model. Namun, model yang di-fine-tune berisi jumlah parameter sebagai LLM dasar. Jadi, jika LLM yayasan berisi sepuluh miliar maka versi yang sudah di-fine-tune juga akan berisi sepuluh miliar parameter.

Distilasi

Sebagian besar LLM yang telah di-fine-tune berisi parameter dalam jumlah yang sangat besar. Oleh karena itu, LLM dasar membutuhkan sumber daya 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 didistilasi menghasilkan prediksi jauh lebih cepat dan membutuhkan lebih sedikit sumber daya komputasi dan lingkungan dibandingkan LLM lengkap. Namun, prediksi model yang disaring umumnya tidak sebaik prediksi LLM aslinya. Perlu diingat bahwa LLM dengan hampir selalu menghasilkan prediksi yang lebih baik daripada LLM dengan parameter.

Rekayasa perintah

Prompt Engineering memungkinkan pengguna akhir LLM untuk 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 kepada LLM disebut one-shot prompting. Misalnya, Anda ingin model menggunakan format berikut untuk menghasilkan output keluarga buah:

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

Prompt one-shot menunjukkan LLM satu contoh dari format sebelumnya dan kemudian meminta LLM untuk menyelesaikan kueri berdasarkan contoh tersebut. Misalnya:

peach: drupe
apple: ______

Satu contoh terkadang sudah cukup. Jika ya, LLM akan menghasilkan output prediksi. Misalnya:

apple: pome

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

plum: drupe
pear: pome
lemon: ____

Memberikan beberapa contoh disebut few-shot prompting. Anda dapat menganggap dua baris pertama dari {i>prompt<i} sebelumnya sebagai pelatihan contoh.

Dapatkah LLM memberikan prediksi yang berguna tanpa contoh (zero-shot pembuatan perintah)? Kadang-kadang, tapi LLM seperti konteks. Tanpa konteks, perintah {i> zero-shot<i} berikut ini mungkin memberikan informasi tentang perusahaan teknologi dan bukan buahnya:

apple: _______

Inferensi offline

Jumlah parameter dalam LLM terkadang sedemikian inferensi online yang besar terlalu lambat untuk dijalankan pada tugas di dunia nyata seperti regresi atau Klasifikasi kalimat tunggal, Akibatnya, banyak tim teknik mengandalkan inferensi offline (juga (dikenal sebagai inferensi massal atau inferensi statis). Dengan kata lain, alih-alih merespons kueri pada waktu inferensi, model terlatih membuat prediksi terlebih dahulu, lalu meng-cache prediksi tersebut.

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

Misalnya, Google Penelusuran menggunakan LLM melakukan inferensi offline untuk meng-cache daftar yang berisi 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 langsung.

Menggunakan LLM secara bertanggung jawab

Seperti semua bentuk machine learning, LLM umumnya memiliki bias yang sama antara:

  • Data yang digunakan untuk melatih mereka.
  • Data yang digunakan untuk penyaringan.

Menggunakan LLM secara adil dan bertanggung jawab sesuai dengan pelajaran yang disajikan sebelumnya dalam materi ini.

Latihan: Memeriksa pemahaman Anda

Manakah dari pernyataan berikut yang benar tentang LLM?
LLM yang disaring berisi lebih sedikit parameter daripada LLM yayasan dari model bahasa besar tersebut.
Ya, distilasi mengurangi jumlah parameter.
LLM yang disesuaikan berisi lebih sedikit parameter daripada LLM dasar yang menjadi bahan pelatihan model ini.
Model yang di-fine-tune berisi jumlah parameter yang sama dengan model bahasa dasar aslinya.
Saat pengguna melakukan lebih banyak rekayasa perintah, jumlah parameter LLM terus bertambah.
Engineering perintah tidak menambahkan (atau menghapus atau mengubah) LLM parameter.