На смену Data Science. HASH: бесплатная онлайн-платформа для моделирования мира (от создателя StackOverflow)

Автор оригинала: David Wilkinson
  • Перевод
image

Джоел Спольски


Иногда, когда вы пытаетесь понять, как устроен мир, базовой математики достаточно. Если мы увеличим поток горячей воды на x, температура смеси повысится на y.

Иногда вы работаете над более сложными вещами, и даже не можете начать гадать как входные данные влияют на выходные. На складе, кажется, все идет хорошо, когда у вас меньше четырех сотрудников, но когда Вы берете пятого, они начинают наступать друг другу на пятки, и пятый не приносит никакой пользы.

Вы можете не понимать зависимость между количеством сотрудников и пропускной способностью склада, но вы определенно знаете, что делает каждый из сотрудников. Вы можете написать немного кода на JavaScript для моделирования поведения каждого из ваших работников, запустить симуляцию и посмотреть, что на самом деле происходит. Вы можете настроить параметры и правила, которым следуют сотрудники, чтобы увидеть что может помочь, и вы действительно можете получить некоторое понимание ситуации, а затем и решение сложных проблем.

Вот что такое hash.ai. Прочитайте пост о запуске в блоге Дэвида, а затем попробуйте создать свои собственные симуляции!

Дэвид Уилкинсон


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

Гениальные новаторы стремились упорядочить мировую информацию и сделать ее доступной для всех, и следующий шаг на этом пути – сделать эту информацию понятной и пригодной для всеобщего использования.

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

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

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

Если вы тоже не хотите ждать, зарегистрируйтесь сейчас – или читайте дальше, чтобы узнать больше.

Истоки


Раньше я руководил цифровой консалтинговой компанией в Лондоне, которая разрабатывала сайты, программное обеспечение и проводила кампании, основанные на данных. Наша компания работала для широкого круга клиентов: от частных инвестиционных компаний и стартапов до государственных клиентов самого крупного размера.

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

Оказывается, для поиска ответов на подобные вопросы как в эпидемиологии, так и в поведенческой рекламе существует единый золотой стандарт – «агентоориентированное моделирование» (ABM). ABM работает следующим образом.

  • Агенты представляют участников: будь то отдельные лица, компании, домашние хозяйства, машины на заводе или что-то еще. Различные модели представляют собой системы с разной степенью детализации. В теории, «агент» может быть даже молекулой.
  • Агенты обладают свойствами, значениями, прикрепленными к ним, Свойства варьируются в зависимости от агента. Так, у человека, свойство может быть логическим (зарегистрированный избиратель – да/нет), числовым (годовой доход) или представлять множественный выбор (партийная принадлежность).
  • Агенты существуют в определенной среде (зачастую сразу в нескольких), например, в геопространстве или сетевом графике.
  • Агенты определяются своим поведением: по сути, поведение представляет собой код, описывающий, как агенты должны взаимодействовать с окружающим миром и реагировать на него.


ABM могут быть построены на основе базовых принципов и полезны для проверки гипотез «А что если...», что позволит безопасно исследовать цифровых близнецов систем реального мира. Это делает моделирование с участием нескольких агентов гораздо более полезным, чем прогнозирование распространения болезней и информации в сети.

Решение проблем, которые не может решить Data Science


Целый ряд сложных системных проблем усложняет задачу предсказуемого моделирования. Эти проблемы связаны с агентами, их свойствами и характеристиками: нелинейностью, возникновением, приспособлением, взаимозависимостью и циклами обратной связи между ними. Возникающие события типа «черный лебедь» по определению не отражаются в существующих закономерностях и исторических данных, а потому полностью игнорируются.

Не бывает систем, существующих в изоляции – все они являются частью нашего сложного реального мира, а потому все проблемы бизнеса, политики и человека, в конечном счете, являются проблемами понимания сложных систем. В большинстве случаев разумная абстракция позволяет нам сбрасывать со счетов большую часть посторонних факторов, но порой бывает трудно понять, что, когда и при каких обстоятельствах может вызывать интерес.

В некоторых системах все это неважно, но при ответе на некоторые вопросы (например, как мы можем способствовать созданию более стабильной экономики или хороших внешних отношений) мы можем столкнуться с вопросами жизни и смерти. Для того, чтобы в полной мере понять эти чрезвычайно важные проблемы, сопряженные с критическим риском, нам необходимо провести обобщенный поиск в пространстве, в котором они существуют, основываясь на наблюдаемой динамике этих систем. Одно лишь распознавание образов и анализ исторических результатов хорошо подходит для формирования базовой оболочки, но не дает представления о сути проблем.

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

Кризисы вроде финансового краха 07/08 года, стали катастрофами именно потому, что лица, принимающие решения, не понимали и не учитывали основополагающую динамику сложных систем – экономики, в данном случае. В таких нормативных актах, как Базель II, были введены требования к резерву капитала, что в сочетании с практикой учета по методу «от рынка к рынку» привело к продаже активов, при этом участники были вынуждены идти на угасающие рынки, увеличивая разрыв.

Несмотря на то, что данные об исторической и текущей стоимости могут быть использованы для предварительного заполнения и обратного тестирования агентских моделей, создавать ABM не обязательно. Это открывает дверь для прямого формального моделирования в широком спектре областей, где машинное обучение в настоящее время не может быть применено.

Более того, симуляции сочетают преимущества формального моделирования с богатством качественного описания, что делает их в высшей степени объяснимыми и легкими для понимания человеком. В отличие от моделей, которые иногда похожи на черный ящик, симуляции на основе агентов поддаются проверке, и пользователи могут шаг за шагом следить за тем, как именно получаются те или иные результаты и какие факторы способствуют их получению.

Так почему же тогда о симуляциях так мало говорят, и почему они остаются недооцененными и редкоиспользуемыми?

Современные проблемы моделирования на основе агентов


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

Несмотря на то, что симуляции претендуют на распространенность в мире цепей поставок, производства, финансов, обороны и т.п., лидирующие на рынке пакеты программного обеспечения для агентного моделирования сегодня работают в ограниченных объемах и основаны на устаревших технологиях и парадигмах, которые плохо поддаются распределенным вычислениям в реальном масштабе. Их пользовательские интерфейсы не менялись с 1990-х годов, опыт разработчиков, которые их предлагают, устарел, они вообще не запускаются в браузере и на мобильных устройствах, и пользователям часто приходится разворачивать специальное программное обеспечение просто чтобы получить к ним доступ.

По большей части эти симуляции представляют собой игрушечные модели, созданные для демонстрации определенной динамики, и не обладающие функциональной совместимостью. После того, как эти модели построены, они становятся разрозненными, ими мало кто делится, и никто в своей работе не опирается на результаты коллег. Большинство построенных моделей настолько ограничены (для обеспечения их своевременной работы), что они захватывают лишь малую часть динамики систем, которые они представляют. Вместо того, чтобы строить богатые виртуальные миры и избирательно включать соответствующие аспекты, исходя из результатов экспериментов, разработчики создают дешевые и простые для исследования игрушечные абстракции, которые не внушают доверия пользователям. Существует глубокий и оправданный скептицизм, касающийся “научности” этих игрушечных моделей, а также сомнения насчет того, что более сложные модели могут быть должным образом откалиброваны и параметризованы.

Обратите внимание на проблемы поиска подходящих и гранулированных данных на уровне агентов, на трудности преобразования опыта предметных областей в код, а также на широкий спектр структурных барьеров на пути создания ABM, и вы поймете почему моделирование общего назначения проигрывает и редко используется в современном бизнесе.

Симуляция, доступная всем


Мы столкнулись с множеством системных проблем, и теперь хотим создавать решения системного уровня. HASH стремится решить задачу симуляции путем вертикальной интеграции всего стека, создавая единую платформу для построения, запуска и обучения на основе симуляций.

Сегодня мы публично запускаем две части HASH:

  • HASH Core: веб-среда для разработчиков и средство просмотра симуляций.
  • HASH Index: коллекция симуляций и модульных компонентов.


Все симуляции в HASH состоят из агентов (представленных описательными схемами) и моделей поведения (которые, как правило, представлены чистыми функциями). Агенты управляются схемами поведения, а для их инициализации и обновления в рамках моделирования на основе реальных наблюдений используются наборы данных. Эти наборы также могут быть использованы для подкрепления и калибровки моделей. Схемы поведения и наборы данных привязываются к соответствующим объектам и схемам, благодаря чему разработчики могут легко искать модели с помощью HASH Index и объединять их с помощью HASH Core.

Все модели, наборы данных и схемы поведения доступны в HASH Index. Все содержимое HASH Index сейчас доступно бесплатно. HASH Index – среда, задуманная как нечто среднее между GitHub и менеджером пакетов. В будущем эта среда будет расширена для создания дополнительного рынка, облегчающего покупку и продажу платных схем поведения, наборов данных и имитационных моделей. В нашем представлении, компании будут публиковать бесплатные компоненты, чтобы завоевать доверие и авторитет, а затем будут продавать более полные симуляции и консалтинговые услуги.

Наши планы на будущее, касающиеся H-Index, предполагают реализацию форков, веток, обсуждений и пулл-реквестов – мы хотим добавить функциональность из Git, которая, как и использование менеджеров пакетов, в настоящее время является второй натурой большинства современных разработчиков программного обеспечения.

Влияние этих изменений на рабочий процесс разработчиков значительно: по мере развития H-Index, отраслевые специалисты с ограниченными знаниями программирования смогут делать форки и адаптировать (или полностью внедрять) существующие поведенческие модели в свои симуляции. Это позволит им моделировать сложную динамику без необходимости программировать масштабные проекты с чистого листа.

Впрочем, работа над нашими продуктами еще не завершена. Несмотря на то, что наш молниеносно быстрый HASH Engine позволяет проводить симуляции с непревзойденной скоростью, в настоящее время он доступен только через веб-интерфейс H-Core, что неизбежно ограничивает его памятью и ресурсами процессора, доступными на вкладке браузера. Все это значит, что хоть H-Engine и предназначен для работы с симуляциями действительно мирового масштаба, наши ранние бета-пользователи были ограничены и могли создавать только сравнительно небольшие модели. Таким образом, H-Core в своей текущей итерации сравним с чем-то вроде NetLogo, академическим инструментом моделирования на основе агентов. NetLogo полезен для иллюстрации влияния однородных агентов в сложных системах и объяснения динамики этих систем, но ограничен при моделировании реальных сред с высокой степенью достоверности или большим масштабом. Из-за этих ограничений, инструменты для проведения оптимизационных экспериментов (параметрических разверток, моделирования Монте-Карло и более экзотического обучения с подкреплением) пока недоступны – но очень важны для нас.

Мы выпускаем нашу дорожную карту по реализации этих возможностей и использованию имитационного моделирования для повседневного принятия решений в реальном мире:

HASH Core и HASH Index теперь официально вышли в бета-версии.

  • В ближайшие недели мы будем интенсивно работать над обеими платформами и будем рады вашему вкладу.


Мы с гордостью объявляем, что в конце этого года мы откроем исходный код движка HASH Engine, сердца нашей системы симуляций.

  • В основе всех вычислений в HASH лежит сверхпроизводительная система H-Engine, написанная на Rust, и уже имеющая привязки для JavaScript и Python.
  • Наша цель – сделать платформу доступной для всех, и дать людям возможность запускать H-Engine локально и в закрытых системах.
  • В настоящее время мы планируем выпустить публичную версию H-Engine по лицензии с открытым исходным кодом к концу 2020 года.


В этом году мы также начнем развертывание HASH Cloud и проведем набор бета-пользователей.

  • H-Cloud – это часть нашей платформы, которая позволит пользователям запускать симуляции в облаке одним щелчком мыши из существующего интерфейса авторизации и просмотра H-Core (а также командной строке с помощью open-source сборки H-Engine)
  • Параллельно с этим в H-Core будет открыт экспериментальный интерфейс, который даст возможность получить понимание коммерческой пользы от симуляций в масштабе.
  • Через H-Cloud пользователи смогут получить доступ к симуляциям и результатам экспериментов программно, что позволит управлять алгоритмами и приложениями вне HASH.


Вы можете узнать больше о наших предстоящих продуктах в публичной дорожной карте на hash.ai/roadmap

Мы начинали вдвоем чуть больше года назад, сейчас в нашей команде около десяти человек. Я невероятно горжусь командой, которую мы создали, и тем, чего мы достигли за это время.

Мы рады знакомству с пользователями HASH и запустили сообщество в Slack, доступ к которому можно получить через иконку в правом нижнем углу любой страницы на hash.ai – мы будем рады помочь вам построить ваши модели, ответить на ваши вопросы, а также примем ваши предложения и сообщения об ошибках.

Мы работаем над доступностью и распространением HASH на максимально широкую аудиторию разработчиков. В движке на Rust есть привязки для Python и JavaScript, но до недавних пор работа со схемами поведения в H-Core была возможна только на JS. Мы с гордостью сообщаем, что разработка поведения и его симуляция на Python с сегодняшнего дня возможны локально в браузере с использованием H-Core. Благодаря потрясающему проекту Pyodide от компании Mozilla мы смогли внедрить экспериментальную поддержку Python в нашу браузерную H-Core IDE. В настоящее время имеются некоторые проблемы с производительностью, но мы надеемся, что мы сможем их исправить до полного развертывания H-Cloud и H-Engine (которые позволят пользователям избегать каких-либо проблем с производительностью). Теперь разработчики могут строить модели в HASH с использованием Python, а также импортировать любое количество популярных научных пакетов (подробнее в нашей документации).

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

Если вы хотите построить модель с помощью HASH, вы можете зарегистрироваться на hash.ai/signup.

Если вы хотите принять участие в нашей миссии и помочь всем принимать правильные решения, вы можете публиковать симуляции, схемы поведения и данные для H-Index. Также вы можете подать заявку на любую из наших открытых вакансий на hash.ai/careers.

И, наконец, если вы принимаете решения в бизнесе и заинтересованы в том, чтобы узнать, как можно применить HASH, свяжитесь с нами – hash.ai/contact.

Мы благодарны ранним инвесторам HASH за их поддержку: потрясающим создателям сообществ, таким как основатель Stack Overflow Джоэл Спольски и основатель Kaggle Энтони Голдблум, а также Эшу Фонтане и Ли Эдвардсу из Zetta Venture Partners и Root Ventures. Мы рады начать нашу публичную миссию.

image

Дэвид Уилкинсон
Founder and CEO of HASH


Примеры симуляций





Дилемма заключенного на JavaScript (+ на Python)



Модель рынка на JavaScript (+ на Python)



Модель гражданских волнений Эпштейна на JavaScript (+ на Python)



Боиды

Еще примеры тут.

image

Узнайте подробности, как получить востребованную профессию с нуля или Level Up по навыкам и зарплате, пройдя платные онлайн-курсы SkillFactory:



Читать еще


SkillFactory
Школа Computer Science. Скидка 10% по коду HABR

Комментарии 4

    +5

    Кровь течет очень сильно из глаз, когда я читаю эту статью:)
    Канцелярит, прямой перевод, километровые предложения.


    Вы можете не понимать взаимосвязь между количеством сотрудников и пропускной способностью склада, но вы определенно знаете что все остальные

    оно также обладает потенциалом стать богатым и понятным способом

    Однако наш текущий продуктовый ряд не является полным.

    но до сих пор работа с поведениями в H-Core поддерживало только JS

    Благодаря потрясающему проекту Pyodide от компании Mozilla мы смогли внедрить экспериментальную поддержку Python в нашу браузерную H-Core IDE, и хотя в настоящее время она показывает невероятную производительность, мы надеемся, что до полного развертывания H-Cloud и H-Engine мы сможем сделать поддержку еще лучше (что позволит пользователям избегать каких-либо проблем с производительностью)

    Обычно пишу о таком в личку, но тут половина предложений построена некорректно.

      +4
      Я уже давно, если вижу в авторах у компании MagisterLudi, иду дальше, компанию обхожу за километр. Он уже как символ некачественных переводов и зацикленных статей. Ну компаниям нравится, их дело…
      +1
      Чем hash отличается от anylogic?
        0
        Вспомнился GPSS и обучение ему почему-то под dos…

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

        Самое читаемое