Model Bahasa Besar (LLM) telah menunjukkan kelebihan yang luar biasa dalam menyelesaikan tugasan baharu dengan data teks yang terhad. Walau bagaimanapun, walaupun demikian, mereka mempunyai batasan dalam cara lain, seperti:
Cara menggunakan model besar untuk menyelesaikan lebih banyak masalah ? Dalam artikel "Tafsiran TaskMatrix.AI", TaskMatrix.AI ialah gabungan Toolformer dan chatGPT, menghubungkan model asas dengan berjuta-juta API untuk menyelesaikan tugasan. Jadi, apakah itu Toolformer?
Toolformer ialah model sumber terbuka baharu Meta yang boleh menyelesaikan masalah yang memerlukan penggunaan API, seperti kalkulator, carian Wikipedia, carian kamus, dsb. Toolformer menyedari bahawa ia mesti menggunakan alat, menentukan alat yang hendak digunakan dan cara menggunakan alat tersebut. Kes penggunaan untuk Toolformers mungkin tidak berkesudahan, daripada menyediakan hasil carian segera untuk sebarang soalan, kepada maklumat kontekstual, seperti restoran terbaik di bandar.
Apakah itu Toolformer? Pendek kata, Toolformer ialah model bahasa yang boleh mengajar dirinya sendiri cara menggunakan alatan.
Toolformer adalah berdasarkan model GPT-J yang telah dilatih dengan 6.7 bilion parameter, dilatih menggunakan kaedah pembelajaran yang diselia sendiri. Pendekatan ini melibatkan pensampelan dan penapisan panggilan API untuk menambah set data teks sedia ada.
Toolformer berharap dapat menyelesaikan tugas pembelajaran kendiri LLM cara menggunakan alatan melalui dua keperluan berikut:
Imej berikut menunjukkan ramalan Toolformer (cth. panggilan API yang dibenamkan dalam sampel data):
Ciri teras dalam ChatGPT ialah pembelajaran berasaskan konteks (Pembelajaran Dalam Konteks), yang merujuk kepada kaedah pembelajaran mesin di mana model dipersembahkan daripada konteks atau persekitaran tertentu Belajar daripada contoh. Matlamat pembelajaran kontekstual adalah untuk meningkatkan keupayaan model untuk memahami dan menjana bahasa yang sesuai untuk konteks atau situasi tertentu. Dalam tugas pemprosesan bahasa semula jadi (NLP), model bahasa boleh dilatih untuk menjana respons kepada gesaan atau soalan tertentu. Jadi, bagaimanakah Toolformer memanfaatkan Pembelajaran Dalam Konteks?
Toolformer ialah model bahasa besar yang membolehkan penggunaan alat yang berbeza melalui panggilan API. Input dan output setiap panggilan API perlu diformatkan sebagai urutan teks/perbualan untuk mengalir secara semula jadi dalam sesi.
Seperti yang anda boleh lihat daripada imej di atas, Toolformer mula-mula memanfaatkan keupayaan pembelajaran kontekstual model untuk mencuba sejumlah besar panggilan API yang berpotensi.
Laksanakan panggilan API ini dan semak sama ada respons yang diperoleh boleh membantu meramalkan token pada masa hadapan dan digunakan sebagai penapis. Selepas penapisan, panggilan API ke alat yang berbeza dibenamkan ke dalam sampel data mentah, menghasilkan set data yang dipertingkat yang modelnya diperhalusi.
Khususnya, imej di atas menunjukkan model yang menyelesaikan tugasan ini menggunakan alat soal jawab:
Oleh itu, LM menganotasi sejumlah besar data menggunakan panggilan API yang dibenamkan dalam teks, dan kemudian menggunakan panggilan API ini untuk memperhalusi LM untuk membuat panggilan API yang berguna. Beginilah cara latihan yang diselia sendiri berfungsi, dan faedah pendekatan ini termasuk:
Toolformer kemudian belajar untuk meramalkan alat yang akan digunakan untuk setiap tugasan.
Rajah berikut menunjukkan bahawa input pengguna yang diberikan, Toolformer menggunakan dan untuk mewakili permulaan dan akhir panggilan API. Menulis gesaan untuk setiap API menggalakkan Pembentuk Alat untuk menganotasi contoh dengan panggilan API yang berkaitan.
Toolformer memberikan kebarangkalian kepada setiap token sebagai kemungkinan kesinambungan urutan yang diberikan. Kaedah ini mengambil sampel sehingga k kedudukan calon untuk panggilan API dengan mengira kebarangkalian yang diberikan oleh ToolFormer untuk memulakan panggilan API pada setiap kedudukan dalam jujukan. Kedudukan dengan kebarangkalian lebih besar daripada ambang tertentu disimpan, dan untuk setiap kedudukan, sehingga m panggilan API diperolehi dengan pensampelan daripada Pembentuk Alat menggunakan jujukan yang diawali dengan panggilan API dan diakhiri dengan penanda akhir jujukan.
Pelaksanaan panggilan API bergantung sepenuhnya pada klien yang melaksanakan panggilan. Pelanggan boleh menjadi jenis aplikasi yang berbeza, daripada rangkaian saraf lain, kepada skrip Python, kepada sistem perolehan yang mencari dalam korpus besar. Adalah penting untuk ambil perhatian bahawa apabila pelanggan membuat panggilan, API mengembalikan satu tindak balas jujukan teks. Respons ini mengandungi maklumat terperinci tentang panggilan, termasuk status kejayaan atau kegagalan panggilan, masa pelaksanaan dan banyak lagi.
Oleh itu, untuk mendapatkan keputusan yang tepat, pelanggan harus memastikan bahawa parameter input yang betul disediakan. Jika parameter input tidak betul, API mungkin mengembalikan hasil yang salah, yang mungkin tidak dapat diterima oleh pengguna. Selain itu, pelanggan harus memastikan bahawa sambungan kepada API adalah stabil untuk mengelakkan gangguan sambungan atau isu rangkaian lain semasa panggilan.
Semasa proses penapisan, Toolformer mengira kehilangan rentas entropi wajaran Toolformer melalui token selepas panggilan API.
Kemudian, bandingkan dua pengiraan kerugian yang berbeza:
(i) Satu ialah panggilan API, yang hasilnya diberikan sebagai input kepada Toolformer
(ii) Satu ialah bukan panggilan API atau panggilan API tetapi tiada hasil dikembalikan.
Panggilan API dianggap berguna jika input dan output yang disediakan untuk panggilan API memudahkan Pembentuk Alat meramalkan token masa hadapan. Gunakan ambang penapisan untuk mengekalkan hanya panggilan API yang perbezaan antara kedua-dua kerugian adalah lebih besar daripada atau sama dengan ambang.
Akhir sekali, Toolformer menggabungkan baki panggilan API dengan input asal dan mencipta panggilan API baharu untuk menambah set data. Dalam erti kata lain, set data ditambah mengandungi teks yang sama seperti set data asal, dengan hanya panggilan API disisipkan.
Kemudian, gunakan set data baharu untuk memperhalusi ToolFormer menggunakan objektif pemodelan bahasa standard. Ini memastikan penalaan halus model pada set data tambahan terdedah kepada kandungan yang sama seperti penalaan halus pada set data asal. Penalaan halus data tambahan membolehkan model bahasa memahami masa dan cara menggunakan panggilan API berdasarkan maklum balasnya sendiri, dengan memasukkan panggilan API di lokasi yang tepat dan menggunakan model bantuan untuk meramal input token masa hadapan.
Semasa inferens, proses penyahkodan terganggu apabila model bahasa menghasilkan token "→", yang menunjukkan tindak balas dijangka seterusnya kepada panggilan API. Kemudian, hubungi API yang sesuai untuk mendapatkan respons dan teruskan penyahkodan selepas memasukkan respons dan token.
Pada ketika ini, kita perlu memastikan bahawa respons yang diperolehi sepadan dengan respons yang diharapkan daripada token sebelumnya. Jika ia tidak sepadan, kita perlu melaraskan panggilan API untuk mendapatkan respons yang betul. Sebelum meneruskan penyahkodan, kami juga perlu melakukan beberapa pemprosesan data untuk menyediakan langkah seterusnya dalam proses inferens. Proses data ini termasuk analisis respons, pemahaman konteks dan pemilihan laluan inferens. Oleh itu, semasa proses inferens, anda bukan sahaja perlu memanggil API untuk mendapatkan respons, tetapi anda juga perlu melakukan satu siri pemprosesan dan analisis data untuk memastikan ketepatan dan ketekalan proses inferens.
Setiap alat API yang boleh digunakan dalam Toolformer mesti memenuhi dua syarat berikut:
Pelaksanaan awal Toolformer menyokong lima alatan API:
Rajah berikut menunjukkan contoh input dan output semua API yang digunakan:
Toolformer berprestasi lebih baik daripada model garis dasar dan GPT-3 dalam tugasan seperti LAMA, set data matematik, jawapan soalan dan set data temporal, tetapi berprestasi lebih teruk daripada model lain dalam menjawab soalan berbilang bahasa. Toolformer menggunakan panggilan API untuk menyelesaikan tugas, seperti API LAMA, API Kalkulator dan API Alat Carian Wikipedia.
Tugasnya ialah melengkapkan kenyataan yang kurang fakta. Toolformer mengatasi model garis dasar dan model yang lebih besar seperti GPT-3. Jadual berikut menunjukkan keputusan yang diperoleh melalui panggilan API LAMA:
Tugasnya adalah untuk menilai penaakulan matematik of Toolformer Keupayaan untuk membandingkan pelbagai model asas. Toolformer berprestasi lebih baik daripada model lain, mungkin kerana penalaan halus contoh panggilan API. Membenarkan model membuat panggilan API dengan ketara meningkatkan prestasi pada semua tugasan dan mengatasi prestasi model yang lebih besar seperti OPT dan GPT-3. Dalam hampir semua kes, model memutuskan untuk meminta bantuan alat kalkulator.
Jadual berikut menunjukkan keputusan yang diperoleh melalui panggilan API Kalkulator:
The tugasan ialah Untuk menjawab soalan, Toolformer mengatasi model garis dasar dengan saiz yang sama, tetapi mengatasi GPT-3(175B). Toolformer menggunakan alat carian Wikipedia untuk kebanyakan contoh dalam tugasan ini. Jadual berikut menunjukkan keputusan yang diperolehi melalui panggilan API alat carian Wikipedia:
Soal Jawab set data digunakan Pada soalan berbilang bahasa menjawab tanda aras MLQA, yang mengandungi petikan konteks dalam bahasa Inggeris dan soalan dalam bahasa Arab, Jerman, Sepanyol, Hindi, Vietnam atau Cina Ringkas. Toolformer bukanlah pemain yang paling kuat di sini, mungkin disebabkan kekurangan penalaan CCNet merentas semua bahasa.
Jadual berikut menunjukkan hasil yang diperoleh melalui panggilan API alat carian Wikipedia:
Tugasnya adalah untuk mengetahui di mana tarikh semasa adalah penting untuk menjawab soalan. Toolformer dapat mengatasi prestasi asas, namun, ia jelas tidak menggunakan alat kalendar 100% pada masa itu. Sebaliknya, ia menggunakan carian Wikipedia. Jadual berikut menunjukkan keputusan yang diperolehi melalui panggilan API alat carian Wikipedia:
Toolformer masih mempunyai beberapa Had seperti ketidakupayaan untuk menggunakan berbilang alatan pada masa yang sama, ketidakupayaan untuk mengendalikan alatan yang mengembalikan terlalu banyak hasil, kepekaan terhadap perkataan input yang membawa kepada ketidakcekapan, kegagalan untuk mempertimbangkan kos penggunaan yang mungkin membawa kepada kos pengiraan yang tinggi, dsb. Butirannya adalah seperti berikut:
Toolformer ialah model bahasa berskala besar yang menggunakan Pembelajaran Dalam Konteks untuk meningkatkan keupayaan model memahami dan menjana bahasa yang sesuai untuk konteks atau situasi tertentu. Ia menggunakan panggilan API untuk menganotasi sejumlah besar data dan kemudian menggunakan panggilan API ini untuk memperhalusi model untuk membuat panggilan API yang berguna. Toolformer belajar untuk meramalkan alat yang akan digunakan untuk setiap tugas. Walau bagaimanapun, Toolformer masih mempunyai beberapa batasan, seperti ketidakupayaan untuk menggunakan berbilang alatan dalam proses dan ketidakupayaan untuk menggunakan alatan secara interaktif yang mungkin mengembalikan ratusan hasil yang berbeza.
[Bahan rujukan dan bacaan berkaitan]
Atas ialah kandungan terperinci Tafsir Toolformer. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!