Teknologi saat ini semakin maju, dan hal itu membantu banyak orang untuk masuk ke dalam bidang yang sebelumnya dianggap misterius, yaitu pemrograman komputer. Salah satu teknologi yang membantu adalah Large Language Models (LLMs). LLM ini memiliki performa yang sangat baik dalam membaca dan menghasilkan kode, sehingga memungkinkan lebih banyak orang untuk memasuki dunia pemrograman komputer. Namun, model-model LLM yang ada saat ini, baik itu encoder-only maupun decoder-only, memiliki keunggulan masing-masing dalam tugas pemahaman dan pembuatan kode.
Dalam ranah pemrograman komputer, LLM yang difokuskan pada kode biasanya memiliki keterbatasan dalam objektif pre-training sehingga kinerjanya menurun pada tugas downstream yang kurang relevan dengan objektif tersebut. Selain itu, arsitektur encoder-only atau decoder-only juga dapat membatasi kinerja optimalnya hanya dalam beberapa tugas tertentu saja.
Namun, tim AI Research di Salesforce memperkenalkan sebuah inovasi baru bernama CodeT5+. CodeT5+ adalah keluarga baru encoder-decoder code foundation LLMs yang revolusioner dan dapat disesuaikan dengan mudah untuk melakukan tugas-tugas interpretasi dan pembuatan kode yang sangat baik. Tim ini memberikan berbagai macam objektif pretraining pada data unimodal dan bimodal untuk memberikan pemahaman yang komprehensif pada kode LLM sehingga mudah disesuaikan dengan berbagai tugas downstream.
CodeT5+ adalah set model bahasa besar untuk menganalisis dan menghasilkan kode. Framework ini mencakup berbagai macam tujuan pretraining unimodal dan bimodal. Modul-modul CodeT5+ dapat dipisahkan dan digabungkan kembali dengan fleksibel untuk memenuhi kebutuhan berbagai aplikasi zero-shot, finetuning, dan instruction-tuning.
Dalam tahap pretraining pertama, CodeT5+ dilatih pada data unimodal dengan skala besar dari platform publik seperti GitHub. Pretraining ini menggunakan berbagai objektif, termasuk span denoising, decoder-only causal LM, dan seq2seq causal LM tasks, untuk mengajari model bagaimana memulihkan konteks kode dalam rentang kode, program parsial, dan program lengkap.
Sedangkan tahap pretraining kedua menggunakan data bimodal teks-kode, atau kombinasi teks dan kode yang memberikan semantik dari sebuah fungsi kode. Untuk meningkatkan pemahaman dan kemampuan penciptaan lintas-modalnya, CodeT5+ dilatih pada cross-modal contrastive learning, matching, dan causal LM tasks.
CodeT5+ dapat menyesuaikan kinerjanya dengan berbagai tugas berkat prosedur pretraining dua tahapnya, yang mencakup tugas-tugas seq2seq-generating, aktivitas decoder-only, dan tugas berbasis pemahaman.
Dalam penelitian empiris mereka, tim membandingkan CodeT5+ dengan 20 dataset benchmark dan LLMs kode state-of-the-art, termasuk LaMDA, GPT, StarCoder, dll., pada tugas-tugas termasuk zero-shot, finetuning, dan instruction-tuning. Saat bersaing dengan model robust code-cushman-001 OpenAI, CodeT5+ mencapai hasil State-of-the-Art (SOTA) pada tugas penciptaan kode HumanEval zero-shot.
Dengan CodeT5+ ini, model bahasa besar terbuka dan disesuaikan dengan tugas-tugas interpretasi dan pembuatan kode yang dapat berjalan dengan fleksibilitas dalam mode encoder-only, decoder-only, dan encoder-decoder. Tim ini membuka-sumberkan semua model CodeT5+ untuk mendorong studi lebih lanjut karena mereka yakin CodeTs+ dapat diterapkan sebagai sistem generasi augmentasi pemulihan yang terpadu.
Manfaat LLMs pada Bidang Pemrograman Komputer
Dalam beberapa tahun terakhir, LLMs telah membantu banyak orang untuk memasuki dunia pemrograman komputer. Dengan performa yang sangat baik dalam membaca dan menghasilkan kode, LLMs memungkinkan orang yang sebelumnya tidak memiliki latar belakang di bidang IT untuk memulai karir di bidang pemrograman. Hal ini membantu dalam mengatasi masalah kekurangan tenaga ahli di bidang pemrograman komputer.
Selain itu, LLMs juga membantu mempercepat proses pembuatan dan pengembangan aplikasi. Dalam industri perangkat lunak, waktu adalah aset yang sangat berharga, dan LLMs dapat menghemat waktu dalam proses pengembangan aplikasi. Selain itu, LLMs juga dapat membantu dalam proses maintenance dan debugging aplikasi, sehingga dapat meminimalkan waktu dan biaya yang diperlukan.
CodeT5+ sebagai Inovasi Baru dalam Bidang Pemrograman Komputer
CodeT5+ adalah inovasi baru yang sangat menjanjikan dalam bidang pemrograman komputer. Dengan kemampuan untuk disesuaikan dengan mudah sesuai dengan kebutuhan tugas-tugas interpretasi dan pembuatan kode yang berbeda, CodeT5+ dapat membantu dalam mengatasi keterbatasan model-model LLM yang ada saat ini.
Metode pretraining dua tahapnya yang mencakup berbagai objektif pretraining pada data unimodal dan bimodal membuat CodeT5+ memiliki pemahaman yang komprehensif pada kode, sehingga mudah disesuaikan dengan berbagai tugas downstream.
Dalam penelitian empiris yang dilakukan, CodeT5+ berhasil mencapai hasil State-of-the-Art (SOTA) pada tugas penciptaan kode HumanEval zero-shot. Hal ini menunjukkan kemampuan CodeT5+ yang luar biasa dalam tugas interpretasi dan pembuatan kode.
Dengan demikian, CodeT5+ dapat membantu dalam mengatasi berbagai masalah yang terkait dengan pengembangan aplikasi, seperti waktu dan biaya. CodeT5+ juga dapat membantu dalam mengatasi masalah kekurangan tenaga ahli di bidang pemrograman komputer. Dengan kemampuan yang luar biasa dalam tugas interpretasi dan pembuatan kode, CodeT5+ menjadi inovasi baru yang sangat menjanjikan dalam bidang pemrograman komputer.
Disarikan dari: Source