6 poin oleh GN⁺ 2024-09-06 | 2 komentar | Bagikan ke WhatsApp
  • Yi-Coder adalah model bahasa besar (LLM) kode open source yang menghadirkan performa coding mutakhir dengan kurang dari 10 miliar parameter
  • Tersedia dalam dua ukuran, 1.5B dan 9B parameter, dengan versi dasar dan versi chat yang sama-sama dirancang untuk inferensi efisien dan pelatihan yang fleksibel
  • Yi-Coder-9B dibangun di atas Yi-9B dengan tambahan 2.4T token berkualitas tinggi dari korpus kode tingkat repositori GitHub dan data terkait kode yang difilter dari CommonCrawl

Fitur utama Yi-Coder

  • Dipra-latih dengan 2.4 triliun token berkualitas tinggi di 52 bahasa pemrograman utama
  • Pemodelan konteks panjang: menggunakan jendela konteks hingga 128K token untuk memungkinkan pemahaman dan generasi kode tingkat proyek
  • Kecil tetapi kuat: Yi-Coder-9B melampaui model lain dengan parameter di bawah 10 miliar seperti CodeQwen1.5 7B dan CodeGeex4 9B, dan bahkan mencapai performa setara dengan DeepSeek-Coder 33B

Yi-Coder menghadirkan performa coding yang mengesankan

LiveCodeBench

  • LiveCodeBench adalah platform yang tersedia secara publik dan dirancang untuk memberikan evaluasi pemrograman kompetitif yang komprehensif dan adil bagi LLM
  • Yi-Coder-9B-Chat mencapai tingkat kelulusan mengesankan sebesar 23.4%, dan menjadi satu-satunya model dengan parameter di bawah 10B yang melampaui 20%
  • Performa ini mengungguli DeepSeek-Coder-33B-Instruct (22.3%), CodeGeex4-All-9B (17.8%), CodeLlama-34B-Instruct (13.3%), dan CodeQwen1.5-7B-Chat (12%)

HumanEval, MBPP dan CRUXEval-O

  • Yi-Coder-9B-Chat mencapai tingkat kelulusan 85.4% pada HumanEval dan 73.8% pada MBPP, mengungguli LLM kode lainnya
  • Selain itu, Yi-Coder 9B menjadi LLM kode open source pertama yang mencapai akurasi di atas 50% pada CRUXEval-O

Yi-Coder unggul dalam penyuntingan dan pelengkapan kode

CodeEditorBench

  • Yi-Coder-9B mencatat rata-rata tingkat kemenangan yang mengesankan di antara LLM kode open source, dan secara konsisten mengungguli DeepSeek-Coder-33B-Instruct dan CodeQwen1.5-7B-Chat pada subset primary maupun plus

CrossCodeEval

  • Yi-Coder mengungguli model lain dengan skala serupa pada dataset Python dan Java, baik dalam skenario dengan retrieval maupun tanpa retrieval
  • Hal ini memvalidasi bahwa pelatihan dengan panjang konteks yang lebih besar pada korpus kode tingkat repositori perangkat lunak memungkinkan Yi-Coder menangkap dependensi jangka panjang secara efektif, yang berkontribusi pada performa unggulnya

Yi-Coder mampu memodelkan konteks panjang 128K

Jarum di dalam kode

  • Untuk menguji kemampuan pemodelan konteks panjang Yi-Coder, dibuat tugas sintetis bernama "Jarum di dalam kode" yang menggunakan sekuens sepanjang 128K
  • Dalam tugas ini, sebuah fungsi kustom sederhana disisipkan secara acak ke dalam codebase yang panjang, lalu model diuji apakah dapat mereproduksi fungsi tersebut di bagian akhir codebase
  • Ini menilai apakah LLM dapat mengekstrak informasi kunci dari konteks panjang, sehingga mencerminkan kemampuan dasar untuk memahami sekuens panjang
  • Yi-Coder-9B menyelesaikan tugas ini dengan sempurna dalam rentang panjang 128K

Yi-Coder menonjol dalam penalaran matematika

Penalaran matematika berbantuan program

  • Yi-Coder dievaluasi pada 7 benchmark penalaran matematika dalam pengaturan berbantuan program (PAL: Program-aided Language Models)
  • Yi-Coder-9B mencapai akurasi luar biasa sebesar 70.3%, melampaui 65.8% milik DeepSeek-Coder-33B

Kesimpulan

  • Kami merilis Yi-Coder 1.5B/9B sebagai open source untuk komunitas, baik versi dasar maupun versi chat
  • Yi-Coder menunjukkan performa luar biasa pada berbagai tugas, termasuk pemrograman dasar dan kompetitif, penyuntingan kode dan pelengkapan tingkat repositori, pemahaman konteks panjang, serta penalaran matematika
  • Kami percaya Yi-Coder dapat mendorong batas LLM kode berukuran kecil dan membuka use case yang dapat mempercepat serta mentransformasi pengembangan perangkat lunak

Ringkasan GN⁺

  • Kelebihan Yi-Coder adalah kemampuannya menghadirkan performa coding mutakhir meski dengan jumlah parameter yang kecil. Ini berpotensi memungkinkan dukungan coding yang unggul tanpa membutuhkan sumber daya komputasi masif seperti LLM besar semacam ChatGPT
  • Kemampuan pemodelan konteks panjang Yi-Coder memungkinkan pemahaman kode di seluruh proyek besar, yang tampaknya akan sangat berguna dalam tugas coding yang kompleks
  • Model ini menunjukkan performa unggul dalam pemrograman kompetitif, penyuntingan kode, pelengkapan tingkat repositori, pemahaman konteks panjang, dan penalaran matematika
  • Contoh utama alat bantu coding berbasis LLM antara lain GitHub Copilot dan Amazon CodeWhisperer. Dibandingkan dengan keduanya, Yi-Coder memiliki keunggulan sebagai model yang lebih ringan, tetapi masih relatif kurang dalam fitur tambahan seperti plugin
  • Proyek lain dengan fungsi serupa mencakup DeepSeek-Coder, CodeGeex4, dan CodeLLama
  • Kemampuan penalaran matematika Yi-Coder adalah bagian yang menarik. Pendekatan pemecahan masalah melalui pemrograman merupakan pendekatan yang berbeda dari model bahasa murni, dan menunjukkan kemungkinan pemanfaatan LLM tidak hanya untuk matematika tetapi juga di berbagai bidang lain

2 komentar

 
GN⁺ 2024-09-06
Opini Hacker News
  • Claude 3.5 Sonnet masih menunjukkan performa terbaik di antara LLM terkait kode

    • Namun DeepSeek Coder V2 236B lebih murah dan efisien
    • Menggunakan DeepSeek Coder V2 di Aider dan plugin Claude Dev
  • Yi-Coder mendapat skor lebih rendah daripada GPT-3.5 pada benchmark pengeditan kode Aider

    • Sonnet: 77%
    • GPT-3.5: 58%
    • Yi-Coder-9b-Chat: 54%
    • Yi-Coder-9b-Chat-q4_0: 45%
  • Hasil pengujian LLM untuk pekerjaan SRE/DevOps/C#/Golang/C++ menghasilkan respons yang tidak logis

    • Saat diminta menulis skrip Python sederhana, model memberi jawaban yang melenceng
    • Memberikan jawaban yang tidak relevan dalam beberapa bahasa pemrograman
  • Menarik melihat perbedaan cara software engineer dan seniman bereaksi terhadap model AI

  • Menantikan model yang terspesialisasi untuk bahasa tertentu

    • Model saat ini menangani banyak bahasa, tetapi dibutuhkan model yang sangat mahir pada bahasa tertentu
  • Penasaran bagaimana cara menyiapkan LLM kecil secara lokal

    • Bertanya apakah fitur tab completion berfungsi di VSCode
    • Meminta tips untuk menyiapkan model cloud selain GitHub Copilot
  • Bertanya tentang rekomendasi hardware untuk menjalankan model di PC desktop lokal

  • Ingin melihat performa SWE-agent dan Yi-Coder-9B-Chat

  • Meminta penjelasan tentang benchmark Aider

    • Penasaran mengapa harus menjalankan 113 pengujian yang sama setiap kali
    • Mempertanyakan cara benchmark tersebut menilai kemampuan umum model dalam menghasilkan dan mengedit kode
  • Bertanya mengapa ukuran model dinyatakan dengan jumlah bobot

    • Ingin mengetahui kebutuhan RAM GPU
    • Mempertanyakan seberapa penting jumlah bobot bagi pengguna biasa