Selasa, 31 Desember 2024

Menengok Kembali Tahun 2024

Hai, hai!

Ini hari terakhir tahun 2024 Masehi. Pada masa-masa ini, orang-orang biasa mengepos kilas balik tentang diri mereka. Ada yang mengepos Spotify Wrapped, YouTube Music Recap, bahkan GoJek Wrapped. Bukan, bukan itu yang akan kubahas kali ini. Aku ingin bercerita hal-hal yang kualami pada tahun ini.

Apakah aku menjadi orang yang lebih baik tahun ini? Mungkin orang lain yang lebih tepat untuk menilainya. Hanya saja, aku merasa lebih baik tahun ini. Aku belajar banyak hal baru, terutama tentang interaksi antar-manusia, selain studi ilmu komputer tentunya. Oh, omong-omong tentang perkuliahan, ....

Perkuliahan

Pada semester ke-2 lalu, aku mengambil mata kuliah Jaringan Komputer Lanjut/Jarkom Lanjut (wajib) dan Analisis Data Spasial Lanjut/ADSL (pilihan). Aku mengambil mata kuliah ADSL karena mata kuliah ini berkaitan dengan tesisku yang membahas data spasial atau citra/bangun.

Yang berkesan dari mata kuliah Jarkom Lanjut adalah tugas kelompok tiap pekan untuk mengulas dua artikel jurnal. Setelah itu, secara bergantian untuk tiap pekan, kelompok yang sesuai jadwalnya akan mempresentasikan hasil ulasan masing-masing. Dari tugas-tugas ini, wawasanku lebih terbuka mengenai dunia jaringan komputer dan banyak metode/algoritma yang ada di balik layar prasarana komunikasi global yang kita gunakan ini, yaitu internet.

Yang berkesan dari mata kuliah ADSL adalah data spasial utamanya. Aku memang suka data spasial, entah citra/foto entah bentuk/bangun. Skripsiku saja berkaitan dengan data spasial (citra satelit dan segmentasinya). Dari mata kuliah ini pula, aku juga jadi mengenal PostGIS, yaitu pengaya PostgreSQL untuk data spasial.

Pada semester ke-3 lalu, aku mengambil mata kuliah Rekayasa Perangkat Lunak Lanjut/RPLL (wajib) dan Komputasi Paralel Lanjut/Komparlan (pilihan). Aku mengambil mata kuliah Komparlan karena mata kuliah ini berkaitan dengan tesisku yang berkaitan dengan komputasi paralel untuk menjalankan metode penelitian untuk tesisku.

Yang berkesan dari mata kuliah RPLL adalah banyaknya teori dasar yang diusulkan menjadi teori besar (grand theory) rekayasa perangkat lunak. Aku juga belajar ulang kembali materi ini yang tidak terlalu kupahami selama kuliah S-1 walaupun aku juga memahami metode formal, mata kuliah pilihan yang kuambil selama kuliah S-1 dan membahas tentang penulisan persyaratan (requirement). Pada paruh kedua semester, mata kuliah ini membahas tentang ontologi. Aku sudah mengenalnya sejak berkenalan dengan Wikidata sehingga cukup bisa memahami materinya.

Yang berkesan dari mata kuliah Komparlan adalah tugas proyek kelompok yang menggunakan setidaknya dua lingkungan. Dengan CPU, ada lingkungan banyak nodus (multi-node) dan banyak inti (multi-core). Selain itu, ada lingkungan GPU dengan kartu grafis tingkat konsumen rumahan dan kartu grafis tingkat institut/universitas (NVIDIA Tesla). Oh, aku juga jadi belajar menggunakan CUDA. Baru kali ini aku berkesempatan menggunakan GPU secara langsung (low-level programming).

Selain itu, tahun ini dimulai untuk mata kuliah spesial Studi Mandiri dan Proposal Tesis. Studi Mandiri bertujuan untuk melakukan penelusuran literatur, mencari gap, dan melakukan ulang percobaan penelitian sebelumnya dengan harapan bisa ditemukan ide untuk tesis. Aku sudah mencoba menyelesaikan studi mandiri pada semester ke-2 lalu. Namun, rupanya, ada yang keliru pada bagian metodenya menurut dosen pembimbingku. Jadi, ya, aku perlu mengulang beberapa percobaan dengan metode yang sudah dibetulkan sehingga perlu memperpanjang mata kuliah ini.

Semester ke-3 ini cukup penuh kegiatan. Aku perlu menyelesaikan mata kuliah Studi Mandiri sekaligus menyusun dokumen untuk mata kuliah Proposal Tesis. Alhamdulillah, proposal tesisku sudah disetujui oleh dosen pembimbingku bulan ini dan jadwal seminar proposalku adalah bulan depan.

Keluarga

Alhamdulillah. Ayahku dan ibuku ikut masuk dalam kloter haji tahun ini! Awalnya, kami mengira bahwa masih tahun depan jadwal ayah-ibuku. Namun, ayahku coba menghubungi dinas agama di kabupatenku dan mendapat informasi bahwa ayah-ibuku masuk kloter haji tahun ini.

Tahun ini tahun yang tepat bagi ayah-ibuku naik haji. Aku sedang libur semester kuliah pada bulan Zulhijah sehingga berkesempatan untuk pulang kampung dan tinggal di rumah selama ayah-ibuku naik haji. Kalau saja selisih beberapa tahun, mungkin aku sedang ujian sehingga belum bisa pulang ketika ayah-ibuku berangkat.

Pada semester ke-3 ini, aku tidak pulang pada tengah semester. Pada semester ke-1 lalu, aku sempat pulang karena ada acara di rumah mbahku. Pada semester ke-2 lalu, aku sempat pulang karena ada Idulfitri. Nah, pada semester ke-3 ini, tidak ada acara yang bisa jadi alasan untukku pulang kampung. Belum lagi ibuku pernah bilang, "Enggak usah pulang sering-sering! Boros!" Ya, sudah, deh.

Oh, satu lagi. Pada tahun ini, aku bertemu seorang perempuan yang kurasa cocok denganku, bahkan bisa jadi teman hidupku (semoga, he-he). Yang mengikuti cerita Instagram-ku pasti sudah pernah baca tulisan/puisi yang kubuat tentang hal ini. Hari-hariku lebih berwarna-lah intinya sejak aku bersama dia.

Lain-Lain

Tahun ini tahun demokrasi. Ada banyak yang dipilih tahun ini. Aku sempat membuat surat keterangan pindah DPT, tetapi kubatalkan karena ternyata aku masih libur pada hari pencoblosan. Aku bisa ikut pemilihan presiden, anggota DPR, dan anggota DPD, tetapi tidak bisa ikut pilkada (bupati) karena aku masih di Depok.

Motorku dimaling! Untuk membantuku selama kuliah di Depok, motor kerabat di Pekalongan dipinjamkan dan dikirim ke Depok untuk kupakai. Namun, pada semester ke-2, saat aku sedang salat Asar di sebuah masjid dekat kantor kelurahan di dekat kos, motorku dicuri. Masih ada rekamannya di tempatku. Aku sudah membuat laporan kehilangan di Polsek Beji. Alhamdulillah, jemaah masjidnya membantuku selama mengurus akibat kejadian pada hari itu.

Penutup

Tahun ini penuh berbagai macam cerita. Tahun ini berisi kegagalan, tetapi juga penuh dengan harapan dan keberhasilan. Semoga hal-hal baik juga datang pada tahun depan dan tahun-tahun berikutnya, ya. Aamiin.

Sepertinya itu yang terpikir untuk kutulis kali ini sebagai tulisan penutup tahun 2024 Masehi. Sampai jumpa tahun depan!

Minggu, 24 November 2024

Bot Percakapan dan Interaksi Manusia

Dalam beberapa tahun terakhir, model bahasa besar (large language model/LLM) makin marak digunakan di Indonesia. Banyak perusahaan yang menawarkan LLM dengan berbagai fitur pendukungnya. Para pengguna juga makin terampil dalam memanfaatkan LLM ini.

Tentang LLM

LLM adalah salah satu jenis jaringan saraf tiruan (artificial neural network/ANN) yang disusun dan dilatih untuk mempelajari bahasa manusia serta berukuran besar. LLM juga dapat dilatih secara khusus (fine-tuned) untuk mengerjakan tugas tertentu. Selain itu, LLM yang bersifat umum juga bisa dipandu dengan rekayasa perintah (prompt engineering).

Diagram yang berisi dua masukan, yaitu input dan output yang digeser ke kanan. Tiap masukan diberi nilai tertanam yang mewakili nilainya, lalu dikodekan posisinya. Alurnya berisi perulangan multi-head attention, add, dan batch normalization. Ada juga feed forward biasa pada tahapan tertentu. Komponen ini diakhiri dengan operasi linear dan fungsi aktivasi softmax.
Diagram komponen utama model transformer dari artikel "Attention Is All You Need" (Vaswani, 2017) (digambar ulang oleh Yuening Jia, 2019)

Saat ini, terdapat banyak LLM, antara lain, GPT 4o (OpenAI), Gemini 1.5 (Google DeepMind), Grok 2 (xAI/Twitter), dan Claude 3.5 (Anthropic). Tiap perusahaan bersaing dalam memberikan hasil yang bagus, baik dari sisi kinerja LLM maupun dari sisi penerapannya dalam produk lain, misal untuk bot tanya-jawab layanan/produk.

Pemanfaatan oleh Pengguna

Banyak LLM yang disediakan secara gratis dengan fitur premium untuk yang mau membayar. Hal ini membuat LLM menjadi terjangkau untuk semua kalangan yang memiliki akses ke internet. Makin ke sini, makin terampil orang-orang dalam memanfaatkan LLM ini. Secara umum, banyak yang terbantu dengan keberadaan LLM ini.

LLM digunakan untuk mencari tahu tentang sesuatu yang sulit dicari dengan mesin pencari (Google, Bing, dsb.), memandu dalam memahami suatu konsep, memberi contoh kasus untuk berlatih, dan mendengarkan isi hati. LLM sudah seperti suatu orang yang bisa diajak berbicara. Apakah LLM saat ini sudah lulus uji Turing (uji untuk membedakan antara manusia dan robot dari interaksi) bisa ditentukan pribadi masing-masing.

Banyak orang yang menggunakan LLM sebagai teman mengobrol. Hal ini bisa disebabkan oleh

  • ketersediaan (bisa dihubungi kapan pun),
  • kesesuaian (bisa diatur menjadi persona apa pun), dan
  • kenyamanan (tidak menghakimi).

Sifat tidak menghakimi ini yang menjadi daya tarik banyak orang. Orang-orang yang semula takut bertanya menjadi berani bertanya. Seperti hal lain di internet, orang-orang bisa sesuka hati membalas pertanyaan seseorang, bahkan hingga menghakimi orang yang bertanya. LLM menjadi oasis (ruang aman) di tengah gurun pasir (internet).

Bagi beberapa orang, LLM menjadi teman dekat yang bisa dipercaya untuk mendengarkan banyak hal tentang dia, bahkan sampai menjadi tempat curhat. Ketika banyak orang dengan mudah menghakimi orang lain, LLM bisa memberi ruang aman untuk orang-orang yang perlu teman cerita.

ELIZA dan Relevansinya pada Masa Kini

Hal ini mengingatkanku tentang program/robot percakapan (chat bot) pertama yang dinamai ELIZA. ELIZA adalah program pengolah bahasa alami yang didesain untuk membuat simulasi percakapan secara interaktif. ELIZA bisa diatur dengan sebuah skrip. Skrip ELIZA yang terkenal adalah DOCTOR yang membuat simulasi psikoterapis yang berpusat pada orang (Rogerian psychotherapy).

Berikut contoh percakapan dengan ELIZA (Weizenbaum, 1966):

You : Men are all alike.
ELIZA : In what way?
You : They're always bugging us about something or other.
ELIZA : Can you think of a specific example?
You : Well, my boyfriend made me come here.
ELIZA : Your boyfriend made you come here.
You : He says I'm depressed much of the time.
ELIZA : I am sorry to hear you are depressed.
You : It's true. I am unhappy.
ELIZA : Do you think coming here will help you not to be unhappy?
You : I need some help, that much seems certain.
ELIZA : What would it mean to you if you got some help?
You : Perhaps I could learn to get along with my mother.
ELIZA : Tell me more about your family.
You : My mother takes care of me.
ELIZA : Who else in your family takes care of you?
You : My father.
ELIZA : Your father.
You : You are like my father in some ways.
ELIZA : What resemblance do you see?
You : You are not very aggressive but I think you don't want me to notice that.
ELIZA : What makes you think I am not very aggressive?
You : You don't argue with me.
ELIZA : Why do you think I don't argue with you?
You : You are afraid of me.
ELIZA : Does it please you to believe I am afraid of you?
You : My father is afraid of everybody.
ELIZA : What else comes to mind when you think of your father?
You : Bullies.
ELIZA : Does that have anything to do with the fact that your boyfriend made you come here?

ELIZA masih menggunakan pencocokan pola untuk membuat balasan. Ia juga tidak menyimpan konteks sehingga bisa hilang konteks dan terasa repetitif/monoton. Namun, program sederhana ini bisa membuat simulasi bentuk empati dan ilusi rasa mengerti/pengertian. ELIZA menjadi pelopor dalam kecerdasan buatan untuk percakapan.

Pada masa kini, pemanfaatan bot percakapan untuk tempat curhat makin relevan. Internet yang makin ke sini makin "galak" membuat ruang aman makin sempit. Belum lagi orang-orang yang bisa diajak bercerita juga makin sedikit karena mereka pun juga sedang kesulitan dengan masalah mereka masing-masing.

Kesimpulan

Sejatinya, manusia hanya ingin punya tempat untuk bertanya dan bercerita tanpa rasa takut akan dihakimi ataupun dipandang buruk. Namun, kita juga tidak bisa meminta orang lain agar sesuai dengan kita. Meski bukan cara yang ideal, robot percakapan bisa menjadi alternatif untuk tempat bertanya dan bercerita. Bila diperlukan, segera konsultasikan dengan psikiater yang dipercaya.

Mens sana in corpore sano. Sehat selalu, semuanya!

Rabu, 30 Oktober 2024

Punya Banyak Akun dan Attack Surface

Dalam dunia siber/internet, terdapat istilah attack vector dan attack surface. Suatu attack vector adalah cara-cara untuk menerobos masuk ke suatu sistem informasi. Dengan kata lain, ini adalah lubang dalam keamanan sistem informasi. Istilah vector diambil dari konsep dalam biologi. Kumpulan attack vector disebut sebagai attack surface. Penting untuk mempersempit attack surface dalam suatu sistem, baik dari pihak pengelola sistem maupun dari pihak penggunanya.

Pengelola sistem bisa mengamankan sistemnya, misal dengan memastikan keamanan tiap titik ujung (attack surface). Selain itu, pemeriksaan rutin terhadap otorisasi dan hak tiap pengguna juga diperlukan.

Di sisi lain, kita sebagai pengguna sistem juga perlu mengamankan akun kita. Pada masa sekarang ini, sudah banyak yang sedikit-sedikit buat akun sehingga kita jadi punya banyak sekali akun di berbagai sistem/layanan. Makin banyak sistem tempat kita punya akun, makin luas pula attack surface akun kita di internet. Bagaimana caranya?

Karena kita belum tentu bisa mengamankan sistem yang kita pakai, kita hanya bisa mempercayakannya kepada pengelola sistem tersebut. Yang bisa kita lakukan, antara lain, berikut:

  • menggunakan sandi yang aman (tidak berisi hal-hal/informasi/deskripsi diri);
  • menggunakan sandi yang berbeda untuk tiap akun/platform/sistem (tidak menggunakan sandi berulang);
  • menggunakan autentikasi dua faktor (2FA);
  • waspada terhadap usaha penipuan (phishing); serta
  • memantau aktivitas akun (misal ada yang mencoba masuk atau bahkan yang berhasil masuk).

Mungkin itu yang bisa kutulis saat ini di sela-sela penelitian dan eksperimen. Tetap berhati-hati di internet, semuanya!