Nội dung trên trang web này đã được dịch bằng trí tuệ nhân tạo (AI) hoặc công nghệ dịch máy và có thể có lỗi.

Skip to content
Artificial Intelligence
Natural Language Processing
Programming Languages

MultiPL-E: Một phương pháp có khả năng mở rộng và đa ngôn ngữ để đánh giá hiệu suất của việc tạo mã bằng mạng thần kinh

View Publication

Author

Federico Cassano (Đại học Northeastern), John Gouwar (Đại học Northeastern), Daniel Nguyen (Trường Trung học Hanover), Sydney Nguyen (Đại học Wellesley), Luna Phipps-Costin (Đại học Northeastern), Donald Pinckney (Đại học Northeastern), Ming-Ho Yee (Đại học Northeastern), Yangtian Zi (Đại học Northeastern), Carolyn Jane Anderson (Đại học Wellesley), Molly Q Feldman (Đại học Oberlin), Arjun Guha (Roblox + Đại học Northeastern), Michael Greenberg (Viện Công nghệ Stevens), Abhinav Jangda (Microsoft)

Venue

Tạp chí IEEE về Kỹ thuật Phần mềm (TSE) 2023

Abstract

Các mô hình ngôn ngữ lớn đã chứng minh khả năng tạo ra cả văn bản ngôn ngữ tự nhiên và ngôn ngữ lập trình. Những mô hình này mở ra khả năng tạo mã đa ngôn ngữ: liệu các mô hình tạo mã có thể tổng quát hóa kiến thức từ ngôn ngữ này sang ngôn ngữ khác không? Mặc dù các mô hình tạo mã hiện đại có thể tạo ra mã Python chính xác về mặt ngữ nghĩa, nhưng vẫn còn rất ít thông tin về khả năng của chúng với các ngôn ngữ khác. Chúng tôi đề xuất MultiPL-E, một hệ thống để dịch các tiêu chuẩn tạo mã dựa trên kiểm tra đơn vị sang các ngôn ngữ mới. Chúng tôi tạo ra bộ dữ liệu thử nghiệm tạo mã đa ngôn ngữ quy mô lớn đầu tiên bằng cách sử dụng MultiPL-E để dịch hai bộ dữ liệu thử nghiệm tạo mã Python phổ biến sang 18 ngôn ngữ lập trình khác.


Chúng tôi sử dụng MultiPL-E để mở rộng bộ dữ liệu thử nghiệm HumanEval và MBPP sang 18 ngôn ngữ bao quát nhiều mô hình lập trình và mức độ phổ biến khác nhau. Sử dụng các bộ dữ liệu thử nghiệm song song mới này, chúng tôi đánh giá hiệu suất đa ngôn ngữ của ba mô hình tạo mã tiên tiến nhất: Codex, CodeGen và InCoder. Chúng tôi phát hiện ra rằng Codex có hiệu suất ngang bằng hoặc thậm chí vượt trội so với hiệu suất của nó trên Python đối với một số ngôn ngữ khác. Phạm vi các ngôn ngữ lập trình được đại diện trong MultiPL-E cho phép chúng tôi khám phá tác động của tần suất ngôn ngữ và các đặc điểm ngôn ngữ đối với hiệu suất mô hình. Cuối cùng, phương pháp MultiPL-E trong việc biên dịch các bài kiểm tra hiệu suất tạo mã sang các ngôn ngữ lập trình mới vừa có khả năng mở rộng vừa linh hoạt, giúp việc đánh giá các mô hình, bài kiểm tra và ngôn ngữ mới trở nên đơn giản.