Kesederhanaan itu unggul, tetapi sayangnya kenyataannya kompleksitas lebih laku
Mengapa kompleksitas lebih laku?
- Kompleksitas berarti usaha
- Makalah dengan ide yang sulit dan detail teknis yang menantang mengingatkan pada keringat dan air mata.
- Sistem dengan lebih banyak komponen dan fitur terlihat membutuhkan usaha lebih banyak dibandingkan sistem yang lebih sedikit.
- Hasil yang kompleks dianggap membutuhkan usaha lebih besar, sehingga dianggap lebih sulit dibuat dan lebih bernilai.
- Karena usaha yang menyertai kompleksitas, seringkali dipandang memiliki kualitas yang lebih tinggi.
- Kompleksitas berarti keterampilan
- Sistem kompleks dengan banyak komponen yang bergerak menunjukkan bahwa perancangnya memiliki keahlian pada tiap komponen serta kemampuan untuk mengintegrasikannya.
- Makalah yang sulit dipahami, penuh istilah teknis dan bukti, menunjukkan keahlian dalam bidang tersebut.
- Jika orang awam sulit memahami ide atau sistem yang kompleks, maka kreatornya dianggap seorang ahli.
- Kompleksitas berarti inovasi
- Makalah yang menemukan arsitektur model yang benar-benar baru diakui sebagai lebih baru dibandingkan makalah yang menerapkan jaringan yang sudah ada.
- Sistem dengan komponen yang dibangun dari nol dipandang lebih kreatif daripada sistem yang memanfaatkan kembali komponen yang ada.
- Karya yang didasarkan pada pekerjaan sebelumnya atau menggunakannya kembali tidak begitu inovatif.
- Kompleksitas berarti lebih banyak fitur
- Sistem yang memungkinkan komponen untuk digabungkan dan disejajarkan menawarkan fleksibilitas untuk menangani berbagai kebutuhan dasar.
- Sistem kompleks dipandang lebih adaptif dan lebih mampu merespons perubahan karena memiliki lebih banyak blok dibandingkan sistem sederhana.
Keunggulan kesederhanaan
- Ide dan fitur sederhana mudah dipahami dan digunakan
- Ini meningkatkan kemungkinan adopsi dan menciptakan dampak.
- Komunikasi dan menerima umpan balik juga lebih mudah.
- Sebaliknya, sistem kompleks sulit untuk dijelaskan dan dikelola, sehingga pengguna kesulitan memahami apa yang harus dan bagaimana harus dilakukan.
- Sistem sederhana mudah dibangun dan diperluas
- Semakin sedikit komponen, semakin mudah diimplementasikan.
- Dengan menggunakan teknologi standar siap pakai, lebih mudah menemukan orang yang memenuhi syarat untuk mengimplementasikan dan memelihara sistem.
- Sistem sederhana lebih mudah dipahami dan diuji karena memiliki lebih sedikit kompleksitas, kode, dan interaksi dalam sistem.
- Sebaliknya, sistem yang tidak perlu kompleks memerlukan lebih banyak waktu dan sumber daya, sehingga berujung pada ketidakefisienan dan pemborosan.
- Sistem sederhana memiliki biaya operasional yang lebih rendah
- Deployment sistem bukanlah garis finis, melainkan garis start.
- Sebagian besar usaha terjadi saat sistem sudah ada di lingkungan produksi, dan dengan menjaga sistem tetap sederhana, biaya pemeliharaan dapat ditekan dan umur pakai meningkat.
- Dalam machine learning, teknik sederhana sering tidak kalah dari teknik yang lebih canggih
- Model berbasis pohon lebih unggul daripada deep neural network pada data tabel berukuran menengah.
- Algoritme greedy unggul daripada graph neural network pada masalah kombinasi graf.
- Rata-rata sederhana menunjukkan performa yang sama atau lebih baik dibandingkan optimizer kompleks pada masalah pembelajaran multitugas.
- Pada 32 makalah, metode sederhana unggul dari metode kompleks dalam hal akurasi prediksi.
- Dalam rekomendasi dan pencarian, inner product lebih baik daripada neural collaborative filtering.
Masalah dengan imbalan terhadap kompleksitas
- Mendorong orang untuk membuat sesuatu secara tidak perlu kompleks
- Menggunakan metode sederhana atau membangun sistem sederhana terlihat lebih mudah, sehingga nilainya dianggap lebih rendah.
- Akibatnya, orang memanipulasi sistem agar mendapatkan imbalan lebih tinggi, dan solusi paling sederhana tidak lagi menjadi solusi yang paling jelas.
- Mendorong pola pikir "not invented here"
- Orang enggan menggunakan kembali komponen yang sudah ada dan lebih memilih membangun dari awal, meski itu dapat menghemat waktu dan tenaga.
- Ini memboroskan waktu dan sumber daya dan sering menyebabkan hasil yang lebih buruk.
Bagaimana harus memikirkan kompleksitas?
- Tujuan harusnya menyelesaikan masalah yang kompleks dengan solusi se-sederhana mungkin
- Daripada fokus pada kompleksitas solusi, fokus harus diarahkan ke kompleksitas masalahnya.
- Solusi sederhana menunjukkan wawasan mendalam terhadap masalah dan kemampuan untuk menghindari solusi yang lebih rumit dan mahal.
- Daripada satu solusi kompleks yang mengklaim menyelesaikan semuanya, pertimbangkan banyak solusi yang terfokus
- Solusi all-in-one umumnya tidak sefleksibel dan se-reusable sebagaimana diharapkan.
- Karena ada untuk banyak kasus penggunaan dan pemangku kepentingan, mereka cenderung menjadi "terikat erat" dan memerlukan lebih banyak penyesuaian saat perencanaan dan migrasi.
- Sebaliknya, mengoperasikan dan mematikan sistem dengan tujuan tunggal lebih mudah.
Opini GN⁺
- Artikel ini menjelaskan dengan meyakinkan mengapa kompleksitas disukai dan apa keunggulan kesederhanaan. Menarik bahwa kompleksitas disukai karena dianggap menyiratkan keterampilan, inovasi, dan fitur.
- Namun, sulit mengklaim bahwa solusi sederhana selalu lebih baik dalam semua kasus. Tergantung karakter masalah, diperlukan tingkat kompleksitas tertentu. Menemukan keseimbangan antara kesederhanaan dan kompleksitas akan sangat penting.
- Di bidang machine learning, kasus-kasus di mana model sederhana memiliki performa lebih baik sangat menarik. Saat mengembangkan model baru, baiknya membandingkannya dengan metode sederhana yang sudah ada.
- Dalam evaluasi kinerja organisasi, sebaiknya tidak terlalu menekankan kompleksitas. Sebaliknya, fokus pada tingkat kesulitan masalah dan efektivitas solusi tampaknya lebih tepat.
- Dalam perancangan arsitektur, mempertimbangkan beberapa sistem sederhana untuk satu tujuan tunggal dibandingkan satu sistem kompleks yang serba guna juga tampaknya menjadi pendekatan yang baik.
1 komentar
Opini Hacker News
Ringkasan: