ChatGPT & AI (Seri ke-1 dari tulisan ringkas berseri tentang ChatGPT secara khusus dan AI secara umum)

https://openai.com/blog/chatgpt/

Rupanya ChatGPT (https://openai.com/blog/chatgpt) cukup populer dan hangat dibahas di berbagai WAG lain. Berikut ini penelusuran dan pendalaman sy tentang bagaimana ChatGPT dibuat. Mhn maaf agak panjang. 

 ———————

ChatGPT ini lagi viral dimana-mana, karena kemampuannya memberikan respons thd satu pertanyaan/topik dg bahasa alami yg ramah terhadap manusia dan memperlihatkan kemajuan AI yg luar biasa yg dihasilkan oleh tim peneliti OpenAI. Barangkali perlu dipahami bgmn ChatGPT ini dikembangkan spy dpt memahami kemampuannya, kelebihan dan keterbatasannya. Sedikit banyak saya mengikuti pengembangan yang dilakukan oleh OpenAI dalam bbrp tahun terakhir, dan mencermati temuan dan teknologi AI yg dihasilkannya, terutama di ranah NLP (Natural Language Processing) & Computer Vision sangat keren, seperti ChatGPT ini. 

Para pemerhati dan peminat AI mungkin lebih tertarik pada bagaimana teknologi AI di belakang ChatGPT dikembangkan. ChatGPT pd prinsipnya mrpk model bahasa AI berskala besar (large AI language model) yg mampu membangkitkan teks utk berbagai kebutuhan pengolahan bahasa alami, terutama percakapan/dialog interaktif. Pengembangan model bahasa ini mendasarkan pada ‘next token prediction’ dan ‘masked language modeling’ sbg task penting dalam NLP. Dibandingkan model2 bahasa yg pernah dikembangkan sebelumnya ChatGPT memiliki presisi, rincian dan koherensi yg lbh tinggi, dengan kata lain lebih ramah terhadap manusia dalam menghasilkan dialog. Dari sisi AI, OpenAI menggunakan model deep learning GPT3.5 yg merupakan pengembangan dari GPT3, yg dilatih dg supervised learning berdasarkan data berlabel (lebih tepatnya prompt-response) yg digabungkan dengan Reinforcement Learning (RL). Dlm pengembangan ChatGPT reinforcement learning yg diterapkan menggunakan human feedback utk mengurangi prediksi yg tdk benar dan/atau bersifat bias. Algoritma spesifik reinforcement learning yg digunakan pada ChatGPT adalah PPO (Proximal Policy Optimization). PPO mrpk salah satu algoritma reinforcement learning yg berbasis pada policy, bukan yg berbasis value (Q learning). Penggunaan reinforcement learning inilah yg memungkinkan tim OpenAI mampu menghasilkan model bahasa yg berskala besar dan berkinerja bagus pada ChatGPT dg mendasarkan pada pretrained model yg dilatih dg supervised learning berdasarkan dataset yg ukurannya ‘relatif kecil’. Relatif kecil pada kalimat terakhir ini sengaja sy beri tanda kutip krn sesungguhnya datasetnya ckp besar, ttp tdk sebesar yg seharusnya bila sepenuhnya dilatih dg supervised learning, tanpa menggunakan reinforcement learning. Sbg catatan, secara sederhana reinforcement learning dapat dianalogikan seperti ketika kita mengajari anak kecil bertindak/berperilaku, kalau tindakannya baik/bagus kita bisa memberinya hadiah, namun ketika tindakanya buruk kita bisa memberikan hukuman seperlunya. Melalui beberapa latihan, lama kelamaan terakumulasi pd otak anak kecil ini pengetahuan untuk lebih cenderung melakukan tindakan yg baik. 

Secara ringkas terdapat tiga langkah yg dilakukan oleh tim OpenAI dlm mengembangkan ChatGPT : 1) mencuplik input (prompt) dari dataset bahasa dan human memberikan jawaban yg diinginkan dan selanjutnya pasangan input/prompt dan jawaban ini digunakan untuk melatih model awal GPT3.5 dengan menggunakan algoritma supervised learning, 2) mencuplik output/jawaban terhadap suatu input/prompt berdasarkan model awal yg dikembangkan pada tahap 1, dan human mengurutkan peringkat jawaban dari yg terbaik sampai yg terburuk, selanjutnya data ini digunakan sebagai reward model dari reinforcement learning, 3)  mencuplik input/prompt baru dr dataset, menginisialisasi PPO dengan supervised policy, selanjutnya menghasilkan output dan reward model menghitung nilai reward untuk output ini. Nilai reward ini selanjutnya digunakan untuk mengupdate policy pada reinforcement learning dengan menggunakan PPO. 

Karena memanfaatkan penggabungan antara supervised learning dan reinforcement learning dg human feedback dengan dataset yg cukup besar, ChatGPT dpt menghasilkan sistem dialog yg cukup alami, presisi dan koheren. Namun bukan berarti tanpa kelemahan, salah satunya karena ChatGPT mendasarkan pada dataset yg meskipun sangat besar tetapi tetap terbatas dan memiliki bias, khususnya bila dibandingkan dg jawaban/prediksi manusia. Bias jg sangat mungkin dihasilkan oleh human feedback. Seiring dg berkembangnya dataset dan RL human feedback, ChatGPT dapat dilatih lebih lanjut dlm pengembangan yg iteratif untuk menghasilkan sistem dialog yg makin pintar bbrp tahun kedepan. Untuk topik khusus yang memerlukan kedalaman jawaban, seringkali ChatGPT kedodoran, bisa karena jawaban thd suatu query keluar dari konteksnya atau karena utk topik khusus ini membutuhkan keahlian/kepakaran khusus. Dalam kaitan ini Fine tuning GPT3 sebenarnya dapat dilakukan untuk aplikasi/topik yang sangat khusus dengan dataset lokal/spesifik dengan menggunakan teknik yg dalam machine learning dikenal sebagai transfer learning.  

Sebagai catatan GPT3 secara arsitektur merupakan model deep learning yang  dikembangkan dari Transformer—suatu arsitektur Deep Learning (Deep Neural Networks) yang mengadopsi mekanisme self-attention dan banyak diteliti/dikembangkan belakangan ini terutama di ranah NLP dan baru-baru ini dikembangkan juga di ranah computer vision dg Vision Transformer.

Bandung, 14 Januari, 2023

Bambang Riyanto

STEI-ITB

About the author

Riwayat Hidup Ringkas Prof. Bambang Riyanto Trilaksono Bambang Riyanto Trilaksono dilahirkan di Banyuwangi, 15 November 1962. Mendapat gelar sarjana di bidang Teknik Elektro, ITB, pada Tahun 1986, dan gelar Master dan Doktor berturut-turut pada Tahun 1991 dan 1994 dalam bidang Teknik Elektro dari Waseda University, Jepang. Saat ini yang bersangkutan adalah Guru Besar di Sekolah Teknik Elektro dan Informatika, ITB, dan Direktur Advanced Robotics Lab. Yang bersangkutan adalah salah satu founder dari Pusat Artificial Intelligence, ITB. Dari Tahun 2015 sd 2020 yang bersangkutan mendapat tugas sebagai Wakil Rektor bidang Riset, Inovasi dan Kemitraan, ITB. Bambang adalah research fellows dari University of New South Wales, Australia, dari Tahun 2012 sampai sekarang. Yang bersangkutan mempublikasikan lebih dari 50 artikel di jurnal internasional terindeks Scopus. Yang bersangkutan adalah mantan ketua dewan redaksi beberapa jurnal ITB yang terindeks di Scopus, dan anggota dewan redaksi Journal of Intelligent Unmanned Systems (Emerald), International Journal of Electrical Eng. and Informatics, Journal of ICT Research and Applications dan Indonesia Internetworking Journal. Bambang adalah founder dari beberapa start-ups, salah satunya dalam bidang AI yaitu Riset Kecerdasan Buatan (www.riset.ai) yang mengkhususkan produk-produknya dalam computer vision dengan menggunakan Artificial Intelligence, dan sudah digunakan di beberapa industri. Yang bersangkutan adalah anggota Tim Strategi Nasional Artificial Intelligence, dan memimpin Tim Taskforce Nasional Artificial Intelligence untuk Deteksi Covid dibawah koordinasi Ristek/BPPT. Bidang peminatan risetnya Artificial Intelligence, Robotics & Control. Yang bersangkutan mendapat penghargaan Toray Science & Technology Award pada Tahun 2004 untuk risetnya mengenai Artificial Intelligence pada peredaman bising aktif, dan pada Tahun 2019 mendapatkan penghargaan sebagai peneliti berprestasi di ITB. Yang bersangkutan merupakan anggota Akademi Ilmu Pengetahuan Indonesia (AIPI) dan IEEE (Institute of Electrical and Electronics Engineer). Yang bersangkutan adalah anggota pendiri Korika (Kolaborasi riset dan inovasi industri Kecerdasan Artifisial). Bambang juga berpengalaman terlibat di industri, khususnya industri dirgantara. Saat ini yang bersangkutan memimpin tim riset dan inovasi pengembangan autonomous vehicle/tram dengan menggunakan Artificial Intelligence, bekerjasama dengan PT INKA dan riset.ai, dengan pendanaan dari Rispro, LPDP.