Системы, которым можно доверять
Чтобы использовать такие мощные технологии безопасно, мы должны делать технические средства, которым мы можем доверять. Чтобы иметь доверие, мы должны быть способны тщательно оценивать технические факты – способность, которая в свою очередь будет зависеть отчасти от качества наших способов оценки. Более существенно, однако, она будет зависеть от того, будет ли заслуживающие доверие технические средства физически возможны. Это – вопрос надёжности компонентов и систем.
Часто мы можем делать надёжные компоненты, даже без помощи ассемблеров. «Надёжные» не значит «неразрушимые» – всё что угодно разрушится, если его поместить достаточно близко к ядерному взрыву. Это даже не означает «стойкий» – телевизор может быть надёжным, однако он не выдержит удара о бетонный пол. Скорее, мы называем что-то надёжным, когда мы можем рассчитывать, что оно будет работать, как задумано.
Надёжный компонент не обязательно должен быть совершенным воплощением совершенной конструкции: ему только нужно быть достаточно хорошим воплощением достаточно предусмотрительной конструкции. Инженер, который строит мост, может не быть уверен насчёт силы ветра, нагрузки движения по мосту, и прочности стали, но предполагая высокий ветер, интенсивное движение и непрочную сталь, инженер может сконструировать мост, который сможет выдержать.
Неожиданные отказы компонентов обычно проистекают из физических дефектов. Но ассемблеры будут строить компоненты, которые имеют пренебрежимо малое число атомов не на своём месте – ни одного, если будет в том необходимость. Это сделает их идеально унифицированными и в ограниченном смысле – совершенно надёжными. Однако излучение будет всё равно вызывать повреждение, поскольку космические лучи могут неожиданно выбивать атомы из чего угодно. В достаточно малых компонентах (даже в современных компьютерных устройствах памяти), отдельная частица излучения может вызвать отказ.
Но системы работают, даже когда их части перестают работать; ключ к этому – избыточность. Представьте мост, подвешенный на канатах, которые случайным образом обрываются, каждый около одного раза в год в непредсказуемый момент времени. Если мост упадёт когда порвётся канат, его будет использовать слишком опасно. Однако представьте, что чтобы починить канат требуется один день (потому что квалифицированная команда ремонтников с запасными канатами вызывается как только необходимо), и что, хотя необходимо пять канатов, чтобы поддерживать мост, есть на самом деле шесть. Теперь один канат рвётся, и мост всё равно остаётся на своём месте. Закрыв движение и далее заменив порвавшийся канат, операторы моста могут восстановить безопасность. Чтобы разрушить этот мост, в этот же день должен порваться второй кабель, также как и первый. Поддерживаемый шестью канатами, каждый имеющий 1 из 365 шансов порваться, мост вероятно выдержит около 10 лет.
Во время перестройки он остаётся ужасным. Однако мост с десятью канатами (пять необходимых и пять дополнительных) упадёт только если шесть канатов порвутся в тот же день: система поддержки вероятно выдержит более десяти миллионов лет. С пятнадцатью канатами ожидаемая продолжительность жизни – более чем в десять тысяч раз больше возраста Земли. Избыточность может давать экспоненциальный взрыв безопасности.
Избыточность работает лучше всего, когда избыточные компоненты действительно независимы. Если мы не доверяем процессу конструирования, то мы должны использовать компоненты, разработанные независимо; если бомба, пуля или космический луч может повредить несколько соседних частей, то мы должны распределить избыточные части более широко. Инженеры, которые хотят обеспечить надёжное сообщение между двумя островами не должны просто добавлять канаты к мосту. Им нужно построить два хорошо разделённых моста, использующих различные конструкции, далее добавить туннель, паром и пару островных аэропортов.
Компьютерные инженеры также используют избыточность. Стратус Компьютер Инк., например, производит машину, которая использует центральные обрабатывающие блоки (в двух частях) для выполнения работы одной, но для выполнения значительно более надёжно. Каждая часть постоянно проверяет внутреннее соответствие, и вышедшая из строя часть может быть заменена, пока работает её двойник.
Ещё более мощная форма избыточности – разнообразие конструкции. В компьютерных аппаратных средствах это означает использование нескольких компьютеров с различной конструкцией, все работающие параллельно. Сейчас избыточность может корректировать не только отказы в отдельно взятой единице аппаратных средств, но и ошибки её конструкции.
Многое сделано над проблемой написания больших программ, свободных от ошибок; многие люди считают, что такие программы невозможно разработать и отладить. Но исследователи в УКЛА Компьютер Сайенс Департмент показали, что разнообразие конструкции можно также использовать в программном обеспечении: несколько программистов могут работать над той же самой проблемой независимо, тогда все их программы можно запускать параллельно и выбирать ответ голосованием. Это умножает затраты на написание и работу программ, но это делает получающиеся в результате системы программного обеспечения устойчивыми к ошибкам, которые появляются в некоторых из их частей.
Мы можем использовать избыточность, чтобы контролировать репликаторы. Также как машины ремонта, которые сравнивают множество нитей ДНК будут способны скорректировать мутации в генах клетки, также репликаторы, которые сравнивают множество копий своих инструкций (или которые используют другие эффективные системы исправления ошибок) будут способны сопротивляться мутациям в этих «генах». Избыточность может снова принести экспоненциальный рост безопасности.
Мы можем строить системы, которые крайне надёжны, но это повлечёт издержки. Избыточность делает системы более тяжёлыми, громоздкими, более дорогими и менее эффективными. Нанотехнология, однако, сразу сделает большую часть вещей намного более лёгкими, дешёвыми и более эффективными. Это сделает избыточность и надёжность более практичными.
Сегодня, мы редко хотим платить за самую безопасную из возможных систем; мы терпим с большей или меньшей охотой отказы и редко рассматриваем реальные пределы надёжности. Это создаёт предвзятые суждения о том, что мы можем достичь. Психологический фактор также искажает наше чувство, насколько надёжными можно сделать вещи: отказы застревают у нас в уме, но каждодневный успех привлекает мало внимания. СМИ усиливает эту тенденцию, сообщая о самых драматических отказах со всего мира, при этом игнорируя бесконечные и скучные удачи. Ещё хуже, что компоненты избыточных систем могут отказывать видимым образом, вызывая тревогу: представьте, как СМИ сообщили бы о порвавшемся канате моста, даже если бы мост был бы супер-безопасной пятнадцати-канатной моделью, описанной выше. И поскольку каждый дополнительный избыточный компонент добавляет шанс отказа системы, надёжность системы может казаться хуже даже когда она почти совершенна.
Если отложить в сторону то, что кажется, избыточные системы сделанные из избыточных, безупречных компонентов могут часто быть сделаны почти идеально надёжными. Избыточные системы, распределённые на достаточно широкие расстояния выдержат даже пули и бомбы.
Но что можно сказать об ошибках конструкции? Наличие десятка избыточных частей не даст никакой пользы, если они делят общую критическую ошибку в конструкции. Разнообразие конструкции – один ответ; хорошее тестирование – другой. Мы можем надёжно разрабатывать хорошие конструкции не будучи хорошими в надёжности конструкторами: нам только нужно уметь хорошо тестировать, исправлять ошибки и быть терпеливыми. Природа разработала работающие молекулярные машины целиком через безголовую починку и тестирование. Имея разум, мы можем делать не хуже или лучше.
Мы найдём несложным разработать надёжные технические средства, если мы сможем разработать надёжные автоматические системы разработки. Но это ставит более широкий вопрос о разработке систем искусственного интеллекта, которым можно доверять. У нас будет мало проблем в создании систем ИИ с надёжной аппаратной базой, но как насчёт их программных средств?
Подобно сегодняшним системам ИИ и человеческому разуму, продвинуты системы ИИ будут синергетическими комбинациями большого количества простых частей. Каждая часть будет более специализирована и менее интеллектуальна, чем система в целом. Некоторые части будут искать структуры в картинках, звуках и других данных, и подсказывать, что они могут обозначать. Другие части будут сравнивать и оценивать подсказки этих частей. Также как распознаватель структур в человеческой зрительной системе страдает от ошибок и зрительных иллюзий, также страдают и распознаватели в системах ИИ. (действительно, некоторые продвинутые системы машинного зрения уже страдают от знакомых зрительных иллюзий.) И также как другие части человеческого разума могут часто идентифицировать и компенсировать иллюзии, также будут способны и другие части систем ИИ.
Как в человеческом разуме, интеллект будет включать части ума, которые будут производить приблизительные догадки, а другие части будут откидывать наиболее плохие догадки до того, как они привлекут слишком много внимания или повлияют на важные решения. Умственные части, которые отвергают идеи действия по этическим основаниям, соответствуют тому, что мы называем совестью. Системы ИИ со многими частями будут иметь место для избыточности и разнообразия конструкции, делая надёжность возможной.
Настоящая гибкая система ИИ должна развивать идеи. Чтобы это делать, она должна находить или формировать гипотезы, генерировать варианты, тестировать их, и далее модифицировать или отбрасывать те, которые она находит неадекватными. Исключение некоторых из этих способностей сделало бы её глупой, упрямой или невменяемой ("Тупая машина не может думать и не будет учиться на своих ошибках – выброси её!"). Чтобы избежать ловушки начальных заблуждений, ей придётся рассматривать противоречивые взгляды, смотря, насколько хорошо каждый объясняет данные, и смотря, может ли один взгляд объяснить другой.
Научное сообщество проходит через подобный процесс. В статье с названием "Метафора научного сообщества", Вильям А. Корнфельд и Карл Хьювитт из лаборатории искусственного интеллекта MIT высказывают мысль, что исследователи ИИ моделируют модели своих программ ещё более близко к развившейся структуре научного сообщества. Они указывают на плюрализм науки, на её разнообразие конкурирующих создателей теорий, сторонников и критиков. Без создателей теорий, идеи не могут появиться; без сторонников, она не может расти; а без критиков, которые пропалывают их, плохие идеи могут вытеснить хорошие. Это остаётся верным для науки, технологии, в системах ИИ, а также между частями наших умов.
Наличие мира, полного разнообразия и изобилующего авторами теорий, сторонниками и критиками – это то, что делает продвижение науки и технологии вперёд надёжным. Если будет больше авторов теорий, будет больше хороших теорий; если будет больше критиков – плохие теории будут более уязвимыми. Лучшие и более многочисленные идеи будут результатом. Подобная форма избыточности может помочь системам ИИ разрабатывать достоверные идеи.
Люди иногда направляют свои действия стандартами истины и этики, и нам нужно быть в состоянии разработать системы ИИ, чтобы они делали то же самое, но более надёжно. Способные думать в миллионы раз быстрее чем мы, они будут иметь больше времени для дополнительных размышлений. Похоже, что системы ИИ можно сделать такими, чтобы им можно было доверять, по крайней мере по человеческим стандартам.
Я часто сравнивал системы ИИ с отдельными человеческими умами, но подобие не обязательно должно быть близким. Система, которая способна подражать человеку, возможно должна быть подобна человеку, но система автоматической разработки – вероятно не обязательно. Одно предложение (называемое системой Агора, в честь греческого слова, обозначающего встречу и рыночную площадь) состояло бы в том, чтобы много независимых кусочков программ, которые взаимодействуют, предлагая друг другу услуги в обмен на деньги. Большинство кусочков было бы простоватыми узколобыми специалистами, некоторые способные подсказывать изменение конструкции, а другие – анализировать его. Во многом также, как земная экология разработала экстраординарные организмы, также эта компьютерная экономика могла бы разрабатывать экстраординарные конструкции – и, возможно, сравнительно безмозглым способом. Что более важно, поскольку система была бы распределена по многим машинам и имела бы части написанные многими людьми, она могла бы быть разнообразной, устойчивой и затруднённой для любой группы чтобы захватить и использовать во вред.
В конце концов так или иначе, системы автоматической разработки будут способны разрабатывать вещи более надёжно чем любая группа людей-инженеров может сегодня. Наша большая задача будет сконструировать их правильно. Нам нужны человеческие институты, которые надёжно разрабатывают надёжные системы.
Человеческие институты – это развившиеся искусственные системы, и они могут часто решать проблемы, которые отдельные члены – не могут. Это делает их чем-то вроде "искусственных интеллектуальных систем." Корпорации, армии, и исследовательские лаборатории – это всё примеры, также как более свободные структуры рынка или научного сообщества. Даже правительства могут рассматриваться как системы искусственного интеллекта – большие, медлительные, одурманенные, однако сверхчеловеческие в своих реальных способностях. И что есть конституциональный контроль и баланс, как не попытка увеличить надёжность правительства через институциональное разнообразие и избыточность? Когда мы строим интеллектуальные машины, мы будет использовать их, чтобы проверять и создавать баланс одной над другой.
Применяя эти разумные принципы, мы можем быть в состоянии разработать надёжные техники ориентированные институты, имеющие сильный контроль ошибок и балансы, и тогда использовать их, чтобы руководить разработкой систем, которые нам понадобятся, чтобы управляться с будущими прорывами.