Toolformer (ID)

From Systems analysis Wiki
Jump to navigation Jump to search

Toolformer — adalah pendekatan untuk membuat model bahasa besar (LLM) yang memungkinkan mereka secara mandiri menggunakan alat eksternal melalui pemanggilan API[1]. Metode ini diusulkan pada tahun 2023 oleh sekelompok peneliti dari Meta AI Research bersama dengan Universitat Pompeu Fabra (Spanyol). Dalam karya mereka «Toolformer: Language Models Can Teach Themselves to Use Tools» (Timo Schick et al., 2023), para penulis mencatat sebuah paradoks: LLM modern menunjukkan kemampuan yang mengesankan dalam menyelesaikan tugas-tugas baru yang kompleks berdasarkan contoh teks, namun seringkali tidak mampu melakukan operasi dasar secara andal — misalnya, berhitung atau mencari fakta[1]. Untuk mengatasi keterbatasan ini, tim mengembangkan model Toolformer yang belajar sendiri memilih dan memanggil alat eksternal (seperti mesin pencari, kalkulator, atau layanan terjemahan) guna meningkatkan kualitas pelaksanaan berbagai tugas[1]. Pada Februari 2023, model ini dipresentasikan dalam bentuk pracetak di arXiv, dan kemudian mendapat pengakuan serta diterima di konferensi NeurIPS 2023[2].

Ide Utama dan Kemampuan Model

Toolformer merupakan model bahasa yang di-fine-tune, yang mampu memutuskan alat apa yang dipanggil, kapan tepatnya memanggilnya, parameter apa yang diteruskan, dan bagaimana menyertakan hasil yang diperoleh ke dalam teks yang dihasilkan[3]. Pelatihan diorganisir dalam mode self-supervised — model sendiri menghasilkan dan mengevaluasi contoh penggunaan API, hanya membutuhkan sekumpulan kecil demonstrasi (beberapa contoh saja) untuk setiap alat[3]. Berbeda dengan pendekatan sebelumnya, tidak diperlukan anotasi ekstensif atau template berbasis manusia untuk mengintegrasikan alat; model sendiri belajar kapan dan bagaimana menggunakan API tertentu, mempertahankan kemampuan bahasa umum dan tidak terbatas pada tugas-tugas yang didefinisikan secara sempit[1].

Para penulis mengintegrasikan berbagai alat ke dalam Toolformer yang dapat diakses melalui pemanggilan API sederhana. Dalam versi eksperimental, alat-alat berikut digunakan[3]:

  • Kalkulator – untuk melakukan perhitungan aritmatika.
  • Sistem tanya-jawab (Q&A) – untuk mencari jawaban atas pertanyaan faktual dari basis pengetahuan.
  • Mesin pencari (2 yang berbeda) – untuk mencari informasi terkini di internet.
  • Sistem penerjemahan mesin – untuk menerjemahkan teks antar bahasa.
  • Kalender – untuk mendapatkan informasi tentang tanggal dan waktu.

Setiap alat direpresentasikan dalam format fragmen teks (label teks khusus), yang memungkinkan model menyematkan pemanggilan API langsung ke dalam teks yang dihasilkannya[4]. Misalnya, model dapat menyisipkan konstruksi seperti `[Calculator(...)]` atau `[Search("kueri")]` ke dalam konteks saat ini, menandakan perlunya referensi eksternal. Saat menghasilkan jawaban, Toolformer menghasilkan simbol khusus (tanda panah →), di mana sistem menghentikan sejenak proses pembangkitan dan menjalankan pemanggilan API yang sesuai; hasil yang diperoleh disisipkan ke dalam teks, setelah itu pembangkitan fragmen berikutnya dilanjutkan[4]. Mekanisme semacam ini memungkinkan model untuk secara dinamis memanfaatkan kemampuan layanan eksternal, sambil tetap menjadi satu modul bahasa tunggal tanpa perubahan arsitektur.

Pelatihan Model (Metodologi)

Para pengembang mendeskripsikan proses pelatihan Toolformer dalam beberapa tahap[4], menggunakan teknik in-context learning untuk menghasilkan data sintetis[1]:

  1. Pembangkitan kandidat pemanggilan API. Pertama, teks-teks diambil dari korpus besar (misalnya, artikel atau halaman web) dan pemanggilan alat disisipkan secara artifisial ke dalamnya, yang berpotensi membantu melanjutkan atau melengkapi teks. Penyisipan ini dihasilkan sendiri oleh model menggunakan N-shot prompting, berdasarkan beberapa contoh penggunaan setiap API yang didefinisikan secara manual[1]. Misalnya, model dapat menerima fragmen: «Pada tahun 2024, populasi kota tersebut adalah [QA("Berapa jumlah penduduk kota ini?") → ...] orang», di mana QA() adalah pemanggilan sistem tanya-jawab yang harus mengembalikan data yang hilang. Untuk setiap alat, konteks yang sesuai dipilih; misalnya, untuk kalkulator, model memilih kalimat yang mengandung beberapa angka dan kata-kata seperti «sama dengan» atau «total»[4] — di mana hasil aritmatika memang diperlukan.
  2. Pelaksanaan pemanggilan API dan pengayaan data. Selanjutnya, semua pemanggilan yang dihasilkan oleh model benar-benar dieksekusi — misalnya, kueri dikirim ke mesin pencari atau ekspresi dihitung di kalkulator. Jawaban yang diperoleh disisipkan kembali ke dalam teks, membentuk varian kalimat lengkap dengan penyisipan berupa `{jawaban}`[4][4]. Secara bersamaan, varian «kosong» (tanpa penyisipan jawaban) juga disimpan, begitu pula teks asli tanpa pemanggilan apa pun — untuk perbandingan selanjutnya.
  3. Penyaringan dan penilaian mandiri atas kegunaan. Pada tahap ini, Toolformer secara mandiri mengevaluasi penyisipan API yang dihasilkan mana yang benar-benar berguna untuk memprediksi kelanjutan teks[4]. Dilakukan perbandingan probabilitas model bahasa untuk melanjutkan teks dalam tiga skenario: (a) tanpa pemanggilan sama sekali, (b) dengan pemanggilan alat tanpa hasil yang disisipkan, (c) dengan pemanggilan dan hasil yang disisipkan[4]. Jika penambahan respons API tertentu meningkatkan probabilitas model untuk melanjutkan frasa dengan benar (yaitu benar-benar membantu model memprediksi kata-kata berikutnya), maka contoh tersebut dianggap berguna. Hanya penyisipan yang memberikan keuntungan dalam probabilitas yang dipertahankan dalam sampel. Dengan demikian, kasus di mana pemanggilan alat berlebihan atau tidak memberikan informasi baru disaring. Akhirnya, model di-fine-tune pada dataset tersaring yang diperoleh, yang berisi contoh teks nyata dengan pemanggilan API yang disisipkan secara optimal[1]. Pelatihan dilakukan dengan tujuan pemodelan bahasa standar — memprediksi token berikutnya dalam urutan, termasuk token yang menandai hasil pemanggilan alat.

Penting untuk ditekankan bahwa untuk mengintegrasikan setiap alat baru, hanya diperlukan beberapa contoh manual penggunaannya — selanjutnya pembangkitan data pelatihan berjalan secara otomatis[3]. Berkat ini, pendekatan Toolformer hampir tidak bergantung pada ketersediaan korpus berlabel khusus dan meminimalkan upaya dalam anotasi data. Model sendiri mempelajari format dan kepatutan pemanggilan API, sekaligus mempertahankan universalitasnya: model menggunakan alat hanya ketika benar-benar diperlukan untuk menyelesaikan tugas yang diberikan[1].

Hasil Eksperimental

Untuk verifikasi eksperimental metode ini, para peneliti mengambil model bahasa yang sudah ada, yaitu GPT-J (6,7 miliar parameter) — sebuah LLM sumber terbuka yang dilatih pada korpus The Pile[4]. Model ini di-fine-tune menggunakan prosedur yang telah dijelaskan, menghasilkan Toolformer berbasis GPT-J. Kinerja pendekatan baru dievaluasi dalam mode zero-shot (tanpa contoh) pada sejumlah tugas standar, termasuk penyelesaian soal matematika berbasis teks, pencarian fakta dan tanya-jawab berbasis pengetahuan (QA), serta penerjemahan dan pengisian bagian yang hilang dalam teks. Sebagai data uji, digunakan, misalnya, kumpulan pertanyaan terbuka Natural Questions, TriviaQA (untuk evaluasi pengetahuan faktual) dan kumpulan soal ASDiv, MAWPS, SVAMP (soal matematika aritmatika berbasis teks), serta benchmark QA multibahasa MLQA, LAMA[5].

Hasil menunjukkan bahwa Toolformer secara signifikan melampaui model asli berukuran sama pada banyak tugas[1]. Lebih jauh lagi, berkat integrasi alat, model yang relatif kecil (6,7 miliar parameter) mampu dalam beberapa tolok ukur melampaui model GPT-3 yang jauh lebih besar (175 miliar parameter)[1][6]. Misalnya, dalam soal matematika berbasis teks yang membutuhkan perhitungan presisi, Toolformer menunjukkan kemajuan yang sangat mencolok dibandingkan dengan LLM biasa, menyelesaikan soal-soal tersebut secara tepat berkat kalkulator, sementara bahkan GPT-3 pun membuat kesalahan[1]. Dalam pengujian tanya-jawab faktual (QA), Toolformer berbasis GPT-J juga menunjukkan kualitas jawaban yang sebanding atau lebih baik daripada GPT-3, karena dapat melakukan pencarian internet untuk informasi terkini[1]. Pada saat yang sama, penting dicatat bahwa pendekatan baru ini tidak memperburuk kemampuan umum model bahasa, seperti kelanjutan teks yang koheren pada data biasa: Toolformer mempertahankan level pembangkitan bahasa alami tanpa alat pada level GPT-J asli[3]. Dengan kata lain, penambahan fungsionalitas pemanggilan API tidak «mengurangi» keterampilan dasar model, melainkan memperluas mereka dengan kemampuan tambahan.

Signifikansi Penelitian dan Penelitian Lanjutan

Pengembangan Toolformer mendemonstrasikan kemungkinan prinsipil untuk melatih model menggunakan alat eksternal hampir tanpa anotasi manual, melalui pembangkitan data sintetis dan penilaian mandiri atas kegunaan. Pencapaian ini membuka jalan menuju model bahasa besar yang lebih efisien dan andal: alih-alih menambah miliaran parameter untuk menghafal fakta atau aturan matematika, model yang relatif kompak dapat secara dinamis memanfaatkan sumber daya eksternal (basis data pengetahuan, kalkulator, layanan) untuk mengisi celah pengetahuannya sendiri[1]. Pendekatan semacam ini memungkinkan pengurangan «halusinasi» (ketika model menciptakan informasi yang tidak ada), meningkatkan akurasi jawaban dan relevansi pengetahuan tanpa perombakan total seluruh model. Pada intinya, Toolformer mencapai «yang terbaik dari dua dunia» — menggabungkan kemampuan bahasa model besar dengan keakuratan alat-alat spesifik[3].

Karya Schick dan rekan-rekannya menjadi salah satu yang pertama mendemonstrasikan penguasaan mandiri LLM atas API eksternal, dan memicu minat besar di komunitas penelitian. Penelitian-penelitian lanjutan pun bermunculan, mengembangkan ide ini. Misalnya, pada tahun 2023 diusulkan model Graph-ToolFormer, yang mengadaptasi prinsip-prinsip Toolformer untuk bekerja dengan data grafik. Dengan mengandalkan petunjuk yang dihasilkan oleh ChatGPT, Graph-ToolFormer mengajarkan model bahasa untuk memanggil alat eksternal guna menyelesaikan tugas analisis grafik (misalnya, mendapatkan properti grafik, bekerja dengan jaringan pengetahuan, dan sebagainya)[7]. Pengembangan lain yang patut diperhatikan adalah model Gorilla (Univ. of California, Berkeley, 2023), yang berfokus pada penggunaan akurat sejumlah besar API perangkat lunak pihak ketiga[8]. Gorilla adalah model LLaMA yang di-fine-tune pada kumpulan fungsi terdokumentasi yang luas; model ini mampu menghasilkan pemanggilan API yang benar berdasarkan deskripsi tugas, dan bahkan dalam eksperimen berhasil melampaui GPT-4 dalam akurasi pembentukan pemanggilan pustaka dan layanan[8]. Gorilla mengimplementasikan integrasi dengan mekanisme pencarian dokumentasi, yang memungkinkan pembaruan informasi tentang perubahan API dan secara signifikan mengurangi kesalahan serta halusinasi saat menggunakan alat[8]. Karya-karya ini menegaskan signifikansi arah yang dibuka oleh Toolformer: kombinasi LLM dengan alat eksternal dipandang sebagai jalur yang menjanjikan menuju penciptaan sistem AI yang lebih kuat dan andal.

Dicatat bahwa ide integrasi alat ke dalam model bahasa berkembang tidak hanya dalam penelitian, tetapi juga di industri. Misalnya, pada Maret 2023, perusahaan OpenAI memperkenalkan sistem plugin untuk ChatGPT — antarmuka khusus yang memungkinkan model terhubung ke layanan eksternal (browser web, basis pengetahuan, mesin komputasi, dll.) untuk mendapatkan informasi terkini dan melakukan perhitungan[9]. Para pengguna telah lama meminta fungsionalitas semacam itu, dan kemunculan plugin pada dasarnya mewujudkan dalam praktik konsep yang serupa dengan Toolformer: model dilengkapi dengan «alat» untuk memperluas kemampuannya dalam menangani berbagai permintaan pengguna[9]. Dengan demikian, Toolformer cocok dengan tren umum pengembangan AI, di mana model bahasa besar menjadi platform yang mampu memanfaatkan pengetahuan dan komputasi eksternal sesuai permintaan. Penelitian yang dilakukan oleh tim Meta AI dan UPF meletakkan fondasi penting dari arah ini, menunjukkan bagaimana LLM dapat belajar bekerja dengan alat hampir tanpa bimbingan manual, sehingga semakin mendekati asisten intelektual yang lebih universal dan aman[1][3].

Tautan

  • Artikel asli «Toolformer: Language Models Can Teach Themselves to Use Tools» di arXiv
  • Ulasan Toolformer di Synced Review
  • Halaman Toolformer di OpenReview
  • Ulasan Toolformer di Medium
  • Artikel tentang model Gorilla di arXiv
  • Halaman plugin ChatGPT di situs web OpenAI

Daftar Pustaka

  • Schick, T. et al. (2023). Toolformer: Language Models Can Teach Themselves to Use Tools. arXiv:2302.04761.
  • Schick, T. et al. (2023). Toolformer: Language Models Can Teach Themselves to Use Tools. NeurIPS 2023. OpenReview.
  • Li, M. et al. (2023). API-Bank: A Comprehensive Benchmark for Tool-Augmented LLMs. arXiv:2304.08244.
  • Zhang, T. et al. (2023). Graph-ToolFormer: To Empower LLMs with Graph Reasoning Ability via Prompt Augmented by ChatGPT. arXiv:2304.11116.
  • Patil, S. G. et al. (2023). Gorilla: Large Language Model Connected with Massive APIs. arXiv:2305.15334.
  • Qin, Y. et al. (2023). ToolLLM: Facilitating Large Language Models to Master 16 000+ Real-World APIs. arXiv:2307.16789.
  • Li, Y. et al. (2024). Tool Learning with Large Language Models: A Survey. arXiv:2405.17935.
  • OpenAI (2023). ChatGPT Plugins. OpenAI Blog.
  • Brown, T. B. et al. (2020). Language Models Are Few-Shot Learners. arXiv:2005.14165.
  • Schick, T. et al. (2023). Meta AI & UPF's Toolformer: Enabling Language Models to Teach Themselves to Use External Tools. Synced Review.

Catatan

  1. 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 1.11 1.12 1.13 Schick, T. et al. «Meta AI & UPF's Toolformer: Enabling Language Models to Teach Themselves to Use External Tools». Synced. [1]
  2. Schick, T. et al. «Toolformer: Language Models Can Teach Themselves to Use Tools». OpenReview. [2]
  3. 3.0 3.1 3.2 3.3 3.4 3.5 3.6 Schick, T. et al. «Toolformer: Language Models Can Teach Themselves to Use Tools». arXiv. [3]
  4. 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 OXEN AI. «Arxiv Dives Toolformer: Language models can teach themselves to use tools». Medium. [4]
  5. «Toolformer: Language Models Can Teach Themselves to Use Tools». Papers With Code. [5]
  6. Brown, Tom B. et al. «Language Models are Few-Shot Learners». arXiv. [6]
  7. Zhang, Tingkai et al. «Graph-ToolFormer: To Empower LLMs with Graph Reasoning Ability via Prompt Augmented by ChatGPT». arXiv. [7]
  8. 8.0 8.1 8.2 Patil, Shishir G. et al. «Gorilla: Large Language Model Connected with Massive APIs». arXiv. [8]
  9. 9.0 9.1 «ChatGPT plugins». OpenAI. [9]