Число областей, в которых можно использовать все имеющиеся данные, неуклонно растет, однако увеличение количества приводит к неточности. В наборы данных всегда закрадывались ошибочные цифры и поврежденные биты. Эту проблему следует попытаться решить хотя бы потому, что это возможно. Чего нам никогда не хотелось, так это мириться с такими ошибками, считая их неизбежными. В этом и состоит один из основных переходов от малых данных к большим.
В мире «малых данных» сокращение количества ошибок и обеспечение высокого качества данных становились естественным и необходимым толчком к поиску новых решений. Поскольку собиралась лишь малая часть информации, мы заботились о том, чтобы она была как можно более точной. Поколения ученых оптимизировали свои инструменты, добиваясь все большей точности данных, будь то положение небесных тел или размер объектов под микроскопом. В мире, где правили выборки, стремление к точности принимало характер одержимости, сбор лишь ограниченного числа точек данных неминуемо вел к распространению ошибок, тем самым снижая точность общих результатов.
На протяжении большей части истории наивысшие достижения человека были связаны с завоеванием мира путем его измерения. Одержимость точностью началась в середине ХІІІ века в Европе, когда астрономы и ученые взяли на вооружение как никогда точную количественную оценку времени и пространства — «меру реальности», выражаясь словами историка Альфреда Кросби.
Негласно считалось, что, если измерить явление, его удастся понять. Позже измерения оказались привязанными к научному методу наблюдения и объяснения — способности количественно измерять воспроизводимые результаты, а затем записывать и представлять их. «Измерить — значит узнать», — говорил лорд Кельвин. И это стало основным постулатом. «Знание — сила», — поучал Фрэнсис Бэкон. В то же время математики и те, кто позже стал актуарием или бухгалтером, разработали методы, которые сделали возможным точный сбор и регистрацию данных, а также управление ими.[38]
К ХІХ веку во Франции (в то время ведущей стране в мире по уровню развития науки) была разработана система строго определенных единиц измерения для сбора данных о пространстве, времени и не только. Другие страны перенимали эти стандарты. Дошло до того, что признанный во всем мире эталон единиц измерения стал закрепляться в международных договорах. Это явилось вершиной эпохи измерений. Лишь полвека спустя, в 1920-х годах, открытия в области квантовой механики навсегда разрушили веру в возможность достичь совершенства в измерениях. Тем не менее, не считая относительно небольшого круга физиков, инженеры и ученые не спешили расставаться с мыслью о совершенстве измерений. В деловой сфере эта идея даже получила более широкое распространение, по мере того как рациональные науки — математика и статистика — начали оказывать влияние на все области коммерческой деятельности.
Между тем множатся ситуации, в которых неточность воспринимается скорее как особенность, а не как недостаток. Взамен снижения стандартов допустимых погрешностей вы получаете намного больше данных, с помощью которых можно совершать новые открытия. При этом действует принцип не просто «больше данных — какой-то результат», а, по сути, «больше данных — лучше результат».
Нам предстоит иметь дело с несколькими видами беспорядочности. Это может быть связано с тем, что при добавлении новых точек данных вероятность ошибок возрастает. Следовательно, если, например, увеличить показатели нагрузки на мост в тысячу раз, возрастет вероятность того, что некоторые показатели будут ошибочными. Вы увеличите беспорядочность, сочетая различные типы информации из разных источников, которые не всегда идеально выравниваются. Или, определив причину жалоб, направленных в центр обработки заказов с помощью программного обеспечения для распознавания речи, и сравнив эти данные со временем, затраченным со стороны оператора на их обработку, можно получить несовершенную, но полезную общую картину ситуации. Кроме того, беспорядочность иногда связана с неоднородностью форматирования. В таком случае, прежде чем обрабатывать данные, их следует «очистить». «Существуют буквально тысячи способов упомянуть компанию IBM, — отмечает знаток больших данных Дж. Патил, — от IBM до International Business Machines и Исследовательского центра Т. Дж. Уотсона».[39] Беспорядочность может возникнуть при извлечении или обработке данных, поскольку путем преобразования мы превращаем их в нечто другое. Так, например, происходит, когда мы анализируем настроения в сообщениях Twitter, чтобы прогнозировать кассовые сборы голливудских фильмов. А беспорядочность сама по себе… беспорядочна.
Представьте себе, что вам нужно измерить температуру в винограднике. Если у вас только один датчик температуры на весь участок земли, необходимо убедиться, что он работает точно и непрерывно. Если же для каждой из сотен лоз установлен отдельный датчик, вероятно, рано или поздно какой-то из них станет предоставлять неправильные данные. Полученные данные могут быть менее точными (или более «беспорядочными»), чем от одного точного датчика. Любой из отдельно взятых показателей может быть ошибочным, но в совокупности множество показателей дадут более точную картину. Поскольку набор данных состоит из большего числа точек данных, его ценность гораздо выше, и это с лихвой компенсирует его беспорядочность.
Теперь рассмотрим случай повышения частоты показателей. Если мы возьмем одно измерение в минуту, то можем быть уверены, что данные будут поступать в идеально хронологическом порядке. Измените частоту до десяти или ста показателей в секунду — и точность последовательности станет менее определенной. Так как информация передается по сети, запись может задержаться и прибыть не по порядку либо попросту затеряться. Информация получится немного менее точной, но ввиду большого объема данных отказаться от строгой точности вполне целесообразно.
В первом примере мы пожертвовали точностью отдельных точек данных в пользу широты, получив взамен детали, которые не удалось бы обнаружить другим путем. Во втором случае отказались от точности в пользу частоты, зато увидели изменения, которые иначе упустили бы из виду. Такие ошибки можно устранить, если направить на них достаточно ресурсов. В конце концов, на Нью-Йоркской фондовой бирже производится 30 000 сделок в секунду, и правильная последовательность здесь чрезвычайно важна. Но во многих случаях выгоднее допустить ошибку, чем работать над ее предотвращением.
Мы можем согласиться с беспорядочностью в обмен на масштабирование. Один из представителей консалтинговой компании Forrester однажды выразился так: «Иногда два плюс два может равняться 3,9. И это достаточно хорошо».[40] Конечно, эти данные не могут быть абсолютно неправильными, и мы готовы в некоторой степени пожертвовать точностью в обмен на понимание общих тенденций. Большие данные преобразуют цифры в нечто более вероятностное, чем точность. В этом процессе обществу придется ко многому привыкнуть, столкнувшись с рядом проблем, которые мы рассмотрим в этой книге. Но на сегодняшний день стоит просто отметить, что при увеличении масштаба беспорядочность неизбежна, и с этим нужно смириться.
Подобный переход можно заметить в том, в какой степени увеличение объема данных важнее других усовершенствований в вычислительных технологиях. Всем известно, насколько вычислительная мощность выросла за эти годы в соответствии с законом Мура, который гласит, что число транзисторов на кристалле удваивается примерно каждые два года. В результате компьютеры стали быстрее, а память — объемнее. Производительность алгоритмов, которые управляют многими нашими системами, также увеличилась, но осталась несколько в тени. По некоторым данным, вычислительные алгоритмы улучшились примерно в 43 000 раз в период между 1988 и 2003 годами — значительно больше, чем процессоры в соответствии с законом Мура.[41] Однако многие достижения, наблюдаемые в обществе благодаря большим данным, состоялись не столько за счет более быстрых чипов или улучшенных алгоритмов, сколько за счет увеличения количества данных.
Так, шахматные алгоритмы изменились лишь немного за последние несколько десятилетий, так как правила игры в шахматы полностью известны и жестко ограничены. Современные компьютерные программы по игре в шахматы играют гораздо лучше, чем их предшественники, потому что лучше просчитывают свой эндшпиль.[42] И это им удается просто потому, что в систему поступает больше данных. Варианты эндшпиля при оставшихся шести (и менее) фигурах на шахматной доске полностью проанализированы, а все возможные ходы («N = всё») представлены в виде массивной таблицы, которая в несжатом виде заполнила бы более терабайта данных. Благодаря этому компьютеры могут безупречно вести все важные эндшпили. Ни один человек не сможет переиграть систему.[43]
То, насколько можно усовершенствовать алгоритмы, увеличив количество данных, убедительно продемонстрировано в области обработки естественного языка — способа, с помощью которого компьютеры распознают слова, используемые нами в повседневной речи. Примерно в 2000 году Мишель Банко и Эрик Брилл из исследовательского центра Microsoft Research поставили задачу улучшить средство проверки грамматики — элемент программы Microsoft Word. Перед ними было несколько путей: улучшение существующих алгоритмов, поиск новых методов или добавление более сложных функций. Прежде чем выбрать один из них, они решили посмотреть, что будет, если существующие методы применить к гораздо большему количеству данных. Большинство исследований по машинному обучению алгоритмов полагались на корпусы,[44] состоящие из миллиона слов, а то и меньше. Поэтому Банко и Брилл выбрали четыре алгоритма общего назначения и ввели в них на три порядка больше данных: 10 миллионов слов, затем 100 миллионов и, наконец, миллиард.
Результаты поразили. Чем больше данных подавалось на входе, тем лучше были результаты работы всех четырех типов алгоритмов. Простой алгоритм, который хуже всех справлялся с половиной миллиона слов, показал наилучший результат, обработав миллиард слов. Степень точности возросла с 75 до более чем 95%. И наоборот, алгоритм, который лучше всех справлялся с небольшим объемом данных, показал наихудший результат при больших объемах. Следует отметить, что при этом его результат, как и результат остальных алгоритмов, значительно улучшился: с 86 до 94% точности. «Эти результаты показывают, что нам, возможно, понадобится пересмотреть свое представление о том, на что стоит тратить время и средства: на разработку алгоритмов или на развитие корпусов», — отметили Банко и Брилл в одной из своих научных статей на эту тему.[45]
Итак, чем больше данных, тем меньше затрат. А как насчет беспорядочности? Спустя несколько лет после того, как Банко и Брилл начали активно собирать данные, исследователи компании Google, их конкурента, стали рассуждать в том же направлении, но еще более масштабно. Они взялись тестировать алгоритмы, используя не миллиард слов, а корпус из целого триллиона слов. Целью Google была не разработка средства проверки грамматики, а еще более сложная задача — перевод.
Концепция так называемого «машинного» перевода появилась на заре вычислительной техники, в 1940 году, когда устройства состояли из вакуумных ламп и занимали целую комнату. Идея стала особенно актуальной во времена холодной войны, когда в руки США попало огромное количество письменных и устных материалов на русском языке, но не хватало человеческих ресурсов для их быстрого перевода.
Специалисты в области компьютерных наук начали с того, что выбрали сочетание грамматических правил и двуязычный словарь. В 1954 году компания IBM перевела 60 русских фраз на английский язык на основе словарного запаса компьютера, состоящего из 250 пар слов, и шести правил грамматики. Результаты оказались многообещающими. В компьютер IBM 701 с помощью перфокарт ввели текст «Мы передаем мысли посредством речи» и получили на выходе We transmit thoughts by means of speech. В пресс-релизе по случаю такого события отмечалось, что было «благополучно переведено» 60 предложений. Директор программы профессор Леон Достерт из Джорджтауна заявил, что машинный перевод станет «свершившимся фактом» предположительно через «лет пять, а то и три [года]».[46]
Первоначальный успех был обманчив. К 1966 году комитет по вопросам машинного перевода признал, что потерпел неудачу. Проблема оказалась сложнее, чем они предполагали. Суть перевода заключалась в обучении компьютеров не только правилам, но и исключениям. Этому трудно обучить компьютер в прямой форме. В конце концов, перевод состоит не только в запоминании и воспроизведении, как могло показаться раньше. Речь идет о поиске подходящих слов среди множества альтернативных вариантов. Что значит bonjour? «Доброе утро», «добрый день», «здравствуйте» или, может быть, «привет»? Все зависит от обстоятельств.
В конце 1980-х годов у исследователей из компании IBM родилась новая идея. Вместо того чтобы загружать словари и явные лингвистические правила в компьютер, они позволили ему автоматически вычислять статистическую вероятность того, что то или иное слово либо словосочетание на одном языке лучше всего соответствует аналогу на другом. В 1990-х годах в проекте компании IBM Candide был задействован десятилетний опыт переводов стенограмм заседаний канадского парламента, опубликованных на французском и английском языках, — около трех миллионов предложений.[47] Поскольку это официальные документы, их переводы были выполнены с соблюдением чрезвычайно высоких требований. По меркам того времени количество данных было огромным. Эта технология, получившая известность как «статистический машинный перевод», ловко превратила задачу перевода в одну большую математическую задачу. И это сработало. Компьютерный перевод неожиданно стал намного лучше. Однако вслед за начальным прорывом компании IBM не удалось внести каких-либо значительных улучшений, несмотря на большие вложения. В конечном счете проект был закрыт.
Менее чем через десять лет, в 2006-м, компания Google подалась в область перевода в рамках своей миссии «упорядочить мировую информацию и сделать ее полезной и всесторонне доступной». Вместо того чтобы использовать аккуратно переведенные на два языка страницы текста, Google задействовала более массивный, но при этом гораздо более беспорядочный набор данных — глобальную сеть интернет. Разработанная система поглощала все переводы, которые ей только удавалось найти, с целью обучить компьютер. Она обрабатывала корпоративные сайты на нескольких языках, а также идентичные переводы официальных документов и отчетов межправительственных организаций, таких как Организация Объединенных Наций и Европейская комиссия. Даже переводы книг в рамках проекта по сканированию книг были пущены в дело. Вместо трех миллионов тщательно переведенных предложений, используемых в проекте Candide, по словам Франца Оча, главы службы «Google Переводчик» и одного из ведущих специалистов в этой области, система Google охватывала миллиарды страниц документов с широким спектром качества перевода. Корпус этой системы содержал триллион слов и насчитывал 95 миллиардов англоязычных предложений, пусть и сомнительного качества.[48]
Несмотря на беспорядочность входящих данных, служба Google лучше других систем. Ее переводы точнее, хотя и весьма далеки от совершенства. К тому же эта служба во много раз полнее других: к середине 2012 года она охватила более 60 языков, а теперь даже способна принимать голосовой ввод на 14 языках для моментального перевода. Поскольку она рассматривает язык лишь как беспорядочный набор данных, по которому можно судить скорее о вероятностях явлений, чем о них самих, служба может выполнять переводы между языками, в переводах на которые представлено недостаточно прямых соответствий, чтобы создать систему. В таких случаях (например, для хинди и каталонского языка) английский язык служит своеобразным мостом. Кроме того, эта система более гибкая, чем другие подходы, поскольку может добавлять и удалять слова по мере того, как они входят в обиход или устаревают.
Google Переводчик работает хорошо не потому, что в его основе заложен более разумный алгоритм. Как это было у Банко и Брилла из корпорации Microsoft, причина тому — большее количество входящих данных (но не всех подряд). Так, например, компании Google удалось использовать в десятки тысяч раз больше данных, чем системе Candide компании IBM. И все потому, что в Google принимались беспорядочные данные. Корпус из триллиона слов, выпущенный Google в 2006 году, состоял из разбросанных фрагментов интернет-контента. Он стал «обучающим набором», по которому вычислялась вероятность того, что именно последует за тем или иным английским словом. Это был огромный шаг вперед, в корне отличающийся от предшественника — знаменитого Брауновского корпуса с миллионом английских слов, созданного в 1960-х годах. Благодаря более объемным наборам данных развитие обработки естественного языка шло семимильными шагами. На нем были основаны как системы распознавания голоса, так и системы компьютерного перевода. «Простые модели с множеством данных по результатам превосходят более сложные модели, основанные на меньшем количестве данных», — отметил Питер Норвиг, гуру искусственного интеллекта в компании Google, в статье «Необоснованная эффективность данных», написанной в соавторстве с коллегами.[49]
Однако, как поясняют Норвиг и его коллеги, ключевым элементом была беспорядочность: «В некотором смысле этот корпус — шаг назад по сравнению с Брауновским корпусом, ведь его данные взяты с неотфильтрованных веб-страниц, а значит, содержат неполные предложения, а также орфографические, грамматические и прочие ошибки. Такой корпус не имеет примечаний с добавленными вручную пометками частей речи. Но то, что он в миллион раз больше Брауновского корпуса, перевешивает эти недостатки».
Аналитикам, которые работают с обычными выборками, трудно свыкнуться с беспорядочностью, которую они всю жизнь стремились предотвратить или искоренить. Статистики используют целый комплекс стратегий в целях снижения частоты появления ошибок при сборе выборок, а также для проверки выборок на наличие потенциальных систематических ошибок перед объявлением результатов. Этот комплекс стратегий включает в себя сбор выборок, который осуществляется специально обученными специалистами в соответствии с точным протоколом. Реализация стратегий, направленных на сокращение числа ошибок, — дорогостоящее удовольствие, даже при ограниченном количестве точек данных. Что немаловажно, эти стратегии становятся невозможными в случае сбора данных в полном объеме — не только из-за чрезмерной стоимости, но и потому, что при таком масштабе вряд ли удастся равномерно соблюсти строгие стандарты сбора. И даже исключение человеческого фактора не решило бы проблему.
Двигаясь в сторону больших данных, мы будем вынуждены изменить свое представление о преимуществах точности. Пытаясь мыслить привычными категориями измерений в цифровом взаимосвязанном мире ХХІ века, мы упускаем важный момент. Одержимость точностью — не более чем артефакт аналогового мира, находящегося в информационной изоляции, где данные поистине были редкостью. На тот момент измерение каждой точки данных было крайне важно для результата, поэтому большое внимание уделялось тому, чтобы не допускать в анализе систематические погрешности.
В наше время нет такого дефицита информации. При переходе на всеобъемлющие наборы данных, которые охватывают всё или почти всё рассматриваемое явление, а не только его мизерную часть, нам уже не приходится беспокоиться об отдельных точках данных, привносящих в анализ систематические погрешности. Вместо того чтобы искоренять каждый неточный бит (что со временем обходится все дороже), мы выполняем вычисления, принимая во внимание беспорядочность.
Возьмем для примера беспроводные датчики, внедряемые на производстве. По всей территории нефтеперерабатывающего завода BP Cherry Point в Блейне (Вашингтон) расставлены беспроводные датчики, образующие невидимую сеть, которая производит огромные объемы данных в режиме реального времени. Неблагоприятные окружающие условия — сильная жара и электрические механизмы — могут время от времени искажать показания, приводя к беспорядочности данных. Но огромное количество поступающей информации компенсирует эти трудности. Измеряя нагрузку на трубы непрерывно, а не через определенные промежутки времени, компания BP выяснила, что некоторые виды сырой нефти более едкие, чем другие. Прежде это не удавалось определить, а значит, и предотвратить.[50]
Получая огромные массивы данных нового типа, в некоторых случаях можно пренебречь точностью, если удается спрогнозировать общие тенденции. Мы живем как раз в условиях такого парадокса. Небольшой магазин может подсчитать прибыль к концу дня вплоть до копейки, но мы не стали бы (да и не смогли бы) проделывать то же самое с ВВП страны. В условиях перехода к большим масштабам меняется не только ожидаемая степень точности, но и практическая возможность ее достижения. Отношение к данным как к чему-то несовершенному и неточному (пусть поначалу и вопреки логике) дает возможность делать всеобъемлющие прогнозы, а значит, лучше понимать окружающий мир.
Получается, что беспорядочность не является неотъемлемой частью больших данных как таковых. Она скорее результат несовершенства инструментов, которые мы используем для измерения, записи и передачи информации. Если бы технологии вдруг стали совершенными, проблема неточности исчезла бы сама собой. Беспорядочность — не внутренняя характеристика больших данных, а объективная реальность, с которой нам предстоит иметь дело. И, похоже, она с нами надолго. Как правило, кропотливое повышение точности нецелесообразно с экономической точки зрения, поскольку польза от гораздо большего количества данных выглядит более убедительно. Происходит смещение центра внимания, как и в предыдущую эпоху, когда специалисты по сбору статистики отказались от наращивания размеров выборки в пользу увеличения случайности. Теперь же мы готовы мириться с незначительными неточностями в обмен на дополнительные данные.
В рамках проекта Billion Prices Project[51] можно найти занимательный пример. Каждый месяц американское Бюро статистики труда публикует индекс потребительских цен (ИПЦ), который используется для расчета уровня инфляции. Эти цифры крайне важны для инвесторов и компаний. Федеральная резервная система учитывает ИПЦ при решении вопроса о повышении или понижении процентных ставок. Основной оклад компаний увеличивается с поправкой на инфляцию. Федеральное правительство учитывает величину оклада при расчете пособий (таких как пособие по социальному обеспечению), а также процента, выплачиваемого по некоторым облигациям.
Чтобы получить эти цифры, сотни сотрудников бюро по телефону, факсу или лично связываются с магазинами и офисами в 90 городах по всей территории США. В итоге они формируют отчет из 23 000 цен на все товары и услуги — от помидоров до такси. На это уходит около 250 миллионов долларов США в год. В такую сумму обходятся однородные, понятные и упорядоченные данные. А к моменту публикации они успевают устареть на несколько недель.
Как показал финансовый кризис 2008 года, такое отставание может быть непростительным. Ответственным лицам нужно быстрее получать показатели инфляции, чтобы действовать эффективнее. Но с традиционными методами, которые сосредоточены на сборе выборок и придают большое значение точности, это невозможно.
В ответ на это два экономиста из Массачусетского технологического института (MТИ), Альберто Кавелло и Роберто Ригобон, предложили альтернативу — взять курс на большие данные, отличающиеся гораздо большей беспорядочностью. Используя программное обеспечение для сканирования веб-страниц, они ежедневно собирают полмиллиона цен на товары. Эти данные беспорядочны, и не все собранные точки данных легко сопоставимы. Но, объединив собранные большие данные с глубоко продуманными системами анализа, в рамках проекта удалось обнаружить дефляционные колебания цен, последовавшие сразу за банкротством инвестиционного банка Lehman Brothers в сентябре 2008 года. Те же, кто привык ориентироваться на официальные данные ИПЦ, смогли увидеть это только в ноябре.
Проект МТИ вырос до пяти миллионов продуктов от 300 розничных торговцев в 70 странах и дал начало коммерческой компании PriceStats, которая используется банками и другими заинтересованными лицами для принятия взвешенных экономических решений. Безусловно, полученные цифры требуют осторожного истолкования и лучше демонстрируют тенденции в области ценообразования, чем точные цены. Но поскольку в данном случае сведений о ценах гораздо больше и они поступают в режиме реального времени, это дает ответственным лицам значительное преимущество.
Во многих общественных и технологических областях мы склоняемся в пользу беспорядочности, а не точности. Рассмотрим классификацию контента. На протяжении веков люди разрабатывали таксономии и индексы для хранения и извлечения материалов. Такие иерархические системы всегда были несовершенными, и это подтвердит каждый, кто не понаслышке знаком с библиотечной картотекой. В мире малых данных эти системы были достаточно эффективны. Однако стоило увеличить масштаб на много порядков — и эти системы, в которых все якобы идеально размещено, разваливаются. На сайте для обмена фотографиями Flickr в 2011 году хранилось более шести миллиардов фотографий почти от ста миллионов пользователей. Было бы бесполезно пытаться пометить каждую из фотографий в соответствии со стандартными категориями. Разве среди них найдется категория «Кошки, похожие на Гитлера»?
На смену понятным таксономиям и, как предполагается, совершенным классификациям приходят новые механизмы — более беспорядочные, зато гораздо более гибкие. Они легче адаптируются к миру, который непрерывно развивается и изменяется. Загружая фотографии на сайт Flickr, мы добавляем к ним теги, то есть назначаем любое количество текстовых меток, и используем их для упорядочения и поиска материала. Пользователи создают и добавляют теги по своему усмотрению. Нет единой стандартизированной, предопределенной иерархии, классификации или таксономии, которых следует придерживаться. Чтобы добавить новый тег, достаточно ввести его. Добавление тегов фактически стало стандартом классификации веб-контента, который используется на сайтах социальных сетей, таких как Facebook, а также в блогах и на прочих ресурсах. Благодаря этому стандарту стало гораздо удобнее бороздить просторы веб-контента, особенно нетекстового (изображений, видео, музыки), для которого поиск по словам не подходит.
Конечно, в тегах возможны опечатки. Такие ошибки привносят неточность (не в сами данные, а только в их порядок), а это наносит удар по традиционному способу мышления, основанному на точности. Но взамен беспорядочности того, как устроены наши коллекции фотографий, мы получаем гораздо больший спектр меток и, соответственно, более широкий доступ к своим фотографиям. Мы можем объединять поисковые теги для фильтрации своих фотографий такими способами, которые были недоступны прежде. Принять неточность, присущую методу меток, — значит принять естественную беспорядочность окружающего мира. Это лекарство от более точных систем, которые пытаются навязать суматошному миру ложную стерильность, делая вид, что все на свете можно четко систематизировать. Вокруг еще столько всего, что не укладывается в рамки такой философии!
Многие популярнейшие сайты не скрывают свою симпатию к неточности. Взглянув на значок Twitter или на кнопку «Нравится» на веб-странице Facebook, можно увидеть количество других людей, которые их нажали. Пока числа небольшие, например 63, каждое нажатие идет в расчет. Но при больших количествах нажатий указывается лишь приблизительное количество, например 4 тысячи. Нельзя сказать, что система не знает точных цифр. Просто с увеличением масштаба точность уже не играет большой роли. Кроме того, числа могут меняться так быстро, что на момент отображения будут уже неактуальны. Такого же принципа придерживается почтовая служба Gmail компании Google, в которой время последних сообщений указывается с точностью до минуты, например «11 минут назад», но более длительные интервалы округляются, например «2 часа назад».
Область бизнес-аналитики и аналитического программного обеспечения долгое время строилась вокруг обещания клиентам «единой версии правды» — популярного выражения среди поставщиков технологий в этих областях в 2000-х годах. Руководители произносили эту фразу без иронии. Некоторые так поступают и до сих пор. Под этой фразой подразумевается, что все, кто получает доступ к информационно-технологическим системам компании, могут использовать одни и те же данные. А значит, отделам маркетинга и продаж не придется спорить, чьи данные о количестве клиентов и продаж правильнее, еще до начала встречи. Исходя из сказанного, их интересы могут во многом совпадать, если факты излагаются единообразно.
Идея «единой версии правды» кардинально меняется. И суть не в том, чтобы согласиться с тем, что единой правды не существует. Важно понять, что гнаться за ней — неблагодарное дело. Для того чтобы пожинать плоды освоения масштабных данных, нужно признать, что беспорядочность здесь — в порядке вещей, и не нужно тратить лишнюю энергию на то, чтобы от нее избавиться.
Мы даже можем наблюдать, как характерные черты неточности проникают в одну из наименее терпимых к ней областей — проектирование баз данных. Для обычных механизмов системы управления базами данных (СУБД) требуются точные и хорошо структурированные данные, которые не просто хранятся, а разбиваются на «записи» с полями. Каждое поле содержит информацию конкретного типа и длины. Например, в числовое поле длиной в семь цифр невозможно записать сумму, равную десяти миллионам и более. А в поле для телефонных номеров не получится ввести «недоступен». Приспособиться к таким изменениям можно, только изменив структуру базы данных. Мы все еще воюем с этими ограничениями на компьютерах и смартфонах, когда программное обеспечение отказывается принимать данные, которые мы хотим ввести.
Индексы тоже предопределены, и это ограничивает возможности поиска. А чтобы добавить новый индекс, его создают с нуля, затрачивая время. Обычные реляционные базы данных предназначены для работы в области разреженных данных, которые можно и следует тщательно проверять. В такой области вопросы, на которые нужно ответить с помощью данных, известны изначально, поэтому база данных служит именно для эффективного ответа на них.
Однако эта точка зрения на хранение и анализ данных все более расходится с реальностью. Теперь в нашем распоряжении имеются большие объемы данных разного типа и качества. Данные редко вписываются в определенные категории, известные изначально. И вопросы, на которые мы хотели бы получить ответ, тоже часто возникают только в процессе сбора данных или работы с ними.
Эти реалии привели к созданию новых структур баз данных. Старые принципы создания записей и предопределенных полей, отражающих четко заданную иерархию информации, остались в прошлом. Долгое время самым распространенным языком доступа к базе данных был SQL («структурированный язык запросов»). Само название говорит о его жесткости. Но в последние годы произошел переход в сторону так называемой технологии NoSQL, при которой в базах данных не требуется предопределенная структура записей. Допускаются данные различного типа и размера. При этом они все так же доступны для поиска. Беспорядок, который допускается в структуре таких баз данных, компенсируется тем, что для их хранения и обработки требуется больше ресурсов. И все же, учитывая резкое падение затрат на хранение и обработку, этот компромисс мы можем себе позволить.
Пэт Хеллэнд, один из ведущих мировых авторитетов по вопросам проектирования баз данных в корпорации Microsoft, в статье «Если у вас слишком много данных, то и “достаточно хорошо” — уже хорошо» (If You Have Too Much Data, then ‘Good Enough’ Is Good Enough) описывает это явление как фундаментальный переход. Определив несколько основных принципов традиционного проектирования баз данных, которые были подорваны беспорядочными данными различной точности и происхождения, он изложил такие выводы: «Мы больше не можем претендовать на то, чтобы жить в чистом мире [информации]. Обработка больших данных влечет за собой неизбежные потери информации. Зато вы получаете быстрый результат». «Не страшно, если мы получаем ответы с потерями, — зачастую это вполне соответствует бизнес-потребностям», — подытожил Хеллэнд.
Традиционное проектирование баз данных обещает стабильное получение единообразного результата. Спрашивая у бухгалтера о состоянии баланса, вы ожидаете получить точную сумму. А повторив свой запрос через несколько секунд, вы хотели бы, чтобы система выдала такой же результат при условии, что ничего не изменилось. Однако по мере роста объема данных и увеличения количества пользователей, имеющих доступ к системе, поддерживать такое единообразие становится все труднее.
Большие наборы данных не хранятся централизованно. Как правило, они распределяются между несколькими жесткими дисками и компьютерами. Для обеспечения надежности и скорости запись может храниться в двух или трех разных расположениях. Если обновить запись в одном расположении, то данные в других расположениях будут считаться неправильными, пока их тоже не обновят. Традиционным системам было свойственно ожидать завершения всех обновлений. Но это менее практично, когда данные широко распространены, а сервер атакуется десятками тысяч запросов в секунду. В таком случае беспорядочность — неплохое решение.
Типичным примером перехода, о котором идет речь, стала популярность системы Hadoop — конкурирующего аналога системы Google MapReduce с открытым исходным кодом. Hadoop отлично справляется с обработкой больших объемов данных, разбивая их на мелкие фрагменты и выделяя участки для других компьютеров. Она исходит из того, что оборудование может отказать, поэтому создает резервную копию. Система также предполагает, что поступающие данные не упорядочены и не выверены (а по факту и не могут быть выверены до обработки из-за поистине огромного объема). При типичном анализе данных в первую очередь требуется выполнить ETL (от англ. Extract, Transform, Load — «извлечение, преобразование, загрузка»), чтобы переместить данные в расположение для их анализа. Hadoop обходится без таких тонкостей. Напротив, исходя из того, что количество данных настолько велико, что их невозможно переместить, Hadoop анализирует данные на месте.
Результат, получаемый на выходе, не настолько точен, как в случае реляционных баз данных: на него нельзя рассчитывать при запуске космического корабля или при подтверждении реквизитов банковского счета. Но со многими менее важными задачами, где суперточный ответ не требуется (скажем, с задачами по сегментированию клиентов для проведения специальных маркетинговых кампаний), Hadoop справляется намного быстрее, чем другие. С помощью Hadoop компания по выпуску кредитных карт Visa сумела сократить время обработки тестовых записей, накопленных за два года (73 миллиарда транзакций) с одного месяца до каких-то 13 минут. Подобное сокращение времени обработки ведет к преобразованиям в деловой сфере. Возможно, оно не годится для формального учета, зато исключительно полезно, когда некоторая погрешность вполне допустима.[52]
Принимая беспорядочность, взамен мы получаем чрезвычайно ценные услуги, недоступные при использовании традиционных методов и инструментов, учитывая всю масштабность данных. По некоторым оценкам, только 5% всех цифровых данных «структурированы», то есть представлены в форме, подходящей для традиционных баз данных. Отказываясь от беспорядочности, мы теряем оставшиеся 95% неструктурированных данных, таких как веб-страницы и видео. Допуская неточность, мы открываем окно в непознанный мир открытий.
Общество пошло на два неявных компромисса, которые уже настолько укоренились в нашем быту, что воспринимаются как естественный порядок вещей. Во-первых, мы не замахиваемся на огромные массивы данных, поскольку исходим из того, что это невозможно. Но этот сдерживающий фактор становится все менее актуальным, и мы можем многого добиться, ориентируясь на подход «N = всё».
Второй компромисс — качество информации. В эпоху малых данных точность ставилась превыше всего, ведь тогда собирали только малую часть информации, поэтому она должна была быть как можно более точной. Во многом это актуально и сейчас. Но в большинстве случаев важнее не строго соблюсти точность, а быстро получить общее представление о данных или тенденциях их развития.
Представление о том, как использовать всю совокупность информации, а не ее часть, и постепенное осознание преимуществ менее точных данных коренным образом меняют взаимодействие людей с окружающим миром. По мере того как методы работы с большими данными становятся неотъемлемой частью повседневной жизни, общество в целом устремляется к всеобъемлющему, более широкому, чем раньше, пониманию явлений — своего рода мышлению «N = всё». Возможно, мы станем менее требовательными к точности и однозначности в областях, где полагались на четкость и определенность (пусть даже сомнительные). Мы согласимся с таким подходом при условии, что взамен получим более полную картину явлений. Так на картинах импрессионистов мазки кажутся беспорядочными при ближайшем рассмотрении, но отступите на шаг — и вы увидите величественную картину.
Большие данные со свойственной им полнотой и беспорядочностью помогают нам ближе подойти к осознанию реального положения вещей, чем это удавалось в условиях зависимости от малых данных и точности. Призыв к частичным, но точным данным вполне понятен. Наше постижение мира, возможно, было неполным, а порой и вовсе неверным в условиях ограниченности данных, поддающихся анализу, зато они давали ощущение уверенности и обнадеживающей стабильности. Кроме того, поскольку мы могли собрать и изучить лишь ограниченный объем данных, не возникало непреодолимого желания получить их абсолютно все и рассмотреть со всех возможных сторон. В узких рамках малых данных мы могли гордиться точностью, но, даже измеряя все до мельчайших подробностей, упускали из виду более масштабную картину.
Большие данные могут потребовать, чтобы мы научились спокойнее относиться к беспорядочности и неопределенности. Представления о точности, которые, казалось бы, служат нам ориентирами (например, что круглые фигуры подходят круглым отверстиям, существует только один ответ на вопрос и т. п.), лучше поддаются изменениям, чем мы можем предположить. Вместе с тем такое предположение, принятое на веру, приближает нас к пониманию реального положения вещей.
Описанные изменения образа мышления знаменуют радикальные преобразования. Они ведут к третьему шагу, который может во многом подорвать устои общества, основанного на понимании причин всех событий. Вместе с тем поиск логических взаимосвязей между данными и выполнение действий с ними (что и является темой следующей главы) зачастую дают вполне достойный результат.