Root NationTin tứcTin tức CNTTIBM đã tạo bộ dữ liệu Project CodeNet: 14 triệu mẫu mã sẽ dạy AI lập trình

IBM đã tạo bộ dữ liệu Project CodeNet: 14 triệu mẫu mã sẽ dạy AI lập trình

-

Đơn vị IBM của nghiên cứu Trí tuệ nhân tạo (AI) đã trình bày một tập dữ liệu gồm 14 triệu mẫu để phát triển các mô hình học máy có thể hỗ trợ các tác vụ lập trình. Tập dữ liệu có tên Mã dự án, lấy tên từ ImageNet, kho lưu trữ hình ảnh nổi tiếng đã cách mạng hóa thị giác máy tính và học sâu.

Các lập trình viên phát hiện ra các vấn đề mới và khám phá các giải pháp khác nhau, sử dụng nhiều cơ chế của tư duy có ý thức và tiềm thức. Hầu hết các thuật toán học máy yêu cầu các nhiệm vụ được xác định rõ ràng và lượng lớn dữ liệu được chú thích để phát triển các mô hình có thể giải quyết các vấn đề tương tự.

Mạng dự án IBM
Project CodeNet là một tập dữ liệu khổng lồ gồm ~ 14 triệu ví dụ mã nằm rải rác trên hàng chục ngôn ngữ lập trình.

Cộng đồng chuyên gia đã nỗ lực rất nhiều trong việc tạo ra các bộ dữ liệu và điểm chuẩn để phát triển và đánh giá các hệ thống AI cho mã. Tuy nhiên, với tính chất sáng tạo và mở của phát triển phần mềm, rất khó để tạo ra bộ dữ liệu hoàn hảo cho việc lập trình. Với Project CodeNet, các nhà nghiên cứu của IBM đã cố gắng tạo ra một bộ dữ liệu đa mục đích có thể được sử dụng để đào tạo các mô hình học máy về nhiều nhiệm vụ khác nhau. Những người tạo ra CodeNet mô tả nó là "một bộ dữ liệu quy mô lớn, đa dạng và chất lượng cao để tăng tốc các tiến bộ thuật toán trong AI cho mã."

Tập dữ liệu chứa 14 triệu ví dụ gồm 500 triệu dòng mã được viết bằng 55 ngôn ngữ lập trình khác nhau. Các mẫu mã được lấy từ gần 4000 nhiệm vụ đã gửi được đăng trên nền tảng mã hóa trực tuyến AIZU và AtCoder. Các ví dụ mã bao gồm cả câu trả lời đúng và sai cho các nhiệm vụ đã cho.

Cũng thú vị:

Một trong những tính năng chính của CodeNet là số lượng chú thích được thêm vào các ví dụ. Mỗi tác vụ mã hóa có trong tập dữ liệu đều có mô tả bằng văn bản, cũng như các giới hạn về thời gian và bộ nhớ của CPU. Mỗi lần gửi mã chứa hàng tá thông tin, bao gồm ngôn ngữ, ngày gửi, kích thước, thời gian thực hiện, chấp nhận và các loại lỗi. Các nhà nghiên cứu của IBM cũng đã nỗ lực rất nhiều để đảm bảo rằng tập dữ liệu được cân bằng trên nhiều thông số, bao gồm ngôn ngữ lập trình, khả năng chấp nhận và các loại lỗi.

Mạng dự án IBM

CodeNet không phải là tập dữ liệu duy nhất để đào tạo các mô hình học máy về các tác vụ lập trình. Nhưng có một số đặc điểm làm cho nó khác biệt. Đầu tiên là kích thước tuyệt đối của tập dữ liệu, bao gồm số lượng mẫu và sự đa dạng của ngôn ngữ. Nhưng có lẽ quan trọng hơn là siêu dữ liệu đi kèm với các mẫu mã. Các chú thích phong phú được thêm vào CodeNet làm cho nó phù hợp với một loạt các tác vụ khác nhau, không giống như các bộ dữ liệu mã hóa khác chuyên về các tác vụ lập trình cụ thể.

Có một số cách để sử dụng CodeNet. Một trong số đó là dịch thuật ngôn ngữ. Bởi vì mỗi tác vụ mã hóa trong tập dữ liệu chứa các đại diện của các ngôn ngữ lập trình khác nhau, các nhà khoa học dữ liệu có thể sử dụng nó để xây dựng các mô hình học máy dịch mã từ ngôn ngữ này sang ngôn ngữ khác. Điều này có thể thuận tiện cho các tổ chức muốn chuyển mã cũ sang ngôn ngữ mới và giúp các thế hệ lập trình viên mới có thể truy cập được.

Đọc thêm:

Đăng ký
Thông báo về
khách sạn

2 Nhận xét
Những cái mới hơn
Những cái cũ hơn Phổ biến nhất
Bài đánh giá được nhúng
Xem tất cả các bình luận
Victor
Victor
2 năm trước

Truyền thống và di truyền nên kết hợp với tư duy khác nhau, với các thế hệ trẻ nhất của thuật toán thần kinh và phương pháp ML đặt vấn đề, cải thiện lẫn nhau

aasd
aasd
2 năm trước

Theo thời gian, trình độ lập trình viên sẽ còn giảm nhiều hơn (so với bây giờ). Đó là, sẽ có thể viết mã xiên, quanh co bằng "ngôn ngữ chết tiệt". Và sau đó máy sẽ tối ưu hóa, và có thể lấy mã được tối ưu hóa của một lập trình viên hợp ngữ chuyên nghiệp (hoặc thậm chí tốt hơn).