Разработчики: | GitHub, Microsoft |
Дата премьеры системы: | июнь 2021 г |
Дата последнего релиза: | 2022/06/22 |
Отрасли: | Информационные технологии |
Технологии: | Средства разработки приложений |
Содержание |
2023: Убыточность продукта
В начале октября 2023 года стало известно о том, что Microsoft теряет до $80 в месяц на каждом пользователе GitHub Copilot — сервиса на базе искусственного интеллекта, предназначенного для помощи разработчикам Visual Studio Code, Visual Studio, Neovim и JetBrains в автодополнении программного кода. Таким образом, это инструмент, совместно разработанный GitHub и OpenAI, приносит редмондской корпорации значительные убытки.
Как сообщает газета The Wall Street Journal, ссылаясь на информацию, полученную от осведомленных лиц, фактические затраты на обслуживание каждого пользователя сервиса GitHub Copilot составляют в среднем $20 в месяц, тогда как стоимость 30-дневной подписки вдвое меньше — $10. Более того, в отдельных случаях реальные расходы могут достигать $80 на пользователя.
GitHub Copilot использует большие языковые модели OpenAI, для обучения и поддержания работы которых требуется высокопроизводительное дорогостоящее оборудование. В частности, Microsoft использует десятки тысяч ускорителей Nvidia A100 и H100. Помимо того, что каждый экземпляр H100 стоит около $30 тыс. (по состоянию на начало октября 2023 года), корпорации также необходимо оплачивать электроэнергию, потребление которой в случае масштабных ИИ-платформ весьма высоко.
Одним из способов снижения затрат является применение специализированных акселераторов вместо традиционных решений на базе графических процессоров (GPU). Ускорители, ориентированные именно на задачи ИИ, проектируют многие компании, включая Google и Amazon. По имеющейся информации, OpenAI также рассматривает возможность создания собственных акселераторов для ИИ-приложений: появление таких изделий позволит повысить производительность при одновременном снижении энергопотребления.[1]
2022: Завершение тестирования GitHub Copilot
22 июня 2022 года компания GitHub объявила о завершении тестирования интеллектуального помощника GitHub Copilot, способного генерировать типовые конструкции при написании кода. Система разработана совместно с проектом OpenAI и использует платформу машинного обучения OpenAI Codex, натренированную на большом массиве исходных текстов, размещённых в публичных репозиториях GitHub. Сервис бесплатен для сопровождающих открытых проектов и студентов. Для остальных категорий пользователей доступ к GitHub Copilot платный (по данным на июнь 2022 года: $10 в месяц или $100 в год), но предоставляется бесплатный ознакомительный доступ в течение 60 дней.
Как сообщалось, поддерживается генерация кода на языках программирования Python, JavaScript, TypeScript, Ruby, Go, C# и C++ с использованием различных фреймворков. Доступны модули для интеграции GitHub Copilot со средами разработки Neovim, JetBrains IDEs, Visual Studio и Visual Studio Code. Судя по собранной в процессе тестирования телеметрии сервис позволяет генерировать код надлежащего качества - например, 26% предложенных в GitHub Copilot рекомендаций были приняты разработчиками как есть.
От традиционных систем автодополнения кода GitHub Copilot отличается возможностью формирования достаточно сложных блоков кода, вплоть до готовых функций, синтезированных c учётом текущего контекста. GitHub Copilot адаптируется к манере написания кода разработчиком и учитывает используемые в программе API и фреймворки. Например, при наличии в комментарии примера структуры JSON при начале написания функции для разбора этой структуры GitHub Copilot предложит уже готовый код, а при написании рутинных перечислений повторяющихся описаний сформирует оставшиеся позиции.
Способность GitHub Copilot генерировать готовые блоки кода привела к спорам, связанным с потенциальным нарушением копилефт лицензий. При формировании модели машинного обучения использованы реальные исходные тексты из репозиториев открытых проектов, размещённые на GitHub. Многие из этих проектов поставляются под копилефт лицензиями, такими как GPL, требующими поставки под совместимой лицензией кода производных работ. В случае вставки предложенного Copilot существующего кода разработчики могут невольно нарушить лицензию на проект, из которого был заимствован данный код.
Может ли считаться производной работа, сгенерированная системой машинного обучения, пока не ясно. Также возникают вопросы к тому является ли модель машинного обучения объектом авторских прав и если да, то кому принадлежат эти права и как они соотносятся с правами на код, на основе которого построена модель.
С одной стороны, сгенерированные блоки могут повторять отрывки текста из существующих проектов, но с другой стороны, система воссоздаёт структуру кода, а не копирует сам код. В соответствии с проведённым в GitHub исследованием, только в 1% случаев предлагаемая Copilot рекомендация может включать отрывки кода существующих проектов размером более 150 символов. В большинстве ситуаций повторы возникают, когда Copilot не может корректно определить контекст или предлагает типовые решения проблемы.
Для предотвращения подстановки существующего кода в Copilot добавлен специальный фильтр, не допускающий пересечения с существующими проектами. При настройке разработчик может на своё усмотрение активировать или отключить данный фильтр. Из других проблем отмечается вероятность, что синтезированный код может повторить ошибки и уязвимости, присутствующие в коде, использованном при обучении модели[2].
2021: Запуск бесплатного ИИ-инструмента, дающего программистам подсказки при написании кода
В конце июня 2021 года Microsoft выпустила бесплатный ИИ-инструмент, дающий программистам подсказки при написании кода. Проект под названием GitHub Copilot создан при участии организации OpenAI (ее технология OpenAI Codex легла в основу системы).
Разработчики пишут код в специализированных редакторах, называемых интегрированными средами разработки, которые предоставляют множество функций, позволяющих сэкономить время. Они исправляют синтаксические ошибки, такие как неправильно поставленные точки с запятой, и с помощью сторонних плагинов могут выполнить сложные задачи, вроде указание уязвимостей, которые могут быть использованы киберпреступниками. Copilot преследует ту же цель - сэкономить время разработчиков за счет автоматизации рутинных задач.
При этом инструмент, по словам разработчиков, предлагает более сложные сценарии работы. Особое внимание было уделено интеграции создаваемого софта с внешними компонентами, например, с базами данных или платежным сервисом.
Алгоритм может определять, когда программист начинает писать новый фрагмент кода, и автоматически завершать его. При необходимости Copilot способен сгенерировать еще несколько строк кода для завершения фрагмента, над которым работает программист. Инструмент понимает десятки языков программирования (среди них — JavaScript, Python, Go, TypeScript и Ruby) и может помочь со многими различными типами проектов. По мере того, как разработчик работает с системой, она адаптируется к его стилю и начинает предлагать более продуктивные решения, ускоряя текущие возможности человека.
В будущем Microsoft планирует выпустить версию продукта, которую компании смогут обучить пониманию их собственных стилей программирования. К концу июня 2021 года Microsoft предлагает инструмент, который обучается только на коде, хранящемся в общедоступных репозиториях.[3] [4]
Примечания
Подрядчики-лидеры по количеству проектов
Солар (ранее Ростелеком-Солар) (46)
Финансовые Информационные Системы (ФИС, FIS, Финсофт) (15)
Форсайт (11)
Бипиум (Bpium) (10)
Axiom JDK (БеллСофт) ранее Bellsoft (10)
Другие (389)
Солар (ранее Ростелеком-Солар) (8)
Финансовые Информационные Системы (ФИС, FIS, Финсофт) (4)
Консом групп, Konsom Group (КонсОМ СКС) (2)
ЛАНИТ - Би Пи Эм (Lanit BPM) (2)
IFellow (АйФэлл) (2)
Другие (30)
Солар (ранее Ростелеком-Солар) (10)
Форсайт (3)
Banks Soft Systems, BSS (Бэнкс Софт Системс, БСС) (3)
КРИТ (KRIT) (2)
Cloud.ru (Облачные технологии) ранее SberCloud (2)
Другие (13)
Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров
Солар (ранее Ростелеком-Солар) (2, 48)
Microsoft (41, 47)
Oracle (49, 26)
Hyperledger (Open Ledger Project) (1, 23)
IBM (33, 18)
Другие (595, 304)
Солар (ранее Ростелеком-Солар) (1, 8)
Финансовые Информационные Системы (ФИС, FIS, Финсофт) (1, 4)
Microsoft (4, 3)
Oracle (2, 3)
SAP SE (2, 2)
Другие (16, 19)
Солар (ранее Ростелеком-Солар) (1, 11)
Banks Soft Systems, BSS (Бэнкс Софт Системс, БСС) (1, 3)
Форсайт (1, 3)
Сбербанк (1, 2)
Cloud.ru (Облачные технологии) ранее SberCloud (1, 2)
Другие (9, 9)
Солар (ранее Ростелеком-Солар) (1, 6)
Unlimited Production (Анлимитед Продакшен, eXpress) (1, 6)
Мобильные ТелеСистемы (МТС) (1, 4)
МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (1, 4)
Форсайт (1, 3)
Другие (14, 24)
Мобильные ТелеСистемы (МТС) (2, 3)
Unlimited Production (Анлимитед Продакшен, eXpress) (1, 3)
Солар (ранее Ростелеком-Солар) (1, 3)
МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (1, 2)
Гриндата (GreenData) (1, 1)
Другие (12, 12)
Распределение базовых систем по количеству проектов, включая партнерские решения (проекты, партнерские проекты)
Solar appScreener (ранее Solar inCode) - 48 (48, 0)
Hyperledger Fabric - 23 (23, 0)
Windows Azure - 20 (20, 0)
FIS Platform - 15 (15, 0)
Форсайт. Мобильная платформа (ранее HyperHive) - 12 (12, 0)
Другие 311
Solar appScreener (ранее Solar inCode) - 8 (8, 0)
FIS Platform - 4 (4, 0)
Парадокс: MES Builder - 2 (2, 0)
Java - 2 (2, 0)
Siemens Xcelerator - 2 (2, 0)
Другие 21
Solar appScreener (ранее Solar inCode) - 11 (11, 0)
Форсайт. Мобильная платформа (ранее HyperHive) - 3 (3, 0)
BSS Digital2Go - 3 (3, 0)
Cloud ML Space - 2 (2, 0)
Турбо X - 1 (1, 0)
Другие 7
EXpress Защищенный корпоративный мессенджер - 6 (6, 0)
Solar appScreener (ранее Solar inCode) - 6 (6, 0)
МТС Exolve - 4 (4, 0)
РЖД и Робин: Облачная фабрика программных роботов - 3 (3, 0)
Форсайт. Мобильная платформа (ранее HyperHive) - 3 (3, 0)
Другие 12
EXpress Защищенный корпоративный мессенджер - 3 (3, 0)
Solar appScreener (ранее Solar inCode) - 3 (3, 0)
МТС Exolve - 2 (2, 0)
ФинПлатформа Т1 - 1 (1, 0)
Axiom JDK (ранее Liberica JDK до 2022) - 1 (1, 0)
Другие 8