6 คะแนน โดย GN⁺ 2024-09-06 | 2 ความคิดเห็น | แชร์ทาง WhatsApp
  • 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 ความคิดเห็น

 
GN⁺ 2024-09-06
ความคิดเห็นบน Hacker News
  • Claude 3.5 Sonnet ยังคงทำผลงานได้ดีที่สุดในบรรดา LLM ด้านโค้ด

    • แต่ DeepSeek Coder V2 236B ถูกกว่าและมีประสิทธิภาพมากกว่า
    • กำลังใช้งาน DeepSeek Coder V2 ในปลั๊กอิน Aider และ Claude Dev
  • Yi-Coder ได้คะแนนต่ำกว่า GPT-3.5 ในเบนช์มาร์กการแก้ไขโค้ดของ Aider

    • Sonnet: 77%
    • GPT-3.5: 58%
    • Yi-Coder-9b-Chat: 54%
    • Yi-Coder-9b-Chat-q4_0: 45%
  • เมื่อลองทดสอบ LLM กับงาน SRE/DevOps/C#/Golang/C++ พบว่าได้คำตอบที่ไม่สมเหตุสมผล

    • เมื่อขอให้เขียนสคริปต์ Python ง่าย ๆ กลับตอบออกนอกเรื่อง
    • ให้คำตอบที่ไม่เกี่ยวข้องในหลายภาษาโปรแกรม
  • น่าสนใจที่วิธีตอบสนองของวิศวกรซอฟต์แวร์กับศิลปินต่อโมเดล AI แตกต่างกัน

  • กำลังรอโมเดลที่เชี่ยวชาญเฉพาะภาษาอยู่

    • ตอนนี้โมเดลต่าง ๆ รองรับหลายภาษา แต่ยังต้องการโมเดลที่เก่งมากในภาษาใดภาษาหนึ่งโดยเฉพาะ
  • สงสัยว่าควรตั้งค่า LLM ขนาดเล็กบนเครื่องโลคัลอย่างไร

    • ถามว่าฟังก์ชันเติมคำอัตโนมัติด้วย Tab ใน VSCode ใช้งานได้หรือไม่
    • ขอคำแนะนำในการตั้งค่าโมเดลคลาวด์นอกเหนือจาก GitHub Copilot
  • ถามถึงฮาร์ดแวร์ที่แนะนำสำหรับรันโมเดลบนเดสก์ท็อปพีซีแบบโลคัล

  • อยากเห็นประสิทธิภาพของ SWE-agent และ Yi-Coder-9B-Chat

  • ขอคำอธิบายเกี่ยวกับเบนช์มาร์กของ Aider

    • สงสัยว่าทำไมถึงต้องรันการทดสอบชุดเดิม 113 รายการทุกครั้ง
    • ตั้งข้อสงสัยว่าวิธีนี้ประเมินความสามารถทั่วไปด้านการสร้างและแก้ไขโค้ดของโมเดลได้ดีแค่ไหน
  • ถามว่าทำไมจึงใช้จำนวนพารามิเตอร์เป็นตัวบอกขนาดของโมเดล

    • อยากรู้ความต้องการ GPU RAM
    • สงสัยว่าจำนวนพารามิเตอร์สำคัญต่อผู้ใช้จริงมากแค่ไหน