Опрошенные порталом InformationWeek эксперты обсуждают различные аспекты Software 2.0 — новой концепции использования искусственного интеллекта и моделей машинного обучения для решения задач классификации и распознавания без участия человека.
Software 2.0 — термин, придуманный Андреем Карпати, ученым-компьютерщиком и бывшим старшим директором по ИИ в Tesla, по его словам, это новый тип ПО, которое «написано на более абстрактном, недружественном человеку языке».
Как отмечает Дэвид Меннингер, исполнительный директор по исследованиям в области ПО консалтинговой компании ISG, Software 2.0 — это переход от написания кода людьми к автоматической генерации кода на основе изучения большого количества данных. «Это чрезмерное упрощение, но оно отражает фундаментальную суть Software 2.0», — говорит он.
Согласно этой концепции, механика создания кода основана на ИИ и МО, в частности на нейронных сетях, отмечает Меннингер. «Дизайнер определяет, чего он хочет добиться, — объясняет он. — Затем, изучив корреляции между прошлыми успешными результатами и различными точками данных, можно создать модель».
ПО версии 2.0 отличается от обычного ПО тем, что включает в себя результаты работы алгоритмов МО, таких как нейронные сети. «Идея заключается в том, что этот софт не пишется людьми, как в случае с Software 1.0, а создается компьютерами», — говорит Джо Андерсон, помощник директора службы бизнес-консалтинга Stax.
Потенциальные преимущества
Самое очевидное преимущество Software 2.0 — повышение производительности. «Если код можно сгенерировать, это сэкономит много часов работы», — говорит Меннингер. Второе преимущество — это широта охвата. «Когда код пишется вручную, он отражает только те сценарии, которые кодеры могут себе представить, — объясняет он. — Сгенерированный код может представлять все сценарии, которые есть в данных».
Еще одно преимущество Software 2.0 — способность обучаться и изменяться с течением времени. «Поскольку код генерируется на основе данных, по мере их накопления или изменения модели адаптируются и подстраиваются под новые сценарии, с которыми сталкиваются, — говорит Меннингер. — Вот почему это называется машинным обучением».
Если имеется достаточно точек данных, Software 2.0 не ограничивается каким-либо конкретным типом применения, чтобы сделать выводы о том, что приводит к успешному результату, объясняет он.
Software 2.0 также обещает повышенную гибкость. «Например, вам не придется перепрограммировать большую языковую модель, такую как ChatGPT, с нуля, если вы хотите, чтобы она адаптировалась к новым текстовым данным — вы можете просто импортировать текст, и Software 2.0 обеспечит изменение результатов в новой версии ChatGPT», — говорит Андерсон.
Преодоление трудностей
Software 2.0 сталкивается с рядом уникальных проблем. Разработчики могут быть в замешательстве и недоумении. «Хотя нейронные сети могут быть точными, их не всегда легко понять», — говорит Меннингер. Алгоритм может выявить корреляцию, которая не имеет очевидного логического объяснения. «В коде, написанном вручную, есть прописанные поток или логика, поэтому его легче понять», — отмечает он.
Кроме того, данные, на которых обучается модель, могут содержать врожденные предубеждения или ошибки, которые могут попасть в код, предупреждает Меннингер. «А поскольку модели трудно понять, бывает сложно обнаружить, что они дают сбой, пока это не произойдет», — отмечает он.
Как подготовиться
Чтобы подготовиться к приходу Software 2.0, предприятиям необходимо начать осмысленно внедрять ИИ и MО, говорит Меннингер. «Наше исследование показывает, что самой большой проблемой являются навыки — две трети организаций сообщают, что у них нет достаточного количества сотрудников с соответствующими навыками», — отмечает он. И добавляет, что предприятиям, скорее всего, придется обращаться за помощью к сторонним организациям, пока они смогут обучить или нанять квалифицированных сотрудников: «Они не могут позволить себе ждать, оставаясь в стороне».
Андерсон советует технологическим командам предприятий внимательно следить за тенденциями развития инструментов МО и ИИ. «Разработчикам ПО, в частности, следует изучить основные идеи МО, чтобы они могли понять, как их код будет взаимодействовать с Software 2.0». Руководители предприятий, в свою очередь, должны будут следить за тем, как конкуренты продвигают эту технологию.
Люди по-прежнему важны
Большая часть текущих дискуссий вокруг Software 2.0 сосредоточена на влиянии этой концепции на инженеров-программистов. «Их опыт, безусловно, изменится, — прогнозирует Меннингер. — Вместо того чтобы писать и отлаживать код, они будут совершенствовать модели, определять правильные данные для введения в модели и тестировать результаты работы моделей».
Он также ожидает кардинальных изменений в использовании ПО. «Техники, которые используются для создания базового кода, также применяются для улучшения пользовательского опыта, — говорит он. — В частности, развивается концепция разговорных вычислений: вы просите систему выполнить задачу или ответить на вопрос с помощью естественного языка, затем оцениваете и, возможно, делаете дополнительные запросы на основе ответа системы». Если предположить, что пользователей любой программы гораздо больше, чем программистов, то это изменение в пользовательском опыте, вероятно, будет значительным.
Несмотря на явное недружелюбие Software 2.0 к людям, они по-прежнему будут иметь значение. «Поскольку Software 2.0 строится на МО, а МО строится на данных, которые откуда-то берутся, людям по-прежнему важно участвовать в процессе и понимать источник данных, которые они используют», — объясняет Андерсон.