Platform Penyedia Informasi Janji Kampanye Pilpres Presiden Republik Korea
(github.com/MinsuChae)Informasi kandidat presiden ke-21 dalam satu tampilan
- Judulnya memang dibuat terdengar megah, tetapi singkatnya ini adalah proyek yang bertujuan menyediakan riwayat kandidat presiden, janji kampanye pemilu, atau kontroversi para kandidat menjelang pemilihan presiden ke-21.
- 🔗 https://daeseoneunjigeum.com
Tujuan pembuatan
Orang-orang yang saya kenal di usia 20-an mulai menunjukkan ketertarikan pada presiden dan pemilihan presiden, dan saya merasa bahwa karena berbagai peristiwa belakangan ini, minat generasi muda terhadap pemilu meningkat dan partisipasi dalam pemilihan presiden perlu terus didorong.
Namun saat benar-benar hendak memberikan suara, kenyataannya sulit untuk melihat tiap kandidat secara rinci satu per satu, dan tidak mudah menilai siapa yang lebih baik ketika dibandingkan dengan kandidat lainnya.
"Kalau begitu, mari buat situs yang langsung memberikan tanya-jawab dengan LLM." Dengan ide yang sangat sederhana itu, proyek ini dibuat; perencanaannya memakan waktu sekitar 2~5 hari, dan coding serta deployment memakan sekitar dua hari.
Fitur yang disediakan
- Menyediakan ringkasan riwayat·janji kampanye·kontroversi untuk tiap kandidat
(Karena materi kampanye resmi belum terbit, saat ini masih berupa draf berbasis berita.) - Q&A real-time seperti "Tolong beri tahu janji kampanye utama kandidat ○○"
(Gemma‑3‑1b‑itmenghasilkan jawabannya. Perhitungannya dijalankan hanya dengan CPU 😅 )
Rencana ke depan
- Menyediakan informasi berbasis materi kampanye resmi
- Jika mendapat perhatian besar dari masyarakat Korea Selatan secara umum, bukan hanya di tingkat developer, atau dukungan dari lembaga dan sejenisnya, model LLM akan ditingkatkan ke Gemma‑3‑27b
Hal yang masih disayangkan
- Ukuran model
Awalnya saya ingin menjalankan versi dengan 27 b parameter, tetapi diperlukan VRAM 48 GB.
Pada akhirnya saya berkompromi dengan model 1 b. (Bahkan menyewa satu A6000 saja membutuhkan sekitar 600 ribu won per bulan.) - Kualitas data yang masih rendah
Meskipun sudah disaring melalui artikel berita dan sebagainya, karena belum ada materi resmi, masih ada kendala untuk memahami janji kampanye yang spesifik secara akurat. Begitu materi kampanye resmi dipublikasikan, saya berencana memperbaruinya secepat mungkin. - Kecepatan respons model LLM
Untuk sapaan sederhana, respons muncul dalam beberapa detik, tetapi untuk pertanyaan inti seperti janji kampanye ada masalah bisa memakan waktu lebih dari 1 menit. Jadi agak sulit menyebutnya real-time. Itu karena perhitungannya menggunakan CPU. 😅
Permintaan
- Jika Anda menemukan informasi yang salah atau hal yang kurang nyaman, mohon beri tahu lewat komentar.
- Dukungan GPU/kemitraan cloud selalu sangat disambut.
- Kami akan berterima kasih jika Anda menghindari uji beban yang berlebihan!
Karena partisipasi pemilu anak muda belakangan ini semakin penting, saya membuat ini agar informasi politik bisa diakses dengan mudah dan cepat.
Silakan mampir sekali, cari kandidat yang membuat Anda penasaran, dan tunjukkan kekurangannya. 🙏
Jurusan saya memang di bidang komputer, tetapi karena posisi saya lebih dekat ke peneliti AI daripada developer, mungkin ada bagian yang terasa kurang nyaman bagi developer murni, seperti test code atau pemeriksaan tipe data.
9 komentar
Halo. Setelah terinspirasi dari tulisan ini, saya juga membuat sesuatu yang mirip tetapi dengan bentuk yang sedikit berbeda. Secara pribadi saya sedang menguji berbagai kemungkinan pengembangan aplikasi AI sebagai layanan, dan kali ini ini menjadi pengalaman yang baik terkait pendekatan teknis dan implementasinya.
Saya menjalankannya dengan gemma 12b dari 8 Mei hingga 11 Mei. Saya ikut serta dalam beta test yang dijalankan oleh perusahaan yang menyediakan layanan serupa cloud computing GPU, melakukan load test terkait, dan menerapkannya agar beban aktual bisa diketahui.
Karena sulit untuk terus-menerus merevisi informasi terkait, pembaruan dilakukan setiap kali ada pembaruan informasi besar. Pembaruan berikutnya adalah pagi tanggal 12, saat kandidat resmi pemilu telah ditetapkan, dan setelah itu ketika materi publikasi pemilu diunggah, ada rencana untuk meningkatkannya agar dapat menyediakan informasi tersebut melalui RAG.
Tujuannya sangat bagus, tetapi saya rasa kalau informasi seperti ini disampaikan berbasis LLM (kalau diberikan secara tidak akurat), bisa saja menimbulkan masalah hukum..!
Ada beberapa situs yang belum saya unggah, tetapi entah ini pengujian internal saya atau orang lain, servernya jadi zombie karena beban berlebihan. Ini AI lokal dan modelnya ringan, jadi saya tidak menyangka bebannya akan separah ini. Saya menjalankannya di lingkungan virtualisasi, tetapi malah masuk ke status zombie...;; Saya akan cek lalu memulihkannya.
Bagi yang menyediakan layanan AI lokal, kalau komputasinya memakai GPU mungkin tidak separah ini, tetapi kalau CPU... sepertinya lebih baik menyerah saja. Rasanya juga bukan karena ada seseorang yang memakainya sebanyak itu...;;
Ini server fisik yang biasanya tidak menangani pekerjaan besar, lalu saya menjalankan layanannya lewat container Docker. Meski spesifikasinya rendah, beban CPU berlebihan sampai-sampai akses ssh pun sulit...; saya tidak memasang batas CPU, dan gara-gara itu host server juga ikut bermasalah...
Sepertinya juga bukan karena banyak pengguna nyata yang memakainya...
Apakah Anda juga sudah mempertimbangkan untuk menerbitkan dan menggunakan key openrouter, atau mencoba menggunakan WebLLM atau Gemini nano?
Terima kasih sudah memberi tahu. Pertama, karena ini bukan situs statis, saya ingin sebisa mungkin menyembunyikan API key dengan menanganinya di backend daripada memprosesnya di sisi frontend.
Sebelumnya saya tidak terlalu berpikir ke arah itu, tetapi saya berencana memakai OpenAI atau API lain sekitar 7 atau 14 hari sebelum hari pemilihan.
Sampai saat itu, meskipun biaya bisa ditekan dengan model kecil, saya tetap berhati-hati karena sulit memperkirakan seberapa banyak penggunaannya.
Berkat Anda, saya jadi mengetahui WebLLM. Dari sudut pandang saya yang meneliti deep learning, saya sempat memikirkan untuk menyajikan dan menjalankan model lewat CDN atau semacamnya, dan sekarang jadi tahu ada layanan yang menyajikannya seperti itu. Namun, masih ada bagian yang membuat saya ragu. Jika dijalankan di frontend memang bebannya berkurang, tetapi saya khawatir bagian penyajian model awal akan memakan waktu agak lama. Bagian ini masih saya pertimbangkan. Meski begitu, berkat Anda saya jadi mengetahui proyek bagus seperti itu. Karena saya belum melihatnya dengan saksama, saya belum sepenuhnya paham apakah hanya model yang ada di ReadMe yang bisa digunakan, apakah model yang kompatibel juga bisa disajikan, atau apakah harus diunggah ke CDN lain. Menurut saya, sepertinya modelnya sendiri tetap perlu disajikan secara terpisah. Kalau begitu, bagian ini juga akan jadi bahan pertimbangan. Saya tidak tahu bagaimana di luar negeri, tetapi saya jadi bertanya-tanya apakah di Korea ada CDN yang bisa menyajikan model. Setahu saya, CDN domestik yang saya temukan kebanyakan hanya mengizinkan gambar.
Aduh T_T
Meskipun ini model LLM 1B, sepertinya tetap membutuhkan komputasi yang cukup besar. Kemarin situasinya juga kacau dan tiba-tiba container masuk ke status zombie, jadi saya cukup kewalahan. Saya terus mengubah batas penggunaan CPU di docker sambil melakukan pengujian, dan hasilnya tampaknya hanya sanggup menangani sekitar 3~5 permintaan secara bersamaan dengan susah payah.
Kalau dilihat dari sisi lain, sambil mengerjakan proyek sederhana ini saya juga ingin memahami bahwa AI lokal kemungkinan akan datang dalam beberapa tahun ke depan, dan jika menjalankan layanan LLM dalam kondisi kekurangan resource GPU, seberapa besar beban yang akan timbul.
CPU server yang digunakan adalah AMD 7700. Pada akhirnya saya jadi paham bahwa untuk menjalankan AI lokal, ada banyak hal yang harus dipertimbangkan. Ada masalah timeout yang lebih sering terjadi daripada perkiraan, dari saat mengirim POST sampai sebelum respons datang. Kesimpulannya, untuk menyediakan layanan yang stabil, akan lebih menguntungkan dari sisi kecepatan respons jika memiliki banyak GPU atau perangkat khusus inferensi (misalnya Google TPU), dan saya jadi berpikir bahwa layanan ini sebaiknya bisa disediakan dalam bentuk antrean.
Sebenarnya, di dalam negeri hanya sedikit perusahaan yang benar-benar mengoperasikan LLM dengan baik (seperti yang sudah dikenal: Naver, Kakao, Upstage, dan lain-lain). Banyak chatbot juga hanya menjalankan fungsi yang sudah ditentukan, atau terhubung ke API model LLM. Karena itu, ini menjadi kesempatan bagi saya untuk memikirkan seberapa besar bebannya, dan jika ingin mengurangi beban server untuk layanan seperti ini di web, pendekatan seperti apa yang perlu diambil.
Sebagai catatan, sebagian orang yang membaca komentar ini mungkin berpikir, bukankah cukup hanya mengirim modelnya begitu saja? Namun ukuran gemma3 1b melebihi 1GB, dan meskipun saya menggunakan server hosting, saya merasa trafik sebesar itu tidak akan mampu ditangani.
Mungkin bisa dipra-instal entah bagaimana dalam bentuk aplikasi, tetapi untuk web, menurut saya perusahaan yang benar-benar memikirkan bagaimana menyediakan layanan sambil mengurangi beban server akan bisa mempertahankan biaya operasional yang lebih rendah.
Terima kasih banyak telah berbagi pengalaman yang sangat berharga.