Peningkatan Kinerja Pencarian Kode Few-Shot Hingga 7% dengan Framework SMIAO
Â
Artikel berjudul "Specialized Model Initialization and Architecture Optimization for Few-Shot Code Search" karya Fan Zhang, Qiang Wu, Manman Peng, dan Yuanyuan Shen, yang diterbitkan pada September 2024 di jurnal Information and Software Technology (Volume 177), menghadirkan inovasi signifikan dalam bidang pencarian kode few-shot. Artikel ini membahas tantangan utama dalam pencarian kode untuk bahasa pemrograman domain-spesifik, terutama yang memiliki keterbatasan data pelatihan. Pencarian kode adalah salah satu komponen penting dalam rekayasa perangkat lunak yang bertujuan untuk menemukan cuplikan kode yang sesuai berdasarkan kueri dalam bahasa alami. Namun, sebagian besar metode yang ada lebih efektif untuk bahasa pemrograman arus utama, yang memiliki data pelatihan melimpah.
Penelitian ini merespons kelemahan tersebut dengan mengembangkan framework dua tahap, yang dikenal sebagai SMIAO (Specialized Model Initialization and Architecture Optimization). Framework ini menggunakan pendekatan inisialisasi model yang canggih dan optimasi arsitektur berbasis NAS (Neural Architecture Search) untuk memperbaiki kinerja pencarian kode pada bahasa pemrograman domain-spesifik. Salah satu keunggulan utama SMIAO adalah kemampuannya memanfaatkan dataset bahasa pemrograman arus utama yang secara semantis paling dekat dengan bahasa pemrograman few-shot.
Dengan dataset publik yang digunakan dalam eksperimen, artikel ini berhasil menunjukkan bahwa SMIAO mampu meningkatkan performa pencarian kode secara signifikan dibandingkan dengan baseline lain. Sebagai contoh, SMIAO meningkatkan performa Mean Reciprocal Rank (MRR) hingga 7,07% pada dataset SQL, sementara untuk dataset Solidity peningkatannya mencapai 5,42%. Artikel ini menjadi salah satu bukti penting dalam kemajuan pengembangan alat pencarian kode few-shot yang lebih efisien dan dapat diadaptasi untuk bahasa pemrograman dengan data terbatas.
***
Framework SMIAO yang diperkenalkan oleh Fan Zhang dan timnya menawarkan solusi inovatif untuk pencarian kode few-shot, terutama pada bahasa pemrograman dengan keterbatasan data pelatihan. Metode yang mereka usulkan mencakup dua tahap utama: inisialisasi model khusus dan optimasi arsitektur dengan menggunakan NAS (Neural Architecture Search). Pada tahap inisialisasi, tim peneliti menggunakan jarak Wasserstein untuk mengidentifikasi dataset bahasa pemrograman arus utama yang semantis paling dekat dengan bahasa target few-shot. Tahapan ini sangat penting karena memungkinkan model untuk memulai dengan parameter yang lebih akurat, meskipun data few-shot cenderung terbatas.
Pada eksperimen yang dilakukan, SMIAO terbukti sangat efektif dalam mengatasi tantangan yang dihadapi oleh model pencarian kode konvensional. Sebagai contoh, ketika diuji pada dataset SQL dengan ukuran pelatihan hanya 100 sampel, SMIAO berhasil meningkatkan performa MRR hingga 13,2%, dibandingkan dengan baseline lainnya. Tidak hanya itu, pada dataset Solidity, yang lebih kompleks, SMIAO meningkatkan performa pencarian hingga 5,61% pada kondisi few-shot. Penggunaan NAS dalam proses optimasi arsitektur juga terbukti meningkatkan kinerja model secara signifikan. NAS memungkinkan peneliti untuk mengidentifikasi posisi dan kuantitas modul Adapter dalam lapisan GraphCodeBERT, yang membantu dalam meminimalkan risiko overfitting serta meningkatkan kemampuan generalisasi model.
Lebih lanjut, penggunaan teknik Adapter-GraphCodeBERT memperlihatkan hasil yang mengesankan. GraphCodeBERT merupakan salah satu model pre-trained yang dirancang khusus untuk menangani tugas-tugas pemahaman kode, sementara modul Adapter membantu mempercepat proses pelatihan tanpa harus memperbarui seluruh parameter transformer. Dengan menerapkan SMIAO pada dataset publik, tim ini menunjukkan bahwa kombinasi inisialisasi model yang tepat dan optimasi arsitektur berbasis NAS dapat meningkatkan performa hingga 9,38% pada metrik Recall@1 untuk dataset SQL.
Tidak hanya angka-angka tersebut yang menguatkan kontribusi SMIAO, tetapi fakta bahwa framework ini mampu menangani permasalahan pencarian kode dalam konteks bahasa pemrograman domain-spesifik seperti Solidity dan SQL yang dikenal sulit. Sebelumnya, penelitian Chai et al. (2021) hanya mampu meningkatkan performa model menggunakan metode few-shot learning dengan MAML. Namun, SMIAO berhasil melampaui performa baseline dengan penekanan yang lebih pada pemanfaatan data semantis yang dekat dan optimasi arsitektur. Hasil eksperimen ini memberikan sinyal kuat bahwa framework ini dapat diterapkan secara lebih luas pada berbagai bahasa pemrograman yang data pelatihannya terbatas, menciptakan potensi penghematan biaya pelabelan data yang signifikan.
***
Melalui artikel ini, Fan Zhang dan timnya telah berhasil memperkenalkan SMIAO sebagai framework yang inovatif dan efisien dalam pencarian kode few-shot, terutama untuk bahasa pemrograman domain-spesifik dengan data terbatas. Keberhasilan SMIAO dalam meningkatkan performa pencarian kode secara signifikan, seperti peningkatan MRR hingga 7,07% pada dataset SQL dan 5,42% pada dataset Solidity, menegaskan efektivitas penggunaan dataset semantis yang relevan serta penerapan NAS untuk optimasi arsitektur.