Facebook запускает TransCoder: искусственный интеллект, который с высокой точностью конвертирует один язык программирования в другой

Facebook запускает TransCoder: искусственный интеллект, который с высокой точностью конвертирует один язык программирования в другой

Исследователи Facebook только что объявили, что они успешно разработали конвертер языков программирования для приложений искусственного интеллекта . Этот инструмент под названием TransCoder может конвертировать исходный код с одного языка программирования высокого уровня в другой. Например, переход с C++ на Java, Python и наоборот.

Созданный на основе обучения без учителя, TransCoder ищет ранее не обнаруженные закономерности в наборах данных, которые не помечены и находятся под минимальным контролем человека. Согласно расчетам, TransCoder значительно превосходит существующие коммерческие инструменты.

Facebook запускает TransCoder: искусственный интеллект, который с высокой точностью конвертирует один язык программирования в другой

Facebook TransCoder может конвертировать исходный код с одного языка программирования на другой с высокой точностью.

Преобразование исходного кода с использованием старых языков в более современные и эффективные языки программирования, такие как Java и C++, часто является затратным как по времени, так и по деньгам. Кроме того, те, кто берется за эту работу, должны иметь глубокие знания как старых, так и новых языков. Например, Австралийскому банку Содружества потребовалось 5 лет и 750 миллионов долларов США, чтобы преобразовать исходный код всей своей системы с COBOL на Java.

Теоретически преобразователи языков программирования могут существенно поддержать описанный выше процесс, помогая программистам не переписывать исходный код с нуля. Однако на практике построить и усовершенствовать преобразователь очень сложно, поскольку языки программирования могут использовать разные наборы синтаксиса и опираться на платформы API, стандартные библиотеки функций и типы различных переменных.

Однако, используя обучение без учителя, TransCoder Facebook может конвертировать между C++, Java и Python с высоким уровнем точности. TransCoder обучается путем записи и сопоставления аналогичных сегментов кода, которые имеют одинаковые функции языков программирования. Исходный код, используемый для обучения TransCoder, даже замаскирован случайными фрагментами кода, чтобы TransCoder мог прогнозировать их на основе контекста.

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

Многоязычный характер TransCoder дополнительно «подпитывается» набором общих «якорей» для всех языков программирования , таких как общие ключевые слова «for», « while», «if» и «try», числа, математические операторы и т. д. Английские струны. Процесс декомпиляции также поможет TransCoder со временем улучшить качество.

Исследователи Facebook обучали TransCoder на общедоступном наборе данных GitHub, который содержит 2,8 миллиона репозиториев с открытым исходным кодом. Цель этого процесса обучения — помочь TransCoder преобразовать один язык программирования в другой на функциональном уровне. После того, как TransCoder был отработан на всем доступном исходном коде, дальнейшее обучение функциям прошли только компоненты шумоподавления с использованием автокодирования и декомпиляции, вперемежку с компонентами, работающими на 6000 токенах языков программирования.

Для оценки TransCoder исследователи извлекли 852 параллельные функции из C++, Java и Python с GeeksforGeeks, онлайн-платформы, которая компилирует задачи программирования и предоставляет решения на нескольких языках программирования. Таким образом, они разработали новую систему измерения, вычислительную точность, чтобы проверить, дает ли гипотетическая функция при тех же входных данных тот же результат, что и эталон.

Facebook признает, что даже лучшая версия TransCoder еще не создает точных функциональных структур относительно входных данных. Однако в целом результаты преобразования этого инструмента имеют высокую точность вычислений. Ниже приведена статистика точности TransCoder, рассчитанная Facebook:

  • При переводе с C++ на Java TransCoder достиг 74,8% ожидаемых результатов.
  • При переводе с C++ на Python TransCoder достиг 67,2% ожидаемых результатов.
  • При переводе с Java на C++ TransCoder достиг 91,6% ожидаемых результатов.
  • При переводе с Python на Java TransCoder достиг 56,1% ожидаемых результатов.
  • При переводе с Python на C++ TransCoder достиг 57,8% ожидаемых результатов.
  • При переводе с Java на Python TransCoder достиг 68,7% ожидаемых результатов.

По мнению исследователей, TransCoder продемонстрировал четкое понимание конкретного синтаксиса каждого языка, а также структур данных и методов языка. TransCoder также может точно адаптировать библиотеки каждого языка, адаптируясь к небольшим изменениям, например, к переименованию входной переменной. Несмотря на это, TransCoder еще не определил некоторые переменные в процессе преобразования. Тем не менее, исследователи по-прежнему оценивают TransCoder как превосходящий фреймворки, созданные путем ручного переписывания правил на основе специальных знаний.

Facebook запускает TransCoder: искусственный интеллект, который с высокой точностью конвертирует один язык программирования в другой

Помимо Facebook, многие крупные компании также заинтересованы в разработке ИИ, способного «писать код» от имени людей.

«TransCoder легко обобщается на любой язык программирования, не требуя каких-либо глубоких знаний. С точки зрения эффективности TransCoder намного превосходит существующие коммерческие решения» , — утверждают исследователи Facebook. «Результаты наших экспериментов показывают, что многие ошибки TransCoder можно легко исправить, добавив в декодер простые ограничения, гарантирующие синтаксическую корректность сгенерированных функций. Или же мы можем создать специализированную архитектуру для решения этой проблемы».

Помимо Facebook, в разработке систем искусственного интеллекта, способных «писать код» вместо людей, заинтересован и ряд других гигантов. Во время конференции Microsoft Build в начале этого года OpenAI продемонстрировала искусственный интеллект, обученный на GitHub, с возможностью писать полнофункциональное программное обеспечение на основе комментариев на английском языке. Два года назад Университет Райса создал систему под названием Bayou, которая способна писать собственное программное обеспечение, синтезируя «воли» в общедоступных строках кода.

«Эти системы искусственного интеллекта помогут устранить мелочи в процессе разработки программного обеспечения », — сказал Джастин Готтшлих, директор лабораторий Intel. «Они могут помочь программистам ускорить разработку программного обеспечения за счет устранения ошибок. Кроме того, они помогают увеличить количество рабочих мест в технологической отрасли, куда также могут присоединиться люди без опыта программирования. Эти люди возьмут на себя творческие задачи и оставят часть кодирования. для ИИ».

Что вы думаете об этом новом искусственном интеллекте от Facebook? Пожалуйста, оставляйте свои комментарии в разделе комментариев под статьей!


Рабочая группа ChatGPT будет создана Европой

Рабочая группа ChatGPT будет создана Европой

Орган, объединяющий европейских национальных наблюдателей за конфиденциальностью, заявил в четверг, что создал целевую группу, посвященную ChatGPT.

ИИ предсказывает время смерти человека с точностью 78%

ИИ предсказывает время смерти человека с точностью 78%

Датские и американские учёные совместно разработали систему искусственного интеллекта под названием life2vec, способную с высокой точностью предсказывать время смерти человека.

ИИ предсказывает заболевания мочевыводящих путей только по звуку мочи

ИИ предсказывает заболевания мочевыводящих путей только по звуку мочи

Алгоритм искусственного интеллекта под названием Audioflow может прослушивать звук мочеиспускания, чтобы эффективно и успешно идентифицировать аномальные выделения и соответствующие проблемы со здоровьем пациента.

Бармены, будьте осторожны: этот робот может приготовить коктейль всего за 1 минуту.

Бармены, будьте осторожны: этот робот может приготовить коктейль всего за 1 минуту.

Старение и сокращение населения Японии привело к тому, что в стране не хватает значительного числа молодых работников, особенно в сфере услуг.

Сотни людей разочаровались, когда узнали, что девушка, которую они любили, была продуктом искусственного интеллекта.

Сотни людей разочаровались, когда узнали, что девушка, которую они любили, была продуктом искусственного интеллекта.

Пользователь Reddit под ником u/LegalBeagle1966 — один из многих пользователей, влюбленных в Клаудию, девушку, похожую на кинозвезду, которая часто делится на этой платформе соблазнительными селфи, даже обнаженными.

Еще 12 потенциальных компаний присоединяются к «ИИ-альянсу» Microsoft.

Еще 12 потенциальных компаний присоединяются к «ИИ-альянсу» Microsoft.

Microsoft только что объявила, что еще 12 технологических компаний примут участие в ее программе AI for Good.

ИИ воссоздает персонажей Dragon Ball из плоти и крови

ИИ воссоздает персонажей Dragon Ball из плоти и крови

Пользователь @mortecouille92 применил возможности инструмента графического дизайна Midjourney и создал уникальные реалистичные версии знаменитых персонажей Dragon Ball, таких как Гоку, Вегета, Булма и старший Каме.

7 методов улучшения ответов ChatGPT

7 методов улучшения ответов ChatGPT

Просто добавив некоторые условия или настроив несколько сценариев, ChatGPT может дать более релевантные ответы на ваши запросы. Давайте посмотрим, как можно улучшить качество ответов ChatGPT.

Полюбуйтесь прекрасными картинами, нарисованными искусственным интеллектом.

Полюбуйтесь прекрасными картинами, нарисованными искусственным интеллектом.

Midjourney — это система искусственного интеллекта, которая в последнее время вызвала «лихорадку» в онлайн-сообществе и мире художников из-за своих чрезвычайно красивых картин, не уступающих работам настоящих художников.

Эта модель ИИ была одним из первых «экспертов», обнаруживших новости о вспышке уханьской пневмонии.

Эта модель ИИ была одним из первых «экспертов», обнаруживших новости о вспышке уханьской пневмонии.

Через несколько дней после того, как Китай объявил о вспышке, имея доступ к глобальным данным о продажах авиабилетов, система искусственного интеллекта BlueDot продолжала точно предсказывать распространение вируса уханьской короны в Бангкоке, Сеуле, Тайбэе и Токио.