Oleh Charles Foster
Di Finetune, kami membangun solusi AI untuk mengatasi beberapa masalah paling menantang dalam teknologi pendidikan, termasuk generasi konten otomatis dan klasifikasi serta rekomendasi sumber belajar yang didukung AI. Karena materi yang harus ditangani oleh alat kami mencakup dari K-12 hingga pengembangan tenaga kerja, kami berinvestasi besar-besaran dalam metode yang memungkinkan kami untuk meningkatkan cakupan dan kedalaman dari apa yang dicakup oleh model kami. Komponen kunci dari pendekatan ini adalah metode fleksibel untuk melatih jaringan saraf khusus di domain di mana model umum tidak memadai. Dalam posting blog ini, saya ingin berbagi sedikit perjalanan kami menjelajahi metode-metode ini.
Penyempurnaan
Penyempurnaan tipikal dari model bahasa neural melibatkan pengoptimalan semua parameter yang dapat dilatih secara bersamaan, yang dapat mencapai miliaran untuk jaringan seperti GPT-J. Pada skala seperti ini, baik proses penyempurnaan maupun inferensi bukanlah hal yang sepele, membuat penerapan secara luas menjadi sulit. Dalam investigasi kami sendiri, beberapa masalah kunci tampaknya menjadi yang paling menonjol:
- Menjalankan model transformer ini sudah mendekati batas memori GPU (VRAM), dan selama penyempurnaan terdapat hubungan langsung antara jumlah parameter yang dioptimalkan dan jumlah memori tambahan yang digunakan.
- Dengan memodifikasi semua parameter dalam jaringan, aliran informasi yang dipelajari selama pra-pelatihan dapat terganggu, yang mengakibatkan lupa dan hilangnya kemampuan few-shot.
- Menyajikan model multi-gigabyte yang disesuaikan untuk setiap kasus penggunaan akan menciptakan latensi dan beban biaya yang tidak dapat diterima.
Kekhawatiran yang digabungkan ini memotivasi kami untuk menjelajahi metode lain dari literatur terbaru untuk menyempurnakan model bahasa neural kami. Untungnya, dalam setahun terakhir, bidang penelitian pemrosesan bahasa alami telah mengembangkan berbagai metode untuk mengurangi biaya kustomisasi perilaku model bahasa yang telah dilatih sebelumnya.
Penyempurnaan Prompt
Pendekatan asli yang kami kejar disebut Penyempurnaan Prompt atau Soft Prompting (Lester et al. 2021). Dalam metode ini, parameter jaringan dari pra-pelatihan tetap dibekukan. Sebagai gantinya, kami menambahkan sejumlah kecil vektor embedding yang dapat dipelajari (biasanya 10 hingga 20) di depan token prompt input, dan menyempurnakan embedding ini dengan tujuan pemodelan bahasa yang biasa pada dataset penyempurnaan. Embedding ini tidak mewakili token bahasa; kita bisa menganggapnya sebagai penyimpanan konteks yang padat yang dapat dikondisikan oleh jaringan—melalui mekanisme perhatian—saat membuat prediksi tentang token dalam urutan tersebut.
Penyempurnaan prompt hanya menambah biaya runtime kecil pada model, karena prompt lunak berada dalam rentang kilobyte dan dapat dijalankan melalui jaringan secara paralel. Fitur-fitur ini membuatnya menarik untuk melayani banyak pengguna secara bersamaan, seperti yang ditunjukkan oleh penerapan terbaru teknik ini dalam cerita AI. Namun, mengintegrasikan prompt lunak ke dalam kerangka kerja populer seperti transformers dari HuggingFace adalah kompleks, karena antarmuka sebagian besar dirancang untuk beroperasi pada urutan indeks token daripada vektor padat. Selain itu, seiring dengan bertambahnya konteks antara prompt lunak dan generasi, kami mulai melihat ketidakseimbangan antara kekuatan pengondisian pada prompt lunak dan pada konteks token. Mempertahankan kemampuan untuk menambahkan ratusan token konteks secara fleksibel pada runtime sangat penting bagi kami, karena memberikan tuas kontrol yang lebih halus dalam proses penulisan item. Jika kami ingin mengarahkan model untuk fokus pada konten dari halaman tertentu dari buku teks, atau untuk menulis item pemahaman bacaan, atau untuk memberikan contoh few-shot, konteks jangka panjang menjadi penting.
Adaptor Peringkat Rendah (LoRA)
Kami kemudian beralih ke metode yang disebut LoRA atau Adaptor Peringkat Rendah (Hu et al. 2021). Teknik ini dikembangkan oleh peneliti di Microsoft yang bekerja pada model berukuran GPT-3, dan dibangun di atas pendekatan adaptor sebelumnya. Jika kita menganggap transformer sebagai secara progresif memperbaiki keadaan laten tokennya dengan setiap lapisan residual, konsep adaptor adalah menambahkan delta kecil yang bergantung pada input (diinisialisasi ke no-op) pada latens tersebut di lapisan tertentu. Dorongan lembut ini kemudian dapat memodulasi perilakunya di hilir dengan, misalnya, menekankan bagian dari input yang relevan dengan tugas.
Adaptor peringkat rendah adalah sejenis adaptor yang menargetkan subruang peringkat rendah, yang mengurangi jumlah parameter baru yang perlu kami latih (dari D2 menjadi 2 × D × r, di mana D berada di ribuan). Seperti pada prompt lunak, kami mempertahankan parameter asli jaringan tetap dibekukan untuk menjaga pengetahuan yang mereka miliki dari pra-pelatihan, dan hanya menyesuaikan parameter adaptor baru ini. Dalam pengujian internal kami, kami telah melihat indikator baik dari LoRA. Selain memungkinkan kami untuk menyempurnakan model besar dengan anggaran perangkat keras kecil, model dengan lapisan adaptor yang tersebar juga mempertahankan banyak kemampuan few-shot asli mereka sambil tetap beradaptasi dengan domain target. Yang penting, mengintegrasikan adaptor peringkat rendah ke dalam kerangka kerja lain adalah sederhana, karena kami dapat dengan mudah mengganti lapisan linier yang ada dengan lapisan linier + adaptor sesuai kebutuhan.
Melangkah Maju
Untuk memberikan gambaran tentang jenis perbaikan yang telah kami lihat dalam eksplorasi kami, di bawah ini kami membagikan sedikit pilihan generasi dari model yang dilatih dengan pendekatan penyempurnaan yang berbeda. Item-item ini semua dihasilkan menggunakan tiga prompt input yang sama yang berkaitan dengan penyampaian perawatan keperawatan: yang pertama berfokus pada memprioritaskan kebutuhan beberapa klien dan yang kedua pada mengambil tindakan dalam pengaturan tim.
Item #1: Seorang perawat sedang menilai seorang klien yang dijadwalkan untuk operasi rawat jalan. Siapa di antara pasien berikut yang akan dinilai perawat selanjutnya? (A) Pasien dengan diabetes tipe 1 (B) Pasien dengan pankreatitis akut (C) Pasien yang memerlukan terapi antibiotik intravena (D) Pasien dengan penyakit Crohn Item #2: Seorang klien dirawat di rumah sakit dengan diagnosis gagal jantung kongestif. Ibu klien menolak perawatan. Tindakan apa yang harus diambil perawat? (A) Memberitahu penyedia tentang situasi tersebut. (B) Memeriksa daftar obat pasien. (C) Memeriksa catatan medis klien. (D) Memberitahu dokter klien tentang kondisi klien.
Item #3: Seorang perawat sedang mengevaluasi seorang pasien di unit pediatri. Klien dijadwalkan untuk pemeriksaan diagnostik, termasuk radiografi dada. Siapa di antara pasien berikut yang harus direncanakan untuk dievaluasi selanjutnya oleh perawat? (A) Seorang anak yang menderita pneumonia dan mengalami demam (B) Seorang anak yang memiliki ruam dan tidak merespons obat (C) Seorang anak yang demam dan memiliki suhu >100.4 (D) Seorang anak yang demam dan memiliki ruam Item #4: Seorang klien dengan gagal ginjal berada di rumah sakit dan dijadwalkan untuk menjalani transplantasi ginjal. Klien memiliki keyakinan yang kuat bahwa ahli bedah transplantasi tidak kompeten. Klien menolak untuk membiarkan dokter dari rumah sakit lain melakukan transplantasi. Tindakan apa yang harus diambil perawat yang bertugas? (A) Mengambil pernyataan dari klien bahwa ahli bedah transplantasi kompeten dan memberikannya kepada ahli bedah transplantasi. (B) Meminta klien untuk pernyataan tertulis untuk mendukung pernyataannya. (C) Menghubungi ahli bedah transplantasi dan mencari tahu mengapa klien menolak untuk membiarkan ahli bedah dari rumah sakit lain melakukan transplantasi. (D) Memberitahu ahli bedah transplantasi bahwa klien menolak transplantasi.
Item #5: Seorang perawat sedang merencanakan untuk menugaskan klien ke berbagai stasiun tempat tidur. Klien mana yang harus ditugaskan perawat ke stasiun tempat tidur terdekat dengan stasiun perawat? (A) Seorang klien yang diduga didiagnosis dengan emboli paru dan memerlukan pemindaian tomografi terkomputerisasi (CT) (B) Seorang klien yang memerlukan bantuan dengan buang air besar (C) Seorang klien yang memiliki indikasi darurat untuk rontgen dada (D) Seorang klien yang memerlukan rontgen dada karena dia batuk Item #6: Seorang LPN merawat klien dengan kateter urin yang terpasang dan meminta perawat untuk membantunya membersihkan kateter. Tindakan apa yang harus diambil perawat? (A) Menjelaskan kepada klien bahwa dia perlu menyediakan larutan pembersih dan perlu mendapatkan persetujuan klien untuk prosedur tersebut. (B) Meminta bantuan dari LPN. (C) Menawarkan untuk membantu klien membersihkan kateter. (D) Menjamin kepada LPN bahwa perawat akan membantunya.
Kami dapat mengamati bahwa, sementara item terbaik dari model dasar sebagian besar fasih dan koheren secara logis, mereka cenderung kurang terikat (seperti pada #1) atau membutuhkan sangat sedikit pengetahuan tentang domain keperawatan (seperti pada #3). Dibandingkan dengan item dasar, item dari model penyempurnaan prompt dan adaptor peringkat rendah mengandung detail yang lebih besar dalam rangkaian, batang, dan opsi mereka. Materi yang dibahas relevan dengan domain, memerlukan pengetahuan spesifik dalam manajemen perawatan keperawatan daripada hanya bergantung pada pengetahuan latar belakang. Selain itu, item dari model adaptor peringkat rendah memiliki bentuk yang lebih konsisten. Misalnya, item secara konsisten merujuk pada “klien” alih-alih “pasien”, sesuai dengan bahasa yang kemungkinan besar akan muncul dalam penilaian (bandingkan #5 dengan #1 dan #3). Ini juga berhasil melacak referensi ke banyak individu dalam suatu skenario (bandingkan #6 dengan #4).
Perbaikan dalam cakupan domain, konsistensi gaya, dan koherensi logis dapat diterjemahkan menjadi peningkatan signifikan dalam kegunaan model bahasa neural. Ini baru permulaan: seiring teknologi ini berkembang, semakin banyak metode akan ditemukan untuk menciptakan model bahasa alami yang disesuaikan dan dapat dikendalikan dalam skala besar. Dan saat metode tersebut ditemukan, kami akan terus memasukkan yang terbaik dari akademisi, industri, dan penelitian independen ke dalam produk Finetune.
Terima kasih yang tulus kepada Nick Koprowicz, Jesse Hamer, Saad Khan, dan Ogden Morse atas umpan balik yang baik dan membantu dalam pengembangan posting blog ini.
Referensi
Hu, E. J., Shen, Y., Wallis, P., Allen-Zhu, Z., Li, Y., Wang, S., … & Chen, W. (2021). Lora: Adaptasi peringkat rendah dari model bahasa besar. arXiv preprint arXiv:2106.09685.
Lester, B., Al-Rfou, R., & Constant, N. (2021). Kekuatan skala untuk penyempurnaan prompt yang efisien parameter. arXiv preprint arXiv:2104.08691.