Hari ini, kami dengan gembira mengumumkan model fondasi Code Llama, yang dikembangkan oleh Meta, tersedia untuk pelanggan melalui Mulai Lompatan Amazon SageMaker untuk diterapkan dengan satu klik untuk menjalankan inferensi. Code Llama adalah model bahasa besar (LLM) canggih yang mampu menghasilkan kode dan bahasa alami tentang kode baik dari kode maupun perintah bahasa alami. Code Llama gratis untuk penelitian dan penggunaan komersial. Anda dapat mencoba model ini dengan SageMaker JumpStart, hub pembelajaran mesin (ML) yang menyediakan akses ke algoritme, model, dan solusi ML sehingga Anda dapat memulai ML dengan cepat. Dalam postingan ini, kita akan membahas cara menemukan dan menerapkan model Code Llama melalui SageMaker JumpStart.
Apa itu Kode Llama
Code Llama adalah model yang dirilis oleh meta yang dibangun di atas Llama 2 dan merupakan model canggih yang dirancang untuk meningkatkan produktivitas tugas pemrograman bagi pengembang dengan membantu mereka membuat kode berkualitas tinggi dan terdokumentasi dengan baik. Model ini menunjukkan performa canggih dalam Python, C++, Java, PHP, C#, TypeScript, dan Bash, serta berpotensi menghemat waktu pengembang dan membuat alur kerja perangkat lunak lebih efisien. Muncul dalam tiga varian, dirancang untuk mencakup berbagai macam aplikasi: model dasar (Code Llama), model khusus Python (Code Llama-Python), dan model instruksi berikut untuk memahami instruksi bahasa alami (Code Llama-Instruct ). Semua varian Code Llama hadir dalam tiga ukuran: parameter 7B, 13B, dan 34B. Varian dasar dan instruksi 7B dan 13B mendukung pengisian berdasarkan konten di sekitarnya, menjadikannya ideal untuk aplikasi asisten kode.
Model tersebut dirancang menggunakan Llama 2 sebagai basis dan kemudian dilatih pada 500 miliar token data kode, dengan versi khusus Python dilatih pada tambahan 100 miliar token. Model Code Llama menyediakan generasi stabil dengan hingga 100,000 token konteks. Semua model dilatih pada urutan 16,000 token dan menunjukkan peningkatan pada input hingga 100,000 token.
Model ini tersedia dengan model yang sama lisensi komunitas sebagai Llama 2.
Apa itu SageMaker JumpStart
Dengan SageMaker JumpStart, praktisi ML dapat memilih dari daftar model alas bedak berperforma terbaik yang terus bertambah. Praktisi ML dapat menerapkan model dasar ke model khusus Amazon SageMaker contoh dalam lingkungan jaringan yang terisolasi dan menyesuaikan model menggunakan SageMaker untuk pelatihan dan penerapan model.
Anda sekarang dapat menemukan dan menerapkan model Code Llama hanya dengan beberapa klik Studio Amazon SageMaker atau secara terprogram melalui SageMaker Python SDK, memungkinkan Anda memperoleh performa model dan kontrol MLOps dengan fitur SageMaker seperti Pipa Amazon SageMaker, Debugger Amazon SageMaker, atau log kontainer. Model ini diterapkan di lingkungan aman AWS dan di bawah kendali VPC Anda, membantu memastikan keamanan data. Model Code Llama dapat ditemukan dan diterapkan di wilayah AS Timur (Virginia Utara), AS Barat (Oregon), dan Eropa (Irlandia).
Pelanggan harus menerima EULA untuk menerapkan model visa SageMaker SDK.
Temukan model
Anda dapat mengakses model dasar Code Llama melalui SageMaker JumpStart di UI SageMaker Studio dan SageMaker Python SDK. Di bagian ini, kita akan membahas cara menemukan model di SageMaker Studio.
SageMaker Studio adalah lingkungan pengembangan terintegrasi (IDE) yang menyediakan antarmuka visual berbasis web tunggal tempat Anda dapat mengakses alat yang dibuat khusus untuk melakukan semua langkah pengembangan ML, mulai dari menyiapkan data hingga membangun, melatih, dan menerapkan model ML Anda. Untuk detail selengkapnya tentang cara memulai dan menyiapkan SageMaker Studio, lihat Studio Amazon SageMaker.
Di SageMaker Studio, Anda dapat mengakses SageMaker JumpStart, yang berisi model terlatih, notebook, dan solusi bawaan, di bawah Solusi bawaan dan otomatis.
Di halaman arahan SageMaker JumpStart, Anda dapat menelusuri solusi, model, buku catatan, dan sumber daya lainnya. Anda dapat menemukan model Kode Llama di Model Dasar: Pembuatan Teks korsel.
Anda juga dapat menemukan varian model lainnya dengan memilih Jelajahi semua Model Pembuatan Teks atau mencari Kode Llama.
Anda dapat memilih kartu model untuk melihat detail tentang model seperti lisensi, data yang digunakan untuk melatih, dan cara penggunaan. Anda juga akan menemukan dua tombol, Menyebarkan dan Buka Buku Catatan, yang akan membantu Anda menggunakan model tersebut.
Menyebarkan
Ketika Anda memilih Menyebarkan dan menyetujui persyaratannya, penerapan akan dimulai. Alternatifnya, Anda dapat menyebarkan melalui contoh buku catatan dengan memilih Buka Buku Catatan. Contoh buku catatan yang memberikan panduan menyeluruh tentang cara menyebarkan model untuk inferensi dan membersihkan sumber daya.
Untuk menerapkan menggunakan notebook, kita mulai dengan memilih model yang sesuai, yang ditentukan oleh model_id
. Anda dapat menerapkan salah satu model yang dipilih di SageMaker dengan kode berikut:
Ini menyebarkan model pada SageMaker dengan konfigurasi default, termasuk jenis instans default dan konfigurasi VPC default. Anda dapat mengubah konfigurasi ini dengan menentukan nilai non-default di JumpStartModel. Setelah disebarkan, Anda dapat menjalankan inferensi terhadap titik akhir yang disebarkan melalui prediktor SageMaker:
Perhatikan bahwa secara default, accept_eula
diatur ke false
. Anda perlu mengatur accept_eula=true
untuk memanggil titik akhir dengan sukses. Dengan melakukan ini, Anda menerima perjanjian lisensi pengguna dan kebijakan penggunaan yang dapat diterima seperti yang disebutkan sebelumnya. Anda juga bisa Download perjanjian lisensi.
Custom_attributes
yang digunakan untuk meneruskan EULA adalah pasangan kunci/nilai. Kunci dan nilai dipisahkan dengan = dan pasangan dipisahkan dengan ;. Jika pengguna meneruskan kunci yang sama lebih dari sekali, nilai terakhir disimpan dan diteruskan ke pengendali skrip (dalam hal ini, digunakan untuk logika kondisional). Misalnya jika accept_eula=false; accept_eula=true
diteruskan ke server, lalu accept_eula=true
disimpan dan diteruskan ke pengendali skrip.
Parameter inferensi mengontrol proses pembuatan teks di titik akhir. Kontrol token baru maksimum mengacu pada ukuran output yang dihasilkan oleh model. Perhatikan bahwa ini tidak sama dengan jumlah kata karena kosakata model tidak sama dengan kosakata bahasa Inggris, dan setiap token mungkin bukan kata bahasa Inggris. Suhu mengontrol keacakan keluaran. Suhu yang lebih tinggi menghasilkan keluaran yang lebih kreatif dan berhalusinasi. Semua parameter inferensi bersifat opsional.
Tabel berikut mencantumkan semua model Kode Llama yang tersedia di SageMaker JumpStart bersama dengan ID model, jenis instans default, dan token maksimum yang didukung (jumlah jumlah token masukan dan jumlah token yang dihasilkan untuk semua permintaan bersamaan) yang didukung untuk masing-masing model-model ini.
Model Nama | ID Model | Jenis Instans Default | Token yang Didukung Maks |
KodeLlama-7b | meta-textgenerasi-llama-codellama-7b | ml.g5.2xbesar | 10000 |
CodeLlama-7b-Instruksikan | meta-textgenerasi-llama-codellama-7b-instruct | ml.g5.2xbesar | 10000 |
KodeLlama-7b-Python | meta-textgenerasi-llama-codellama-7b-python | ml.g5.2xbesar | 10000 |
KodeLlama-13b | meta-textgenerasi-llama-codellama-13b | ml.g5.12xbesar | 32000 |
CodeLlama-13b-Instruksikan | meta-textgenerasi-llama-codellama-13b-instruct | ml.g5.12xbesar | 32000 |
KodeLlama-13b-Python | meta-textgenerasi-llama-codellama-13b-python | ml.g5.12xbesar | 32000 |
KodeLlama-34b | meta-textgenerasi-llama-codellama-34b | ml.g5.48xbesar | 48000 |
CodeLlama-34b-Instruksikan | meta-textgenerasi-llama-codellama-34b-instruct | ml.g5.48xbesar | 48000 |
KodeLlama-34b-Python | meta-textgenerasi-llama-codellama-34b-python | ml.g5.48xbesar | 48000 |
Meskipun model Code Llama dilatih pada panjang konteks 16,000 token, model tersebut telah melaporkan kinerja yang baik pada jendela konteks yang lebih besar. Kolom token maksimum yang didukung pada tabel sebelumnya adalah batas atas pada jendela konteks yang didukung pada jenis instans default. Karena model Code Llama 7B hanya dapat mendukung 10,000 token pada instans ml.g5.2xlarge, kami menyarankan untuk menerapkan versi model 13B atau 34B jika konteks yang lebih besar diperlukan untuk aplikasi Anda.
Secara default, semua model berfungsi untuk tugas pembuatan kode. Model dasar dan model instruksi merespons tugas pengisian, meskipun model dasar memiliki kualitas keluaran yang lebih baik untuk sebagian besar kueri sampel. Terakhir, hanya model instruksi yang bekerja pada tugas instruksi. Tabel berikut mengilustrasikan model mana yang memiliki performa baik (Baik) dan performa sedang (Moderat) pada contoh kueri di buku catatan demo.
. | Pembuatan Kode | Pengisian Kode | Instruksi kode |
KodeLlama-7b | baik | baik | N / A |
CodeLlama-7b-Instruksikan | baik | Moderat | baik |
KodeLlama-7b-Python | baik | N / A | N / A |
KodeLlama-13b | baik | baik | N / A |
CodeLlama-13b-Instruksikan | baik | Moderat | baik |
KodeLlama-13b-Python | baik | N / A | N / A |
KodeLlama-34b | baik | N / A | N / A |
CodeLlama-34b-Instruksikan | baik | N / A | baik |
KodeLlama-34b-Python | baik | N / A | N / A |
Pembuatan kode
Contoh berikut dijalankan pada model CodeLlama-34b-Instruct dengan parameter payload "parameters": {"max_new_tokens": 256, "temperature": 0.2, "top_p": 0.9}
:
Pengisian kode
Pengisian kode melibatkan pengembalian kode yang dihasilkan berdasarkan konteks sekitarnya. Hal ini berbeda dengan tugas pembuatan kode karena, selain segmen kode awalan, model juga dilengkapi dengan akhiran segmen kode. Token khusus digunakan selama penyempurnaan untuk menandai awalan (<PRE>
), awal akhiran (<SUF>
), dan awal tengah (<MID>
). Urutan masukan ke model harus dalam salah satu format berikut:
- awalan-akhiran-tengah -
<PRE> {prefix} <SUF>{suffix} <MID>
- akhiran-awalan-tengah -
<PRE> <SUF>{suffix} <MID> {prefix}
Contoh berikut menggunakan format prefix-suffix-middle pada model CodeLlama-7b dengan payload parameters {"max_new_tokens": 256, "temperature": 0.05, "top_p": 0.9}
:
Instruksi kode
Meta juga menyediakan varian Kode Llama yang disesuaikan dengan instruksi. Contoh kueri di bagian ini hanya dapat diterapkan pada model Kode Llama yang disetel instruksi ini, yang merupakan model dengan akhiran instruksi ID model. Format Kode Llama untuk instruksinya sama dengan format prompt obrolan Llama-2, yang kami detailkan Model alas bedak Llama 2 kini tersedia di SageMaker JumpStart
Prompt pengguna sederhana mungkin terlihat seperti berikut:
Anda juga dapat menambahkan prompt sistem dengan sintaks berikut:
Terakhir, Anda dapat melakukan interaksi percakapan dengan model dengan menyertakan semua perintah pengguna sebelumnya dan respons asisten dalam input:
Contoh berikut dijalankan pada model CodeLlama-13b-Instruct dengan “parameter” parameter payload: {"max_new_tokens": 512, "temperature": 0.2, "top_p": 0.9}
:
Membersihkan
Setelah Anda selesai menjalankan buku catatan, pastikan untuk menghapus semua sumber daya yang Anda buat dalam proses sehingga penagihan Anda dihentikan. Gunakan kode berikut:
Kesimpulan
Dalam postingan ini, kami menunjukkan kepada Anda cara memulai model Code Llama di SageMaker Studio dan menerapkan model untuk menghasilkan kode dan bahasa alami tentang kode dari perintah kode dan bahasa alami. Karena model dasar telah dilatih sebelumnya, model tersebut dapat membantu menurunkan biaya pelatihan dan infrastruktur serta memungkinkan penyesuaian untuk kasus penggunaan Anda. Kunjungi SageMaker JumpStart di SageMaker Studio sekarang untuk memulai.
Sumber
Tentang penulis
Gabriel Synnaeve adalah Direktur Riset di tim Facebook AI Research (FAIR) di Meta. Sebelum Meta, Gabriel adalah rekan pascadoktoral di tim Emmanuel Dupoux di École Normale Supérieure di Paris, mengerjakan rekayasa balik perolehan bahasa pada bayi. Gabriel menerima gelar PhD dalam pemodelan Bayesian yang diterapkan pada AI game strategi real-time dari Universitas Grenoble.
Eissa Jamil adalah Insinyur Mitra RL, AI Generatif di Meta.
Dr.Kyle Ulrich adalah Ilmuwan Terapan di tim Amazon SageMaker JumpStart. Minat penelitiannya meliputi algoritma pembelajaran mesin yang dapat diskalakan, visi komputer, deret waktu, non-parametrik Bayesian, dan proses Gaussian. Gelar PhD-nya berasal dari Duke University dan dia telah menerbitkan makalah di NeurIPS, Cell, dan Neuron.
Dr Ashish Khetan adalah Ilmuwan Terapan Senior di Amazon SageMaker JumpStart dan membantu mengembangkan algoritme pembelajaran mesin. Ia memperoleh gelar PhD dari University of Illinois Urbana-Champaign. Dia adalah peneliti aktif dalam pembelajaran mesin dan inferensi statistik, dan telah menerbitkan banyak makalah di konferensi NeurIPS, ICML, ICLR, JMLR, ACL, dan EMNLP.
Vivek Singh adalah manajer produk di SageMaker JumpStart. Dia berfokus untuk memungkinkan pelanggan menggunakan SageMaker JumpStart guna menyederhanakan dan mempercepat perjalanan ML mereka untuk membangun aplikasi AI Generatif.
- Konten Bertenaga SEO & Distribusi PR. Dapatkan Amplifikasi Hari Ini.
- PlatoData.Jaringan Vertikal Generatif Ai. Berdayakan Diri Anda. Akses Di Sini.
- PlatoAiStream. Intelijen Web3. Pengetahuan Diperkuat. Akses Di Sini.
- PlatoESG. Karbon, teknologi bersih, energi, Lingkungan Hidup, Tenaga surya, Penanganan limbah. Akses Di Sini.
- PlatoHealth. Kecerdasan Uji Coba Biotek dan Klinis. Akses Di Sini.
- Sumber: https://aws.amazon.com/blogs/machine-learning/code-llama-code-generation-models-from-meta-are-now-available-via-amazon-sagemaker-jumpstart/