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
Author
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.
