Мои претензии в xGI: я не натуральное хозяйство, я участник разделения труда
Спасти мир -- это усилить интеллект, усилить интеллект -- это сделать его универсально быстрым
Моя идея в том, что нужно усиливать интеллект, чтобы он решил все сложные задачи, стоящие перед людьми: победил болезни и сделал человека биологически бессмертным, расселил по разным местам во вселенной, чтобы искра разумной жизни и бесконечного развития не потухла от залётного астероида (жизнь -- это же про негэнтропию, как говаривал Шрёдингер), а заодно это всё решит и проблемы со вкусно есть и сладко спать.
Поэтому я сам буду усиливать интеллект: человеческий, машинный, гибридный человеко-машинный (типа меня с доступом к Гуглу), коллективный гибридный (нейронет, как это обсуждалось в программе Дугласа Энгельбарта и Аланом Кеем как "компьютерная революция", компьютер как средство усиления интеллекта, средство коллективного моделирования), всякий. Назовём это xGI, где x -- это и N (natural) и A (artificial), и С (collective) и E (embodied), и всё остальное. GI -- это general intelligence, которую мы берём по Chollet.
Далее следим за языком: интеллект -- это девайс, вычислитель, физическое устройство. Это я говорю в след за David Deutsch. Его характеристика -- "интеллигентность", по факту это площадь под кривой на графике скорости решения каким-то вариантом интеллекта проблем разных классов. Есть широкий/общий (раньше говорили "сильный", поэтому "усиление интеллекта") интеллект, который быстро решает проблемы самых разных классов. Есть узкий (раньше говорили слабый) интеллект, который быстро решает проблемы только небольшого числа классов. При этом сама "проблема" -- это нахождение способа решения какого-то класса задач. Проблема -- это когда неизвестно, как решать задачи и нужно способ решения изобрести. Задача -- когда известно, как решить задачу, нужно вздохнуть, и выполнить рассуждение и действия по правилам, уже известным.
В английском оба слова (intellect и intelligence) используются в разных словарных значениях. Они означают и умность людей, и самих умных людей, и даже информацию, которая позволяет людям решать их задачи (архаическое значение слова intelligence в английском -- information in general, news). Поэтому мы тут и уточняем. Интеллект или мыслительное мастерство -- это девайс. Его сила -- это интеграл скоростей по классам задач.
Путь через ускорение: вычислять быстрее что попало против вычислять не всё, а только важное
"Горький урок" Sutton заключается в том, что скорость вычислений определяется аппаратурой прежде всего, и что бы мы ни делали в области универсальных алгоритмов, последнее слово остаётся за вычислительной мощностью. Вот тут хорошо показано, как изменилась машинная мощь за последние 60 лет: "A Quadrillion Mainframes on Your Lap", https://spectrum.ieee.org/ibm-mainframe (в 1961 году IBM 7090 mainframe стоил $20 млн в сегодняшних ценах, или в 6 тыс. раз больше, чем сегодняшний ноутбук. Но чип CPU с 8 ядрами сегодня примерно в 100 тыс. раз быстрее, и пользоваться вы могли им 1 час в день, а ноутбуком -- целые сутки. 1900 лет вычислений на IBM 7090 -- это одна неделя работы с лаптопом. А обучить GPT-3 на ноутбуке заняло бы 355 лет, что заняло бы на IBM 7090 более 36 миллионов лет). По аппаратной линии усиление интеллекта продолжается (оптика даёт x350 для нейросетей, https://www.tomshardware.com/news/optical-chip-promises-massive-speedups-over-gpus-for-some-algorithims, а первый оптический компьютер уже интегрирован с суперкомпьютером, там фантастический слоган "Harvesting Computation from Nature", я слежу за этим проектом с 2016, https://ailev.livejournal.com/1240509.html, но вот всё уже работает на 105 в мире по мощности суперкомпьютере -- https://www.tomshardware.com/news/eu-announces-world-first-integration-photonic-co-processor).
Я делю интеллект на две части: аппаратную (и то, что делает вещество способным к выработке методов решения проблем я вслед за остальными называю innate priors, "условные вероятности, встроенные в аппаратуру") это priors идёт от apriori и aposteriori, слово занесено любителями Байеса. Далее мы говорим, что на вычислителе работают какие-то универсальные алгоритмы, то есть алгоритмы, способные к обучению, а не которые нужно кому-то программировать (см. "Алгоритмика", https://ailev.livejournal.com/1581366.html). Это я говорю вслед за Pedros Domingos.
Эти универсальные алгоритмы можно разгонять как аппаратно, так и чисто "алгоритмикой" по линии Кнута, предлагая алгоритмы более быстрые и более экономные по памяти (что по сути даёт тоже резкое ускорение вычислений за счёт меньшего обращения к памяти). И тут всё получается даже быстрее, чем по закону Мура (https://ieeexplore.ieee.org/document/9540991), а в области тех же нейросетей ускорение вычислений без потери точности является одним из основных направлений исследований (ссылок тут слишком много, чтобы их приводить, при этом весь прирост скорости конвертируют в прирост размера нейросеток, а всё сжатие нейросеток конвертируют в прирост скорости, что даёт возможность поднять размер сети -- и так уже все обсуждают GPT-4 или аналоги этой архитектуры, но размером на 10 или даже 100 триллионов параметров как что-то вполне реальное и достижимое не только "в этой жизни", но и чуть ли не через год-другой).
Но не главное направление в ускорении вычислений. Главное ускорение -- это возможность что-то не вычислять. Вычислять нужно только важное, а неважное не вычислять.
Универсальные алгоритмы можно как-то предобучать (pretrain), указывая им, что вычислять, а что оставить без внимания (в буквальном смысле слова: проигнорировать, даже если оно бросается в глаза этой нежити). Это называют inductive bias -- знание каких-то особенностей структуры мира, позволяющее предсказывать изменения состояний мира с меньшими вычислительными ресурсами и меньшими ошибками. Так сказать, "предвзятые рассуждения", рассуждения с пристрастием к чему-то, а не беспристрастные рассуждения обо всём подряд.
И это экономит вычисления сразу миллионы и миллиарды раз. Если вы ищете фунькокку в лесу, то приятных вам удовольствий. Если вы знаете, что у фунькокку есть три глаза и пять ног, и вам уже при этом известно, что такое "глаз" и "нога", то шансов найти фунькокку у вас в разы больше, чем ежели бы вы искали эту фунькокку как листик у дерева, или как кустик, или среди летающей мошкары. Чтобы экономить вычисления, надо вычислять важное, а неважное не вычислять.
Как получить inductive bias? И/или через школу ("запрограммировать"), или в жизни ("познать на опыте").
Я утверждаю, что в эволюции важно накапливать знание, в том числе в цифровой форме. Ибо цифровая форма позволяет знания стабилизировать: при многочисленных операциях цифровая форма стабильна, а в аналоговой форме быстро накапливаются маленькие ошибки, и знание становится неприемлемо шумным. В биологической цивилизации появилось DNA и не всегда мирное сосущестование видов, в человеческой это Просвещение как Гутенберг и ныне интернет с датацентрами и наука/исследования как не всегда мирное сосуществование объяснений. Это я говорю вслед за Ванчуриным сотоварищи и Дойчем.
Так что inductive bias можно получать двумя путями (Дойч при этом справедливо утверждает, что с точки зрения организма это одно и то же -- организм выдвигает гипотезы, а потом какие-то гипотезы отбрасываются, а знание остаётся как неотброшенные в конечном итоге гипотезы):
-- выучиванием с нуля "из опыта": просто организм живёт и учится решать возникающие проблемы в игре (как щенки), в реальной жизни (те же щенки, только уже не в игре охотятся друг за другом, а охотятся за дичью, и если не догонят, то будут голодные).
-- через школу. С точки зрения организма, так он просто живёт, а с точки зрения организаторов образования, так это щенки учатся в собачьей школе, а человеки -- в человечьей. При этом с точки зрения учеников (и это подчёркивает Дойч) в школе у них "саморазвитие", с точки зрения учителей -- вроде как индуцированное внешнее развитие, но только шаг развития, запуск бесконечного (само)развития.
Запуск бесконечного развития в том, что сначала организм учится через школу, а затем продолжает учиться из жизни (а знания, полученные другими организмами время от времени загружает себя опять-таки через школу, а не лично проводя такие же эксперименты, как эти другие организмы, которые учились из жизни). Школа и жизнь не противоречат друг другу, но школа просто даёт быстрый (экономия вычислений, экономия времени жизни) проход к знаниям этого самого inductive bias, предвзятости внимания, а дальше уже можно медленно учиться обычными пробами и ошибками.
В школе нужно учить SoTA, а не всему подряд
Моя мысль в том (и я её излагал в "Образовании для образованных 2021"), что нужно провести исследование, определяющее SoTA для полученных в результате вычислений человечества в ходе Просвещения знаний, специфических именно для интеллекта как машинки познания. И я с командой Школы системного менеджмента какой-то начальный этап этих исследований провёл, итогом стал список 17 дисциплин интеллект-стека и указание на то, какие именно версии этих дисциплин являются сегодня SoTA. Это методологическая работа.
Далее была методическая работа: для человечьих интеллектов это содержание мы перевели в курсы Школы системного менеджмента. Мы обучаем людей видеть в структуре мира особые объекты внимания, то есть даём "предвзятости" в восприятии и рассуждениях (тот самый inductive bias), характеризующие сильный интеллект, то есть предвзятости, удобные для познания.
Конечно, для получения методов, которыми работет интеллекта, нам самим приходится иметь достаточный интеллект (мы же делаем метод, а интеллект -- он как раз про выработку методов, помним Chollet. Даже если это метод выработки методов, это ничего не меняет). Подробней я писал об этом буквально вчера в большом тексте "Инженерия и исследования xGI: учитесь сами, чтобы научить и людей, и нежить", https://ailev.livejournal.com/1600567.html.
Идея которую я уже несколько дней обсуждаю тут (и в сообществе AGIRussia): усиление интеллекта "через школу с SoTA дисциплин интеллект-стека" (а не через эволюцию "с нуля" в компьютере, как это обсуждает Stanley и люди из open-endedness, или "через опыт, воспринимаемый через чтение Библиотеки конгресса и всего интернета, желательно с видеороликами тоже" как сегодня это обсуждают люди в движении foundational models). И в школу водить интеллекты, а не именно людей и именно компьютеры. Принимаем и NGI, и AGI, и СGI, всех. Никакой ксенофобии. Если придёт разумный инопланетянин, то и его примем.
Почему это нужно делать, и недостаточно просто читать Библиотеку Конгресса со всеми этими вашими интернетами? Потому что интеллект при этом начинывается разного, и становится не SoTA. Не смог быстро найти картинку про бой людей с роботами, где они проигрывают сразу, ибо "начитались из интернета много исторических книг, где воюют мечами". С людьми та же беда: некоторые из них вычитывают из интернета самые свежие наработки в астрологии, и ничего не знают про самые свежие наработки в квантовом компьютинге. Вот их нужно учить в школе, чтобы они не ошибались. Мой тезис: этому нужно учить все интеллекты, что брать гены нужно не у рыбы латимерии, а у того же человека, включая и его накопленные знания (ту же стандартную теорию физики как пример сегодняшнего SoTA), если уж приводить какую-нибудь аналогию. Все интеллекты: и человеческие, и машинные.
В школу идут уже интеллекты, а не человеческие эмбрионы и не голое железо. Школа интеллекты не делает, а усиливает
Но обучать SoTA интеллект-стека можно в текущей (2021 год) ситуации только уже людей, которые имеют высшее образование, хотя иногда к нам заходят даже школьники. Но даже людям с высшим образованием после текущих вузов у нас трудновато пока -- но их мы уже учим более-менее надёжно. Конечно, с машинными интеллектами будет всё то же самое: мы сможем поднять интеллект машинных интеллектов, если они будут уже достаточно образованными до того момента, когда попадут к нам.
То, что мы в ШСМ и я лично участвую в разделении труда, мне кажется, что я обсуждать не должен. И ШСМ в целом, и я лично не натуральное хозяйство в плане выполнения всех возможных видов труда. Я не занимаюсь эволюцией человека, зачатием конкретных организмов детей человека, вынашиванием, кормлением, начальным воспитанием и даже обучением в школе и вузе (хотя для одного человека я лично всё это делал, но это не "работа", это в плане личной жизни).
Мои операции с дообучением начинаются уже с образованных (то есть с высшим образованием) людей, хотя к нам и несколько школьников залетало, но, повторюсь, им всё-таки рановаты наши курсы. И ещё мы этим людям не даём работу и не кормим, и не лечим, только учим. И учим не всему, а только интеллект-стеку.
Школа интеллекты не делает, она интеллект усиливает. Если интеллекта изначально нет (скажем, в школу привели кошку), то интеллект усилить можно только ограничено (и не факт, что там именно интеллект можно усилить как возможности для познания. Скорее, там речь идёт о прикладной школе, имеющийся кошачий интеллект использовать для получения каких-то прикладных навыков, то есть сделать кошачий цирк, привет Куклачёву, https://ru.wikipedia.org/wiki/Куклачёв,_Юрий_Дмитриевич ). Мы же тут говорим о специальной школе, которая усиливает интеллект, а не учить прикладным навыкам уже имеющийся интеллект. Поэтому говорим не просто об обучении, а об образовании. Куклачёв кошек обучает, а не образовывает. Школа системного менеджмента людей образовывает (хотя и обучать мы тоже планируем, но пока этого не делаем. Прикладые курсы у нас будут, но не прямо вот сегодня).
Я не понимаю, почему я должен с нуля готовить AGI (регулярно же предлагают "сделайте AGI и покажите, чтобы подтвердить говоримое делом"), чтобы показать, как я могу усилить интеллект у этого AGI. На каком системном уровне я должен сработать по мнению предлагающих "сделать AGI самому"?! Уровне придумывания универсального (то есть обучаемого) алгоритма? Уровне создания приемлемого спецжелеза (скажем, квантового компьютера для ускорителя основных операций в этом универсальном алгоритме)? Ведь "горький урок" от Sutton говорит, что сколько ни пыжься с алгоритмикой, побеждать будет вычислительная мощь, вот и заняться созданием железа квантового вычислителя, затем универсального квантового алгоритма (скажем, нейросетки, вычисляемой на квантовом ускорителе, много ведь таких работ)? Может, ещё очистку кремния для GPU начать делать, чтобы уж полный цикл создания AGI замкнуть? Боинги делают порядка 500 тыс. человек, если аккуратно считать. Что, AGI должны делать меньше людей, это будет более простая штука, чем Боинг?
Я и для человека не занимаюсь ноотропами, которые улучшают химию мозга, чтобы сделать его умнее. В обучении нежити я планирую занимать ровно ту же роль в разделении труда, что и с людьми. Делать то, что у меня получается хорошо.
Поэтому я и ШСМ будем заниматься "образованием для образованных" xGI. Приводите к нам ваших уже как-то образованных AGI, мы будем делать их умнее, усиливать их интеллект. На NGI (людях) это уже получается (смотрите на успехи не наши, смотрите на успехи наших выпускников), на машинах тоже получится, по тем же причинам, что получается на людях.
* * *
Три поста этой серии:
— Онтологический статус интеллект-стека: мы не устраняем inductive bias, мы приветствуем его!, https://ailev.livejournal.com/1598826.html
— Инженерия и исследования xGI: учитесь сами, чтобы научить и людей, и нежить, https://ailev.livejournal.com/1600567.html
— Мои претензии в xGI: я не натуральное хозяйство, я участник разделения труда, https://ailev.livejournal.com/1600861.html [данный текст]
UPDATE: обсуждения в фрифиде https://freefeed.net/ailev/d695b0f7-242c-4bb9-8c72-df107ea955d9, вконтакте https://vk.com/wall2449939_3766, чате блога с https://t.me/ailev_blog_discussion/12279