IBM открыл CodeNet для систем машинного обучения, транслирующих и проверяющих код Компания IBM представила инициативу CodeNet, нацеленную на предоставление исследователям набора данных, позволяющих экспериментировать с применением методов машинного обучения для создания трансляторов из одного языка программирования в другой, а также генераторов и анализаторов кода. CodeNet включает коллекцию из 14 миллионов примеров кода, решающих 4053 типовых проблем программирования. В сумме коллекция насчитывает около 500 млн строк кода и охватывает 55 языков программирования, как современные языки, такие как C++, Java, Python и Go, так и устаревшие, включая COBOL, Pascal и FORTRAN. Наработки проекта распространяются под лицензией Apache 2.0, а наборы данных планируется распространять в форме общественного достояния.
Примеры снабжены аннотациями и реализуют идентичные алгоритмы на разных языках программирования. Предполагается, что предложенный набор поможет тренировке систем машинного обучения и развитию инноваций в области трансляции и машинного разбора кода, по аналогии с тем, как БД аннотированных изображений ImageNet помогла развитию систем распознавания образов и машинного зрения. В качестве одного из основных источников формирования коллекции называются различные соревнования по программированию.
В отличие от традиционных трансляторов, реализованных на основе правил преобразования, системы машинного обучения могут улавливать и учитывать контекст использования кода. При преобразовании из одного языка программирования в другой контекст не менее важен, чем при переводе из одного человеческого языка на другой. Именно отсутствие учёта контекста мешает преобразованию кода с устаревших языков, таких как COBOL.
Наличие большой базы реализаций алгоритмов на различных языках поможет созданию универсальных систем машинного обучения, которые вместо прямой трансляции между конкретными языками, манипулируют более абстрактным представлением кода, независимым от конкретных языков программирования. Подобная система может использоваться как транслятор, переводящий переданный код на любом из поддерживаемых языков в своё внутреннее абстрактное представление, из которого затем может быть сгенерирован код на множестве языков.
В том числе система сможет выполнять двунаправленные преобразования. Например, в банках и госучреждениях по-прежнему продолжают использоваться проекты на устаревшем языке COBOL. Транслятор на базе системы машинного обучения сможет преобразовать код на COBOL в представление на языке Java, а при необходимости перевести фрагмент на Java обратно в код на COBOL.
Кроме трансляции между языками упоминаются такие области применения CodeNet, как создание умных систем поиска кода и автоматизации выявления клонов, а также разработка оптимизаторов и систем автоматической корректировки кода. В частности, представленные в CodeNet примеры снабжены метаданными, описывающими результаты тестирования производительности, результирующий размер программы, потребление памяти и состояние, позволяющее отличать корректный код от кода с ошибками (чтобы отличить правильный код от некорректного в коллекцию специально включены примеры с ошибками, доля которых составляет 29.5%). Система машинного обучения может учитывать эти метаданные для генерации наиболее оптимального кода или для выявления регрессий в анализируемом коде (система может понять, что в переданном коде алгоритм реализован не оптимально или содержит ошибки). Компания IBM представила инициативу CodeNet, нацеленную на предоставление исследователям набора данных, позволяющих экспериментировать с применением методов машинного обучения для создания трансляторов из одного языка программирования в другой, а также генераторов и анализаторов кода. CodeNet включает коллекцию из 14 миллионов примеров кода, решающих 4053 типовых проблем программирования. В сумме коллекция насчитывает около 500 млн строк кода и охватывает 55 языков программирования, как современные языки, такие как C++, Java, Python и Go, так и устаревшие, включая COBOL, Pascal и FORTRAN. Наработки проекта распространяются под лицензией Apache 2.0, а наборы данных планируется распространять в форме общественного достояния.
Примеры снабжены аннотациями и реализуют идентичные алгоритмы на разных языках программирования. Предполагается, что предложенный набор поможет тренировке систем машинного обучения и развитию инноваций в области трансляции и машинного разбора кода, по аналогии с тем, как БД аннотированных изображений ImageNet помогла развитию систем распознавания образов и машинного зрения. В качестве одного из основных источников формирования коллекции называются различные соревнования по программированию.
В отличие от традиционных трансляторов, реализованных на основе правил преобразования, системы машинного обучения могут улавливать и учитывать контекст использования кода. При преобразовании из одного языка программирования в другой контекст не менее важен, чем при переводе из одного человеческого языка на другой. Именно отсутствие учёта контекста мешает преобразованию кода с устаревших языков, таких как COBOL.
Наличие большой базы реализаций алгоритмов на различных языках поможет созданию универсальных систем машинного обучения, которые вместо прямой трансляции между конкретными языками, манипулируют более абстрактным представлением кода, независимым от конкретных языков программирования. Подобная система может использоваться как транслятор, переводящий переданный код на любом из поддерживаемых языков в своё внутреннее абстрактное представление, из которого затем может быть сгенерирован код на множестве языков.
В том числе система сможет выполнять двунаправленные преобразования. Например, в банках и госучреждениях по-прежнему продолжают использоваться проекты на устаревшем языке COBOL. Транслятор на базе системы машинного обучения сможет преобразовать код на COBOL в представление на языке Java, а при необходимости перевести фрагмент на Java обратно в код на COBOL.
Кроме трансляции между языками упоминаются такие области применения CodeNet, как создание умных систем поиска кода и автоматизации выявления клонов, а также разработка оптимизаторов и систем автоматической корректировки кода. В частности, представленные в CodeNet примеры снабжены метаданными, описывающими результаты тестирования производительности, результирующий размер программы, потребление памяти и состояние, позволяющее отличать корректный код от кода с ошибками (чтобы отличить правильный код от некорректного в коллекцию специально включены примеры с ошибками, доля которых составляет 29.5%). Система машинного обучения может учитывать эти метаданные для генерации наиболее оптимального кода или для выявления регрессий в анализируемом коде (система может понять, что в переданном коде алгоритм реализован не оптимально или содержит ошибки). https://www.opennet.ru/opennews/art.shtml?num=55131
>>9947964 (OP) Что будет в итоге: > Вместо искусственного интеллекта «умным домом» Amazon управляли специалисты с Украины, получившие круглосуточный доступ к камерам домовладений США. Об этом рассказало издание The Intercept.
ХАХА Я ПРОГРЕСИВНЫЙ ХАРКАЧЕР ВКАТЫШ В АЙТИ, А БЫДЛО ЗАВОДЧАН ЗАМЕНЯТ РОБОТАМИ ХЫЫ))) @ ЧЕ? КАК ЭТО ПРОГРЕССИВНЫХ АЙТИШНИКОВ ЗАМЕНЯТ НЕЙРОСЕТЬЮ С ИИ ДА ЕЩЕ И ГОРАЗДО РАНЬШЕ??? @ МАМА НИИИИЕЕЕЕЕТ ТАКОГО БЫТЬ НЕ МОЖЕТ!!! СКОРЕЕ ДЕЛАЙТЕ РОБОТОВ БЫДЛООООО АРЯЯЯЯЯЯ!!!!!!!!
>>9947964 (OP) Программист в 2020х самая ненужная профессия - всё давно уже лежит в опенсорс. Неудивительно что скилованный сантехник(140к в год) зарабатывает больше рядового дауна из кремниевой(120к)
>>9947964 (OP) Охуенно. В англии поспдили 200 человек в турму изза ошибки а коде ростового софта для почтальонов. А с кодом написанным нейросетями можно будет вообще орную хуйню делать типа «дроп датабэйс икс пять ритейл» и прочие «sudo rm -rf /». А уж как можно будет обфусцировать нейросеткой вирусы... также можно будет квейк второй в джаваскрипт наконец-то транслировать нормально.
>>9947964 (OP) >Транслятор на базе системы машинного обучения сможет преобразовать код на COBOL в представление на языке Java, а при необходимости перевести фрагмент на Java обратно в код на COBOL.
И добавить новых багов от имени транслятора, да. В любом случае, хорошее тестирование результата и получение кода на джаве в перспективе покроет издержки
>>9948092 >CodeNet включает коллекцию из 14 миллионов примеров кода, решающих 4053 типовых проблем программирования.
Не заменят, а упростят работу + ЗП все-равно вырастут у сеньеров, а у джунов упадут, потому что именно джуны и делали такие простые задачки, т.е такие нейросетки усложнят вкат в ИТ. Нейросетка может сгенерить код только для правильно формализованной задачи. Всегда будет человек, который будет делать постановку задачи и проверять результат. Причем постановка будет на специфичном языке
В реальности ближайшие лет 50-100 самые сложные участки кода все-равно будут писать, потому что бизнес-логика сама по себе сложная. Нейросеть годна будет там, где нужно будет, например, просто забрать данные из какой-нибудь API и сетка сама напишет весь обвес с дополнительной простой логикой. Все-равно будет человек, который будет пользоваться такой сгенерированной "библиотекой" и писать основную бизнес-логику
>>9948360 Для проекта на 3 человека попенсурса хватит, согласен
>>9948597 Всё современное айти кал и говно без задач, для ноубрейновых гуманитариев>>9948541 типа этого уебка у которого в каждом предложении логическое противоречие. Лучше бы наноботов разрабатывали да космос колонизировали.
Компания IBM представила инициативу CodeNet, нацеленную на предоставление исследователям набора данных, позволяющих экспериментировать с применением методов машинного обучения для создания трансляторов из одного языка программирования в другой, а также генераторов и анализаторов кода. CodeNet включает коллекцию из 14 миллионов примеров кода, решающих 4053 типовых проблем программирования. В сумме коллекция насчитывает около 500 млн строк кода и охватывает 55 языков программирования, как современные языки, такие как C++, Java, Python и Go, так и устаревшие, включая COBOL, Pascal и FORTRAN. Наработки проекта распространяются под лицензией Apache 2.0, а наборы данных планируется распространять в форме общественного достояния.
Примеры снабжены аннотациями и реализуют идентичные алгоритмы на разных языках программирования. Предполагается, что предложенный набор поможет тренировке систем машинного обучения и развитию инноваций в области трансляции и машинного разбора кода, по аналогии с тем, как БД аннотированных изображений ImageNet помогла развитию систем распознавания образов и машинного зрения. В качестве одного из основных источников формирования коллекции называются различные соревнования по программированию.
В отличие от традиционных трансляторов, реализованных на основе правил преобразования, системы машинного обучения могут улавливать и учитывать контекст использования кода. При преобразовании из одного языка программирования в другой контекст не менее важен, чем при переводе из одного человеческого языка на другой. Именно отсутствие учёта контекста мешает преобразованию кода с устаревших языков, таких как COBOL.
Наличие большой базы реализаций алгоритмов на различных языках поможет созданию универсальных систем машинного обучения, которые вместо прямой трансляции между конкретными языками, манипулируют более абстрактным представлением кода, независимым от конкретных языков программирования. Подобная система может использоваться как транслятор, переводящий переданный код на любом из поддерживаемых языков в своё внутреннее абстрактное представление, из которого затем может быть сгенерирован код на множестве языков.
В том числе система сможет выполнять двунаправленные преобразования. Например, в банках и госучреждениях по-прежнему продолжают использоваться проекты на устаревшем языке COBOL. Транслятор на базе системы машинного обучения сможет преобразовать код на COBOL в представление на языке Java, а при необходимости перевести фрагмент на Java обратно в код на COBOL.
Кроме трансляции между языками упоминаются такие области применения CodeNet, как создание умных систем поиска кода и автоматизации выявления клонов, а также разработка оптимизаторов и систем автоматической корректировки кода. В частности, представленные в CodeNet примеры снабжены метаданными, описывающими результаты тестирования производительности, результирующий размер программы, потребление памяти и состояние, позволяющее отличать корректный код от кода с ошибками (чтобы отличить правильный код от некорректного в коллекцию специально включены примеры с ошибками, доля которых составляет 29.5%). Система машинного обучения может учитывать эти метаданные для генерации наиболее оптимального кода или для выявления регрессий в анализируемом коде (система может понять, что в переданном коде алгоритм реализован не оптимально или содержит ошибки).
Компания IBM представила инициативу CodeNet, нацеленную на предоставление исследователям набора данных, позволяющих экспериментировать с применением методов машинного обучения для создания трансляторов из одного языка программирования в другой, а также генераторов и анализаторов кода. CodeNet включает коллекцию из 14 миллионов примеров кода, решающих 4053 типовых проблем программирования. В сумме коллекция насчитывает около 500 млн строк кода и охватывает 55 языков программирования, как современные языки, такие как C++, Java, Python и Go, так и устаревшие, включая COBOL, Pascal и FORTRAN. Наработки проекта распространяются под лицензией Apache 2.0, а наборы данных планируется распространять в форме общественного достояния.
Примеры снабжены аннотациями и реализуют идентичные алгоритмы на разных языках программирования. Предполагается, что предложенный набор поможет тренировке систем машинного обучения и развитию инноваций в области трансляции и машинного разбора кода, по аналогии с тем, как БД аннотированных изображений ImageNet помогла развитию систем распознавания образов и машинного зрения. В качестве одного из основных источников формирования коллекции называются различные соревнования по программированию.
В отличие от традиционных трансляторов, реализованных на основе правил преобразования, системы машинного обучения могут улавливать и учитывать контекст использования кода. При преобразовании из одного языка программирования в другой контекст не менее важен, чем при переводе из одного человеческого языка на другой. Именно отсутствие учёта контекста мешает преобразованию кода с устаревших языков, таких как COBOL.
Наличие большой базы реализаций алгоритмов на различных языках поможет созданию универсальных систем машинного обучения, которые вместо прямой трансляции между конкретными языками, манипулируют более абстрактным представлением кода, независимым от конкретных языков программирования. Подобная система может использоваться как транслятор, переводящий переданный код на любом из поддерживаемых языков в своё внутреннее абстрактное представление, из которого затем может быть сгенерирован код на множестве языков.
В том числе система сможет выполнять двунаправленные преобразования. Например, в банках и госучреждениях по-прежнему продолжают использоваться проекты на устаревшем языке COBOL. Транслятор на базе системы машинного обучения сможет преобразовать код на COBOL в представление на языке Java, а при необходимости перевести фрагмент на Java обратно в код на COBOL.
Кроме трансляции между языками упоминаются такие области применения CodeNet, как создание умных систем поиска кода и автоматизации выявления клонов, а также разработка оптимизаторов и систем автоматической корректировки кода. В частности, представленные в CodeNet примеры снабжены метаданными, описывающими результаты тестирования производительности, результирующий размер программы, потребление памяти и состояние, позволяющее отличать корректный код от кода с ошибками (чтобы отличить правильный код от некорректного в коллекцию специально включены примеры с ошибками, доля которых составляет 29.5%). Система машинного обучения может учитывать эти метаданные для генерации наиболее оптимального кода или для выявления регрессий в анализируемом коде (система может понять, что в переданном коде алгоритм реализован не оптимально или содержит ошибки).
https://www.opennet.ru/opennews/art.shtml?num=55131