Новый AI пишет компьютерный код: еще не Skynet, но это обучение
Иногда, когда вы кормите контент AI из Интернета, он изучает естественный язык. Иногда он читает все содержимое GitHub и учится производить простые фрагменты кода.
Это история того, что происходит, когда ИИ делает оба.
Нейронные сети - это ярость в эти дни. Из Сири до самостоятельной вождения, к белковому складу и медицинской диагностике, мощный дуэт машинного обучения и больших данных занимается. Неиронные сетки начались как единовременные пони: цепочка марков, созданная Goobletygook Whitepaper, которая была принята в качестве неперездовой бумаги («Spammy и имеет низкие стандарты») 2005 WMSCI. Цепь Маркова породила кафкасквичную славу «Гарков». Другой был способен сделать трипповые образы, где все выглядело как глазное яблоко или кошка.
Доступность АИ все еще превышает его понимание. Сбой и успехи в программном обеспечении распознавания лица подвергают оба ограничения AI, так и на то, как даже изучение машины восприимчивается неявными предубеждениями наборов данных и программистов. Но мы прошли долгий путь от SmarterChild. Каждый год мы строим на то, что мы сделали раньше.
Вы можете тренировать AI, чтобы произвести прозу так близко к естественному языку, что люди имеют проблемы с тем, кто написал это: человек или машина. В прошлом году люди в Лаборатории Openai (с помощью которых Microsoft является эксклюзивным партнером), приготовила модель, называемую GPT-3, которая могла бы блог, твитнуть и спорить. Они обучали его, используя часть общего набора данных для ползаний, который включает в себя Википедию и целую тонну книг, среди других подмножеств прозы и кода. Но обыкновенная ползание также индексирует github. Когда GPT-3 был подвергнут воздействию обширных полосных данных общих данных, он научился производить прозу - но она также изучена осмосом для производства фрагментов интеллектуального компьютерного кода.
Интригировано, команда Openai изготовила еще одну версию модели GPT-3 и назвала IT Codex, и обучала его по-настоящему колоссальному набору прозы от общего ползания и компьютерного кода из GitHub и в других местах. (CODEX ввел частную бета-версию, но технология на самом деле уже используется GitHub, что использует его для питания интеллектуального инструмента предложения кода с именем COPILOT.) Openai Codex является свободным AI, который может принимать приглашение натурального языка в качестве ввода, и генерировать код для задачи, который он был дан. Это здорово - иногда.
Почему Codex может быть настолько мощным, и так жестоким
Великая сила Кодекса - это беглость. Он может генерировать код на 12 языках, и его упругое обращение с входом естественного языка чрезвычайно мощна. Но это также ключевое слабость. Кодирование утомительно, потому что он такой подробный чувствительный, но естественный язык грязный и зависимый контекст. Опечатки или плохая логика могут оба разрушать функцию целого элемента твердого программного обеспечения. И есть хороший код и плохой код и просто простой странный код, размещенный в Интернете.
Кодекс подвержен той же проблеме. В отличие от цепочки Markov, Codex сохраняет запись о его действиях в кэше, но его объем до сих пор ограничен и неглубокий. Он ограничен в абстрактных жестких синтаксисах и логических правилах программирования. Он также ограничен шаблонами и неявными правилами в фактических данных, которые он использует. И если мы не скажем это интерполировать, это не будет.
Другими словами, в то время как Codex может вернуть код, который выполняет то, что вы хотите, он не знает, почему вы хотите, чтобы это функционировать, и его рассуждение не обязательно будет очевидно. Это похоже на написание математического доказательства: могут быть несколько путей к одному и тому же ответу, некоторые из них извилистым. Иногда Codex возвращает код, который ничего не похож на то, что может сделать человеческий программист, но конечно, достаточно, он достигает одно и то же. Иногда его код имеет недостатки безопасности или просто не будет работать вообще. Тридцать семь процентов времени, это работает все время.
Codex настолько надежный частично из-за силы его наборов данных. Распространенные ползания индексы многие вещи, в том числе WordPress, Blogspot, LiveJournal, Archive.org и тонна содержания .edu. Все они богаты метаданными, семантической информацией и внутренними правилами для изучения кодекса, и они также рассказывают нам много о том, как люди используют языки, которые мы говорим. Codex свободно владеет многими разговорными языками, но это также может перевести между разговорным языком и Python - оба составляя код, который делает то, что вы просите его сделать, и объясняя вам код на простых языках. Для тренировки Codex о программированном коде программирования, просто одна из многих вещей, которые они делали, был кормить его Python, плюс одиннадцать других основных языков программирования.
Я в течение долгого времени я поддерживаю, что один из основных шагов в прогрессировании AI будет кормить одно алгоритм обучения к другому. Под капотом AI опирается на идею, что вы можете использовать математику, чтобы найти шаблоны в данных. Он имеет те же ограничения на мусорное ведро, что имеет все остальные код. Даже сложные нервные сетки, которые не могут решить, что представляет собой состояние успеха, если мы не скажем им, что искать. Но большая сила ИИ является итерация. AI будет методично уходить через обширные полосы данных, итерацию по той же проблеме, пока кто-то не скажет его остановиться. Необычные сети глотают данные, такие как реактивные двигатели, глотающие гуси.
Здесь есть реальное сравнение, которое может быть сделано между текущим состоянием искусства в исследованиях AI и физиологии человеческого мозга. Система имеет когерентную внутреннюю логику, и она уже построена для выяснения шаблонов, поскольку они относятся друг к другу. Одним из ограничений на AI заключается в том, что правила могут быть несколько контекстуальных слоев глубоко, а также с текущими методами, требуется много вычислительной мощности для приближения результатов, которые получат человека для той же проблемы или подсказки. Мозг использует закон Вольфа, который здесь означает «нейроны, которые огонь вместе, вместе», чтобы сопоставить ассоциации. CODEX использует внутреннюю ассоциативную базу данных, которая тегает отношения внутри набора данных IT-процессов, и она имеет буквально 175 миллиардов правил. Они оба переводят естественный язык в код. Для мозга выходной автомобиль является корковым нейроном, а для кодекса это может быть Python.
Ай, который улучшает себя
Мы недалеко от интеллектуальной системы, которая может научиться улучшаться рекурсивно. Если мы стоим на плечах гигантов, подразумевалось множество гигантов ниже нас, и мы поднимаемся быстро. Курзвейл обсуждает ускорение человеческого прогресса «Hockey Stick» и позиции Ai как естественный следующий уровень сложности в нашем дереве коллективного навыка. Простые системы AI имеют возможность интегрировать много потоков данных одновременно. Я называю Codex особенность в шуме, но все шучу, в стороне, это действительно, кажется, является ключевой точкой, на которой Ai становится способным улучшаться на себе. Какой кодекс может сделать ищет всему миру, как первый мерцающий одинокий нейрон, поскольку он устанавливает свои первые синапсы. Где и как он будет сформулировать с другими системами обучения, остается видимым.
В временной шкале SkyNet создание всего Runaway Ai антагониста АИ взяла ресурсы на уровне того, что сегодня Microsoft выливается в Codex, и Codex иногда борется, чтобы распечатать ту же строку пять раз. Ясно, что мы не на этом уровне сложности. Вместо этого Codex не отличается от агрегатора, грандиозного корреляционного двигателя от воров Судьбы. Он наиболее полезен в качестве добавочной программирования для опытных программистов, таких как механические роботы, которые помогают людям автоматизировать подразделение от повторяющихся задач. Чтобы автоматизировать процесс с кодом, вы должны точно ограничить свою работу, чтобы убедиться, что вы и IDE находятся на одной странице, чтобы вы получили то, что вы просите. Кодекс может помочь с некоторыми из этой рутины, и вот где он сияет.
Это изумительно представить, что такая система учится построить свои собственные успехи. И все же то, что требуется, чтобы сделать Codex Go, является абсолютно ошеломляющим количеством перекрестных данных, со всей инфраструктурой, когда команды данных. Он возвращает вывод на основе того, что вы дали ему учиться. В то время как Codex может помочь программистам завершить утомительные задачи и убедиться, что все запятые входят в комплект, он все еще смотрит на логические ошибки. Чудесный, но хрупкий. Может быть, лучше, что мы делаем расширенную бета-версию для сингулярности заранее.