Создавая ИИ между поездками: дневник обратного отсчета до FIFA разработчика из Vancouver
Сорок дней до того, как FIFA обрушится на Vancouver, а я сижу в своей машине у Starbucks на Robson Street, ноутбук балансирует на руле, лихорадочно отлаживая нейронную сеть в ожидании следующего заказа. Такова теперь моя жизнь — независимый AI-разработчик днем, водитель Uber по необходимости и постоянный наблюдатель города, готового взорваться от собственных амбиций.
Годами я тянул это двойное существование. Пишу код всё утро в какой-нибудь кофейне с лучшим соотношением wifi к шуму, вожу после обеда и вечерами, чтобы платить за аренду своей крошечной квартиры рядом с Main и Broadway. Это не гламурно, но дает мне место в первом ряду на технологическую экосистему Vancouver и прямой эфир того, как этот город на самом деле движется. Прямо сейчас оба эти взгляда кричат об одном: мы не готовы к тому, что грядет.
Проблема географии (взгляд разработчика)
Как человек, который половину времени думает о системной архитектуре, а другую половину — маневрирует по уличной сетке Vancouver, могу сказать вам, что у них поразительно похожие проблемы. Обе были спроектированы для другой эпохи и другого масштаба, и обе скоро пройдут стресс-тест за пределами своих пределов прочности.
В прошлом месяце я работал над алгоритмом оптимизации маршрутов — ничего сложного, просто пытался создать что-то, что могло бы предсказывать модели динамического ценообразования для водителей — когда понял, насколько фундаментально ограничена транспортная сеть Vancouver на самом деле. Мы — город, построенный на полуострове, с ровно тремя способами добраться до North Shore, зажатый горами, океаном и рекой Fraser. С точки зрения теории графов, у нас слишком много единичных точек отказа.
BC Place находится прямо в центре нашего самого загруженного узла. Каждый раз, когда я еду в центр во время игры Canucks, я наблюдаю, как вся система каскадно выходит из строя из-за одной точки затора. Мост Lions Gate забивается, перенаправляя движение к Second Narrows или вниз к Pattullo. Granville Bridge превращается в парковку, если кто-то не так чихнет. Это классическая проблема распределенных систем — недостаточная избыточность и отсутствие плавной деградации.
Вчера я подобрал пару из YVR, направлявшуюся в отель в центре города. Должна была быть быстрая поездка, но она превратилась в значительно более долгую из-за строительства на мосту Arthur Laing. Это наша единственная реальная связь между аэропортом и центром города. Во время FIFA, когда тысячи сбитых с толку, страдающих от джетлага футбольных болельщиков будут одновременно пытаться преодолеть это узкое место, мой алгоритм маршрутизации станет бесполезен. Нельзя оптимизировать вокруг фундаментальных инфраструктурных ограничений.
Распознавание паттернов в пробках и коде
Годы вождения научили меня читать паттерны дорожного движения Vancouver как логи отладки. В этом есть свой ритм, предсказуемые потоки и режимы отказов, которые учишься предугадывать. Между поездками я загружал эти данные в модели машинного обучения, пытаясь создать что-то, что могло бы быть действительно полезным для других водителей во время FIFA.
Возьмем сетку West End во второй половине дня и ближе к вечеру. Robson Street превращается в ползком движущуюся вереницу от Burrard до Denman — велосипедные дорожки, грузовики доставки, стройки, замешательство туристов — всё это создает предсказуемые заторы. У меня записаны сотни поездок через этот район, и паттерны достаточно стабильны, чтобы моя модель могла предсказывать задержки в пределах значимого окна.
Но вот в чем дело с машинным обучением — оно ломается, когда вы подаете ему совершенно новые данные. Моя модель обучена на нормальных паттернах трафика Vancouver. Она понятия не имеет, что делать с тысячами футбольных фанатов, которые не знают, что нельзя поворачивать налево с Granville в часы пик, или что ехать по Robson через центр в час пик — это по сути транспортное самоубийство.
На прошлой неделе я подобрал туриста, который настаивал на использовании Google Maps, чтобы «помочь» мне доехать до их отеля. Google направил нас вниз по Denman в вечерний час пик, потому что на экране это выглядело короче. У нас ушло значительно больше времени, чтобы проехать всего несколько кварталов. Мой пассажир всё спрашивал, почему я просто не следую за GPS, не понимая, что алгоритм Google не учитывает местные знания, которые приобретаются годами. FIFA станет этой беседой, масштабированной на десятки тысяч.
Подпольная футбольная сеть
Работа над AI-моделями, основанными на местоположении, научила меня обращать внимание на кластерные паттерны в данных, что, вероятно, объясняет, почему я заметил скрытую футбольную культуру Vancouver раньше большинства людей. По всему городу разбросаны очаги страстных болельщиков — Croatian Cultural Centre во время больших матчей, Commercial Drive, когда играет Италия, пабы в Steveston во время игр Англии.
Я отслеживал эти паттерны, не особенно стремясь к этому. Мои данные о поездках показывают четкие всплески вокруг футбольных событий, которые большинство людей пропускают, потому что смотрят на хоккейные цифры. В прошлом месяце я подобрал группу, направлявшуюся на очень ранний просмотр финала Лиги чемпионов в East Van. Они были полностью погружены в футбольную культуру так, что напомнили мне самых одержимых разработчиков, которых я знаю — глубокие технические знания, преданность клану и такая страсть, что они готовы пересекать город в нелепые часы.
Эти существующие фанаты скоро будут поражены тем, что принесет FIFA. Они привыкли к нишевым просмотрам и полупустым матчам Whitecaps. FIFA станет для них первым вкусом того, что происходит, когда футбол становится по-настоящему мейнстримным в этом городе. Это как когда побочный проект разработчика внезапно получает значительное внимание — волнительно и одновременно пугающе.
Нагрузка на систему и идеальный шторм
Любой разработчик, работавший над задачами масштабирования, видит, что грядет. Летние месяцы уже являются пиковыми для инфраструктуры Vancouver. Отели заполнены до отказа, рестораны переполнены, SkyTrain перевозит максимальные нагрузки с туристами и местными жителями. Система уже работает на пределе до того, как мы добавим трафик FIFA.
Дело не только в футбольных фанатах — дело в том, что футбольные фанаты конкурируют за ресурсы со всеми остальными пользователями, уже находящимися в системе. Семья из Toronto, забронировавшая отпуск в Vancouver месяцы назад, не заботится о том, что Argentina играет с Brazil. Им всё еще нужно добраться из отеля до Queen Elizabeth Park. Тем пассажирам круизных лайнеров всё еще нужен транспорт до Granville Island. Техническому работнику, направляющемуся в свой офис в центре, всё еще нужно пересечь Cambie Bridge.
Я моделировал это как задачу распределения ресурсов, пытаясь предсказать, где возникнут самые серьезные заторы. Данные тревожны. Мы говорим не просто о добавочной нагрузке — мы смотрим на каскадные отказы, где каждая точка затора создает заторы ниже по потоку, распространяющиеся по всей сети.
Строительство для хаоса
Между поездками вчера я отлаживал прогностическую модель для динамического ценообразования, когда меня осенило: я, по сути, создаю ИИ для системы, которая вот-вот станет полностью хаотичной. Все мои обучающие данные основаны на предсказуемых паттернах, которые FIFA уничтожит. Это как обучать модель на нормальном веб-трафике, а затем пытаться развернуть ее во время DDoS-атаки.
Но, возможно, в этом и дело. Вместо того чтобы пытаться предсказывать нормальные паттерны, я должен строить для хаоса. Что, если я сосредоточусь на устойчивости вместо оптимизации? Быстрая адаптация вместо долгосрочных прогнозов? Я начал работать над другим подходом — алгоритмами кластеризации в реальном времени, которые могут выявлять возникающие паттерны трафика по мере их развития, вместо того чтобы пытаться предсказать их на основе исторических данных.
Это одновременно раздражает и завораживает. Моя дневная работа водителем дает мне реальные данные, которые большинство разработчиков никогда не видят. Я знаю, что перекресток Burrard и Robson становится непроходимым во время определенных событий. Я знаю, какие маршруты Google Maps предлагает, которые на самом деле ужасны. Я знаю, как туристы ведут себя иначе, чем местные жители, когда они потеряны или сбиты с толку.
На этой неделе я подобрал группу разработчиков, направлявшихся на технологическую встречу в центре города. Они жаловались на пробки в Vancouver, как будто это была какая-то таинственная сила, а не система с наблюдаемыми паттернами и предсказуемыми режимами отказов. Меня поразило, что большинство людей, создающих приложения на основе местоположения в этом городе, никогда на самом деле не работали здесь профессиональными водителями. Они оптимизируют для теоретических сценариев вместо реальных ограничений.
Золотая жила данных
Каждая поездка генерирует точки данных для моих моделей. Места посадки и высадки, время в пути, паттерны ценообразования, поведение пользователей во время разных событий. У меня есть годы этих данных сейчас, и они начинают раскрывать некоторые интересные идеи о том, как Vancouver на самом деле движется.
Например, мои данные показывают четкую корреляцию между погодными условиями и транспортным потоком, которую большинство алгоритмов маршрутизации упускают. Дождь не просто замедляет движение — он смещает паттерны спроса, поскольку люди, которые обычно ходят пешком или ездят на велосипеде, переключаются на райдшеринг. Легкая морось последовательно увеличивает запросы на поездки в определенных районах, но сильный дождь на самом деле уменьшает их, так как люди просто остаются дома.
Во время плей-офф Canucks мои данные показали, что паттерны трафика смещались почти за час до начала игры, когда люди начинали позиционировать себя для лучших маршрутов в центр. Но во время матчей Whitecaps паттерн был гораздо более сжатым — люди, казалось, полагали, что футбол не привлечет большие толпы, и не закладывали обычный буфер времени на дорогу, что приводило к всплескам запросов на поездки в последнюю минуту.
FIFA сгенерирует больше транспортных данных за две недели, чем Vancouver обычно видит за месяцы. Если я смогу построить системы, которые обучаются и адаптируются в реальном времени, а не полагаются на исторические паттерны, может появиться возможность создать что-то действительно полезное для грядущего хаоса.
Ночные сессии кодинга
Уже поздно, и я только что закончил смену вождения — поездки в аэропорт всегда приносят хорошие деньги во время подготовки к FIFA, так как начинают прибывать передовые группы и представители СМИ. Теперь я дома, ноутбук открыт, работаю над алгоритмом кластеризации в реальном времени, над которым я одержимо корпел. Мои соседи, наверное, думают, что я сошел с ума, но в попытке решить невозможную задачу есть что-то затягивающее.
Основная проблема — это прогнозирование без исторического прецедента. Мои модели отлично работают для нормального трафика Vancouver, потому что у меня есть годы подобных данных для обучения. Но FIFA будет принципиально иной — масштаб, поведение пользователей, паттерны спроса — всё будет новым. Это как пытаться создать ИИ для проблемы, которая никогда раньше не существовала.
Я читал статьи о системах реагирования на чрезвычайные ситуации и алгоритмах управления катастрофами в поисках подходов, разработанных для хаотичных сценариев. Есть интересные работы по роевому интеллекту и распределенному решению проблем, которые могут подойти. Вместо того чтобы пытаться предсказывать оптимальные маршруты, что, если я создам нечто, что могло бы координировать распределенное принятие решений среди водителей в реальном времени?
Техническая задача захватывает, но практические последствия не дают мне спать по ночам. Я точно знаю, каково это — застрять в пробке Vancouver с раздраженным пассажиром, наблюдая, как расчетное время прибытия растет, а динамическое ценообразование поднимается. FIFA создаст тысячи таких ситуаций одновременно.
Обратный отсчет до хаоса
Чуть больше месяца осталось. Я чувствую, как город начинает напрягаться. Больше строительных бригад, работающих сверхурочно, чтобы завершить проекты до FIFA. Больше туристов, приезжающих пораньше, чтобы разведать места. Больше стресса в голосах городских планировщиков и чиновников TransLink, которых я подбираю по пути на экстренные плановые встречи.
Мои AI-модели становятся лучше в обработке неопределенности, но они всё еще построены на предположении, что люди будут вести себя рационально, когда столкнутся с транспортным выбором. Любой, кто работал профессиональным водителем, знает, что это опасное предположение. Люди едут по знакомым маршрутам, даже когда существуют лучшие варианты. Они выезжают в самое неподходящее время. Они принимают решения на основе неполной информации и придерживаются их, даже когда обстоятельства меняются.
Но, возможно, в этом и есть настоящая возможность. Не строить ИИ, который предполагает рациональное поведение, а строить системы, которые учитывают человеческую иррациональность и всё равно находят способы оптимизироваться вокруг нее. FIFA может стать идеальным испытательным полигоном для алгоритмов, устойчивых к хаосу.
Между сессиями отладки и поездками в аэропорт я документирую всё. Этот обратный отсчет не только о том, чтобы пережить FIFA — он о создании чего-то, что могло бы на самом деле помочь другим городам подготовиться к подобным событиям. Каждая пробка — это точка данных. Каждый раздраженный пассажир — это исследование пользователей. Каждая ночная сессия кодинга — это инвестиция в системы, которые могут действительно сработать, когда всё остальное выйдет из строя.
Несколько недель назад это казалось невозможной задачей. Теперь это кажется самым интересным вызовом, над которым я когда-либо работал. Vancouver, возможно, не готов к FIFA, но, может быть, всего лишь может быть, я смогу создать что-то, что поможет нам всем пережить это вместе.
Get new posts
Subscribe in your language
New posts delivered to your inbox. Unsubscribe anytime.
Receive in: