{"id":6288,"date":"2022-02-06T03:12:13","date_gmt":"2022-02-06T09:12:13","guid":{"rendered":"https:\/\/scottaaronson.blog\/?p=6288"},"modified":"2022-02-14T13:44:57","modified_gmt":"2022-02-14T19:44:57","slug":"alphacode-as-a-dog-speaking-mediocre-english","status":"publish","type":"post","link":"https:\/\/scottaaronson.blog\/?p=6288","title":{"rendered":"AlphaCode as a dog speaking mediocre English"},"content":{"rendered":"\n<p>Tonight, I took the time actually to read DeepMind\u2019s <a href=\"https:\/\/storage.googleapis.com\/deepmind-media\/AlphaCode\/competition_level_code_generation_with_alphacode.pdf\">AlphaCode paper<\/a>, and to work through the example contest problems provided, and understand how I would&#8217;ve solved those problems, and how AlphaCode solved them.<\/p>\n\n\n\n<p>It is absolutely astounding.<\/p>\n\n\n\n<p>Consider, for example, the &#8220;n singers&#8221; challenge (pages 59-60). To solve this well, you first need to parse a somewhat convoluted English description, discarding the irrelevant fluff about singers, in order to figure out that you&#8217;re being asked to find a positive integer solution (if it exists) to a linear system whose matrix looks like<br>1 2 3 4<br>4 1 2 3<br>3 4 1 2<br>2 3 4 1.<br>Next you need to find a trick for solving such a system without Gaussian elimination or the like (I&#8217;ll leave that as an exercise\u2026). Finally, you need to generate code that implements that trick, correctly handling the wraparound at the edges of the matrix, and breaking and returning &#8220;NO&#8221; for any of multiple possible reasons why a positive integer solution won&#8217;t exist.   Oh, and also correctly parse the input.<\/p>\n\n\n\n<p>Yes, I realize that AlphaCode generates a million candidate programs for each challenge, then discards the vast majority by checking that they don&#8217;t work on the example data provided, then <em>still<\/em> has to use clever tricks to choose from among the thousands of candidates remaining. I realize that it was trained on tens of thousands of contest problems and millions of solutions to those problems. I realize that it &#8220;only&#8221; solves about a third of the contest problems, making it similar to a mediocre human programmer on these problems. I realize that it works only in the artificial domain of programming contests, where a complete English problem specification and example inputs and outputs are always provided.<\/p>\n\n\n\n<p>Forget all that. Judged against where AI was 20-25 years ago, when I was a student, a dog is now holding meaningful conversations in English. And people are complaining that the dog isn&#8217;t a very eloquent orator, that it often makes grammatical errors and has to start again, that it took heroic effort to train it, and that it&#8217;s unclear how much the dog really understands.<\/p>\n\n\n\n<p>It&#8217;s not obvious how you go from solving programming contest problems to conquering the human race or whatever, but I feel pretty confident that we&#8217;ve now entered a world where &#8220;programming&#8221; will look different.<\/p>\n\n\n\n<p><strong>Update:<\/strong> A colleague of mine points out that one million, the number of candidate programs that AlphaCode needs to generate, could be seen as roughly exponential in the number of lines of the generated programs.  If so, this suggests a perspective according to which DeepMind has created almost the exact equivalent, in AI code generation, of a non-fault-tolerant quantum computer that\u2019s nevertheless competitive on some task (as in the quantum supremacy experiments). I.e., it clearly does something highly nontrivial, but the \u201csignal\u201d is still decreasing exponentially with the number of instructions, necessitating an exponential number of repetitions to extract the signal and imposing a limit on the size of the programs you can scale to.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tonight, I took the time actually to read DeepMind\u2019s AlphaCode paper, and to work through the example contest problems provided, and understand how I would&#8217;ve solved those problems, and how AlphaCode solved them. It is absolutely astounding. Consider, for example, the &#8220;n singers&#8221; challenge (pages 59-60). To solve this well, you first need to parse [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false},"categories":[11,8],"tags":[],"class_list":["post-6288","post","type-post","status-publish","format-standard","hentry","category-nerd-interest","category-the-fate-of-humanity"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/scottaaronson.blog\/index.php?rest_route=\/wp\/v2\/posts\/6288","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/scottaaronson.blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/scottaaronson.blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/scottaaronson.blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/scottaaronson.blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6288"}],"version-history":[{"count":5,"href":"https:\/\/scottaaronson.blog\/index.php?rest_route=\/wp\/v2\/posts\/6288\/revisions"}],"predecessor-version":[{"id":6294,"href":"https:\/\/scottaaronson.blog\/index.php?rest_route=\/wp\/v2\/posts\/6288\/revisions\/6294"}],"wp:attachment":[{"href":"https:\/\/scottaaronson.blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6288"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/scottaaronson.blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6288"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/scottaaronson.blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6288"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}