AI Umum

Model Bahasa Kode Dasar Tujuan Umum: Stable Code dari Stability AI

Pendahuluan

Pembelajaran mesin memiliki aplikasi ikonik dalam bahasa pemrograman, mulai dari pemahaman kode hingga representasi atau penyelesaian kode. Pekerjaan sebelumnya difokuskan pada pemanfaatan struktur semantik mendasar dari bahasa pemrograman seperti Code2Vec, Code2Seq, dan Graph Representation Learning for Code. Arsitektur di atas dibuat khusus untuk struktur asli Abstract Syntax Trees (AST) / Data Flow Graphs (DFG). Mereka memiliki batasan yang signifikan: mereka hanya dapat diterapkan untuk tugas yang melibatkan kode yang dapat dieksekusi sepenuhnya.

Penelitian selanjutnya menunjukkan bagaimana model berbasis transformator dapat digunakan seperti bahasa alami untuk kode pada tingkat leksikal (teks). Sejak itu, model bahasa telah banyak digunakan untuk memodelkan kode pada berbagai tugas. Model seperti itu dieksekusi setiap beberapa detik, terutama dalam kasus penyelesaian kode. Model yang kuat yang berjalan pada perangkat konsumen lebih disukai untuk menghindari latensi jaringan, membuat perbedaan, dan mengatasi perbedaan mengenai API yang terjaga keamanannya.

Stable Code

Para peneliti dari Stability AI memperkenalkan Stable Code, yang berfungsi sebagai model bahasa kode dasar tujuan umum yang menargetkan penyelesaian kode, penalaran, matematika, dan tugas berbasis rekayasa perangkat lunak lainnya. Selain itu, mereka memperkenalkan varian instruksi bernama Stable Code Instruct yang memungkinkan percakapan dengan model dalam antarmuka obrolan alami untuk melakukan tugas tanya jawab dan berbasis instruksi.

Stable Code dibangun di atas Stable LM, LLM canggih untuk bahasa alami dalam bahasa Inggris pada skala parameter 3 miliar. Model ini adalah transformator dekoder-saja kausal yang serupa dalam desain dengan arsitektur LLaMA. Perbedaan utama dengan LLaMA adalah:

  • Penyematan Posisi: Penyematan Posisi Rotasi diterapkan pada 25% pertama dimensi penyematan kepala untuk meningkatkan keluaran.
  • Normalisasi: LayerNorm dengan istilah bias yang dipelajari sebagai lawan dari RMSNorm.
  • Bias: Semua istilah bias dihapus dari jaringan umpan maju dan lapisan perhatian diri multi-kepala, kecuali bias dari proyeksi kunci, kueri, dan nilai.

Stable Code menyamai kinerja Llama dan StarCoder secara rata-rata di semua bahasa pemrograman, meskipun ukurannya relatif lebih kecil. Selain itu, Stable Code 3B mencapai kinerja yang kuat pada skala 3B, menunjukkan kemampuan luar biasa dalam tugas penyelesaian kode. Mereka juga mengevaluasi model yang disetel instruksi pada subset kode dari tolok ukur Multi-turn yang menantang.

Kesimpulan

Para peneliti dari Stability AI memperkenalkan Stable Code dan Stable Code Instruct untuk mengatasi berbagai kasus penggunaan pengembangan perangkat lunak. Baik Stable Code maupun Stable Code Instruct adalah model bahasa dekoder-saja yang ringkas. Para peneliti telah melakukan evaluasi dan perbandingan model yang ekstensif dengan model lain yang berukuran sama, yang menunjukkan kinerja Stable Code dan Stable Code Instruct yang luar biasa. Mereka juga memberikan analisis model pada arsitektur komputasi tepi yang umum.