Какое будущее у разработки программного обеспечения?

Какое будущее у разработки программного обеспечения?

В течение многих лет разработка программного обеспечения велась вручную.

От перфокарт в FORTRAN до составления распределенных методов в Go - дисциплина осталась в основном той же: тщательно обдумайте проблему, выработайте умный подход (то есть алгоритм) и дайте машине пару инструкций для реализации.

Этот подход, который можно назвать «явным программированием», был ключом ко всему, от мэйнфреймов до смартфонов, от интернет-бума до мобильной революции. Это помогло создать новые рынки и сделало такие компании, как Apple, Microsoft, Google и Facebook, нарицательными.

И все же чего-то будет не хватать. Интеллектуальные системы, представленные авторами древней компьютерной эры, роботом-такси Филипа Дика к C-3PO Джорджа Лукаса, являются продолжением научной фантастики. Казалось бы, простой задачи упорно Defy автоматизации с помощью даже самых блестящих компьютерных ученых. Ученые мужи обвиняют Кремниевую долину перед лицом этих проблем в том, что она отклоняется от основных достижений и сосредотачивается на постепенно увеличивающихся компаниях или компаниях, движимых модой.

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

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

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

Тем не менее, несмотря на ажиотаж, связанный с обучением, большинство наблюдателей упускают из виду главную причину, по которой можно положительно оценивать его будущее: глубокое обучение требует, чтобы кодеры почти не писали никакого кода. Вместо того, чтобы полагаться на предустановленные правила или счета-фактуры, программа глубокого обучения автоматически записывает принципы на основе предыдущих примеров. Разработчику программного обеспечения нужно только сделать «грубый скелет», если перефразировать Андрея Карпати из Tesla, а затем позволить компьютерам сделать остальное.

В этой новой вселенной программистам больше не нужно разрабатывать специальный алгоритм для каждой проблемы. Большая часть работы, скорее, сосредоточена на создании наборов данных, отражающих желаемое поведение, и управлении процессом обучения. Пит Уорден из команды Google TensorFlow указал на это еще в 2014 году: «Раньше я был программистом», - писал он. « Я учу компьютеры составлять собственные приложения».

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

Что это означает для будущего разработки программного обеспечения?

Программирование и наука о данных будут все больше сближаться

В обозримом будущем большинство приложений не будут включать "сквозные " обучающие программы. Он будет полагаться на модели данных, чтобы предложить основные возможности познания и явную логику для взаимодействия с пользователями и перевода результатов. На вопрос «следует ли мне использовать ИИ или даже традиционный подход к этой проблеме?» Будет все больше развиваться. Разработка интеллектуальных систем потребует контроля над обоими.

Профессионалы искусственного интеллекта, вероятно, станут рок-звездами

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

Необходимо построить цепочку инструментов ИИ.

Джил Ардити, руководитель отдела машинного обучения в Lyft, сказал это лучше всего. «Машинное обучение сейчас находится в зачаточном состоянии. Оно очень похоже на базу данных начала 80-х или конца 70-х годов. Чтобы заставить эти элементы работать, нужно было стать мировым специалистом ». Исследования также показывают, что многие модели искусственного интеллекта пригодны для использования. непросто объяснить, незначительно обмануть и предвзято. Инструменты для решения этих проблем, среди прочего, будут иметь важное значение для раскрытия потенциала разработчиков ИИ.

Нам всем нужно познакомиться с непредсказуемым поведением

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

И надеюсь, что вероятность захвата ИИ близка к нулю.