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