ИИ-кодинг: революция в разработке или кража open-source кода?

Yannic Kilcher 52,5 тыс. 21 мин 3 мин 10.08.2022
Главное

ИИ-ассистенты для программирования: от Copilot до Pangu-Coder 0:00

Индустрия разработки программного обеспечения переживает трансформацию: крупные технологические компании активно внедряют инструменты ИИ для автоматической генерации кода. Янник Кильчер (Yannic Kilcher) в своем обзоре анализирует текущее состояние этой сферы, охватывая как коммерческие продукты вроде GitHub Copilot и Amazon CodeWhisperer, так и научные разработки, такие как Pangu-Coder.

🤖 Эпоха ИИ-кодинга: Copilot и его конкуренты 0:26

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

Основные характеристики и бизнес-модель:

Amazon также вошел в этот сегмент со своим продуктом CodeWhisperer. Как отмечает ведущий, помимо стандартной генерации, Amazon делает акцент на функциях безопасности кода и оптимизированном взаимодействии с API AWS. На текущий момент продукт находится в закрытом доступе (список ожидания).

⚖️ Проблема лицензирования и этики 1:44

Рост популярности Copilot вызвал серьезные споры в сообществе. Главная претензия заключается в том, что модели обучались на публичных репозиториях GitHub, включая те, что распространяются под лицензиями copyleft (например, GPL).

📈 Внутренние исследования Google 6:42

Google поделилась результатами использования собственной ML-системы для автодополнения кода. Компания интегрировала модель с 0,5 млрд параметров в свои рабочие процессы, фокусируясь на минимизации задержек (latency).

Ключевые показатели эффективности (по данным Google):

🎓 Самообучение моделей программированию 9:07

Исследовательская статья «Language models can teach themselves to program better» представляет новый подход: вместо простого автодополнения модель учится решать программистские головоломки.

Суть метода:

  1. Генерация: модель создает новые задачи на основе имеющихся примеров.
  2. Решение и проверка: те же или другие модели решают эти задачи, результат проверяется автоматически.
  3. Дообучение: на наборе синтетических, но верифицированных данных модель проходит цикл дообучения.

Результаты впечатляют: использование этого цикла позволило повысить точность решения задач с 7,5% до 38,2% для моделей типа GPT-Neo.

🇨🇳 Pangu-Coder: новый взгляд на синтез программ 15:19

Huawei представила систему Pangu-Coder, основанную на архитектуре Pangu Alpha. Исследователи сфокусировались на:

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

💬 Цитаты

«Это безумно полезный продукт. Особенно если вы пишете какой-то шаблонный код, эта штука просто напишет для вас целую функцию.»

Янник Кильчер 00:51

«GitHub по сути использует вашу работу для создания собственной проприетарной системы.»

Янник Кильчер 03:38
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Copyleft
Лицензионная политика, требующая, чтобы производные работы от открытого ПО также были открытыми.
GPL
Популярная лицензия свободного ПО, накладывающая строгие обязательства по открытости исходного кода.
Градиентное накопление
Метод обучения моделей, позволяющий эмулировать большие размеры батчей на ограниченных ресурсах GPU.
HumanEval
Бенчмарк для проверки способностей ИИ писать код на Python по текстовому описанию.
Memory mapping (mmap)
Техника, позволяющая отображать файлы на диске прямо в адресное пространство памяти для быстрого доступа.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект GitHub Copilot Amazon CodeWhisperer Pangu-Coder OpenAI Codex Software Freedom Conservancy