Машинное отупление
Программы умнеют, а пользователь глупеет?
09 января 2016 :: 18 комментариев :: 19180 просмотров :: 1588 слов

Вы молодые, шутливые, вам все легко (с). Мы тут про стартапчики да про стартапчики, вот только в рутине дейтингов и геолокейшена стали забывать ради чего мы вообще все выбрали IT как путь. Не те, которые потому что хорошо платят и в США съебать, а другие, которые ради Идеи и скорейшей технологической сингулярности.

Несмотря на все айфоны и уберы, я до сих пор считаю самым величайшим достижением компьютерной эры до появления интернета — табличные процессоры (да-да, которые все называют Excel, потому и я так буду, хоть он был далеко и не первым). Это вещь, который умна настолько, насколько умён её пользователь. При этом он позволяет делать то, что раньше требовало примерно бесконечного времени вычислений на калькуляторе и других инструментах, то есть по сути автоматизирует, в разы ускоряет процессы и делает человека с экселем в десятки раз эффективнее человека даже с самым мощным калькулятором. При этом он максимально простой, но не проще, чем нужно. Он является абсолютным продолжением мозга своего хозяина, мощным настолько, насколько квалифицирован его пользователь, выполняя те задачи, которые человеческий мозг выполняет плохо и не трогая другие, по которым мозгу нет и не будет равных еще долгое время.

Вот как, блеять, Notes.app, в котором я набираю этот текст, упорно хочет заменить "кавычки" во всех html тегах на по его мнению красивые «ёлочки», совершенно не понимая почему я сейчас его закрою и пойду набирать продолжение поста обратно в никогда не подводящий меня Sublime. Вот это я называю — не трогать те вещи, где я лучше разбираюсь и упрощать рутину.

Большая часть современного IT пытается сделать программу «умнее» человека, вместо того, чтобы делать человека умнее с помощью программы.

Для меня эта разница колоссальна. Именно поэтому я привел в пример Excel. Впрочем, про рак IT я подробно писал ранее, в одном из предыдущих постов, который кстати теперь открыт не только для илиты.

Отчасти это идея объясняет почему всю свою исследовательскую деятельность в универе я посвящал «ненужным», по мнению многих, поисковикам, или почему в глубине душе я уважаю навигаторы, справочники, да тот же 2гис, хоть с ними у меня личные счеты. И почему так скептически отношусь к любой идее «умного дома» (хештег #домдурачок снова с нами), «самообучающегося помощника» или «искусственного интеллекта». А на сегодняшний рассказ меня сподвигли одни ребята.

Это калифорнийская компания Palantir. Наверняка некоторые слышали про них, если вдумчиво читают СМИ, например о том, что они третий по стоимости стартап после Uber и AirBnb в США, о котором, однако, вы ничего не знаете. Я вот тоже не особо по началу обращал внимание чем кто там у них в калифорниях занимается, может опять сервис анимированных селфи для неодарённых интеллектом школьников, но это вроде Snapchat называется.

Цены на штучную установку Palantir, по данным СМИ, варьируются от 5 до 500 млн долларов, потому я пока не смогу дать вам ссылку на .exe. Такая стоимость объясняется тем, что эта штука не простое приложение, а целый набор высокопроизводительных серверов баз данных и обработки, которые допиливаются и устанавливаются под заказчика. То, что видим мы на скриншотах — лишь страшненький веб-интерфейс ко всему этому делу.

Пробираясь через дебри маркетинговой чуши и громких высказываний, по обрывкам видео и кусочкам информации, я попробовал понять что вообще этот Palantir технически делает. По сути он занимается тем, что берет поступившие в него данные (абсолютно любые — тексты, документы любых форматов, веб-сайты, видео, аудио, базы данных, итд) и превращает их в единые «объекты», с которыми можно работать человеку, совершенно не думая, в каком формате они представлены. Работать так же мощно, как работает с таблицами тот же excel. То есть можно взять, например, csv-файл с номерами автомобилей, наложить на него 20 терабайт видео, чтобы найти на каких видео данные автомобили встречались и в какое время, а затем наложить сверху базу данных с расположением камер, снявших это видео, чтобы затем отобразить на карте любые их перемещения во времени. Пример придумал из воздуха, основываясь на десятках просмотренных видео (примеры ниже). Самому поработать с Palantir и увидеть это воочию, конечно, вряд ли вообще получится у кого-либо, кто читает это.

Существует пока в двух изданиях, названных в честь марвелловских городов — Palantir Gotham, ориентированный больше на работу с «человеческими» данными, типа профилей, баз данных, карт, итд., и Palantir Metropolis (бывший Finance), ориентированный на работу с большим количеством чиселок и буковок — финансовыми отчетами, логами серверов, и преисполненный суровым матаном. Судя по всему это просто два разных интерфейса к одному и тому же огромному вычислительному кластеру, который состоит из шести типов серверов: Dispatch Server — управляющий диспетчеризацией запросов, Revisioning Database — ключевая БД, основанная на Oracle 10g, Lock Server — отвечающий за блокировки в БД (отдельный сервер для этого, охуеть), Search Server — сервера поиска, вроде как модифицированный Apache Lucene, Configuration Server — отвечающие за конфигурацию и работу со всем кластером, Job Server — классические сервера для параллельных задач, используется модифицированная версия алгоритма MapReduce.

Окунувшись в историю, можно понять откуда растут корни такого метода работы с данными — на заре становления интернет-платежей, еще до краха доткомов, чуваки из PayPal тщетно пытались написать самые моднейшие и любимые всеми Машинные Обучения, чтобы автоматически вылавливать мошеннические транзакции в системе. Когда они поняли, что чем дальше они обучают систему новым трюкам, тем быстрее мошенники находят всё новые способы обхода глупых по своей сути компьютерных алгоритмов. И им пришло в голову то, что я давно и тщетно пытаюсь донести до примерно всех вокруг — большинство задач невозможно решить даже самыми мощными алгоритмами, нужна людская экспертиза. Но любую задачу можно автоматизировать. Тогда они придумали систему, которая сама выявляет хоть сколько-нибудь подозрительные паттерны поведения из миллиардов транзакций и выводит их на экран оператору, который уже принимает окончательное решение. Книжка Питера Тиля хвастается, что после введения такой системы, им за год удалось спасти от мошенников какие-то дикие десятки миллиардов долларов. На 100% верят книжкам «как стать успешным» только полные дегенераты, но судя по написанному всё пошло хорошо.

Потом, когда PayPal был успешно продан eBay, команда PayPal решила развить эту идею дальше. Как будто под руку случились теракты 11 сентября в Нью-Йорке, после чего было решено основным фокусом новой системы сделать правительственные расследования. Чуваки по сути сделали систему-убийцу, которая помогала ловить самых громких преступников, анализировать петабайты данных, выявляя финансовые манипуляции, и даже спасать людей после наводнения в Новом Орлеане.

Данные правят миром, особенно сейчас, когда этих данных у всех просто дикие количества. Вот только инструментов быстрой и визуальной обработки этих данных до сих пор не существует. Вы можете посадить 1000 программистов, чтобы они за месяц вам написали специфический софт, решающий одну конкретную задачу, а потом еще 1000 на другую, но это никуда не годится. В сердце Palantir — мощные базы данных, серьезные параллельные алгоритмы, написано всё это на Java, ставится на дикое количество серверов и, по заявлениям на официальном сайте, позволяет обрабатывать терабайты данных «за секунды». В качестве примера в презентации разработчиков приводится цифра — 500 млн снимков автомобильных номеров обрабатывается за 5 секунд. А ваш РНР-скрипт за 5 секунд капчу сгенерить не успевает.

Но мощность Palantir не в том, что он хуярит пиксели с килобайтами за секунды, а в том инструментарии, который он даёт человеку. По сути сам Palantir, как и Excel, ничего не будет сделать с данными, пока человек не запросит какое-либо действие. Он даёт инструментарий в руки человеку, чтобы тот, используя те аналитические способности своего мозга, которые еще не скоро смогут автоматизировать, мог из миллиардов записей найти те десятки тысяч, которые действительно важны. А затем наложить на них другую кучу данных, чтобы найти пересечения и скрытые связи, повторяя операцию вновь и вновь. Как в научно-фантастическом фильме типа «Особое Мнение» (разработчики, кстати, тоже использовали такое сравнение где-то). Всё это отображается в любом удобном для работы виде — граф, гистограмма или карта, которые еще и легко конвертируются между собой так, как вы это ожидаете. Для пояснения приложу несколько видео, кому интересно как это выглядит на деле.

Когда я делаю подобные исследования, я обычно беру какой-нибудь Jupyter (бывший iPython Notebook), а потом ебусь со всякими pandas, scipy, matplotlib, пишу скрипты, чтобы «import csv, вот тут разбей по строкам, а вот тут… UnicodeDecodeError… ладна». На то, чтобы из неподготовленных данных получить хоть какую-то визуализацию, обычно уходят часы или дни, а мечтать о кросс-представлении этих данных в разных форматах даже не приходится. Palantir отменяет эти вымышленные компьютерщиками (sic!) форматы данных, для него любые данные — это одинаковые объекты. Если тебе хочется, ты можешь сравнить число и картинку, всё в твоей власти. Примерно каждая кнопочка в интерфейсе Palantir — это отдельный многомиллионный стартап.

Вдаваться в более маркетинговые подробности как они ловили Бен-Ладена и как сотрудничают с ЦРУ/АНБ не буду, мы тут программисты все, мы про технологии, нам насрать. Если интересно, то вот самая подробная (и без говна) статья на русском, что я нашел: http://www.3dnews.ru/621533

Вот статья на хабре, где много примеров и тотальные (типичные для хабра) ничего не понимающие уебаны в комментах: http://habrahabr.ru/post/262837/

А вот официальный сайт, который на редкость крутой и красивый (особенно на фоне интерфейсов самого Palantir), но незнающему человеку не дает понять вообще ничего: https://www.palantir.com/about/

Понравившиеся мне видео:

Как находят ботнеты:

Как вычисляют сливающих инфу организации:

Как ловят террористов:

Однако работать в Palantir, говорят, большая честь полный ад. Даже несмотря на все заявления на официальном сайте про «настоящую инженерную культуру», о которой так мечтает каждый гик, которую никогда не видел. Судя по всему это лукавство. Его сотрудники, помимо того, что получают достаточно невысокую для Bay Area з/п (около $127 тыс в год), еще и настолько обложены всякими NDA и всем этим, что никогда даже не разговаривают с другими жителями долины. Я бы так не смог.

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

Показательно, что этот подход решает настолько серьезные и действительно полезные задачи, а не ваши «облака» с «бигдатой и машинлёрнигом», которые научились разве что таргетированный спам рассылать и холодильники рекомендовать.

Дискасс.

Еще? Тогда вот