Google muốn robot tự viết mã Python

Google đã tiết lộ một phương pháp hoàn toàn mới để sử dụng các mô hình ngôn ngữ lớn (LLM) thể hiện cách máy móc có thể viết mã của riêng chúng dựa trên hướng dẫn của con người

Công việc gần đây nhất được xây dựng dựa trên GPT-3 LLM của OpenAI và công việc liên quan trong việc hoàn thành mã tự động, chẳng hạn như tính năng Copilot của GitHub, để rô-bốt hiểu các lời nhắc mở từ con người và phản hồi một cách hợp lý và an toàn trong không gian vật lý.  

Theo Google, các mô hình ngôn ngữ gần đây nhất, như PaLM, có khả năng suy luận phức tạp và cũng đã được đào tạo trên hàng triệu dòng mã. "Điều gì sẽ xảy ra nếu khi được con người hướng dẫn, rô-bốt có thể tự viết mã của riêng mình để tương tác với thế giới?"

Google cũng đã đưa ra một cam kết quan trọng trong việc sử dụng AI để hỗ trợ nhiều ngôn ngữ hơn

Nó tuyên bố rằng các LLM viết mã có thể được tái sử dụng để viết mã chính sách rô-bốt để đáp ứng các lệnh ngôn ngữ tự nhiên và Nghiên cứu của Google đã đặt tên cho sự phát triển mới này là "Mã là chính sách. "

Theo các nhà nghiên cứu của Google, các LLM có thể nhận các lệnh mới và tự động soạn lại các lệnh gọi API để tạo mã chính sách mới khi được cung cấp làm đầu vào một số lệnh ngôn ngữ mẫu (được định dạng dưới dạng nhận xét) theo sau là mã chính sách tương ứng (thông qua lời nhắc vài lần).  

Trong các ví dụ, người dùng sẽ nói "xếp các khối lên chiếc bát trống" hoặc "đặt các khối theo một đường ngang gần đỉnh" của một hình vuông có chu vi 2D. Các chương trình do mô hình ngôn ngữ của Google tạo ra sau đó sẽ viết mã Python để hướng dẫn chính xác rô-bốt thực hiện theo các lệnh được nói. Nó sử dụng các thư viện như Shapely, trong trường hợp này là lý luận hình học không gian, nhưng cũng dựa trên các nguyên tắc tổ chức của ngôn ngữ lập trình Python

Theo Google, các mô hình ngôn ngữ có thể thực hiện nhiệm vụ này hiệu quả hơn so với việc học trực tiếp các nhiệm vụ của robot và tạo ra các hành động ngôn ngữ tự nhiên.

Với CaP, chúng tôi đề xuất sử dụng các mô hình ngôn ngữ để viết mã rô-bốt trực tiếp thông qua nhắc nhở vài lần, mở rộng công việc trước đây của chúng tôi, PaLM-SayCan, bằng cách cho phép các mô hình ngôn ngữ hoàn thành các tác vụ rô-bốt phức tạp hơn với biểu thức đầy đủ của mã Python đa năng.  

CaP cũng hỗ trợ các hướng dẫn bằng ngôn ngữ không phải tiếng Anh và thậm chí cả biểu tượng cảm xúc, ngoài việc khái quát hóa các hướng dẫn mới, Google tuyên bố các mô hình có thể dịch các giá trị chính xác, chẳng hạn như vận tốc, dựa trên các mô tả mơ hồ như "nhanh hơn" hoặc "sang trái". "

Theo Google, mô hình có thể dịch các hướng dẫn đơn giản hơn như "đẩy các khối lên đỉnh của hình vuông 2D" chứ không thể dịch các hướng dẫn phức tạp hơn như "xây dựng một ngôi nhà bằng các khối" vì nó thiếu tham chiếu 3D

Mặc dù CaP tăng khả năng thích ứng của robot, nhưng nó cũng "làm tăng rủi ro tiềm ẩn do các chương trình được tổng hợp (trừ khi được kiểm tra thủ công mỗi lần chạy) có thể dẫn đến các hành vi không chủ ý với phần cứng vật lý", bài viết tiếp tục

Google đã tiết lộ một cách tiếp cận mới để sử dụng các mô hình ngôn ngữ lớn (LLM) cho thấy cách robot có thể viết mã của riêng chúng trên cơ sở hướng dẫn từ con người.  

Công trình mới nhất được xây dựng dựa trên mô hình PaLM-SayCan của Google để rô-bốt hiểu các lời nhắc mở từ con người và phản hồi một cách hợp lý và an toàn trong không gian thực. Nó cũng được xây dựng trên GPT-3 LLM của OpenAI và công việc liên quan trong việc hoàn thành mã tự động, như tính năng Copilot của GitHub.  

"Điều gì sẽ xảy ra nếu khi được con người hướng dẫn, robot có thể tự viết mã của riêng mình để tương tác với thế giới?" . Google cho biết thế hệ mô hình ngôn ngữ mới nhất, chẳng hạn như PaLM, có khả năng lập luận phức tạp và cũng đã được đào tạo trên hàng triệu dòng mã. "Với các hướng dẫn bằng ngôn ngữ tự nhiên, các mô hình ngôn ngữ hiện tại rất thành thạo trong việc viết không chỉ mã chung chung mà như chúng tôi đã phát hiện ra, mã có thể điều khiển cả hành động của rô-bốt. "

Cũng thế. Google cam kết hỗ trợ nhiều ngôn ngữ hơn bằng AI

Google Research gọi sự phát triển mới của mình là "Mã dưới dạng chính sách" và khẳng định rằng các LLM viết mã có thể được tái sử dụng để viết mã chính sách rô-bốt để đáp ứng các lệnh ngôn ngữ tự nhiên.  

"Khi được cung cấp dưới dạng đầu vào là một số lệnh ngôn ngữ ví dụ (được định dạng dưới dạng nhận xét) theo sau là mã chính sách tương ứng (thông qua lời nhắc vài lần), LLM có thể nhận các lệnh mới và tự động soạn lại lệnh gọi API để tạo mã chính sách mới tương ứng", các nhà nghiên cứu của Google . Chương trình mô hình ngôn ngữ để kiểm soát hiện thân.  

Trong các ví dụ đã cho, người dùng sẽ nói "xếp các khối lên trên cái bát trống" hoặc "đặt các khối theo một đường ngang gần đỉnh" của một hình vuông có chu vi 2D. Mô hình ngôn ngữ của Google tạo ra các chương trình sau đó viết mã bằng Python để hướng dẫn chính xác rô-bốt thực hiện theo các lệnh được nói. Nó dựa trên cấu trúc của lập trình Python nhưng cũng sử dụng các thư viện như Shapely, trong trường hợp đó là lý luận hình học không gian.  

Cải tiến mà Google tuyên bố là các mô hình ngôn ngữ có thể tốt hơn cho nhiệm vụ này so với việc học trực tiếp các nhiệm vụ của robot và xuất ra các hành động ngôn ngữ tự nhiên.  

"CaP mở rộng công việc trước đây của chúng tôi, PaLM-SayCan, bằng cách cho phép các mô hình ngôn ngữ hoàn thành các tác vụ robot thậm chí phức tạp hơn với biểu thức đầy đủ của mã Python có mục đích chung. Với CaP, chúng tôi đề xuất sử dụng các mô hình ngôn ngữ để viết mã rô-bốt trực tiếp thông qua nhắc nhở trong vài lần chụp", Google Research lưu ý.  

Bên cạnh việc khái quát hóa các hướng dẫn mới, Google cho biết các mô hình có thể dịch các giá trị chính xác, chẳng hạn như vận tốc, dựa trên các mô tả mơ hồ như "nhanh hơn" hoặc "sang trái". CaP cũng hỗ trợ hướng dẫn bằng các ngôn ngữ không phải tiếng Anh và thậm chí cả biểu tượng cảm xúc.     

Theo Google, mặc dù mô hình có thể viết mã hướng dẫn robot đẩy các khối có màu khác nhau lên trên cùng của hình vuông 2D, nhưng nó không thể dịch các hướng dẫn phức tạp hơn như "xây nhà bằng các khối" vì không có tham chiếu 3D.  

Nó cũng cảnh báo rằng, mặc dù CaP mang lại cho rô-bốt tính linh hoạt bổ sung, nhưng điều này cũng "làm tăng rủi ro tiềm ẩn do các chương trình được tổng hợp (trừ khi được kiểm tra thủ công mỗi lần chạy) có thể dẫn đến các hành vi ngoài ý muốn với phần cứng vật lý". "

Google đã phát hành một điểm chuẩn mã nguồn mở mới mà hãng cho biết sẽ cho phép robot thực hiện các tác vụ bằng cách viết mã của riêng chúng để đáp ứng các hướng dẫn do con người viết.  

Công ty đã ra mắt một trang web mới (mở trong tab mới) để tiết lộ “Mã dưới dạng chính sách” (CAP), theo đó các lời nhắc được viết .

CAP là phiên bản kế thừa của PaLM-SayCan (opens in new tab) , một dự án tương tự cho phép điều khiển robot trợ giúp vật lý . CAP hứa hẹn sẽ cho phép hoàn thành các tác vụ phức tạp hơn với độ chính xác cao hơn, một phần là do cho phép máy viết mã của riêng chúng.

Robot tự mã hóa

Trong một bài đăng trên blog (mở trong tab mới) thảo luận về việc phát hành CAP, Thực tập sinh nghiên cứu của Google Jacky Liang và Nhà khoa học nghiên cứu Andy Zeng mô tả động lực .

“Điều gì sẽ xảy ra nếu khi được con người hướng dẫn, robot có thể tự viết mã của riêng mình để tương tác với thế giới? . ] Với các hướng dẫn bằng ngôn ngữ tự nhiên, các mô hình ngôn ngữ hiện tại rất thành thạo trong việc viết không chỉ mã chung chung mà như chúng tôi đã phát hiện ra, mã có thể điều khiển cả các hành động của rô-bốt. ”

Nhưng có lẽ chưa đến lúc vứt bỏ máy tính xách tay của bạn để lập trình. Trong quá trình thử nghiệm, các nhà nghiên cứu của Google đã trình diễn các lệnh đơn giản với cấu trúc tương tự. Các rô bốt thử nghiệm có thể “vẽ một hình lục giác 5 cm xung quanh giữa” [của bảng trắng] và “đặt các khối theo một đường nằm ngang gần đỉnh” [của một đường viền hình vuông]

Robot có được mã hóa bằng Python không?

Python là ngôn ngữ lập trình phổ biến nhất dành cho rô-bốt , đồng thời đây cũng là cách học ROS nhanh hơn và dễ dàng hơn.

Python hay C++ tốt hơn cho người máy?

C++ và Python có lẽ là 2 ngôn ngữ được sử dụng nhiều nhất khi nói đến lập trình robot. C++ cho hiệu suất và Python để dễ sử dụng . C ++ được biết đến với hiệu suất nhưng khó học hơn và thường mất nhiều thời gian hơn để viết chương trình C ++ so với chương trình Python. Lập trình được sử dụng như thế nào trong chế tạo rô-bốt?

Java hay Python tốt hơn cho người máy?

Cuối cùng, việc bạn sử dụng Java hay Python để lập trình robot không thực sự quan trọng vì cả hai đều hoạt động tương tự nhau nhưng khác nhau . Bạn vẫn sẽ cần ghép nối chúng với các ngôn ngữ lập trình cấp cao khác như C++ hoặc C# để có kết quả tốt nhất.

Google có hoạt động trên robot không?

Mục tiêu của chúng tôi là cải tiến công nghệ rô bốt thông qua học máy và cải thiện công nghệ học máy thông qua công nghệ rô bốt . Chúng tôi thúc đẩy sự hợp tác chặt chẽ giữa các nhà nghiên cứu máy học và người chế tạo rô-bốt để cho phép học tập trên quy mô lớn trên các hệ thống rô-bốt thực và mô phỏng.