Что могут сделать системы с ии
Всё, что вам нужно знать об ИИ — за несколько минут
Приветствую читателей Хабра. Вашему вниманию предлагается перевод статьи «Everything you need to know about AI — in under 8 minutes.». Содержание направлено на людей, не знакомых со сферой ИИ и желающих получить о ней общее представление, чтобы затем, возможно, углубиться в какую-либо конкретную его отрасль.
Знать понемногу обо всё иногда (по крайней мере, для новичков, пытающихся сориентироваться в популярных технических направлениях) бывает полезнее, чем знать много о чём-то одном.
Многие люди думают, что немного знакомы с ИИ. Но эта область настолько молода и растёт так быстро, что прорывы совершаются чуть ли не каждый день. В этой научной области предстоит открыть настолько многое, что специалисты из других областей могут быстро влиться в исследования ИИ и достичь значимых результатов.
Эта статья — как раз для них. Я поставил себе целью создать короткий справочный материал, который позволит технически образованным людям быстро разобраться с терминологией и средствами, используемыми для разработки ИИ. Я надеюсь, что этот материал окажется полезным большинству интересующихся ИИ людей, не являющихся специалистами в этой области.
Введение
Искусственный интеллект (ИИ), машинное обучение и нейронные сети — термины, используемые для описания мощных технологий, базирующихся на машинном обучении, способных решить множество задач из реального мира.
В то время, как размышление, принятие решений и т.п. сравнительно со способностями человеческого мозга у машин далеки от идеала (не идеальны они, разумеется, и у людей), в недавнее время было сделано несколько важных открытий в области технологий ИИ и связанных с ними алгоритмов. Важную роль играет увеличивающееся количество доступных для обучения ИИ больших выборок разнообразных данных.
Область ИИ пересекается со многими другими областями, включая математику, статистику, теорию вероятностей, физику, обработку сигналов, машинное обучение, компьютерное зрение, психологию, лингвистику и науку о мозге. Вопросы, связанные с социальной ответственностью и этикой создания ИИ притягивают интересующихся людей, занимающихся философией.
Мотивация развития технологий ИИ состоит в том, что задачи, зависящие от множества переменных факторов, требуют очень сложных решений, которые трудны к пониманию и сложно алгоритмизируются вручную.
Растут надежды корпораций, исследователей и обычных людей на машинное обучение для получения решений задач, не требующих от человека описания конкретных алгоритмов. Много внимания уделяется подходу «чёрного ящика». Программирование алгоритмов, используемых для моделирования и решения задач, связанных с большими объёмами данных, занимает у разработчиков очень много времени. Даже когда нам удаётся написать код, обрабатывающий большое количество разнообразных данных, он зачастую получается очень громоздким, трудноподдерживаемым и тяжело тестируемым (из-за необходимости даже для тестов использовать большое количество данных).
Современные технологии машинного обучения и ИИ вкупе с правильно подобранными и подготовленными «тренировочными» данными для систем могут позволить нам научить компьютеры «программировать» за нас.
Обзор
Интеллект — способность воспринимать информацию и сохранять её в качестве знания для построения адаптивного поведения в среде или контексте
Это определение интеллекта из (англоязычной) Википедии может быть применено как к органическому мозгу, так и к машине. Наличие интеллекта не предполагает наличие сознания. Это — распространённое заблуждение, принесённое в мир писателями научной фантастики.
Попробуйте поискать в интернете примеры ИИ — и вы наверняка получите хотя бы одну ссылку на IBM Watson, использующий алгоритм машинного обучения, ставший знаменитым после победы на телевикторине под названием «Jeopardy» в 2011 г. С тех пор алгоритм претерпел некоторые изменения и был использован в качестве шаблона для множества различных коммерческих приложений. Apple, Amazon и Google активно работают над созданием аналогичных систем в наших домах и карманах.
Обработка естественного языка и распознавание речи стали первыми примерами коммерческого использования машинного обучения. Вслед за ними появились задачи другие задачи автоматизации распознавания (текст, аудио, изображения, видео, лица и т.д.). Круг приложений этих технологий постоянно растёт и включает в себя беспилотные средства передвижения, медицинскую диагностику, компьютерные игры, поисковые движки, спам-фильтры, борьбу с преступностью, маркетинг, управление роботами, компьютерное зрение, перевозки, распознавание музыки и многое другое.
ИИ настолько плотно вошёл в современные используемые нами технологии, что многие даже не думают о нём как об «ИИ», то есть, не отделяют его от обычных компьютерных технологий. Спросите любого прохожего, есть ли искусственный интеллект в его смартфоне, и он, вероятно, ответит: «Нет». Но алгоритмы ИИ находятся повсюду: от предугадывания введённого текста до автоматического фокуса камеры. Многие считают, что ИИ должен появиться в будущем. Но он появился некоторое время назад и уже находится здесь.
Термин «ИИ» является довольно обобщённым. В фокусе большинства исследований сейчас находится более узкое поле нейронных сетей и глубокого обучения.
Как работает наш мозг
Человеческий мозг представляет собой сложный углеродный компьютер, выполняющий, по приблизительным оценкам, миллиард миллиардов операций в секунду (1000 петафлопс), потребляющий при этом 20 Ватт энергии. Китайский суперкомпьютер под названием «Tianhe-2» (самый быстрый в мире на момент написания статьи) выполняет 33860 триллионов операций в секунду (33.86 петафлопс) и потребляющий при этом 17600000 Ватт (17.6 Мегаватт). Нам предстоит проделать определённое количество работы перед тем, как наши кремниевые компьютеры смогут сравниться со сформировавшимися в результате эволюции углеродными.
Точное описание механизма, применяемого нашим мозгом для того, чтобы «думать» является предметом дискуссий и дальнейших исследований (лично мне нравится теория о том, что работа мозга связана с квантовыми эффектами, но это — тема для отдельной статьи). Однако, механизм работы частей мозга обычно моделируется с помощью концепции нейронов и нейронных сетей. Предполагается, что мозг содержит примерно 100 миллиардов нейронов.
Нейроны взаимодействуют друг с другом с помощью специальных каналов, позволяющих им обмениваться информацией. Сигналы отдельных нейронов взвешиваются и комбинируются друг с другом перед тем, как активировать другие нейроны. Эта обработка передаваемых сообщений, комбинирование и активация других нейронов повторяется в различных слоях мозга. Учитывая то, что в нашем мозгу находится 100 миллиардов нейронов, совокупность взвешенных комбинаций этих сигналов устроена довольно сложно. И это ещё мягко сказано.
Но на этом всё не заканчивается. Каждый нейрон применяет функцию, или преобразование, к взвешенным входным сигналам перед тем, как проверить, достигнут ли порог его активации. Преобразование входного сигнала может быть линейным или нелинейным.
Изначально входные сигналы приходят из разнообразных источников: наших органов чувств, средств внутреннего отслеживания функционирования организма (уровня кислорода в крови, содержимого желудка и т.д.) и других. Один нейрон может получать сотни тысяч входных сигналов перед принятием решения о том, как следует реагировать.
Мышление (или обработка информации) и полученные в результате его инструкции, передаваемые нашим мышцам и другим органам являются результатом преобразования и передачи входных сигналов между нейронами из различных слоёв нейронной сети. Но нейронные сети в мозгу могут меняться и обновляться, включая изменения алгоритма взвешивания сигналов, передаваемых между нейронами. Это связано с обучением и накоплением опыта.
Эта модель человеческого мозга использовалась в качестве шаблона для воспроизведения возможностей мозга в компьютерной симуляции — искуственной нейронной сети.
Искусственные Нейронные Сети (ИНС)
Искусственные Нейронные Сети — это математические модели, созданные по аналогии с биологическими нейронными сетями. ИНС способны моделировать и обрабатывать нелинейные отношения между входными и выходными сигналами. Адаптивное взвешивание сигналов между искусственными нейронами достигается благодаря обучающемуся алгоритму, считывающему наблюдаемые данные и пытающемуся улучшить результаты их обработки.
Для улучшения работы ИНС применяются различные техники оптимизации. Оптимизация считается успешной, если ИНС может решать поставленную задачу за время, не превышающее установленные рамки (временные рамки, разумеется, варьируются от задачи к задаче).
ИНС моделируется с использованием нескольких слоёв нейронов. Структура этих слоёв называется архитектурой модели. Нейроны представляют собой отдельные вычислительные единицы, способные получать входные данные и применять к ним некоторую математическую функцию для определения того, стоит ли передавать эти данные дальше.
В простой трёхслойной модели первый слой является слоем ввода, за ним следует скрытый слой, а за ним — слой вывода. Каждый слой содержит не менее одного нейрона.
С усложнением структуры модели посредством увеличения количества слоёв и нейронов возрастают потенциал решения задач ИНС. Однако, если модель оказывается слишком «большой» для заданной задачи, её бывает невозможно оптимизировать до нужного уровня. Это явление называется переобучением (overfitting).
Архитектура, настройка и выбор алгоритмов обработки данных являются основными составляющими построения ИНС. Все эти компоненты определяют производительность и эффективность работы модели.
Модели часто характеризуются так называемой функцией активации. Она используется для преобразования взвешенных входных данных нейрона в его выходные данные (если нейрон решает передавать данные дальше, это называется его активацией). Существует множество различных преобразований, которые могут быть использованы в качестве функций активации.
ИНС являются мощным средством решения задач. Однако, хотя математическая модель небольшого количества нейронов довольно проста, модель нейронной сети при увеличении количества составляющих её частей становится довольно запутанно. Из-за этого использование ИНС иногда называют подходом «чёрного ящика». Выбор ИНС для решения задачи должен быть тщательно обдуманным, так как во многих случаях полученное итоговое решение нельзя будет разобрать на части и проанализировать, почему оно стало именно таким.
Глубокое обучение
Термин глубокое обучение используется для описания нейронных сетей и используемых в них алгоритмах, принимающих «сырые» данные (из которых требуется извлечь некоторую полезную информацию). Эти данные обрабатываются, проходя через слои нейросети, для получения нужных выходных данных.
Обучение без учителя (unsupervised learning) — область, в которой методики глубокого обучения отлично себя показывают. Правильно настроенная ИНС способна автоматически определить основные черты входных данных (будь то текст, изображения или другие данные) и получить полезный результат их обработки. Без глубокого обучения поиск важной информации зачастую ложится на плечи программиста, разрабатывающего систему их обработки. Модель глубокого обучения же самостоятельно способна найти способ обработки данных, позволяющий извлекать из них полезную информацию. Когда система проходит обучение (то есть, находит тот самый способ извлекать из входных данных полезную информацию), требования к вычислительной мощности, памяти и энергии для поддержания работы модели сокращаются.
Проще говоря, алгоритмы обучения позволяют с помощью специально подготовленных данных «натренировать» программу выполнять конкретную задачу.
Глубокое обучение применяется для решения широкого круга задач и считается одной из инновационных ИИ-технологий. Существуют также другие виды обучения, такие как обучение с учителем (supervised learning) и обучение с частичным привлечением учителя(semi-supervised learning), которые отличаются введением дополнительного контроля человека за промежуточными результатами обучения нейронной сети обработке данных (помогающего определить, в правильном ли направлении движется система).
Теневое обучение (shadow learning) — термин, используемый для описания упрощённой формы глубокого обучения, при которой поиск ключевых особенностей данных предваряется их обработкой человеком и внесением в систему специфических для сферы, к которой относятся эти данные, сведений. Такие модели бывают более «прозрачными» (в смысле получения результатов) и высокопроизводительными за счёт увеличения времени, вложенного в проектирование системы.
На что способен искусственный интеллект сегодня и каков его потенциал
Три типа искусственного интеллекта
На сегодняшний день искусственный интеллект ученые определяют, как алгоритмы, способные самообучаться, чтобы применять эти знания для достижения поставленных человеком целей. Системы машинного обучения (основной подраздел ИИ) автоматизировали процессы во всех жизненно важных областях, включая банкинг, ретейл, медицину, безопасность, промышленность.
Выделяют три вида искусственного интеллекта: слабый (Narrow AI), сильный (AGI) и супер-ИИ (Super AI).
Первый вид используются повсеместно (включая голосовых ассистентов, рекламу в соцсетях, распознавание лиц, поиск романтических партнеров в приложениях и так далее); эти системы слабого ИИ единственные доступные на сегодня.
Сильный ИИ максимально приближен к способностям человеческого интеллекта и наделен по классическому определению Тьюринга самосознанием; по мнению экспертов, AGI сформируется примерно к 2075 году, а спустя еще 30 лет придет время для супер-ИИ.
Супер-ИИ мог бы не просто стать подобным людям, но и превзойти лучшие умы человечества во всех областях, при этом перепрограммируя самого себя, продолжая совершенствоваться и, вероятно, разрабатывая новые системы и алгоритмы самостоятельно.
На что способен искусственный интеллект уже сейчас
Оценить динамику может каждый, кто пользуется автоматическими переводчиками. Еще лет пять назад Google Translate более-менее сносно справлялся с отдельными наборами фраз и предложениями, тогда как сегодня программа переводит большие смысловые блоки, нейросети учитывают контекст, оперируют огромными массивами статистических данных. Сейчас можно читать статьи на хинди, китайском, арабском, не зная языка.
ИИ давно используется в финансовой сфере для оценки платежеспособности заемщика. Есть вам отказали в выдаче кредита на первом этапе ― вас отсеял именно искусственный интеллект. В США в некоторых штатах ИИ применяют в судебной системе для оценки продолжительности тюремных сроков для обвиняемых.
Алгоритмы помогают врачам ставить диагнозы. Например, «СберМедИИ» (входит в экосистему «Сбера») и Лаборатория по искусственному интеллекту Сбербанка совместно разработали приложение AI Resp: нейросеть анализирует голос пациента, дыхание и кашель, чтобы определить вероятность коронавирусной инфекции. Ранее Лаборатория по ИИ и «СберМедИИ» представили онлайн-сервис «КТ Легких», определяющий локализацию и степень поражения легких для диагностики вирусной пневмонии, в том числе COVID-19, по снимкам компьютерной томографии. Также при использовании этого сервиса ИИ позволяет выявлять онкологические заболевания на ранней стадии при анализе КТ грудной клетки и может помогать врачам при диагностике.
На данный момент разработано несколько значимых технологий в сфере искусственного интеллекта.
Искусственный интеллект превосходит людей по IQ и креативности: в викторинах он набирает на 40% больше баллов, по вопросам SAT (тест для оценки знаний абитуриентов США) — на 15% больше баллов, чем средний абитуриент колледжа.
Роль ИИ в экономике
Влияние пандемии на внедрение ИИ в бизнесе
Кризис только ускорил внедрение ИИ, и этот импульс сохранится в дальнейшем, показывают опросы: большинство компаний (52%) стали быстрее внедрять ИИ из-за пандемии, 86% респондентов утверждают, что ИИ становится «основной технологией» в их компании.
Почти три четверти бизнес-лидеров положительно оценивают роль ИИ после пандемии и сопутствующего кризиса. Большинство руководителей (74%) не только ожидают рост эффективности бизнес-процессов, но и создание новых бизнес-моделей (55%), новых продуктов и услуг (54%) — благодаря внедрению ИИ.
По мнению экспертов Оксфордского университета, к 2026 году ИИ напишет эссе, которое сойдет за написанное человеком, заменит водителей грузовиков к 2027 году и станет выполнять работу хирурга к 2053 году. Также ИИ превзойдет людей во всех задачах в течение 45 лет и автоматизирует все рабочие места в течение 120 лет.
Консалтинговая компания Accenture утверждает, что ИИ способен увеличить прибыль компаний в среднем на 38%. По словам экспертов и представителей бизнеса, ИИ помогает компаниям прогнозировать и выявлять проблемы, а также восполняет нехватку навыков сотрудников, хотя до построения бизнес-стратегии искусственным интеллектом еще далеко.
Большинство опрошенных компаний инвестируют в ИИ (90%) и согласны с тем, что данные технологии способствуют развитию бизнеса, выяснили MIT Sloan Management Review и BCG. Тем не менее, компании так и не научились извлекать из ИИ реальную выгоду. И это не единственный проблемный момент в сфере искусственного интеллекта.
Основные вызовы технологии ИИ
Бизнес-процессы
Чтобы компания извлекала прибыль, недостаточно вложить средства в алгоритм и получить первые успешные результаты после запуска пилотного проекта. Внедрение ИИ — это многоуровневый процесс, включающий культурные изменения в компании, найм и обучение специалистов по data science, автоматизацию и построение бизнес-процессов с учетом алгоритмов, и на этом весь список не заканчивается.
«Говоря о внедрениях, необходимо приложить усилия в пропорциях 10–20–70. То есть, примерно 10% усилий должно уйти на создание алгоритма, 20% на построение технологии и 70% на организацию бизнес-процессов. Компания должна быть на определенном уровне технологической зрелости для того, чтобы внедрение ИИ приносило пользу», — говорит Леонид Жуков, генеральный директор Института Искусственного Интеллекта AIRI, старший управляющий директор Лаборатории по искусственному интеллекту Сбербанка.
Выступая на международной конференции Сбера AI Journey 2021, Юрген Шмидхубер, ученый в области искусственного интеллекта, главный научный советник Института Искусственного Интеллекта AIRI и научный руководитель компании NNAISENSE отметил, что компании в основном сосредоточены на своих частных проблемах, а не на развитии технологий искусственного интеллекта: большая часть их прибыли от ИИ приходится на маркетинг и продажу рекламы.
Такие гиганты как Alibaba, Amazon, Facebook, Google массово используют глубокие искусственные нейронные сети, например, Long-Short-Term Memory, чтобы предсказать спрос пользователей и дольше удерживать их на своих платформах, заставляя переходить по большему количеству рекламных объявлений.
Нехватка специалистов
ИИ развивается с высокой скоростью, и то, что называлось полгода назад state-of-the-art (высшим уровнем развития), сегодня может оказаться средней разработкой. Если раньше в сфере искусственного интеллекта была занята узкая прослойка специалистов, сейчас при таком огромном спросе попросту не хватает квалифицированных кадров, способных справиться с постоянно развивающейся технологией, отмечает Жуков.
Спрос на ИИ-специалистов вырос на 74% за 2016–2019 годы, сейчас две из пяти компаний, использующих ИИ на продвинутом уровне, отмечают острую нехватку специалистов, трудности с наймом также возглавляют список проблем в области ИИ.
Проблемы машинного обучения
Качество данных — второе по значимости препятствие для внедрения ИИ, после нехватки специалистов. Для успешных результатов алгоритмам необходимы качественные «вводные», включая размеченные и чистые данные. Неправильно заданные паттерны могут провоцировать систему делать ложные выводы: например, ошибочно сигнализировать о мошеннической транзакции, или осудить невиновного.
На качество влияет и степень предвзятости, или bias, включая гендерные и расовые предрассудки, которым может быть подвержен человек, работающий с алгоритмом.
Количество данных. Помимо качества, компьютеру все еще требуется большой объем данных и ресурсов для выполнения простейших задач. Отличать собак от кошек ИИ научится за три дня, задействуя 10 млн изображений и 16 000 компьютеров, в то время как ребенку хватило бы пары фотографий и нескольких минут. Если бы модель GPT-3 обучали читать и писать статьи не на суперкомпьютере, а на обычном ПК, весь процесс занял бы примерно 500 лет.
«На данный момент перед исследователями ИИ стоят несколько вызовов. Это умение искусственного интеллекта ставить перед собой новые задачи на основе имеющихся знаний; способность обучаться, не забывая полученные знания; и умение учиться разбивать цель на подцели. Преодоление этих проблем приблизит ученых к созданию таких машин, которые смогут лучше понимать человека и помогать достижению все более амбициозных целей», — отмечает Михаил Бурцев, директор по фундаментальным исследованиям Института Искусственного Интеллекта AIRI, заведующий Лабораторией нейронных систем и глубинного обучения МФТИ.
Применение в другом контексте. Хотя искусственный интеллект сегодня способен выполнять различные функции — от распознавания кошек и собак до предсказания поломок на нефтяных платформах, — это все еще узконаправленные задачи. ИИ пока что не умеет применять полученные навыки в непривычных условиях.
Влияние на климат
Проблема потребления энергии искусственным интеллектом напрямую связана с количеством ресурсов, задействованных в обработке данных. Обучение же одной NLP-модели (подобной GPT) требует столько же энергии, сколько автомобиль за весь его срок службы, и производит в пять раз больше CO2.
Во всем мире центры обработки данных потребляют около 200 ТВт·ч электроэнергии в год — больше, чем некоторые страны. В то же время, есть и противоположный эффект — ИИ поможет снизить выбросы парниковых газов на 1,5–4% к 2030 году, согласно отчету Европейского парламента.
Использование ИИ в науке
Машинное обучение стало ключевым инструментом исследователей из разных областей, однако потенциал ИИ в науке еще предстоит раскрыть, отмечает Леонид Жуков. Стимулирование новых открытий с помощью ИИ актуально, например, в области создания новых материалов при помощи вычислений или в прогнозировании изменений климата для разработки стратегий повышения устойчивости к изменениям окружающей среды. Например, в рамках стремления к достижению углеродной нейтральности, ученые из группы поиска новых материалов Института AIRI совместно со Сбербанком разработали прототипы моделей, позволяющих оптимизировать контроль качества на производстве солнечных батарей.
В перспективе машинное обучение может активнее применяться для охраны дикой природы в малодоступных регионах и подсчете особей, понимания сложной органической химии и в исследовании темной материи.
Искусственный интеллект в разработке: как используют сейчас, что его ждет в будущем и боятся ли ИИ программисты
Не так давно Microsoft выкатил в публичный доступ ИИ Copilot. Он обучен на базе GitHub и помогает разработчикам дополнять код в зависимости от контекста. С нуля пока ничего не создает, но некоторые функции может написать целиком без участия программиста. И возникает вопрос — а не близок ли тот день, когда искусственный интеллект полностью заменит разработчиков, и, например, заставит их переквалифицироваться в бизнес-аналитиков.
Мы побеседовали со специалистами по ИИ и Data Science, чтобы оценить реальные перспективы искусственного интеллекта. А еще спросили разработчиков, героев наших прошлых статей, что они думают об ИИ и не боятся ли потерять работу из-за технического прогресса. Приходите в комментарии и тоже делитесь своим мнением.
Какие задачи ИИ уже автоматизирует
Вообще в разработке много задач, автоматизированных и без искусственного интеллекта. Те же библиотеки или фреймворки для frontend-разработки — уже автоматизация, и никакого ИИ тут не нужно.
Андрей Васнецов
lead ML-инженер и хозяин канала про нейросети
«Что касается применения именно ИИ, или точнее Machine Learning, его уже давно используют в статистическом анализе кода. Плюс раньше пытались сделать умный автокомплит с помощью нейросетей, например, Deep TabNine. Они тогда не получались, но нынешний GitHub Copilot по факту отличается от них только количеством данных и ресурсов, потраченных на обучение.
Пока искусственный интеллект лучше всего справляется с задачами, которые уже кто-то решал. Если в обучающей выборке есть нужные фрагменты кода — он их воспроизведет. Например, по этой причине Copilot так хорошо решает задачи из leetcode. Но в настоящей разработке таких задач не слишком много».
Сергей Колесников
«Сейчас AI, как бы это смешно ни звучало, шире всего используется именно для автоматизации разработки AI. Если мы корректно ставим задачу машинного обучения, выбираем датасеты и метрики, математически формулируем функциональные ограничения, то сама задача поиска лучшего решения — это задача оптимизации, и мы решаем ее методами машинного обучения. Хорошие пример тут — Neural Architecture Search и AutoML, инструменты для автоматизации перебора NN-архитектур под конкретные задачи. Google таким способом „придумал“ архитектуру EfficientNet, которая адаптирована под вычисления на мобильных девайсах.
У нас в Catalyst.Team тоже есть простая команда catalyst-dl tune, которая позволяет автоматизировать перебор архитектур и их гиперпараметров. То есть с точки зрения автоматизации разработка ML-решений движется семимильными шагами. И ML-разработчикам, которые думают о своей работе как о переборе моделей, стоит задуматься — их ИИ вполне может заменить».
Что сами разработчики хотели бы автоматизировать в своей работе
Сейчас разработчики склонны рассматривать ИИ не как своего врага или замену, а скорее как помощника. И многие рутинные задачи из своей работы они бы с радостью отдали на автоматизацию. Copilot уже помогает не искать готовые решения в сети. Но есть и другие задачи, с которыми ИИ потенциально мог бы справиться.
Сергей Колесников
«Я все жду, когда автоматизируют тестирование интерфейсов, как web/mobile, так и чатовых. Первичная проверка интерфейсов мне не кажется сложной задачей, которая меняется каждый раз, так что ее должно быть просто оптимизировать. Но я здесь не эксперт и подозреваю, что важнее проверять бизнес-логику под интерфейсами, и тут задачи уже могут сильно варьироваться. А вот проверка чат-интерфейсов — это интересное направление. Например, ИИ могут проверять, что все ответы носят нейтральный характер, или что диалоги проходят по заказанному сценарию.
Я лично хотел бы автоматизировать тесты и написание документации. Было бы здорово, если бы Copilot развивался в этом направлении — например, по сигнатурам методов предлагал, как их тестировать. Написание кода — меньшая из проблем, а вот тесты и документация — это сложно и часто рутинно».
Алина Коваленко
Senior Software Engineer в Uber, постоянный герой наших статей
«Я жду, когда ИИ научится назначать задачи саппорта в нужные команды/проекты. Чтобы от техподдержки приходили баг репорты, а ИИ сам пинговал нужную команду и назначал им задачу».
Почему ИИ не заменит разработчиков: ни сейчас, ни в будущем. Но явно изменит IT-индустрию
Вокруг Copilot уже возникла небольшая истерия — якобы благодаря нему некоторых разработчиков можно уволить, потому что работы для них теперь нет. Но это кажется преувеличенным. Вот что о «полной замене людей» думают специалисты по ИИ:
Сергей Колесников
«Когда люди видят успехи очередного AI, который „почти как человек“, они сразу бросаются менять и оптимизировать текущие процессы. Но есть нюанс — для реального использования ИИ вместо человека нужна примерно 100% точность, а пока это недостижимо. Особенно для задач, который носят последовательный характер — генерации текста или кода. Здесь малейшая ошибка в начале приводит к значительному отклонению в конце.
Плюс важно понимать, что задача разработчика — не просто написать код. Куда больше времени занимает понимание задачи, перевод ее в техническую постановку. И для этого нужен человеческий опыт и умение понимать друг друга. С этим люди-то не всегда справляются, что уж говорить об AI. Все нынешние решения по автоматизации — это красивые обертки вокруг стандартных инструментов, и в ближайшее время это вряд ли изменится.
Некоторые боятся, что ИИ заменит неопытных разработчиков, джуниоров. Но на самом деле понятие „джуниор“ и набор требуемых скилов для него все время меняется, специализируется, пока область работы становится сложнее. Часть навыков джуна просто отомрут, а часть наоборот, добавятся. Однако базовые вещи всегда будут с нами: математика, линейная алгебра, статистика, C++ ».
Андрей Васнецов
lead ML-инженер и хозяин канала про нейросети
«ИИ однозначно изменит требования к разработчикам. Способность заучивать алгоритмы и решать leetcode-стайл задачи перестанет быть актуальной. На первый план выйдут задачи, связанные с проектированием высокоуровневой архитектуры и взаимодействия компонентов. Это то, что сейчас называют system design.
Но о полной замене программистов на ИИ говорить однозначно рано. Даже если это и случится — это будет означать технологическую сингулярность. В этом случае потеря работы — меньшее, о чем нам предстоит беспокоиться».
Разработчики, которых мы опросили, тоже не видят в ИИ угрозы для себя. Никто не боится, что искусственный интеллект отберет у них работу, а на перспективы развития смотрят довольно скептически:
Георгий Хромченко
«Сейчас ИИ помогает „по аналогии“ решать уже сделанные задачи, и обучать его надо на базе исходников. Но индустрия программирования устроена так, что для большинства бизнес-условий нужно писать что-то специфическое, и исходников для этого нет. Типовой код в нашей индустрии принято выносить в библиотеки. И там, где ИИ мог бы помочь, его помощь обычно не нужна — мы просто используем эти библиотеки. Ассистенты по типу Copilot помогают на среднем уровне — там, где функция еще не внесена в библиотеку, но уже достаточно популярна. Но я считаю это небольшим улучшением, а не „заменой программиста на ИИ“.
По сути программист переводит результаты работы аналитика (или анализирует сам) в формальное логически непротиворечивое описание. И вот эта работа с произвольным текстом задания, понимание контекста, погружение в логические противоречивости — с этим ИИ в обозримом будущем не справится. Может быть, постепенно программисты станут кем-то вроде аналитиков, то есть будут общаться с источником требований и переводить их в описание, понятное ИИ.
А полная замена программистов — это уже общий искусственный интеллект, понимание причин и следствий мира. Это точно не горизонт ближайших десятилетий. К этому моменту, пожалуй, большая часть человеческих профессий будет автоматизирована. И само понятие работы будет восприниматься как-то по-другому».
Алина Коваленко
Senior Software Engineer в Uber, постоянный герой наших статей
«Для того, чтобы ИИ смог написать программу, кто-то должен сказать ИИ, что должно быть сделано, а это и есть программа. На самом деле в долгосрочной перспективе всё возможно, но это не произойдет так быстро, чтобы мы успели перестать быть нужными. ИИ нуждается в тренировке, калибровке и проверке прежде, чем сможет работать самостоятельно. Это уже не говоря о том, что пока что никто не написал/не обучил ИИ до какого-никакого приличного уровня.
Возможно, со временем меньше людей станет обучаться программированию. Ближайшая аналогия — самоуправляемые автомобили. Вряд ли они прямо сейчас станут единственным доступным транспортом — кто-то не захочет пересаживаться, кто-то не сможет их себе позволить, на каких-то дорогах они не могут ездить. А значит, процесс перехода займет некоторое время, и профессия водителя изживет себя медленно. Люди успеют приспособиться».
python-разработчик из нашей истории о Таллине
«Я считаю, что достижимый максимум — это симбиоз программиста и AI. Программисты будут придумывать, что сделать, создавать заготовки, а ИИ — оптимизировать их и писать по шаблонам.
Пока мы уже на пороге явления, когда наращивать вычислительные мощности не получится. Уже делают микросхемы по техпроцессу 2нм. А на таких размерах включаются квантовые эффекты. Если соберут рабочий квантовый компьютер, возможно, что-то и получится, но только при условии колоссальных затрат на поддержание его работы. На написание мелких программ его не пустят. Поэтому пока компьютеры не сравнятся по сложности и мощности с мозгом, без работы мы не останемся».
Закончим уже баянистым комиксом, который видели, наверное, все:
Он в целом довольно точно отражает суть. Даже если когда-нибудь ИИ сможет полноценно писать код с нуля, ему нужно будет ставить задачи. И люди, которые будут ставить задачи, останутся нужны. Может быть, это будут не программисты в нынешнем понимании, но вырастут они скорее всего именно из разработчиков.