- Yi-Coder là mô hình ngôn ngữ lớn mã nguồn mở dành cho code, mang lại hiệu năng lập trình tiên tiến với chưa đến 1 tỷ tham số
- Có hai kích thước 1.5B và 9B tham số, với cả phiên bản nền tảng và phiên bản chat được thiết kế cho suy luận hiệu quả và huấn luyện linh hoạt
- Yi-Coder-9B được xây dựng dựa trên Yi-9B, bổ sung 2.4T token chất lượng cao từ kho ngữ liệu mã ở cấp độ kho lưu trữ trên GitHub và dữ liệu liên quan đến code đã được lọc từ CommonCrawl
Các đặc điểm chính của Yi-Coder
- Được tiền huấn luyện trên 2.4 nghìn tỷ token chất lượng cao trải rộng trên 52 ngôn ngữ lập trình chính
- Mô hình hóa ngữ cảnh dài: sử dụng cửa sổ ngữ cảnh tối đa 128K token để hiểu và sinh mã ở cấp độ dự án
- Nhỏ nhưng mạnh mẽ: Yi-Coder-9B vượt qua các mô hình khác có dưới 10 tỷ tham số như CodeQwen1.5 7B và CodeGeex4 9B, thậm chí đạt hiệu năng tương đương DeepSeek-Coder 33B
Yi-Coder mang lại hiệu năng lập trình ấn tượng
LiveCodeBench
- LiveCodeBench là nền tảng công khai được thiết kế để cung cấp đánh giá lập trình thi đấu toàn diện và công bằng cho LLM
- Yi-Coder-9B-Chat đạt tỷ lệ vượt qua ấn tượng 23.4%, và là mô hình duy nhất dưới 10B tham số vượt mốc 20%
- Hiệu năng này vượt qua DeepSeek-Coder-33B-Instruct (22.3%), CodeGeex4-All-9B (17.8%), CodeLlama-34B-Instruct (13.3%), và CodeQwen1.5-7B-Chat (12%)
HumanEval, MBPP và CRUXEval-O
- Yi-Coder-9B-Chat đạt tỷ lệ vượt qua 85.4% trên HumanEval và 73.8% trên MBPP, vượt qua các code LLM khác
- Ngoài ra, Yi-Coder 9B còn là code LLM mã nguồn mở đầu tiên đạt độ chính xác trên 50% trên CRUXEval-O
Yi-Coder nổi trội trong chỉnh sửa và hoàn thiện mã
CodeEditorBench
- Yi-Coder-9B đạt tỷ lệ thắng trung bình ấn tượng trong số các code LLM mã nguồn mở, liên tục vượt DeepSeek-Coder-33B-Instruct và CodeQwen1.5-7B-Chat ở cả hai tập con primary và plus
CrossCodeEval
- Yi-Coder vượt qua các mô hình khác cùng quy mô trên cả bộ dữ liệu Python và Java, trong cả kịch bản có truy hồi và không truy hồi
- Điều này xác nhận rằng việc huấn luyện với độ dài ngữ cảnh lớn hơn trên kho ngữ liệu mã ở cấp độ kho phần mềm giúp Yi-Coder nắm bắt hiệu quả các phụ thuộc dài hạn, từ đó đóng góp vào hiệu năng vượt trội
Yi-Coder có thể mô hình hóa ngữ cảnh dài 128K
Cây kim trong mã
- Để kiểm tra khả năng mô hình hóa ngữ cảnh dài của Yi-Coder, nhóm phát triển đã tạo một tác vụ tổng hợp có tên là "Cây kim trong mã" sử dụng chuỗi dài 128K
- Trong tác vụ này, một hàm tùy chỉnh đơn giản được chèn ngẫu nhiên vào một codebase dài, và mô hình được kiểm tra xem có thể tái tạo hàm đó ở cuối codebase hay không
- Điều này đánh giá khả năng của LLM trong việc trích xuất thông tin cốt lõi từ ngữ cảnh dài, phản ánh năng lực cơ bản để hiểu các chuỗi dài
- Yi-Coder-9B hoàn thành hoàn hảo tác vụ này trong phạm vi độ dài 128K
Yi-Coder cũng tỏa sáng trong suy luận toán học
Suy luận toán học có hỗ trợ bằng chương trình
- Yi-Coder được đánh giá trên 7 benchmark suy luận toán học trong thiết lập PAL (Program-aided Language Models)
- Yi-Coder-9B đạt độ chính xác ấn tượng 70.3%, vượt qua mức 65.8% của DeepSeek-Coder-33B
Kết luận
- Chúng tôi phát hành mã nguồn mở Yi-Coder 1.5B/9B cho cộng đồng với cả phiên bản nền tảng và phiên bản chat
- Yi-Coder cho thấy hiệu năng nổi bật trên nhiều tác vụ, bao gồm lập trình cơ bản và lập trình thi đấu, chỉnh sửa mã và hoàn thiện ở cấp độ kho lưu trữ, hiểu ngữ cảnh dài và suy luận toán học
- Chúng tôi tin rằng Yi-Coder có thể mở rộng giới hạn của các code LLM nhỏ, mở ra những trường hợp sử dụng có thể thúc đẩy và chuyển đổi quá trình phát triển phần mềm
Tóm tắt của GN⁺
- Ưu điểm của Yi-Coder là cung cấp hiệu năng lập trình hiện đại dù có số lượng tham số ít. Điều này có thể cho phép hỗ trợ lập trình xuất sắc mà không cần lượng tài nguyên tính toán khổng lồ như các LLM lớn kiểu ChatGPT
- Khả năng mô hình hóa ngữ cảnh dài của Yi-Coder cho phép hiểu mã trên toàn bộ các dự án lớn, điều đặc biệt hữu ích với những tác vụ lập trình phức tạp
- Mô hình thể hiện hiệu năng vượt trội trong lập trình thi đấu, chỉnh sửa mã, hoàn thiện ở cấp độ repository, hiểu ngữ cảnh dài và suy luận toán học
- Các công cụ hỗ trợ lập trình dựa trên LLM tiêu biểu hiện nay gồm GitHub Copilot, Amazon CodeWhisperer, v.v. So với chúng, Yi-Coder có lợi thế là mô hình gọn nhẹ hơn, nhưng vẫn còn thiếu các tính năng bổ sung như plugin
- Những dự án khác có chức năng tương tự gồm DeepSeek-Coder, CodeGeex4 và CodeLLama
- Năng lực suy luận toán học của Yi-Coder là một điểm đáng chú ý. Cách tiếp cận giải quyết vấn đề thông qua lập trình tạo nên khác biệt so với mô hình ngôn ngữ thuần túy, đồng thời cho thấy tiềm năng ứng dụng của LLM không chỉ trong toán học mà còn ở nhiều lĩnh vực khác
2 bình luận
Yi - LLM song ngữ mã nguồn mở thế hệ tiếp theo
Yi 1.5 - LLM song ngữ mã nguồn mở thế hệ tiếp theo
Ý kiến trên Hacker News
Claude 3.5 Sonnet vẫn cho thấy hiệu năng tốt nhất trong các LLM liên quan đến code
Yi-Coder nhận điểm thấp hơn GPT-3.5 trong benchmark chỉnh sửa code của Aider
Kết quả thử nghiệm LLM cho các công việc SRE/DevOps/C#/Golang/C++ cho thấy nhận được các câu trả lời thiếu logic
Sự khác biệt trong cách các kỹ sư phần mềm và nghệ sĩ phản ứng với mô hình AI là điều thú vị
Đang chờ các mô hình chuyên biệt cho từng ngôn ngữ cụ thể
Tò mò về cách thiết lập một LLM nhỏ để chạy cục bộ
Hỏi về phần cứng được khuyến nghị để chạy mô hình trên PC desktop cục bộ
Muốn xem hiệu năng của SWE-agent và Yi-Coder-9B-Chat
Yêu cầu giải thích về benchmark Aider
Hỏi vì sao kích thước mô hình lại được biểu diễn bằng số lượng trọng số