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

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

Просто замените слово «Сплетни» на «Вирус» в приведенных выше утверждениях, и вы поймете сходство между тем, «как» распространяются Сплетни и Эпидемии — с последними мы болезненно знакомы.

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

  1. Мы можем возложить на один или несколько компьютеров ответственность за распространение информации в остальной части сети. Но затем мы отклонились от децентрализации к более централизованной/иерархической системе.
  2. Протоколы сплетен: мы позволяем каждому узлу выбирать случайный набор своих одноранговых узлов и передавать любую новую информацию — когда каждый узел в сети начинает распространять информацию, информация распространяется по сети почти так же, как сплетни. среди сообщества Людей. Такой системе никогда не понадобится центральный объект; информация будет распространяться чрезвычайно быстро (Сплетни могут распространяться экспоненциально); Даже если некоторые узлы выйдут из строя, сеть продолжит оставаться на связи через другие связанные узлы (Gossip устойчив к оттоку). Наконец, при необходимости каждый узел может обрабатывать и обновлять информацию, а также распространять ее (Сплетни могут видоизменяться), создавая таким образом по-настоящему децентрализованную и распределенную вычислительную систему.

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

  1. Каждый пользовательский узел поддерживает набор данных о просмотренных ими фильмах и соответствующих рейтингах фильмов.
  2. Всякий раз, когда пользовательскому узлу требуется рекомендация фильма, он выполняет случайный обход выборки своих одноранговых узлов, чтобы собрать оценки одноранговых фильмов.
  3. Затем узел локально вычисляет меру подобия на основе пользователей.
  4. Создает ранжированный список фильмов, скажем, из 5 лучших похожих пользователей — сохраняет ранжированный список локально, но отбрасывает пользовательские рейтинги.
  5. Просматривает фильмы, а затем обновляет свой набор данных рейтингов фильмов (чтобы их сверстники могли его просмотреть).

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

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

Саптарши Чаудхури есть в LinkedIn и Twitter