Литмир - Электронная Библиотека
Содержание  
A
A

Ни одна созданная до настоящего времени интегральная микросхема не может похвастаться таким количеством транзисторов. Действующий рекорд среди серийных микропроцессоров принадлежит GPU (graphics processing unit, графический процессор, в просторечии «видеокарта») от Nvidia под названием H100 — он содержит 80 млрд транзисторов [877] (8,00 × 1010) [878], самая большая серийная программируемая вентильная матрица (FPGA) — Xilinx Virtex UltraScale+ VU19P — состоит из 32 млрд транзисторов [879] (3,2 × 1010).

Впрочем, электроника имеет серьёзное преимущество в скорости. Продолжительность нервных импульсов в мозге составляет примерно 1–2 мс[880], и данные современной нейрофизиологии не позволяют нам утверждать, что рабочая частота мозга может превышать порог в 1 кГц, в то время как электронике доступны частоты, приближающиеся к 9 ГГц. Впрочем, самый «шустрый» процессор AMD FX-8150, работающий на частоте 8,81 ГГц, содержит всего 1,2 млрд транзисторов, в то время как частота H100 составляет скромные 1590 МГц по умолчанию и 1,98 ГГц при разгоне. Вентильная матрица Virtex UltraScale+ VU19P и вовсе предназначена для работы на частоте около 900 МГц (если исходить из величины Maximum frequency of a global clock tree[881] в документации[882]). Перемножив частоту каждого устройства на количество транзисторов, получим теоретический предел производительности в битах в секунду. Для мозга он, по нашим подсчётам, составляет порядка 1021 бит/с, а для микропроцессоров — не более 1,58 × 1020 бит/с. Таким образом, даже при крайне консервативной оценке вычислительной мощности отдельного синапса мы видим, что мозг превосходит микропроцессоры по своей «брутто-производительности» примерно на один десятичный порядок.

Конечно, сравнение это является сугубо приблизительным и основано на ряде серьёзных допущений. И всё-таки оно даёт представление о «грубой силе» человеческого мозга. Ещё более печальным для электроники сравнение становится после оценки энергоэффективности вычислений. Мозг, несмотря на свою фантастическую производительность, потребляет всего около 20 Вт, в то время как энергопотребление самых быстрых процессоров доходит до 400 Вт.

В этом месте читатель может воскликнуть: «Где же мои деньги?!» В смысле: почему же я не могу мгновенно перемножать в уме тридцатизначные числа и вытворять другие фокусы, которые так легко даются компьютерам? Ответ довольно прост: мозг не слишком приспособлен для того, чтобы выполнять сознательное умножение чисел; выполняя такую задачу, мы используем возможности нашей «аппаратной платформы» крайне неэффективно. В то же время, выполняя, скажем, задачу распознавания лица человека, мозг за доли секунды производит сложную обработку сигналов, поступающих от зрительных рецепторов. Математическим эквивалентом этой операции являются сложение и умножение больших наборов числовых коэффициентов, и мозг успешно справляется с этой задачей бессознательно, втайне от нас самих.

3.7 Го — новая цель

Заниматься игрой в го является намного лучшим делом, чем предаваться целый день праздности и угощению рисом.

Конфуций. Суждения и беседы

Го — игра, которая на протяжении многих лет исполняла роль своеобразного философского камня в области искусственного интеллекта. Число возможных позиций в го (при размере доски 19 × 19) составляет[883] порядка 2 × 10170, а число различных партий оценивается[884] и вовсе в циклопическое число 10360. Если в среднестатистической шахматной позиции возможно 35 потенциальных ходов, то в го это число — 250, то есть больше почти на порядок. Таким образом, кремниевый блок для хранения сильного решения игры го, созданный по технологии, рассмотренной в прошлой главе, был бы примерно в 3 × 1091 раза тяжелее, чем всё обычное вещество нашей Вселенной, так что от затеи по строительству подобного устройства, по всей видимости, придётся отказаться.

Охота на электроовец. Большая книга искусственного интеллекта - image132.jpg

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

В 1965 г. британский математик, коллега Тьюринга по Блетчли-парку Ай Джей Гуд писал: «Го на компьютере? — Чтобы запрограммировать компьютер для разумной игры в го, а не просто для игры в соответствии с правилами, необходимо формализовать стратегические принципы игры или разработать самообучающуюся программу. [Стратегические] принципы [го] более качественны и загадочны, чем в шахматах, и более субъективны. Поэтому я думаю, что будет гораздо сложнее запрограммировать компьютер для игры в го, чем в шахматы»[885].

До 2015 г. программы играли в го в лучшем случае на любительском уровне. В варианте игры на доске 9 × 9 машины демонстрировали более впечатляющие результаты, некоторым программам удалось выиграть на маленькой доске некоторое количество игр против профессиональных игроков[886]. Находились исследователи, которые утверждали, что компьютеры никогда не смогут победить сильнейших игроков в го[887].

Первая программа для игры в го была написана Альбертом Зобристом в 1968 г. как часть диссертации, посвящённой распознаванию образов. Зобрист ввёл функцию влияния для оценки территории и использовал хеш-функцию, названную позже его именем, для обнаружения «ко» (правило ко — одно из правил игры го, согласно которому запрещено делать ход, если он приводит к повторению позиции, существовавшей на доске за один ход до этого; в различных вариантах правил го точная формулировка и интерпретация правила ко может различаться). Кстати говоря, хеш-функция Зобриста и по сей день используется в шахматных программах для создания хеш-таблиц перестановок/опровержений, быстрого поиска повторения позиции, поиска позиции в дебютной библиотеке и многих других задач.

В апреле 1981 г. Джонатан Миллен опубликовал[888] в журнале Byte статью, посвящённую Wally, программе для игры в го на доске 15 × 15, которая помещалась в один килобайт оперативной памяти микрокомпьютера KIM-1. В ноябре 1984 г. Брюс Уэбстер опубликовал[889] листинг собственной программы для игры в го на языке MacFORTH для компьютера Apple Macintosh.

Первым оставившим след в истории турниром по компьютерному го стал Acornsoft Computer Go Tournament, прошедший в Лондоне в марте 1984 г. при участии Британской ассоциации го (British Go Association). Все программы-участники использовали популярные микрокомпьютеры BBC Micro и вариант игры с доской 13 × 13. Победителем стала программа, созданная Брониславом Пшибылой[890], [891]. Сегодня она известна под названием Acornsoft Go и доступна для игры в онлайн-эмуляторе BBC Micro[892].

вернуться

877

NVIDIA H100 SXM5 80 GB (2023). / TechPowerUp // https://www.techpowerup.com/gpu-specs/h100-sxm5-80-gb.c3900

вернуться

878

* Скорее всего, этот показатель будет немного улучшен с выходом GPU семейства Hopper-Next от Nvidia в 2024 году.

вернуться

879

Creating Tomorrow’s Next-Generation Technologies Today // https://forums.xilinx.com/t5/Xilinx-Xclusive-Blog/Creating-Tomorrow-s-Next-Generation-Technologies-Today/ba-p/1156382

вернуться

880

Gerstner W., Kistler W. (2002). Spiking Neuron Models: Single Neurons, Populations, Plasticity. Cambridge University Press // https://books.google.ru/books?id=Rs4oc7HfxIUC

вернуться

881

** Максимальная частота глобального иерархического дерева тактовых импульсов; сеть распределения тактовых импульсов (или дерево тактовых импульсов, когда эта сеть формирует дерево) — часть электрической схемы, которая распределяет сигнал(ы) тактовых импульсов (т. е. импульсов, предназначенных для синхронизации различных процессов в схеме) от общего источника до всех элементов, которые в них нуждаются.

вернуться

882

Virtex UltraScale+ FPGA Data Sheet: DC and AC Switching Characteristics // https://www.xilinx.com/support/documentation/data_sheets/ds923-virtex-ultrascale-plus.pdf

вернуться

883

John Tromp (2016). Number of legal Go positions // https://tromp.github.io/go/legal.html

вернуться

884

Allis V. (1994). Searching for Solutions in Games and Artificial Intelligence (Ph. D. thesis). University of Limburg, Maastricht, The Netherlands // https://project.dke.maastrichtuniversity.nl/games/files/phd/SearchingForSolutions.pdf

вернуться

885

Good I. J. (1965). The Mystery of Go / New Scientist, 21 January // http://www.chilton-computing.org.uk/acl/literature/reports/p019.htm

вернуться

886

Wedd N. (2016). Human-Computer Go Challenges / computer-go.info // http://www.computer-go.info/h-c/index.html

вернуться

887

Cho A. (2016). ‘Huge leap forward’: Computer that mimics human brain beats professional at game of Go / Science // https://www.sciencemag.org/news/2016/01/huge-leap-forward-computer-mimics-human-brain-beats-professional-game-go

вернуться

888

Millen J. K. (1981). Programming the Game of Go / Byte, April 1981 // https://archive.org/stream/byte-magazine-1981-04/1981_04_BYTE_06-04_Future_Computers#page/n101/mode/2up

вернуться

889

Webster B. (1984). A Go Board for the Macintosh / Byte, November 1981 // https://archive.org/stream/byte-magazine-1984-11/1984_11_BYTE_09-12_New_Chips#page/n125/mode/2up

вернуться

890

Macfadyen M. (1984). Computer Go / British Go Journal No. 61. March 1984 // https://www.britgo.org/bgj/06123.html

вернуться

891

History of Go-playing Programs / Go British Association // https://www.britgo.org/computergo/history

вернуться

892

Bronislaw Przybyla (1984). Acornsoft Go / Sensei's Library // https://senseis.xmp.net/?AcornsoftGo

97
{"b":"936964","o":1}