заглушки Положат ли большие языковые модели конец программированию? - Unite.AI
Свяжитесь с нами:

Artificial Intelligence

Положат ли большие языковые модели конец программированию?

mm

опубликованный

 on

LLM заменяет программистов-людей

Прошедшая неделя ознаменовала собой важную веху для OpenAI, поскольку они представили GPT-4 Turbo на своей конференции. День разработчиков OpenAI. Отличительной особенностью GPT-4 Turbo является расширенное контекстное окно, составляющее 128,000 4, что значительно превышает 8,000 16 у GPT-300. Это усовершенствование позволяет обрабатывать текст в XNUMX раз быстрее, чем его предшественник, что эквивалентно примерно XNUMX страницам текста.

Это достижение связано с еще одним важным событием: потенциальным влиянием на ландшафт SaaS-стартапов.

ChatGPT Enterprise от OpenAI с его расширенными функциями представляет собой проблему для многих SaaS-стартапов. Эти компании, которые предлагали продукты и услуги на основе ChatGPT или его API, теперь сталкиваются с конкуренцией со стороны инструмента с возможностями корпоративного уровня. Предложения ChatGPT Enterprise, такие как проверка домена, SSO и анализ использования, напрямую пересекаются со многими существующими B2B-сервисами, потенциально ставя под угрозу выживание этих стартапов.

В своем выступлении генеральный директор OpenAI Сэм Альтман рассказал о еще одном важном развитии: продлении ограничения знаний GPT-4 Turbo. В отличие от GPT-4, информация о котором была доступна только до 2021 года, знания GPT-4 Turbo обновляются до апреля 2023 года, что знаменует собой значительный шаг вперед в актуальности и применимости ИИ.

ChatGPT Enterprise выделяется такими функциями, как повышенная безопасность и конфиденциальность, высокоскоростной доступ к GPT-4 и расширенные контекстные окна для более длинных входных данных. Его расширенные возможности анализа данных, возможности настройки и снятие ограничений на использование делают его лучшим выбором по сравнению с его предшественниками. Его способность обрабатывать более длинные входные данные и файлы, а также неограниченный доступ к передовым инструментам анализа данных, таким как ранее известный Интерпретатор кода, еще больше укрепляет свою привлекательность, особенно среди предприятий, которые ранее колебались из-за проблем с безопасностью данных.

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

Обычные задачи программирования вскоре могут перейти к ИИ, что снизит потребность в глубоких знаниях в области кодирования. Такие инструменты, как CoPilot GitHub и Писатель-призрак Реплита, которые помогают в кодировании, являются ранними индикаторами растущей роли ИИ в программировании, предполагая будущее, в котором ИИ выйдет за рамки помощи и станет полностью управлять процессом программирования. Представьте себе распространенный сценарий, когда программист забывает синтаксис обращения списка на определенном языке. Вместо поиска по онлайн-форумам и статьям CoPilot предлагает немедленную помощь, позволяя программисту сосредоточиться на достижении цели.

Переход от Low-Code к разработке на основе искусственного интеллекта

Инструменты Low-code и No-code упрощают процесс программирования, автоматизируя создание базовых блоков кодирования и позволяя разработчикам сосредоточиться на творческих аспектах своих проектов. Но по мере того, как мы вступаем в эту новую волну искусственного интеллекта, ситуация меняется еще больше. Простота пользовательских интерфейсов и возможность генерировать код с помощью простых команд, таких как «Создайте мне веб-сайт, чтобы сделать X», произвели революцию в этом процессе.

Влияние ИИ в программировании уже огромно. Подобно тому, как ранние ученые-компьютерщики перешли от электротехники к более абстрактным концепциям, будущие программисты могут считать детальное программирование устаревшим. Быстрый прогресс в области искусственного интеллекта не ограничивается генерацией текста/кода. В таких областях, как модель диффузии генерации изображений, например Взлетно-посадочная полоса МЛ, ДАЛЛ-Э 3, показывает огромные улучшения. Просто посмотрите твит от Runway, демонстрирующий их последнюю функцию.

Выходя за рамки программирования, влияние ИИ на творческие отрасли будет столь же преобразующим. Джефф Катценберг, титан киноиндустрии и бывший председатель Walt Disney Studios, предсказал, что искусственный интеллект значительно снизит затраты на производство анимационных фильмов. Согласно недавней статье из Bloomberg Катценберг прогнозирует резкое снижение затрат на 90%. Это может включать в себя автоматизацию трудоемких задач, таких как промежуточные этапы традиционной анимации, рендеринг сцен и даже помощь в творческих процессах, таких как дизайн персонажей и раскадровка.

Экономическая эффективность ИИ в кодировании

Анализ затрат на найм инженера-программиста:

  1. Общая компенсация: Средняя зарплата инженера-программиста, включая дополнительные льготы в таких технологических центрах, как Кремниевая долина или Сиэтл, составляет примерно 312,000 XNUMX долларов в год.

Ежедневный анализ затрат:

  1. Рабочих дней в году: Учитывая, что в году примерно 260 рабочих дней, ежедневная стоимость найма инженера-программиста составляет около 1,200 долларов.
  2. Вывод кода: Если принять щедрую оценку в 100 завершенных, протестированных, проверенных и утвержденных строк кода в день, то этот ежедневный результат является основой для сравнения.

Анализ затрат на использование GPT-3 для генерации кода:

  1. Стоимость токена: Стоимость использования GPT-3 на момент видео составляла около 0.02 доллара за каждую 1,000 токенов.
  2. Токены на строку кода: В среднем строка кода может содержать около 10 токенов.
  3. Стоимость за 100 строк кода: Таким образом, стоимость создания 100 строк кода (или 1,000 токенов) с использованием GPT-3 составит около 0.12 доллара США.

Сравнительный анализ:

  • Стоимость за строку кода (человек против ИИ): Сравнивая затраты, создание 100 строк кода в день обходится в 1,200 долларов, если это делает инженер-программист, по сравнению с 0.12 доллара при использовании GPT-3.
  • Коэффициент стоимости: Это представляет собой разницу в факторах стоимости примерно в 10,000 XNUMX раз, при этом ИИ существенно дешевле.

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

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

Благодаря ChatGPT этот процесс упрощается. Разработчик может просто описать функциональность, которую он хочет реализовать в React, а ChatGPT предоставит соответствующие, готовые к использованию фрагменты кода. Это может варьироваться от настройки базовой структуры компонентов до более продвинутых функций, таких как управление состоянием с помощью перехватчиков или интеграция с внешними API. Сокращая время, затрачиваемое на исследования и методы проб и ошибок, ChatGPT повышает эффективность и ускоряет разработку проектов в контексте веб-разработки.

Проблемы программирования, управляемого искусственным интеллектом

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

  1. Качество и ремонтопригодность кода: код, сгенерированный искусственным интеллектом, иногда может быть многословным или неэффективным, что потенциально может привести к проблемам с обслуживанием. Хотя ИИ может писать функциональный код, обеспечение того, чтобы этот код соответствовал лучшим практикам в отношении читаемости, эффективности и удобства обслуживания, остается задачей, определяемой человеком.
  2. Отладка и обработка ошибок: Системы искусственного интеллекта могут быстро генерировать код, но они не всегда преуспевают в отладке или понимании тонких ошибок в существующем коде. Тонкости отладки, особенно в больших и сложных системах, часто требуют от человека тонкого понимания и опыта.
  3. Зависимость от обучающих данных: Эффективность ИИ в программировании во многом зависит от качества и широты обучающих данных. Если в обучающих данных отсутствуют примеры определенных ошибок, шаблонов или сценариев, способность ИИ справляться с этими ситуациями оказывается под угрозой.
  4. Проблемы этики и безопасности: Поскольку ИИ играет более заметную роль в кодировании, возникают проблемы этики и безопасности, особенно в отношении конфиденциальности данных и возможности предвзятости в коде, сгенерированном ИИ. Обеспечение этичного использования и устранение этих предубеждений имеет решающее значение для ответственной разработки инструментов программирования на основе ИИ.

Баланс ИИ и традиционных навыков программирования

В будущих командах разработчиков программного обеспечения, возможно, появится гибридная модель. Менеджеры по продуктам могли бы переводить требования в директивы для генераторов кода ИИ. Человеческий надзор, возможно, по-прежнему необходим для обеспечения качества, но фокус сместится с написания и поддержки кода на проверку и тонкую настройку результатов, генерируемых ИИ. Это изменение предполагает уменьшение внимания к традиционным принципам кодирования, таким как модульность и абстракция, поскольку код, сгенерированный ИИ, не обязательно должен соответствовать стандартам обслуживания, ориентированным на человека.

В эту новую эпоху роль инженеров и ученых-компьютерщиков существенно изменится. Они будут взаимодействовать с LLM, предоставляя обучающие данные и примеры для решения задач, смещая фокус со сложного кодирования на стратегическую работу с моделями ИИ.

Базовый вычислительный блок перейдет от традиционных процессоров к массивным, предварительно обученным моделям LLM, что ознаменует переход от предсказуемых, статических процессов к динамическим, адаптивным агентам искусственного интеллекта.

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

Постоянная потребность в человеческом понимании кода, генерируемого ИИ

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

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

Более того, проблема тестирования кода, сгенерированного ИИ, на предмет проблем, которые ранее не были решены, остается важной. Такие методы, как тестирование на основе свойств, требуют глубокого понимания программирования, навыков, которые ИИ в своем нынешнем состоянии не может воспроизвести или заменить.

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

Последние пять лет я погружался в увлекательный мир машинного обучения и глубокого обучения. Моя страсть и опыт позволили мне принять участие в более чем 50 различных проектах по разработке программного обеспечения, уделяя особое внимание AI/ML. Мое постоянное любопытство также привлекло меня к обработке естественного языка, области, которую я очень хочу исследовать дальше.