stringtranslate.com

GitHub второй пилот

GitHub Copilot — это инструмент завершения кода , разработанный GitHub (принадлежит Microsoft ) и OpenAI (49% принадлежит Microsoft), который помогает пользователям интегрированных сред разработки (IDE) Visual Studio Code , Visual Studio , Neovim и JetBrains путем автозаполнения кода. [1] В настоящее время это программное обеспечение для генеративного искусственного интеллекта , доступное по подписке для индивидуальных разработчиков и предприятий, было впервые анонсировано GitHub 29 июня 2021 года и лучше всего работает для пользователей, пишущих код на Python , JavaScript , TypeScript , Ruby и Go . [2] В марте 2023 года GitHub объявил о планах по созданию «Copilot X», который будет включать в Copilot чат-бота на основе GPT-4 , а также поддержку голосовых команд. [3]

История

29 июня 2021 года GitHub анонсировал GitHub Copilot для технической предварительной версии в среде разработки Visual Studio Code. [1] [4] GitHub Copilot был выпущен в виде плагина на торговой площадке JetBrains 29 октября 2021 года. [5] 27 октября 2021 года GitHub выпустил плагин GitHub Copilot Neovim в качестве общедоступного репозитория. [6] GitHub объявил о доступности Copilot для Visual Studio 2022 IDE 29 марта 2022 года. [7] 21 июня 2022 года GitHub объявил, что Copilot вышел из «технической предварительной версии» и доступен как сервис на основе подписки для отдельные разработчики. [8]

GitHub Copilot — это развитие плагина «Поиск кода Bing» для Visual Studio 2013, который был проектом Microsoft Research, выпущенным в феврале 2014 года. [9] Этот плагин интегрирован с различными источниками, включая MSDN и StackOverflow, для обеспечения высокого качества контекстного поиска. соответствующие фрагменты кода в ответ на запросы на естественном языке. [10]

Функции

При наличии задачи программирования на естественном языке Copilot способен генерировать код решения. [11] Он также способен описывать входной код на английском языке и переводить код между языками программирования. [11]

Согласно веб-сайту GitHub Copilot, он включает в себя вспомогательные функции для программистов, такие как преобразование комментариев кода в работоспособный код, а также автозаполнение фрагментов кода, повторяющихся разделов кода и целых методов и/или функций . [2] [12] GitHub сообщает, что функция автозаполнения Copilot работает точно примерно в половине случаев; Например, с некоторым кодом заголовка функции Python Copilot правильно автозаполнил остальную часть кода тела функции в 43% случаев с первой попытки и в 57% случаев после десяти попыток. [2]

GitHub заявляет, что функции Copilot позволяют программистам ориентироваться в незнакомых средах и языках кодирования, сокращая количество времени, которое пользователи тратят на чтение документации . [2]

Выполнение

GitHub Copilot работает на базе OpenAI Codex [13] , который представляет собой модифицированную производственную версию Generative Pre-trained Transformer 3 (GPT-3), языковой модели, использующей глубокое обучение для создания текста, похожего на человеческий. [14] Модель Кодекса дополнительно обучена на гигабайтах исходного кода на десятке языков программирования.

Кодекс OpenAI Copilot подготовлен на английском языке, общедоступных репозиториях GitHub и другом общедоступном исходном коде. [2] Сюда входит отфильтрованный набор данных объемом 159 гигабайт кода Python, полученный из 54 миллионов общедоступных репозиториев GitHub. [15]

GPT-3 OpenAI лицензируется исключительно Microsoft , материнской компанией GitHub . [16]

Прием

С момента выпуска Copilot возникли опасения по поводу его безопасности и образовательного воздействия, а также разногласия по поводу лицензирования кода, который он производит. [17] [11] [18]

Споры о лицензировании

В то время как генеральный директор GitHub Нат Фридман заявил в июне 2021 года, что «обучение систем машинного обучения на общедоступных данных является добросовестным использованием », [19] коллективный иск , поданный в ноябре 2022 года, назвал это «чистой спекуляцией», утверждая, что «ни один суд не рассматривал этот вопрос». [20] Иск от юридической фирмы Joseph Saveri, LLP оспаривает законность Copilot по нескольким искам, начиная от нарушения контракта с пользователями GitHub и заканчивая нарушением конфиденциальности согласно CCPA для обмена PII . [21] [20]

GitHub признает, что небольшая часть результатов работы инструмента может быть скопирована дословно, что привело к опасениям, что выходной код недостаточно преобразуем, чтобы его можно было классифицировать как добросовестное использование, и может нарушать авторские права первоначального владельца. [17] В июне 2022 года организация Software Freedom Conservancy объявила о прекращении любого использования GitHub в своих проектах, [22] обвинив Copilot в игнорировании лицензий на код , используемых в обучающих данных. [23] В сообщении службы поддержки клиентов GitHub заявил, что «обучение моделей машинного обучения на общедоступных данных считается добросовестным использованием в сообществе машинного обучения», [20] но в групповом иске это было названо «ложным» и дополнительно отмечено, что «независимо от уровня принятия этой концепции в «сообществе машинного обучения», согласно федеральному закону, она является незаконной». [20]

Официальные документы ФФС

28 июля 2021 года Фонд свободного программного обеспечения (FSF) опубликовал финансируемый конкурс на подготовку официальных документов по философским и юридическим вопросам, связанным с Copilot. [24] Дональд Робертсон, менеджер по лицензированию и соблюдению требований FSF, заявил, что «второй пилот поднимает множество [...] вопросов, которые требуют более глубокого изучения». [24] 24 февраля 2022 г. FSF объявил, что получил 22 статьи по этой теме и с помощью анонимного рецензирования выбрал 5 статей, которые следует выделить. [25]

Проблемы конфиденциальности

Служба Copilot основана на облаке и требует постоянной связи с серверами GitHub Copilot. [26] Эта непрозрачная архитектура вызвала обеспокоенность по поводу телеметрии и анализа данных отдельных нажатий клавиш. [27] [28]

Проблемы безопасности

В документе, принятом к публикации на симпозиуме IEEE по безопасности и конфиденциальности в 2022 году, оценивалась безопасность кода, сгенерированного Copilot, для 25 основных перечислений уязвимостей кода MITRE (например, межсайтовый скриптинг, обход путей) в 89 различных сценариях и 1689 программы. [18] Это было сделано по осям разнообразия слабых мест (его способности реагировать на сценарии, которые могут привести к различным слабостям кода), разнообразия подсказок (его способности реагировать на одну и ту же слабость кода с небольшими вариациями) и разнообразия домены (его способность генерировать спецификации оборудования уровня передачи регистров в Verilog ). [18] Исследование показало, что по этим осям на нескольких языках 39,33% самых популярных предложений и 40,73% от общего числа предложений привели к уязвимостям кода. Кроме того, они обнаружили, что небольшие, несемантические (например, комментарии) изменения, внесенные в код, могут повлиять на безопасность кода. [18]

Проблемы образования

В документе, опубликованном Ассоциацией вычислительной техники в феврале 2022 года , оценивается влияние Codex, технологии, используемой Github Copilot, на обучение начинающих программистов. [11] В исследовании используются оценочные вопросы из вводного курса программирования в Университете Окленда и сравниваются ответы Кодекса с успеваемостью учащихся. [11] Исследователи обнаружили, что Кодекс в среднем показал лучшие результаты, чем большинство студентов; однако его производительность снижалась из-за вопросов, которые ограничивали возможности использования в решении (например, условные выражения , коллекции и циклы ). [11] Учитывая этот тип проблемы, «только два из 10 решений [Кодекса] дали правильный результат, но оба [...] нарушили [] ограничение». В документе делается вывод, что Кодекс может быть полезен, предоставляя учащимся различные решения, но также может привести к чрезмерному использованию знаний и плагиату. [11]

Смотрите также

Рекомендации

  1. ↑ Аб Гершгорн, Дэйв (29 июня 2021 г.). «GitHub и OpenAI запускают новый инструмент искусственного интеллекта, который генерирует собственный код». Грань . Проверено 6 июля 2021 г.
  2. ^ abcde «GitHub Copilot · Ваш программист пары искусственного интеллекта» . GitHub Второй пилот . Проверено 7 апреля 2022 г.
  3. ^ «GitHub Copilot получает нового помощника, похожего на ChatGPT, который помогает разработчикам писать и исправлять код» . Грань . 22 марта 2023 г. Проверено 5 сентября 2023 г.
  4. ^ «Представляем GitHub Copilot: ваш программист пары искусственного интеллекта» . Блог GitHub . 29 июня 2021 г. Проверено 7 апреля 2022 г.
  5. ^ «GitHub Copilot — плагин IntelliJ IDE | Торговая площадка» . Торговая площадка JetBrains . Проверено 7 апреля 2022 г.
  6. ^ Copilot.vim, GitHub, 7 апреля 2022 г. , получено 7 апреля 2022 г.
  7. ^ «GitHub Copilot теперь доступен для Visual Studio 2022» . Блог GitHub . 29 марта 2022 г. Проверено 7 апреля 2022 г.
  8. ^ «GitHub Copilot обычно доступен всем разработчикам» . Блог GitHub . 21 июня 2022 г. Проверено 21 июня 2022 г.
  9. Лардинуа, Фредерик (17 февраля 2014 г.). «Microsoft запускает надстройку Smart Visual Studio для поиска фрагментов кода» . ТехКранч . Проверено 5 сентября 2023 г.
  10. ^ «Поиск кода Bing» . Исследования Майкрософт . 11 февраля 2014 года . Проверено 5 сентября 2023 г.
  11. ^ abcdefg Финни-Ансли, Джеймс; Денни, Пол; Беккер, Бретт А.; Лакстон-Рейли, Эндрю; Пратер, Джеймс (14 февраля 2022 г.). «Роботы приходят: изучение влияния Кодекса OpenAI на вводное программирование». Австралазийская конференция по компьютерному образованию . АСЕ '22. Нью-Йорк, штат Нью-Йорк, США: Ассоциация вычислительной техники. стр. 10–19. дои : 10.1145/3511861.3511863 . ISBN 978-1-4503-9643-1. S2CID  246681316.
  12. ^ Собания, Доминик; Швейм, Дирк; Ротлауф, Франц (2022). «Комплексный обзор синтеза программ с помощью эволюционных алгоритмов». Транзакции IEEE в эволюционных вычислениях . 27 : 82–97. дои : 10.1109/TEVC.2022.3162324. ISSN  1941-0026. S2CID  247721793.
  13. ^ Криль, Пол (12 августа 2021 г.). «OpenAI предлагает API для модели AI GitHub Copilot». Инфомир . Проверено 7 апреля 2022 г.
  14. ^ «OpenAI выпускает GPT-3, самую большую модель на данный момент» . Журнал Analytics India . 3 июня 2020 г. Проверено 7 апреля 2022 г.
  15. ^ «OpenAI объявляет о выпуске Кодекса искусственного интеллекта для генерации кода с 12 миллиардами параметров» . ИнфоQ . Проверено 7 апреля 2022 г.
  16. ^ «OpenAI предоставляет Microsoft эксклюзивный доступ к своей языковой модели GPT-3» . Обзор технологий Массачусетского технологического института . Проверено 7 апреля 2022 г.
  17. ^ abcd Пирс, Хаммонд; Ахмад, Балих; Тан, Бенджамин; Долан-Гэвитт, Брендан; Карри, Рамеш (16 декабря 2021 г.). «Спит за клавиатурой? Оценка безопасности кода GitHub Copilot». arXiv : 2108.09293 [cs.CR].
  18. Нат Фридман [@natfriedman] (29 июня 2021 г.). «В целом: (1) обучение систем ОД на общедоступных данных является добросовестным использованием» ( Твит ). Архивировано из оригинала 30 июня 2021 года . Проверено 23 февраля 2023 г. - через Twitter .
  19. ^ abcd Баттерик, Мэтью (3 ноября 2022 г.). «Судебный процесс GitHub Copilot» (PDF) . githubcopilotlitigation.com . Юридическая фирма Джозефа Савери. Архивировано из оригинала 3 ноября 2022 года . Проверено 12 февраля 2023 г.
  20. Винсент, Джеймс (8 ноября 2022 г.). «Иск, который может переписать правила авторского права ИИ». Грань . Проверено 7 декабря 2022 г.
  21. ^ «Откажитесь от GitHub: время пришло!». Сохранение свободы программного обеспечения . Проверено 8 сентября 2022 г.
  22. ^ «Если программное обеспечение - мой второй пилот, кто запрограммировал мое программное обеспечение?» Сохранение свободы программного обеспечения . Проверено 8 сентября 2022 г.
  23. ^ ab «Финансируемый FSF призыв к подготовке официальных документов по философским и юридическим вопросам, связанным с Copilot». Фонд свободного программного обеспечения. 28 июля 2021 г. Проверено 11 августа 2021 г.
  24. ^ «Публикация финансируемых FSF официальных документов по вопросам, касающимся Copilot» . Фонд свободного программного обеспечения. 24 февраля 2022 г.
  25. ^ «GitHub Copilot — ваш программист пары искусственного интеллекта» . Гитхаб . Проверено 18 октября 2022 г.
  26. ^ «CoPilot: Конфиденциальность и сбор данных» . Гитхаб . Проверено 18 октября 2022 г.
  27. ^ Столлман, Ричард . «Кого на самом деле обслуживает этот сервер?». gnu.org . Проверено 18 октября 2022 г.

Внешние ссылки