MRKL Systems (Modular Reasoning, Knowledge and Language, diucapkan "miracle") adalah arsitektur neuro-simbolik yang menggabungkan LLM (neural computation) dan alat eksternal seperti kalkulator (symbolic computation), untuk menyelesaikan masalah kompleks.
Sistem MRKL terdiri dari satu set modul (misalnya kalkulator, API cuaca, basis data, dll.) dan sebuah pemroses yang menentukan cara 'mengarahkan' permintaan bahasa alami yang masuk ke modul yang tepat.
Contoh sederhana dari sistem MRKL adalah LLM yang dapat menggunakan aplikasi kalkulator. Ini adalah sistem modul tunggal, di mana LLM adalah router. Ketika ditanyakan, Apa itu 100*100?
, LLM dapat memilih untuk mengekstrak angka dari pertanyaan, dan kemudian memberi tahu sistem MRKL untuk menggunakan aplikasi kalkulator untuk menghitung hasilnya. Ini mungkin terlihat seperti berikut:
Apa itu 100*100?
CALCULATOR[100*100]
Sistem MRKL akan melihat kata KALKULATOR
dan memasukkan 100*100
ke aplikasi kalkulator. Ide sederhana ini dapat dengan mudah diperluas ke berbagai alat komputasi simbolik.
Pertimbangkan contoh tambahan contoh dari pengaplikasiannya:
Berapa harga saham Apple saat ini?
Harga saat ini adalah DATABASE [SELECT harga dari stok WHERE perusahaan = "Apple" DAN waktu = "sekarang"].
Bagaimana cuaca di New York?
Cuaca adalah WEATHER_API[New York].
Saya telah mereproduksi sebuah contoh Sistem MRKL dari makalah aslinya, menggunakan Dust.tt, yang terhubung di sini. Sistem membaca masalah matematika (misalnya Apa itu 20 kali 5^6?
), mengekstrak angka dan operasi, dan memformat ulang untuk aplikasi kalkulator (misalnya 20*5^6
). Kemudian, ia mengirim persamaan yang diformat ulang ke aplikasi kalkulator Google, dan mengembalikan hasilnya. Perhatikan bahwa kertas asli melakukan penyetelan cepat pada router (LLM), tetapi tidak saya lakukan dalam contoh ini. Mari kita jelajahi bagaimana ini berfungsi:
Pertama, saya membuat dataset sederhana pada tab Dataset
Dust.
Lalu, saya beralih ke tab Spesifikasi
dan memuat dataset menggunakan blok input ``.
Selanjutnya, saya membuat blok llm
yang mengekstrak angka dan operasi. Perhatikan bagaimana dalam prompt saya memberitahukannya bahwa kita akan menggunakan kalkulator Google. Model yang saya gunakan (GPT-3) kemungkinan memiliki beberapa pengetahuan tentang kalkulator Google dari pra-pelatihan.
Lalu, saya membuat blok kode ``, yang menjalankan beberapa kode javascript sederhana untuk menghapus spasi dari penyelesaian.
Akhirnya, saya membuat blok pencarian
yang mengirim persamaan yang diformat ulang ke kalkulator Google.
Di bawah ini kita dapat melihat hasil akhirnya, yang semuanya benar!
Silahkan mengkloning dan bereksperimen dengan playground ini di sini.
MRKL dibangun dengan AI21 dan aslinya digunakan pada model LLM J-1 (Jurassic 1).
Lihat contoh ini dari Sistem MRKL yang dibangun dengan LangChain.
Sander Schulhoff is the Founder of Learn Prompting and an ML Researcher at the University of Maryland. He created the first open-source Prompt Engineering guide, reaching 3M+ people and teaching them to use tools like ChatGPT. Sander also led a team behind Prompt Report, the most comprehensive study of prompting ever done, co-authored with researchers from the University of Maryland, OpenAI, Microsoft, Google, Princeton, Stanford, and other leading institutions. This 76-page survey analyzed 1,500+ academic papers and covered 200+ prompting techniques.
Karpas, E., Abend, O., Belinkov, Y., Lenz, B., Lieber, O., Ratner, N., Shoham, Y., Bata, H., Levine, Y., Leyton-Brown, K., Muhlgay, D., Rozen, N., Schwartz, E., Shachaf, G., Shalev-Shwartz, S., Shashua, A., & Tenenholtz, M. (2022). ↩
Lieber, O., Sharir, O., Lentz, B., & Shoham, Y. (2021). Jurassic-1: Technical Details and Evaluation, White paper, AI21 Labs, 2021. URL: Https://Uploads-Ssl. Webflow. Com/60fd4503684b466578c0d307/61138924626a6981ee09caf6_jurassic_ Tech_paper. Pdf. ↩