- Yi-Coder เป็นโมเดลภาษาขนาดใหญ่สำหรับโค้ด (LLM) แบบโอเพนซอร์ส ที่มอบประสิทธิภาพด้านการเขียนโค้ดระดับแนวหน้าด้วยพารามิเตอร์น้อยกว่า 10 พันล้าน
- มีให้เลือก 2 ขนาดคือ 1.5B และ 9B พารามิเตอร์ โดยออกแบบทั้งเวอร์ชันพื้นฐานและเวอร์ชันแชตเพื่อการอนุมานที่มีประสิทธิภาพและการฝึกที่ยืดหยุ่น
- Yi-Coder-9B สร้างขึ้นบนพื้นฐานของ Yi-9B โดยเพิ่มโทเค็นคุณภาพสูงอีก 2.4T จากคอร์ปัสโค้ดระดับรีโพซิทอรีบน GitHub และข้อมูลที่เกี่ยวข้องกับโค้ดซึ่งคัดกรองจาก CommonCrawl
คุณสมบัติหลักของ Yi-Coder
- พรีเทรนด้วยโทเค็นคุณภาพสูง 2.4 ล้านล้าน (Trillion) รายการ ครอบคลุมภาษาโปรแกรมหลัก 52 ภาษา
- การทำโมเดลบริบทยาว: ใช้หน้าต่างบริบทสูงสุด 128K โทเค็น ทำให้เข้าใจและสร้างโค้ดในระดับทั้งโปรเจ็กต์ได้
- เล็กแต่ทรงพลัง: Yi-Coder-9B เหนือกว่ารุ่นอื่นที่มีพารามิเตอร์ต่ำกว่า 10 พันล้าน เช่น CodeQwen1.5 7B และ CodeGeex4 9B และยังทำผลงานได้เทียบเท่า DeepSeek-Coder 33B
Yi-Coder มอบประสิทธิภาพด้านการเขียนโค้ดที่น่าประทับใจ
LiveCodeBench
- LiveCodeBench เป็นแพลตฟอร์มที่เปิดให้ใช้งานสาธารณะ ออกแบบมาเพื่อมอบการประเมินการแข่งขันเขียนโปรแกรมสำหรับ LLM อย่างครอบคลุมและเป็นธรรม
- Yi-Coder-9B-Chat ทำอัตราผ่านได้สูงถึง 23.4% และเป็นเพียงโมเดลเดียวในกลุ่มที่มีพารามิเตอร์ต่ำกว่า 10B ที่ทำได้เกิน 20%
- ประสิทธิภาพนี้เหนือกว่า DeepSeek-Coder-33B-Instruct (22.3%), CodeGeex4-All-9B (17.8%), CodeLlama-34B-Instruct (13.3%), และ CodeQwen1.5-7B-Chat (12%)
HumanEval, MBPP และ CRUXEval-O
- Yi-Coder-9B-Chat ทำอัตราผ่านได้ 85.4% บน HumanEval และ 73.8% บน MBPP ซึ่งเหนือกว่าโค้ด LLM อื่น ๆ
- นอกจากนี้ Yi-Coder 9B ยังเป็นโอเพนซอร์สโค้ด LLM ตัวแรกที่ทำความแม่นยำบน CRUXEval-O ได้เกิน 50%
Yi-Coder โดดเด่นด้านการแก้ไขและเติมโค้ดให้สมบูรณ์
CodeEditorBench
- Yi-Coder-9B ทำอัตราชนะเฉลี่ยได้อย่างน่าประทับใจในบรรดาโอเพนซอร์สโค้ด LLM และเหนือกว่า DeepSeek-Coder-33B-Instruct กับ CodeQwen1.5-7B-Chat อย่างสม่ำเสมอทั้งในชุดย่อย primary และ plus
CrossCodeEval
- Yi-Coder เหนือกว่าโมเดลขนาดใกล้เคียงกันอื่น ๆ ทั้งบนชุดข้อมูล Python และ Java ในทั้งกรณีมีการดึงค้นและไม่มีการดึงค้น
- สิ่งนี้ยืนยันว่าการฝึกด้วยความยาวบริบทที่มากขึ้นบนคอร์ปัสโค้ดระดับซอฟต์แวร์รีโพซิทอรี ช่วยให้ Yi-Coder จับความสัมพันธ์ระยะยาวได้อย่างมีประสิทธิภาพ และส่งผลต่อประสิทธิภาพที่โดดเด่น
Yi-Coder สามารถทำโมเดลบริบทยาว 128K ได้
เข็มในกองโค้ด
- เพื่อทดสอบความสามารถในการทำโมเดลบริบทยาวของ Yi-Coder ได้มีการสร้างงานสังเคราะห์ชื่อ "เข็มในกองโค้ด" โดยใช้ลำดับความยาว 128K
- ในงานนี้ จะมีการแทรกฟังก์ชันแบบกำหนดเองอย่างง่ายแบบสุ่มลงไปในโค้ดเบสขนาดยาว และทดสอบว่าโมเดลสามารถสร้างฟังก์ชันนั้นซ้ำได้หรือไม่ที่ส่วนท้ายของโค้ดเบส
- งานนี้สะท้อนความสามารถพื้นฐานในการเข้าใจลำดับยาว โดยประเมินว่า LLM สามารถดึงข้อมูลสำคัญออกมาจากบริบทยาวได้หรือไม่
- Yi-Coder-9B ทำงานนี้ได้สมบูรณ์แบบภายในช่วงความยาว 128K
Yi-Coder โดดเด่นในด้านการให้เหตุผลทางคณิตศาสตร์
การให้เหตุผลทางคณิตศาสตร์ด้วยความช่วยเหลือของโปรแกรม
- มีการประเมิน Yi-Coder บนเบนช์มาร์กการให้เหตุผลทางคณิตศาสตร์ 7 รายการ ภายใต้การตั้งค่า PAL: Program-aided Language Models
- Yi-Coder-9B ทำความแม่นยำได้สูงถึง 70.3% เหนือกว่า DeepSeek-Coder-33B ที่ทำได้ 65.8%
บทสรุป
- เราเปิดซอร์ส Yi-Coder 1.5B/9B ให้ชุมชนใช้งาน ทั้งเวอร์ชันพื้นฐานและเวอร์ชันแชต
- Yi-Coder แสดงประสิทธิภาพที่น่าทึ่งในงานหลากหลายประเภท รวมถึงการเขียนโปรแกรมทั่วไปและการแข่งขันเขียนโปรแกรม การแก้ไขโค้ดและการเติมเต็มระดับรีโพซิทอรี ความเข้าใจบริบทยาว และการให้เหตุผลทางคณิตศาสตร์
- เราเชื่อว่า Yi-Coder สามารถขยายขีดจำกัดของโค้ด LLM ขนาดเล็ก เปิดกรณีการใช้งานที่จะช่วยเร่งและเปลี่ยนแปลงการพัฒนาซอฟต์แวร์ได้
สรุปโดย GN⁺
- จุดเด่นของ Yi-Coder คือให้ประสิทธิภาพการเขียนโค้ดที่ทันสมัยแม้ใช้พารามิเตอร์จำนวนน้อย ซึ่งน่าจะช่วยให้รองรับการเขียนโค้ดได้อย่างยอดเยี่ยมโดยไม่ต้องใช้ทรัพยากรคอมพิวต์มหาศาลแบบ LLM ขนาดใหญ่เช่น ChatGPT
- ความสามารถด้านการทำโมเดลบริบทยาวของ Yi-Coder ทำให้เข้าใจโค้ดได้ในระดับทั้งโปรเจ็กต์ ซึ่งน่าจะมีประโยชน์อย่างมากกับงานเขียนโค้ดที่ซับซ้อน
- ทำผลงานได้ยอดเยี่ยมทั้งในด้านการแข่งขันเขียนโปรแกรม การแก้ไขโค้ด การเติมเต็มระดับรีโพซิทอรี ความเข้าใจบริบทยาว และการให้เหตุผลทางคณิตศาสตร์
- เครื่องมือช่วยเขียนโค้ดที่ขับเคลื่อนด้วย LLM ที่เป็นตัวแทนในตลาด ได้แก่ GitHub Copilot และ Amazon CodeWhisperer เป็นต้น โดย Yi-Coder มีข้อได้เปรียบตรงที่เป็นโมเดลน้ำหนักเบากว่าเมื่อเทียบกับเครื่องมือเหล่านี้ แต่ยังขาดฟังก์ชันเสริมอย่างปลั๊กอินอยู่บ้าง
- โครงการอื่นที่มีความสามารถคล้ายกัน ได้แก่ DeepSeek-Coder, CodeGeex4 และ CodeLLama
- ความสามารถด้านการให้เหตุผลทางคณิตศาสตร์ของ Yi-Coder เป็นส่วนที่น่าสนใจ แนวทางการแก้ปัญหาผ่านการเขียนโปรแกรมเป็นวิธีที่แตกต่างจากโมเดลภาษาแบบล้วน ๆ และแสดงให้เห็นศักยภาพการประยุกต์ใช้ LLM ไม่เฉพาะในคณิตศาสตร์แต่รวมถึงโดเมนอื่น ๆ ด้วย
2 ความคิดเห็น
Yi - LLM แบบสองภาษารุ่นถัดไปแบบโอเพนซอร์ส
Yi 1.5 - LLM แบบสองภาษารุ่นถัดไปแบบโอเพนซอร์ส
ความคิดเห็นบน Hacker News
Claude 3.5 Sonnet ยังคงทำผลงานได้ดีที่สุดในบรรดา LLM ด้านโค้ด
Yi-Coder ได้คะแนนต่ำกว่า GPT-3.5 ในเบนช์มาร์กการแก้ไขโค้ดของ Aider
เมื่อลองทดสอบ LLM กับงาน SRE/DevOps/C#/Golang/C++ พบว่าได้คำตอบที่ไม่สมเหตุสมผล
น่าสนใจที่วิธีตอบสนองของวิศวกรซอฟต์แวร์กับศิลปินต่อโมเดล AI แตกต่างกัน
กำลังรอโมเดลที่เชี่ยวชาญเฉพาะภาษาอยู่
สงสัยว่าควรตั้งค่า LLM ขนาดเล็กบนเครื่องโลคัลอย่างไร
ถามถึงฮาร์ดแวร์ที่แนะนำสำหรับรันโมเดลบนเดสก์ท็อปพีซีแบบโลคัล
อยากเห็นประสิทธิภาพของ SWE-agent และ Yi-Coder-9B-Chat
ขอคำอธิบายเกี่ยวกับเบนช์มาร์กของ Aider
ถามว่าทำไมจึงใช้จำนวนพารามิเตอร์เป็นตัวบอกขนาดของโมเดล