Deepmind tìm hiểu nghệ thuật viết mã: Hành trình khám phá trí tuệ nhân tạo!

#Deepmind #Trí_tuệ_nhân_tạo #Sắp_xếp_dữ_liệu #Mã_hợp_ngữ #Học_tăng_cường

Trên đồng ruộng của khoa học máy tính, sắp xếp dữ liệu là một nhiệm vụ cơ bản được lý thuyết hóa và tối ưu hóa trong nhiều thập kỷ. Tuy nhiên, với sự phát triển của Trí tuệ nhân tạo, AlphaDev – một hệ thống AI được phát triển bởi Deepmind của Google đã cải thiện các thuật toán sắp xếp và tạo ra một cách mới để sắp xếp các chuỗi ngắn theo số trong ngôn ngữ lập trình phổ biến C++. Điều này đã mở ra cánh cửa cho sự phát triển của nghệ thuật viết mã với việc AI tìm hiểu và xây dựng các thuật toán mới để tối ưu hóa toàn bộ ngăn xếp máy tính.

Sử dụng kỹ thuật học tăng cường, AlphaDev đã học bằng cách làm và tối đa hóa phần thưởng thông qua việc thực hiện các bước di chuyển thông minh giúp tăng hiệu quả của chương trình. Cải tiến này đã giúp cho các thuật toán sắp xếp C++ mới của AlphaDev hiệu quả hơn 1,7% và nhanh hơn tới 70% đối với các chuỗi năm mục. Các thuật toán đã được sử dụng hàng nghìn tỷ lần mỗi ngày thông qua việc sử dụng mã do AI viết và gửi tới thư viện mã nguồn mở lớn dành cho C++ Libc++.

Việc tìm hiểu điều gì đó cơ bản hơn về chính nghệ thuật viết mã sẽ khó khăn hơn nhiều, tuy nhiên, đó là một bước quan trọng để phát triển Trí tuệ nhân tạo trong lĩnh vực này.

Nguồn: https://www.wired.com/story/deepminds-ai-is-learning-about-the-art-of-coding/

Trên đồng ruộng của khoa học máy tính, có lẽ không có nhiệm vụ cơ bản nào hơn là sắp xếp. Bong bóng, đống, hợp nhất—hãy lựa chọn của bạn. Các phương pháp sắp xếp lại dữ liệu bên trong máy tính đã được lý thuyết hóa cho đến nay, được dùng làm bài tập thực hành cho hàng triệu người mới và được các nhà phát triển chuyên gia tối ưu hóa trong nhiều thập kỷ. Nhập một hàm sort() bằng bất kỳ ngôn ngữ lập trình nào và đó là mã mà bạn có thể dựa vào. Đừng chạm vào nó. Nó đã hoạt động rất tốt.

Nhưng năm ngoái, một hệ thống AI được phát triển bởi các kỹ sư tại Deepmind của Google đã cải thiện rất nhiều. Hệ thống, mà Deepmind gọi là AlphaDev, được giao nhiệm vụ tìm ra một cách mới để sắp xếp các chuỗi ngắn theo số trong C++, ngôn ngữ lập trình phổ biến. Nó có nghĩa là đi sâu vào bên trong và yêu cầu AI xây dựng các thuật toán mới trong mã hợp ngữ—các hướng dẫn thu hẹp khoảng cách giữa các ngôn ngữ lập trình như C++ và phần cứng máy tính. Khi một nhà phát triển C++ ra lệnh cho máy tính “sắp xếp”, các lệnh đó được chuyển đổi thành mã mà máy có thể đọc được để cho bộ nhớ và bộ xử lý của máy tính biết chính xác phải làm gì: di chuyển dữ liệu ở đâu và cách thay đổi dữ liệu đó. Đó là nơi các bit gặp kim loại.

Thí nghiệm đã thành công. Kể từ tháng 4 năm ngoái, C++ đã chạy nhanh hơn một chút nhờ một bộ thuật toán sắp xếp mới do AI tạo ra. Nhưng theo các kỹ sư của AlphaDev, người mô tả công việc ngày hôm nay trong Thiên nhiên, đó chỉ là bước đầu tiên. Daniel Mankowitz, một nhà khoa học nghiên cứu nhân viên tại Deepmind, người đứng đầu dự án phân loại cho biết: “Chúng tôi muốn tối ưu hóa toàn bộ ngăn xếp máy tính. Mankowitz nói rằng AlphaDev đã cải tiến các thuật toán không chỉ để sắp xếp mà còn cho các tác vụ cơ bản khác như băm.

Armando Solar-Lezama, một chuyên gia tổng hợp chương trình tại MIT, người không tham gia nghiên cứu, cho biết: “Tôi nghĩ công việc này cực kỳ thú vị. Thật hữu ích khi AI nghĩ ra một thuật toán sắp xếp mới; Ông nói, đó là một vấn đề lớn hơn nhiều để xây dựng một AI có thể học cách viết mã hiện đại cho nhiều nhiệm vụ khác nhau. Điều đó có nghĩa là AlphaDev đã bắt đầu tìm hiểu điều gì đó cơ bản hơn về chính nghệ thuật viết mã.

Tất nhiên, điều đó đi kèm với những hạn chế đáng kể. “Đây là những chương trình cực nhỏ,” anh ấy nói thêm—tổng cộng không quá vài chục hướng dẫn trong mã hợp ngữ. Nhưng những chương trình nhỏ bé đó thường gây ra những nút cổ chai lớn đối với hiệu suất máy tính, đã được tối ưu hóa ở mức mà mọi người có thể thúc đẩy chúng. Nhìn chung, các thuật toán sắp xếp C++ mới của AlphaDev hiệu quả hơn 1,7 phần trăm so với các phương pháp trước đó khi sắp xếp các chuỗi số dài và nhanh hơn tới 70 phần trăm đối với các chuỗi năm mục. Ở quy mô lớn, những cải tiến này cộng lại, Mankowitz nói. Vì mã do AI viết đã được gửi tới Libc++, một thư viện mã nguồn mở lớn dành cho C++, nên ông ước tính các thuật toán đã được sử dụng hàng nghìn tỷ lần mỗi ngày.

Những cải tiến đó là nhờ một kỹ thuật gọi là học tăng cường, đây là phương pháp tương tự được sử dụng để giúp AI của Deepmind làm chủ các trò chơi như cờ vua và cờ vây. Loại AI này học bằng cách làm. Nó hoạt động bằng cách coi một nhiệm vụ nhất định—chẳng hạn như viết một chương trình lắp ráp—như một trò chơi, trong đó AI nhận được phần thưởng khi thực hiện các bước di chuyển thông minh giúp tăng hiệu quả của chương trình. Theo thời gian, hệ thống hoạt động để tối đa hóa phần thưởng này, dẫn đến chiến lược cờ vây chiến thắng hoặc chương trình lắp ráp nhanh hơn. Điều này khác với loại AI được tìm thấy trong các mô hình ngôn ngữ lớn như GPT-4, dựa vào lượng dữ liệu khổng lồ để học cách viết từ hoặc mã. Điều đó thật tuyệt vời để tạo ra văn bản phản ánh giọng điệu của internet hoặc tạo ra các đoạn mã phổ biến. Nhưng nó không giỏi trong việc tạo ra các giải pháp mới, tiên tiến nhất để giải quyết các thách thức mã hóa mà AI chưa từng thấy trước đây.


[ad_2]

Leave a Reply

Your email address will not be published. Required fields are marked *