Diterbitkan: 5 April 2024
Kontributor: Dave Bergmann
Penyetelan instruksi adalah teknik untuk menyetel model bahasa besar (LLM ) pada kumpulan data berlabel prompt instruksional dan output yang sesuai. Teknik ini meningkatkan kinerja model, tidak hanya pada tugas-tugas tertentu, tetapi juga dalam mengikuti instruksi secara umum, sehingga membantu mengadaptasikan model yang sudah dilatih untuk penggunaan praktis.
Penyetelan instruksi adalah bagian dari kategori yang lebih luas dari teknik penyetelan yang digunakan untuk mengadaptasi model dasar yang sudah dilatih sebelumnya untuk tugas-tugas hilir. Model dasar dapat disetel untuk berbagai tujuan, mulai dari penyesuaian gaya hingga melengkapi pengetahuan inti dan kosa kata dari model yang telah dilatih sebelumnya hingga mengoptimalkan kinerja untuk contoh penggunaan tertentu. Meskipun tidak eksklusif untuk domain atau arsitektur model kecerdasan buatan tertentu, penyetelan telah menjadi bagian integral dari siklus hidup LLM. Sebagai contoh, rangkaian model Llama 2 dari Meta ditawarkan (dalam berbagai ukuran) sebagai model dasar, sebagai varian yang disetel untuk dialog (Llama-2-chat) dan sebagai varian yang disetel untuk pengkodean (Code Llama).
Penyetelan instruksi tidak saling eksklusif dengan teknik penyetelan lainnya. Sebagai contoh, model obrolan sering kali menjalani penyetelan instruksi dan pembelajaran penguatan dari masukan manusia (RLHF), sebuah teknik penyetelan yang bertujuan untuk meningkatkan kualitas abstrak seperti sifat suka menolong dan kejujuran; model yang disetel untuk pengkodean sering kali menjalani penyetelan instruksi (untuk mengoptimalkan respons secara luas untuk mengikuti instruksi) dan penyetelan tambahan pada data khusus pemrograman (untuk menambah pengetahuan model tentang sintaksis pengkodean dan kosakata).
Meskipun asal usul LLM dapat ditelusuri kembali ke makalah “Attention is All You Need” tahun 2017 yang memperkenalkan model transformer skala besar ke tugas pemrosesan bahasa alami (NLP) , penggabungan penyetelan instruksi dan RLHF—didorong oleh makalah berpengaruh dari Google (pada tahun 2021)1 dan OpenAI (pada tahun 2022),2 masing-masing—menghasilkan LLM modern yang memulai era AI generatif saat ini dengan peluncuran ChatGPT.
Pelajari tentang hambatan adopsi AI, terutama kurangnya tata kelola AI dan solusi manajemen risiko.
Daftar untuk mendapatkan panduan tentang model dasar
Kegunaan penyetelan instruksi, seperti kebanyakan teknik penyetelan, terletak pada fakta bahwa LLM yang telah dilatih sebelumnya tidak dioptimalkan untuk percakapan atau mengikuti instruksi. Secara harfiah, LLM tidak menjawab perintah: mereka hanya menambahkan teks ke dalamnya. Penyetelan instruksi membantu membuat teks yang ditambahkan lebih berguna.
Proses pra-pelatihan untuk model bahasa autoregresif—LLM yang digunakan untuk menghasilkan teks, seperti Llama 2 dari Meta, GPT dari OpenAI, Gemini dari Google, atau Granite dari IBM—mengoptimalkan LLM ini untuk secara sederhana memprediksi kata berikutnya dalam urutan yang diberikan sampai selesai.
LLMs dilatih sebelumnya menggunakan pembelajaran yang diawasi sendiri pada korpus yang besar dari konten tertulis. Dalam pra-pelatihan, model autoregresif diberikan awal sampel teks dan berulang kali ditugaskan untuk memprediksi kata berikutnya dalam urutan hingga akhir kutipan. Untuk setiap prediksi, kata berikutnya dari contoh kalimat asli berfungsi sebagai “kebenaran dasar.” Melalui algoritma pengoptimalan seperti penurunan gradien yang secara berulang menyesuaikan parameter model—berbagai bobot dan bias yang diterapkan pada operasi matematika yang terjadi di setiap node dalam Neural Networks —dengan cara yang membawa prediksi model lebih dekat ke teks asli, model “mempelajari” pola linguistik dalam data pelatihannya (dan, selanjutnya, “pengetahuan” yang disampaikan dalam pola linguistik tersebut).
Meskipun proses pra-pelatihan ini memberikan kemampuan yang mengesankan untuk menghasilkan teks yang koheren secara linguistik, tetapi hal ini tidak selalu selaras dengan kinerja model dalam memenuhi kebutuhan praktis pengguna. Tanpa penyetelan, model dasar mungkin merespons prompt "ajari saya cara memanggang roti" dengan "di oven rumah." Respons ini tepat secara tata bahasa untuk melengkapi kalimat perintahnya, tetapi tidak sesuai dengan keinginan pengguna.
Namun demikian, pra-pelatihan LLM untuk tujuan tertentu (seperti mengikuti instruksi) tidaklah praktis. Kata "besar" dalam "model bahasa besar" mengacu pada fakta bahwa model-model ini sering kali memiliki miliaran parameter: melatih model-model besar ini dari awal membutuhkan banyak sekali energi, waktu, sumber daya komputasi, dan data pelatihan. Sebaliknya, menyetel LLM yang sudah terlatih membutuhkan data yang jauh lebih sedikit dan, terutama ketika menggunakan metode parameter efficient fine-tuning (PEFT) seperti partial fine-tuning atau low rank adaptation (LoRA), yang hanya membutuhkan sebagian kecil dari tuntutan komputasi.
Meskipun penyetelan dapat dicapai melalui hampir semua paradigma machine learning, termasuk pembelajaran penguatan, pembelajaran semi diawasi, atau pembelajaran mandiri tambahan, penyetelan instruksi memerlukan pembelajaran yang diawasi pada pasangan berlabel(input, output). Yang membedakan penyetelan instruksi dari bentuk penyetelan yang diawasi (SFT) lainnya adalah bahwa sampel input dalam kumpulan data instruksi seluruhnya terdiri dari tugas-tugas yang menyerupai permintaan yang mungkin dibuat pengguna dalam prompt mereka; output menunjukkan respons yang diinginkan terhadap permintaan tersebut. Dalam menyesuaikan bobot model agar output LLM menyerupai contoh dalam kumpulan data instruksi, LLM "belajar" merespons prompt seperti "ajari saya cara memanggang roti" dengan menambahkan teks yang berisi saran aktual untuk memanggang roti.
Dengan demikian, penyetelan instruksi membantu menjembatani kesenjangan antara tujuan dasar model—prediksi kata berikutnya—dan tujuan pengguna agar model mengikuti instruksi dan melakukan tugas-tugas tertentu. Hal ini membuat perilaku model lebih berguna dan dapat diprediksi.
Melakukan penyetelan LLM pada kumpulan data berlabel dari beragam tugas mengikuti instruksi menghasilkan kemampuan yang lebih baik untuk mengikuti instruksi secara umum, sehingga mengurangi jumlah informasi dalam konteks yang diperlukan untuk mendapatkan prompt yang efektif. Kumpulan data instruksi dapat dibuat oleh manusia atau dihasilkan oleh LLM lain.
Seperti yang diartikulasikan dalam makalah Google Research 2022 yang berpengaruh, “Finetuned Language Models are Zero-Shot Learners,” tujuan penyetelan instruksi adalah untuk meningkatkan kemampuan LLM untuk menanggapi instruksi NLP. Untuk melakukannya, penyetelan instruksi “memadukan aspek-aspek yang menarik dari paradigma pretrain-finetune dan prompting.” Intinya, dengan menggabungkan prinsip-prinsip rekayasa prompt secara organik ke dalam penyetelan yang diawasi, penyetelan instruksi mengurangi jumlah rekayasa prompt dan contoh few-shot yang diperlukan untuk mendapatkan respons yang berguna dan akurat dari model yang disetel dengan baik.1
Setiap sampel pelatihan dalam kumpulan data instruksi terdiri dari tiga elemen:
Makalah Google mencatat bahwa varian yang disetel dengan instruksi dari model LaMDA-PT mereka, yang dijuluki FLAN (singkatan dari Finetuned Language Net), mengalami peningkatan terbesar pada tugas-tugas yang secara alami diartikulasikan sebagai instruksi, seperti penerjemahan, menjawab pertanyaan, pemahaman bacaan, dan inferensi bahasa alamiah (NLI) - tugas untuk menentukan apakah “hipotesis” yang diberikan dapat diikuti secara logis dari “premis” yang diberikan.
Untuk menjelaskan hal ini, makalah FLAN mencatat pengamatan yang dilakukan oleh Brown, dkk dalam makalah penelitian yang dirilis untuk model GPT-3 asli pada tahun 2020: salah satu penjelasan mengapa LLM yang telah dilatih sebelumnya (tanpa penyetelan tambahan) kesulitan dengan tugas-tugas seperti NLI adalah karena paragraf yang menyerupai tugas NLI pada umumnya tidak mungkin muncul secara alami dalam korpus data tanpa label yang digunakan untuk pelatihan awal yang diawasi secara mandiri.3 Sebaliknya, untuk tugas-tugas yang lebih mirip dengan tujuan pemodelan bahasa langsung dari pra-pelatihan—seperti tugas penalaran akal sehat yang pada akhirnya mengharuskan model untuk menyelesaikan kalimat dengan benar—sebagian besar instruksi adalah redundan (dan dengan demikian penyetelan instruksi memberikan lebih sedikit manfaat).
Mungkin yang paling penting, makalah ini menunjukkan bahwa menambahkan tugas tambahan ke dalam kumpulan data penyetelan instruksi meningkatkan kinerja model penyetelan instruksi bahkan pada tugas-tugas baru yang tidak terwakili dalam kumpulan data instruksi. Di situlah letak manfaat mendasar dari penyetelan instruksi: peningkatan menyeluruh dalam kemampuan model untuk mengikuti instruksi secara umum.
Makalah FLAN juga menyertakan studi ablasi yang mengeksplorasi apakah manfaat nyata dari penyetelan instruksi disebabkan oleh instruksi itu sendiri atau hanya disebabkan oleh penyempurnaan model pada beberapa tugas NLP. Untuk menguji peran instruksi dalam penyetelan, studi ablasi menyetel model dasar pada tiga pengaturan yang berbeda:
Studi ablasi kemudian mengukur hasil dari setiap model bahasa yang disetel dengan serangkaian tugas yang mengikuti instruksi zero-shot. Model yang disetel dengan instruksi mencapai akurasi lebih dari 18% lebih baik daripada model "tanpa templat" dan lebih dari 8% lebih besar daripada model "nama kumpulan data". Ini menunjukkan bahwa pelatihan dengan instruksi itu sendiri sangat penting untuk meningkatkan kinerja zero-shot pada tugas-tugas yang belum pernah ditemui.
Pembuatan prompt Chain-of-thought (CoT) meminta LLM untuk tidak hanya menjawab pertanyaan tetapi juga menghasilkan alasan tentang bagaimana LLM sampai pada sebuah jawaban. Ini dapat dicapai melalui prompting dengan beberapa contoh dengan penalaran berurutan, atau hanya dengan menambahkan "think step by step" ke akhir prompt. Penelitian telah menunjukkan bahwa pembuatan prompt CoT secara signifikan meningkatkan kemampuan zero-shot dari model besar di berbagai tugas aritmatika, penalaran simbolis, dan penalaran logis lainnya.5 Wei, dkk menemukan bahwa penyetelan instruksi yang tidak menyertakan tugas CoT dalam kumpulan data instruksi secara signifikan menurunkan kinerja model pada evaluasi CoT—sementara menambahkan kumpulan data CoT meningkatkan kinerja pada semua evaluasi.6
Selain itu, penelitian mereka menemukan bahwa penyetelan instruksi pada tugas-tugas CoT—baik dengan maupun tanpa contoh yang sedikit—meningkatkan kemampuan model untuk melakukan penalaran CoT dalam pengaturan zero-shot. Pemahaman intuitif dari manfaat ini adalah bahwa melalui penyetelan yang baik untuk menyelesaikan masalah dalam langkah-langkah logis daripada melompat ke jawaban yang hanya tampak koheren secara linguistik, model belajar untuk lebih baik dalam menghasilkan dan menerapkan keterampilan penalaran mereka sendiri.
Sejumlah kumpulan data ada untuk tujuan penyetelan instruksi LLM, dan banyak di antaranya adalah sumber terbuka. Kumpulan data ini dapat terdiri dari pasangan bahasa alami (instruksi, output) yang ditulis secara langsung (atau dikumpulkan), menggunakan templat untuk mengubah kumpulan data beranotasi yang sudah ada menjadi instruksi, atau bahkan menggunakan LLM lain untuk menghasilkan contoh.
Meskipun pembuatan pasangan(instruksi, output) secara langsung sangat mudah, ini adalah proses membutuhkan banyak tenaga kerja yang pada akhirnya membutuhkan banyak waktu dan biaya. Berbagai metode telah diusulkan untuk mengubah kumpulan data bahasa alami menjadi instruksi, biasanya dengan menerapkan templat. Peluncuran beberapa kumpulan data sumber terbuka yang dibuat oleh manusia telah membantu membiayai biaya penyetelan data organik.
Kumpulan data instruksi buatan manusia sumber terbuka yang ternama meliputi:
Termotivasi oleh jumlah biaya dan tenaga kerja yang sangat besar yang diperlukan untuk menghasilkan instruksi dan target output secara manual, banyak kumpulan data instruksi menggunakan respons LLM yang lebih besar untuk menghasilkan perintah, output, atau keduanya. Penggunaan kumpulan data yang dihasilkan LLM sering kali memiliki efek tambahan dalam mengajarkan model yang lebih kecil untuk meniru perilaku model yang lebih besar, terkadang dalam dinamika pengajar/pembelajar yang disengaja.
Seiring dengan meningkatnya kekuatan LLM, utilitas kumpulan data penyetelan instruksi yang dihasilkan LLM juga meningkat. Makalah tahun 2023 mereplikasi paradigma penyetelan Alpaca—yang menyempurnakan LLaMA pada instruksi yang dihasilkan InstructGPT—sambil mengulangi proses secara paralel menggunakan GPT-4 untuk menghasilkan instruksi. Model yang dihasilkan, yang mereka beri nama LLaMA-GPT4, secara signifikan mengungguli skor "Helpfulness" yang setara dengan Alpaca dan hampir menyamai GPT-4 itu sendiri dalam ukuran "Helpfulness," "Honesty" dan "Harmlessness."11
Meskipun teknik penyetelan instruksi telah menghasilkan kemajuan penting dalam LLM, masih banyak pekerjaan yang harus dilakukan untuk mendiversifikasi kumpulan data penyetelan instruksi dan menjelaskan manfaatnya secara lengkap.
Tantangan utama dalam penyetelan instruksi adalah pembuatan instruksi berkualitas tinggi untuk digunakan dalam penyetelan. Sumber daya yang diperlukan untuk membuat dataset instruksi yang cukup besar telah membuat instruksi terpusat pada beberapa kumpulan data sumber terbuka, yang dapat berdampak pada penurunan keragaman model. Meskipun penggunaan LLM yang lebih besar dan berpemilik untuk menghasilkan instruksi telah membantu mengurangi biaya, hal ini memiliki potensi kerugian yaitu memperkuat bias dan kekurangan LLM berpemilik di seluruh spektrum LLM sumber terbuka. Masalah ini diperparah dengan fakta bahwa model yang dipatenkan sering kali, dalam upaya untuk menghindari bias intrinsik peneliti manusia, digunakan untuk mengevaluasi kinerja model yang lebih kecil.
Pada tingkat teknis, beberapa peneliti telah menyuarakan keprihatinan bahwa menggunakan model yang lebih besar untuk memperbaiki model yang lebih kecil, dapat membantu model yang lebih kecil meniru gaya model yang lebih besar, tetapi tidak pada tingkat fungsionalitas yang sesungguhnya. Sebuah studi empiris pada tahun 2023 menunjukkan bahwa banyak dari peningkatan kinerja yang mengesankan yang diperoleh melalui penyetelan instruksi mungkin berasal dari peniruan pola-pola yang dangkal, ketimbang peningkatan yang lebih nyata dalam penalaran logis.12
Demikian pula, peneliti lain telah menyatakan bahwa beberapa peningkatan yang dilaporkan mungkin agak bergantung pada ketergantungan evaluasi kinerja model yang disetel dengan instruksi pada tugas-tugas yang terlalu terkait erat dengan kumpulan data pelatihan instruksi. Melalui pengujian yang lebih terarah terhadap instruksi model yang disetel dengan cara ini, Gudibande, dkk menyimpulkan bahwa “tindakan yang paling berpengaruh untuk meningkatkan model sumber terbuka adalah dengan mengatasi tantangan yang sulit dalam mengembangkan basis [model bahasa] yang lebih baik, daripada mengambil jalan pintas dengan meniru sistem berpemilik.”13
Anda dapat melatih, memvalidasi, menyetel, dan menerapkan AI generatif, model dasar, dan kemampuan machine learning dengan mudah serta membangun aplikasi AI dalam waktu yang singkat dengan data yang sedikit.
Studio AI watsonx menawarkan perpustakaan model dasar tingkat perusahaan yang hemat biaya yang dikembangkan oleh IBM, model sumber terbuka, dan model yang bersumber dari penyedia pihak ketiga untuk membantu klien dan mitra dengan cepat menskalakan dan mengoperasionalkan AI generatif dengan risiko minimal.
Granite adalah seri unggulan IBM dari model dasar LLM berdasarkan arsitektur transformator khusus dekoder. Model bahasa Granite dilatih pada data perusahaan tepercaya yang mencakup data internet, akademis, kode, hukum, dan keuangan.
Pelajari tentang operasi model bahasa besar (LLMOps): praktik dan alur kerja khusus yang mempercepat pengembangan, penerapan, dan pengelolaan model AI di seluruh siklus hidupnya.
Pelajari cara, alasan, dan waktu yang tepat untuk melakukan tuning model dasar di watsonx.ai dengan rangkaian tutorial dan panduan video ini.
CATATAN: Semua tautan berada di luar ibm.com.
1 "Finetuned Language Models Are Zero-Shot Learners", Google (via arXiv), 3 September 2021 (terakhir diperbarui 8 Februari 2022).
2 "Aligning language models to follow instructions", OpenAI, 27 Januari 2022.
3 "Language Models are Few-Shot Learners", arXiv, 22 Juli 2020.
4 "WMT 2014", Papers With Code, 27 Juni 2014.
5 "Language Models are Zero-Shot Reasoners", arXiv, 24 Mei 2022 (terakhir direvisi 29 Januari 2023).
6 "Scaling Instruction-Finetuned Language Models", Google (via arXiv), 6 Desember, 2022.
7 "Alpaca: A Strong, Replicable Instruction-Following Model", Stanford Center for Research on Foundation Models, 13 Maret 2023.
8 "WizardLM: Empowering Large Language Models to Follow Complex Instructions", arXiv, 10 Juni 2023.
9 "Vicuna: An Open-Source Chatbot Impressing GPT-4 with 90%* ChatGPT Quality", LMSYS Org, 30 Maret 2023.
10 "Orca: Progressive Learning from Complex Explanation Traces of GPT-4", Microsoft, Juni 2023.
11 "Instruction Tuning with GPT-4", arXiv, 6 April 2023.
12 "Do Models Really Learn to Follow Instructions? An Empirical Study of Instruction Tuning", arXiv, 19 Mei 2023.
13 "The False Promise of Imitating Proprietary LLMs", arXiv, 25 Mei 2023.