Джон Вандивье и Синвэнь Чжан

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

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

Это проявилось в функции, которую мы запустили под названием «Динамическое ценообразование». Как рынок кредитования, Upstart связывает потенциальных заемщиков с кредитными предложениями от наших кредитных партнеров. Один из аспектов динамического ценообразования позволяет нашим кредиторам указать желаемую доходность по кредиту, используя таблицу оценок FICO и уровней риска заявителя, где риск заявителя оценивается и классифицируется Upstart.

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

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

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

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

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

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

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

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

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

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