Если вы освоили Python 101, вы, вероятно, лучше программируете, чем прототип Codex OpenAI °

    0
    89


    OpenAI предупредил, что ее нейронная сеть Codex, подобная той, которая поддерживает инструмент завершения кода GitHub Copilot, скорее всего, будет генерировать источник, который выглядит правдоподобным, но неверен, и его производительность будет снижаться по мере увеличения размера.

    Лаборатория искусственного интеллекта выявила недостатки и ограничения непроизводственных сборок своей модели Кодекса в предпечатном документе на этой неделе. Следует отметить отдельный производственный вариант системы, на которой работает GitHub Copilot; предварительные модели, обсуждаемые в статье, меньше по размеру и обучаются только на Python, тогда как Copilot был обучен на большем количестве данных и поддерживает автозавершение кода для ряда языков программирования.

    Тем не менее, GitHub Copilot страдает теми же проблемами, что и прототипы Codex. А именно, сгенерированный код вряд ли будет правильным и полезным для разработчиков с первой попытки, и он имеет тенденцию давать ответы, которые на первый взгляд кажутся разумными, но могут быть неправильными. Программисты должны внимательно проверять автоматически написанный код на наличие ошибок.

    Языковая модель Codex, описанная в статье, была доработана на 159 ГБ исходного кода Python, взятого из более чем 50 миллионов общедоступных репозиториев на GitHub. Каждый проанализированный файл Python содержал менее тысячи строк кода. Чтобы проверить навыки парного программирования модели ИИ, исследователи придумали 164 написанных от руки задач программирования, в которых проверялась способность Кодекса выполнять функции, понимать простые алгоритмы и решать математические запросы.

    Самая мощная версия системы с 12 миллиардами параметров смогла решить 28,8% проблем с первой попытки. Для сравнения, система естественного языка OpenAI GPT-3 не смогла решить ни одну из них.

    Однако Кодекс работает лучше, когда ему дают возможность генерировать больше ответов. В десяти попытках он давал правильный ответ в 46,81% случаев, а в 100 попытках этот показатель возрастал до 72,31%.

    Другими словами, выбор лучшего предложения из Кодекса зависит от людей-программистов или, возможно, от инструментов. «Этот результат предполагает, что точные образцы кода могут быть выбраны с помощью эвристического ранжирования вместо полной оценки каждого образца, последний из которых может оказаться невозможным или практичным в развертывании», – говорится в документе.

    Кажется, что GitHub Copilot работает немного лучше; он может генерировать правильный код в 43 процентах случаев с первой попытки и в 57 процентах случаев, когда разрешено 10 попыток. Если вы беспокоились о том, что эти инструменты завершения кода заменят людей-программистов, не беспокойтесь, пока они не представляют реальной угрозы и представляют собой простые машины сопоставления с образцом. Подходит для создания шаблонного кода и тому подобного.

    Человеческое прикосновение

    Исследователи признали, что «сильный студент, закончивший вводный курс по информатике, должен быть способен решить большую часть проблем, чем Codex», даже несмотря на то, что он видел больше кода, чем профессиональный разработчик когда-либо увидит за свою жизнь.

    Кодекс имеет тенденцию копировать общие образцы кодирования, на которых его обучали; если вы напишете что-то похожее, он заполнит пробелы тем, что, по его мнению, должно произойти дальше, хотя сгенерированный код часто бывает не совсем правильным. Если вы пишете что-то более специализированное для конкретного приложения или более сложное, чем большинство скриптов, Codex будет не так полезен.

    «Мы обнаружили, что Codex может рекомендовать синтаксически неверный или неопределенный код и может вызывать функции, переменные и атрибуты, которые не определены или выходят за рамки кодовой базы. Более того, Кодекс изо всех сил пытается проанализировать все более длинные и высокоуровневые или системные спецификации », – говорится в документе.

    В документе говорится, что эта проблема только усугубляется по мере того, как модели становятся больше и мощнее. Кодекс также хорош как программист, к сожалению. Если вы подадите ему подсказки, содержащие незначительные ошибки, он «будет иметь тенденцию создавать худший код, чем он способен. Это сохраняется, когда приглашение также включает инструкции по написанию правильного кода. Этот разрыв увеличивается с увеличением размера модели », – пишут исследователи.

    Они также предупредили, что, как и другие языковые модели, Кодекс также можно уговорить генерировать «расистские, очерняющие и другие вредные результаты» в виде комментариев к коду. Пристрастия по признаку пола или расы также наблюдались в структурах кода. Чтобы предотвратить вред в реальном мире, GitHub Copilot поставляется с фильтрами, которые автоматически блокируют оскорбительные слова, поэтому он не может выдавать токсичные результаты.

    Не поймите нас неправильно. OpenAI заявила, что хочет сосредоточиться на потенциальных положительных последствиях, которые может иметь инструмент, например, сделает ли он программистов более продуктивными или может ли он побудить их лучше документировать свой код, чтобы другие могли его прочитать. ®

    Предыдущая статьяКак быстро перенести все данные со старого смартфона Android на новый
    Следующая статьяЛучшие наборы брони в Monster Hunter Rise
    Виктор Попанов
    Эксперт тестовой лаборатории. Первый джойстик держал в руках в возрасте 3 лет. Первый компьютер, на котором „работал” был с процессором Intel i386DX-266. Тестирует оборудование для издания ITBusiness. Будь то анализ новейших гаджетов или устранение сложных неполадок, этот автор всегда готов к выполнению поставленной задачи. Его страсть к технологиям и приверженность качеству делают его бесценным помощником в любой команде.