Di artikel kali ini kita akan bahas lengkap seputar ChatGPT dan bagaimana cara kerjanya.

Dengan memahami bagaimana cara kerja ChatGPT ini, kita bisa menggali potensi yang jauh lebih powerful dari sekedar bertanya informasi atau menulis artikel SEO.

Sejak peluncurannya 30 November 2022 kemarin, pengguna ChatGPT telah mencapai jutaan pengguna dan membuatnya menjadi sangat VIRAL dan Fenomenal di akhir tahun 2022.

Ketenaran ChatGPT tidak luput dari mata para Internet Marketer dan para Content Creator yang memanfaatkan momen ini untuk kebutuhan Konten tanpa di dasari pemahaman bagaimana chat bot ini bekerja.

Oleh karena itu, jangan heran kalau kita akan menemui banyak misconception dalam penggunaan tools hebat ini.

Dan untuk mengatasi permasalah tersebut, kita akan coba bahas lebih dalam apa itu chatGPT dan bagaimana chat bot canggi ini bekerja.

Sebelum mulai membahas ChatGPT kita harus tau dulu apa itu GPT-3.

GPT-3.5 (Generative PreTrained Transformer) Generasi ke 3.

GPT adalah sebuah model bahasa (Language Model) di dalam NLP yang berfungsi menghasilkan/memproduksi text dengan cara memahami input text yang diberikan.

NLP (Natural Language Processing) sendiri adalah bidang keilmuan yang berfokus pada bagaimana manusia dan komputer bisa berkomunikasi dengan bahasa alami.

Tujuan dari NLP adalah agar komputer mampu mengerti dan memproses bahasa seperti manusia.

Untuk memahami Model GPT ini, ada beberapa hal yang harus kita ketahui:

Transformer

sumber: lena-voita.github.io

Model GPT menggunakan arsitektur Transformer untuk memproses algoritmanya.

Tanpa Transformer GPT akan kesulitan menjalankan algoritmanya dan mungkin akan memberikan hasil yang kurang baik.

Transformer pertama kali di perkenalkan melalui sebuah paper yang di terbitkan oleh Google AI.

Nah menariknya, Google AI tidak memperkenalkan dengan nama “Transformer”.

Paper tersebut di rilis dengan judul “Attention is All You Need“.

Dimana mekanisme “Attention” memegang peranan penting dari arsitektur transformer ini yang membuatnya berbeda dari arsitektur-arsitektur sebelumnya seperti RNN dan LSTM.

Di transformer sendiri kita kenal ada 2 mekanisme di dalamya yaitu Encoder dan Decoder.

Namun GPT hanya menggunakan/menerapkan mekanisme Decoder saja.

Tanpa arsitektur encoder, decoder sendiri belajar bagaimana memahami konteks dari input text yang di berikan untuk memberikan output yang relevan.

Dimana output text yang di hasilkan tersebut di masukan kembali sebagi input dan di proses secara SEARAH (Unidirectional) dari kiri ke kanan sampai jumlah N Tokens yang di berikan.

Sequence output token ini biasa disebut dengan istilah “AUTO-REGRESSIVE“.

Auto Regressive

Kalau kalian yang sudah menggunakan ChatGPT pasti sudah familiar dengan style text yang muncul kata perkata dari text yang di generate oleh ChatGPT.

Text tersebut muncul kata perkata dari kiri ke kanan sampai semua jawaban selesai di generate oleh chatGPT.

Style text ini juga menggambarkan proses Auto Regressive.

Pretrained Models

Yang artinya model ini sudah dilatih sebelumnya menggunakan dataset yang sangat besar dan jumlah vocab yang sangat besar pula.

Menggunakan 170 Miliar parameter membuat models ini sangat kompleks sehingga wajar mampu memberikan hasil yang sangat baik untuk jenis Casual Language Models seperti ini.

ChatGPT ataupun series GPT3.5 hanya mengenerate hasil susuai dengan dataset yang di gunakan saat masa training saja.

Sehingga ini menjadi salah satu keterbatasan model ini.

Namun Open AI memberikan fitur Fine Tuning, dimana kita memberikan dataset kita untuk di cocokan dengan model mereka sehingga lebih cocok dengan project kita.

Di ChatGPT atau model GPT 3.5 hanya men-training data dengan cut off di tahun 2021, sehingga jika kita meminta data terbaru (misal di tahun 2023) maka chatGPT tidak bisa menjawab.

ChatGPT juga tidak bisa belajar hal baru, seperti yang akhir-akhir ini banyak prompt yang meminta chatGPT untuk ahli di bidang tertentu.

Perlu di ketahui bahwa hal tersebut tidak bisa dilakukan oleh chatGPT. Output yang dihasilkan hanyalah sequence token yang di generate berdasarkan input yang diberikan.

Ini merupakan salah satu kekurangan dari Generative Models.

Generative Models

kelemahan dari Generative Models adalah mereka hanya fokus pada sequence token (words) yang mereka hasilkan berdasarkan konteks dari sebuah input.

Mereka hanya fokus pada output yang relevan dan berhubungan dengan prompt yang kita minta, tanpa menvalidasi jawaban / ouput tersebut.

Sehingga jawaban yang diberikan terkadang tidak sesuai dengan fakta atau malah mengarang fakta.

Output yang seperti ini di sebut dengan “Hallucinate Output“.

Dimana output/jawaban yang diberikan seolah-olah terlihat benar, namun sebenarnya salah.

Sumber: Paraphrase Generation Using Deep Reinforcement Learning

Jadi untuk pengguna ChatGPT yang harus di cross check apakah output yang di berikan oleh AI tepat atau tidak.

Banyak metode untuk meminimalisir hal ini dengan melakukan supervised learning seperti Fine Tune atau Few-Shot learning.

Kedua bagian tersebut akan saya bahas di artikel yang terpisah, bagaimana membuat chatGPT lebih akurat.

Cara Kerja ChatGPT & GPT 3.5

Untuk menjelaskan bagaimana chatgpt bekerja merupakan hal teknis yang tidak mudah untuk di mengerti.

Sebagai pengguna, sebenarnya kita tidak perlu paham betul masalah teknis disini.

Saya akan menjelaskan secara sederhana sesuai dengan pemahaman saya saja, jadi bisa saja salah dan saya terbuka untuk menerima masukan dari kalian semua. 🙂

Untuk mengetahui bagaimana cara kerja ChatGPT maka kita perlu tau mekanisme dari Arsitektur Transformer khususnya di mekanisme decoder.

Dari gambar diatas kita hanya fokus pada bagan yang sebelah kanan saja.

1. Embedding dan Positional Encoding

Input / Prompt yang kita berikan ke AI akan di ubah menjadi bentuk Numerikal vector menggunakan metode embedding.

Numerical Vector ini merepresentasikan tiap kata didalam input yang diberikan.

Selain merubah kedalam bentuk vector embedding, Setiap di berikan label urutannya atau di sebut dengan Posisional Encoding atau Positional Embedding.

Positional encoding merupakan salah satu bagian penting dalam transformer mengingat semua proses berjalan secara pararel.

Selanjutnya, positional embedding tersebut masuk ke layer pertama dari attention untuk menghitung attention score-nya.

2. Multi-head Attention Layer 1

karena decoder ini bekerja Auto-Regressive dimana urutan token (Words) di generate satu persatu, maka decoder tidak tau token apa yang akan di generate selanjutnya (Future Token).

Dari kondisi ini, proses self-attention di decoder sedikit berbeda dari encoder yang melihat langsung semua input.

Di decoder dikenal dengan metode Masked Self-Attention atau di kenal dengan istilah “Don’t Look Ahead“.

Metode ini melarang Decoder untuk melihat Future Token dengan melakukan masking di vector token tersebut.

Dengan begitu decoder hanya bisa melihat / mengkalkulasi token saat ini dan token-token sebelumnya saja.

Ouput dari Multi-head Attention layer pertama ini adalah Mask Output Vector yang berisi informasi tentang bagaimana model harus fokus pada Input decoder.

Informasi ini selanjutnya masuk ke Multi-head Attention Layer 2.

3. Multi-head Attention Layer 2

Di layer ini di kenal juga dengan metode Queries, Keys dan Values.

Dimana output dari layer sebelumnya bertindak sebagai Values.

Di metode ini decoder akan memutuskan token-token yang relevan dari input tersebut dan harus point mana yang harus di beri perhatian khusus sehingga memberikan hasil yang relevan nantinya.

Output token ini akan masuk ke final layer.

4. Final Layer (Classification Classes & Probability Score)

Output dari multi-head layer 2 selanjutnya akan melewati feed forward layer untuk di proses lebih lanjut.

Output dari feed forward ini masuk ke Linear Layer yang bertindak sebagai classifier.

Dari proses classifier tersebut selanjutnya masuk ke perhitungan di softmax layer.

Perhitungan softmax ini akan memberikan nilai probabilitas dari 0 – 1.

Nilai tertinggi dari index tersebut adalah prediksi kata yang paling relevan.

Output token tersebut akan di gunakan decoder kembali menjadi input decoder dan mengulang semua proses tersebut sampai sejumlah N Token.

Lebih kurang seperti itu cara GPT menghasilkan input text menggunakan mekanisme decoder di dalam transformer.

ChatGPT

ChatGPT adalah Model GPT 3.5 yang di training khusus agar dapat berinteraksi dalam format percakapan atau dialog.

ChatGPT di training dengan metode yang sama seperti model InstructGPT yang di rilis januari 2022 dimana model ini di training khusus untuk mengikuti instruksi.

Sama seperti InstructGPT, ChatGPT juga akan bekerja lebih baik dengan mengikuti instruksi yang di berikan dan memberikan ouput yang lebih detail.

Format dialog ini memungkinkan ChatGPT untuk memahami lebih detail konteks dari input berdasarkan percakapan-percakapan sebelumnya (In Memory).

Sama seperti saudaranya (InstructGPT), ChatGPT di training dengan metode yang sama seperti diagram di bawah.

Sumber: ChatGPT – Optimizing Language Models For Dialog

Yang menbedakan ChatGPT dan InstructGPT hanya di data collection setup nya.

Model ini di training menggunakan metode Reinforcement Learning from Human Feedback (RLHF).

Dimana mekanisme training melibatkan Real Human yang bertindak sebagai Labelers (Pemberi label) di output yang di hasilkan AI.

Untuk mekanisme atau cara kerja ChatGPT memberikan output text sama seperti mekanisme diatas yang telah di jelaskan sebelumnya, karena pada dasarnya ChatGPT adalah model GPT 3.5 namun di Optimasi (Fine Tuned) untuk leboh optimal di format percakapan.

Categorized in: