Skip to content

搞英语 → 看世界

翻译英文优质信息和名人推特

Menu
  • 首页
  • 作者列表
  • 独立博客
  • 专业媒体
  • 名人推特
  • 邮件列表
  • 关于本站
Menu

Nubank 如何使用 AI 模型分析 1 亿用户的交易数据

Posted on 2025-07-23

免费 NoSQL 培训 – 以及 Discord 工程师 Bo Ingram 撰写的书籍(赞助)

获得 Discord、Disney、Zillow、Tripadvisor 和其他游戏规则改变者所使用的策略的实践经验
2025年7月30日

无论您是刚开始使用 NoSQL 还是希望优化您的 NoSQL 性能,此活动都是快速了解更多信息并获得专家解答您的问题的一种方式。

您可以从两个曲目中进行选择:

  • 要点: NoSQL 与 SQL 架构、数据建模基础以及使用 ScyllaDB 构建示例高性能应用程序。

  • 高级:深入研究应用程序开发实践、高级数据建模、优化数据库拓扑、监控性能等。

这是现场讲师指导的培训,所以请提出您最棘手的问题。您可以与演讲嘉宾互动,并在整个活动期间与其他与会者交流。

免费注册

奖励:注册者可获得 Discord 高级工程师 Bo Ingram 编写的《ScyllaDB in Action》电子书。


免责声明:本文中的详细信息源自 Nubank 工程团队在线分享的文章。所有技术细节均归功于 Nubank 工程团队。原文和来源的链接位于文章末尾的参考文献部分。我们已尽力分析这些细节并提供意见。如果您发现任何不准确或遗漏之处,请留言,我们将尽力修正。

大规模理解客户行为是现代金融机构面临的核心挑战之一。数百万用户产生数十亿笔交易,因此,解读并处理这些数据的能力对于提供相关产品、检测欺诈行为、评估风险以及提升用户体验至关重要。

历史上,金融行业一直依赖于围绕表格数据构建的传统机器学习技术。在这些系统中,原始交易数据被手动转换为结构化特征(例如收入水平、支出类别或交易次数),作为预测模型的输入。

虽然这种方法很有效,但它有两个主要局限性:

  • 手动特征工程耗时且脆弱,通常需要领域专业知识和大量的反复试验。

  • 泛化能力有限。为某项任务(例如信用评分)设计的功能可能对其他任务(例如推荐或欺诈检测)无用,从而导致团队之间重复劳动。

为了解决这些限制,Nubank 采用了基于基础模型的方法,这种方法已经改变了自然语言处理和计算机视觉等领域。基础模型不再依赖于人工设计的特征,而是使用自监督学习直接在原始交易数据上进行训练。这使得它们能够自动学习通用的嵌入,以紧凑且富有表现力的形式来表示用户行为。

Nubank 的目标非常宏大:处理数万亿笔交易,并提取通用的用户表征,以支持各种下游任务,例如信用建模、个性化、异常检测等等。通过此举,Nubank 旨在统一其建模工作,减少重复的特征工作,并全面提升预测性能。

在本文中,我们将探讨 Nubank 用于构建和部署这些基础模型的系统设计。我们将追溯从数据表示和模型架构到预训练、微调以及与传统表格系统集成的完整生命周期。

Nubank系统整体架构

Nubank 的基础模型系统旨在处理海量金融数据,并从中提取通用的用户表征。这些表征(也称为嵌入)随后将应用于信用评分、产品推荐和欺诈检测等众多商业应用。

该架构围绕基于变压器的基础模型构建,并分为几个关键阶段,每个阶段都有特定的用途。

1 – 交易提取

该系统首先收集每位客户的原始交易数据,包括交易金额、时间戳和商家描述等信息。数据量巨大,涵盖超过 1 亿用户的数万亿笔交易。

每个用户都有按时间顺序排列的交易序列,这对于建模随时间推移的消费行为至关重要。除了交易之外,还可以包含其他用户交互数据,例如应用事件。

2 – 嵌入接口

在将交易输入到转换器模型之前,需要将其转换为模型能够理解的格式。这通过一种专门的编码策略完成。Nubank 并非将整个交易转换为文本,而是采用一种混合方法,将每笔交易视为结构化的 token 序列。

每笔交易被分解成更小的元素:

  • 数量符号(正数或负数)以分类标记表示。

  • 金额桶是交易金额的量化版本(以减少数字差异)。

  • 还包括月份、星期几和日期标记。

  • 商家描述使用标准文本标记器(如字节对编码)进行标记。

参见下图:

这个标记化的序列保留了原始数据的结构和语义,并且保持了输入长度的紧凑,这很重要,因为 Transformer 中的注意力计算与输入长度的平方成比例。

3 – 变压器主干

交易一旦被标记化,就会被传递到转换器模型中。Nubank 使用多种转换器变体进行实验和性能优化。

这些模型采用自监督学习进行训练,这意味着它们不需要标记数据。相反,它们被训练来解决以下任务:

  • 掩蔽语言模型 (MLM),其中交易序列的部分内容被隐藏,模型必须对其进行预测。

  • 下一个标记预测(NTP),模型学习预测序列中的下一个交易。

后面章节会详细介绍。Transformer 的输出是固定长度的用户嵌入,通常取自最终 token 的隐藏状态。

4. 自监督训练

该模型基于大规模、未标记的交易数据,采用自监督学习目标进行训练。由于无需手动标记,系统可以利用每位用户的完整交易历史记录。通过尝试预测用户交易序列中缺失或未来的部分,模型可以学习到关于金融行为的有用模式,例如消费周期、定期付款和异常情况。举一个简单的例子,模型可能会预测“咖啡,然后午餐,然后……”,并尝试猜测“晚餐”。

训练数据和模型参数的大小起着关键作用。随着模型规模扩大和上下文窗口增大,性能显著提升。通过对数十亿笔交易进行不断猜测和自我修正,模型开始注意到人们消费的模式。

例如,从基本的 MLM 模型切换到具有优化注意层的大型因果转换器,可使下游任务的性能提高 7 个百分点以上。

5 – 下游微调和融合

基础模型预训练完成后,可以针对特定任务进行微调。这需要在 Transformer 上添加一个预测头,并使用带标签的数据进行训练。例如,信用违约预测任务可以使用已知标签(客户是否违约)来微调模型。

为了与现有系统集成,用户嵌入与手动设计的表格特征相结合。这种融合通过两种方式实现:

  • Late Fusion 使用 LightGBM 等模型来结合嵌入和表格数据,但两者是分开训练的。

  • 联合融合使用深度神经网络(特别是 DCNv2 架构)以端到端的方式一起训练变压器和表格模型。

后面的部分将对此进行更多介绍。

6 – 集中式模型库

为了使该架构可在整个公司范围内使用,Nubank 构建了一个集中式 AI 平台。

该平台存储预先训练的基础模型,并提供标准化的流程进行微调。内部团队可以访问这些模型,将其与自身功能相结合,并根据特定用例部署经过微调的版本,而无需从头开始重新训练所有内容。

这种集中化加速了开发,减少了冗余,并确保所有团队都能从核心模型的改进中受益。

将交易转换为模型就绪序列

为了在交易数据上训练基础模型,将每笔交易转换为转换器模型可以处理的格式至关重要。

在尝试表示用于变压器模型的交易时,主要面临两个挑战:

  • 混合数据类型:单笔交易包含结构化字段(例如金额和日期)和文本字段(例如商户名称)。这使得使用纯文本或纯结构化方法进行一致表示变得更加困难。

  • 高基数和冷启动问题:交易可能极其多样化。即使是像商户名称、位置或金额变化这样的简单变化,也会导致新的组合。如果将每笔唯一交易视为一个单独的代币,代币数量将变得非常庞大。这会导致两个问题:

    • 嵌入表变得太大而无法有效训练。

    • 该模型无法推广到以前从未见过的新交易或罕见交易,这就是所谓的冷启动问题。

  • 为了应对这些挑战,我们探索了多种策略,将交易转换为转换器可以理解的标记序列。

方法 1:基于 ID 的表示(来自推荐系统)

在该方法中,每个唯一的交易都会被分配一个数字 ID,类似于顺序推荐模型中使用的技术。然后,这些 ID 会使用查找表转换为嵌入。

虽然这种方法在令牌长度方面简单且有效,但它有两个主要缺点:

  • 唯一交易组合的总数非常大,使得 ID 空间难以管理。

  • 如果在训练过程中未发现交易,模型就无法有效处理。这使得模型难以泛化,并且在冷启动条件下会失败。

方法二:文本就是你所需要的

该方法将每笔交易视为一段自然语言文本。交易字段通过连接属性名称及其值转换为字符串,例如“description=NETFLIX amount=32.40 date=2023-05-12”,然后使用标准 NLP 分词器进行分词。

这种表示可以处理任意交易格式和看不见的数据,这使其具有高度的通用性。

然而,它的计算成本很高。

Transformer 使用自注意力机制处理数据,而注意力机制的计算成本会随着输入长度的平方而增加。将结构化字段转换为长文本序列会导致不必要的 token 膨胀,从而降低训练速度并降低可扩展性。

方法 3:混合编码方案(由 Nubank 选择)

为了平衡通用性和效率,Nubank 开发了一种混合编码策略,可以保留每笔交易的结构,而无需将所有内容转换为全文。

每笔交易都被标记为一组紧凑的离散字段:

  • 金额符号标记:一个标记代表交易是正数(如存款)还是负数(如购买)。

  • 金额桶代币:将金额的绝对值放入量化桶中,并为每个桶分配相应的代币。这将数值范围缩小到可管理的类别。

  • 日期标记:交易的月份、日期和星期几使用单独的标记。

  • 描述标记:商家描述使用标准子词标记器(例如字节对编码 (BPE))进行标记,该标记器将文本分解为常用片段。这使得模型能够识别商家名称或交易类型的模式。

通过组合这些元素,一笔交易被转换成一串简短且有意义的代币序列。参见下图:

这种混合方法以紧凑的格式保留了关键的结构化信息,同时允许泛化到新的输入。它还避免了长文本序列,从而保持了注意力计算的高效性。

一旦每笔交易都以这种方式标记化,用户的完整交易历史记录就可以串联成一个序列,并用作转换器的输入。在交易之间插入分隔符以保留边界,并且序列会以固定的上下文长度截断,以保持在计算限制之内。

训练基础模型

一旦交易被转换成标记序列,下一步就是训练一个可以从这些数据中学习模式的转换模型。

如上所述,Nubank 工程团队使用自监督学习来实现这一目标,这意味着模型直接从交易序列中学习,而无需任何手动标记。这种方法使系统能够充分利用数百万用户的海量历史交易数据。

主要有两个目的:

  • 下一个标记预测 (NTP):该模型经过训练,能够根据交易序列中之前的标记来预测下一个标记。这教会模型理解交易行为随时间推移的流程和结构,类似于语言模型预测句子中下一个单词的方式。

  • 掩码语言模型 (MLM):在此方法中,序列中的一些 token 被随机隐藏或“掩码”,并训练模型猜测缺失的 token。这迫使模型理解周围的环境,并学习 token 之间有意义的关系,例如星期几与消费类型之间的联系,或商家名称与交易金额之间的联系。

参见下图:

将顺序嵌入与表格数据混合

虽然在交易序列上训练的基础模型可以捕捉复杂的行为模式,但许多金融系统仍然依赖结构化表格数据来获取关键特征。

例如,来自信用机构、用户资料或申请表的信息通常以表格形式呈现。为了充分利用这两个来源(来自 Transformer 的顺序嵌入和现有的表格特征),重要的是将它们以最大化预测性能的方式组合起来。

这种结合不同数据模式的过程称为融合。

Nubank 探索了两种主要的融合策略:后期融合(更容易实现但效果有限)和联合融合(功能更强大且在统一的系统中一起训练所有组件)。

参见下图:

晚期融合(基线方法)

在后期融合设置中,表格特征会与预训练基础模型生成的冻结嵌入相结合。这就像从预训练模型(嵌入)中提取“冻结感”,并将其与年龄、信用评分、个人资料详情等事实清单相结合。

这些组合的输入随后被传入传统的机器学习模型,例如 LightGBM 或 XGBoost。虽然这种方法简单且利用了成熟的工具,但它有一个重要的局限性。

由于基础模型被单独冻结和训练,嵌入无法适应特定的下游任务,也无法在训练过程中与表格数据进行有意义的交互。因此,两个输入源之间缺乏协同作用,整体模型无法充分优化性能。

关节融合(建议方法)

为了克服这一限制,Nubank 开发了一种联合融合架构。

这种方法在单个端到端系统中同时训练 Transformer 和表格模型。通过这种方式,模型可以学习从交易序列中提取补充结构化表格数据的信息,并且两个组件都针对同一预测任务进行了优化。

为了实现这一目标,Nubank 选择了 DCNv2(深度交叉网络 v2)作为处理表格特征的架构。DCNv2 是一个专门为处理结构化输入而设计的深度神经网络。它结合了深层和交叉层,可以有效地捕捉特征之间的交互。

参见下图:

结论

Nubank 率先采用基础模型,标志着金融机构在理解和服务客户方面迈出了重要的一步。通过摒弃人工设计的特征,转而采用基于原始交易数据的自监督学习,Nubank 构建了一个既可扩展又富有表现力的建模系统。

这一成功的关键在于该系统如何融入 Nubank 更广泛的 AI 基础设施。Nubank 并未为每个用例构建孤立的模型,而是开发了一个集中式 AI 平台,团队可以访问预先训练好的基础模型。这些模型基于海量用户交易数据进行训练,并存储在共享模型库中。

公司各团队可以根据自身需求选择两种类型的模型:

  • 仅嵌入模型,使用从交易序列生成的用户表示。

  • 混合模型,使用联合融合架构将这些嵌入与结构化表格特征相结合。

这种灵活性至关重要。

有些团队可能已经拥有强大的表格模型,只需进行少量改动即可插入用户嵌入。其他团队可能更倾向于完全依赖基于 Transformer 的序列模型,尤其是在历史表格特征尚未定义的新任务中。

该架构还向前兼容新的数据源。虽然当前的模型主要针对交易进行训练,但该设计允许纳入其他用户交互数据,例如应用程序使用模式、客户支持聊天或浏览行为。

简而言之,Nubank 的系统不仅仅是一个技术概念验证,而是一个可立即投入生产的解决方案,能够在核心金融预测任务中带来可衡量的收益。

参考:

  • 通过基础模型了解客户的财务状况

  • 定义交易数据和基础模型之间的接口

  • 微调交易用户模型


发货延迟?DevStats 告诉你原因。(赞助)

还在假装你的送货问题是个谜吗?其实不然。你只是没找到正确的地方。

DevStats 让工程领导者清楚地了解交付失败的地方,这样您就可以修复流程而不是指责别人。

✅ 像成年人一样追踪 DORA 和流量指标

✅ 发现工作停滞、倦怠风险和老化问题

✅ 缩短周期时间,无需偷工减料

✅ 发货更快,意外更少。

更多的人工智能工具并不能解决你的交付问题。更高的清晰度才能。

👉 免费试用 DevStats


赞助我们

将您的产品展示给超过 1,000,000 名技术专业人士。

我们的时事通讯将您的产品和服务直接呈现给重要的受众——数十万工程领导和高级工程师——他们对重大技术决策和大宗采购有影响力。

房间很快订满 – 立即预订

广告位通常提前4周左右售罄。为了确保您的广告能够触达这些极具影响力的受众,请立即发送电子邮件至[email protected] 预订您的广告位。

原文: https://blog.bytebytego.com/p/how-nubank-uses-ai-models-to-analyze

本站文章系自动翻译,站长会周期检查,如果有不当内容,请点此留言,非常感谢。
  • Abhinav
  • Abigail Pain
  • Adam Fortuna
  • Alberto Gallego
  • Alex Wlchan
  • Answer.AI
  • Arne Bahlo
  • Ben Carlson
  • Ben Kuhn
  • Bert Hubert
  • Bits about Money
  • Brian Krebs
  • ByteByteGo
  • Chip Huyen
  • Chips and Cheese
  • Christopher Butler
  • Colin Percival
  • Cool Infographics
  • Dan Sinker
  • David Walsh
  • Dmitry Dolzhenko
  • Dustin Curtis
  • eighty twenty
  • Elad Gil
  • Ellie Huxtable
  • Ethan Dalool
  • Ethan Marcotte
  • Exponential View
  • FAIL Blog
  • Founder Weekly
  • Geoffrey Huntley
  • Geoffrey Litt
  • Greg Mankiw
  • Henrique Dias
  • Hypercritical
  • IEEE Spectrum
  • Investment Talk
  • Jaz
  • Jeff Geerling
  • Jonas Hietala
  • Josh Comeau
  • Lenny Rachitsky
  • Li Haoyi
  • Liz Danzico
  • Lou Plummer
  • Luke Wroblewski
  • Matt Baer
  • Matt Stoller
  • Matthias Endler
  • Mert Bulan
  • Mind Matters
  • Mostly metrics
  • Naval Ravikant
  • News Letter
  • NextDraft
  • Non_Interactive
  • Not Boring
  • One Useful Thing
  • Phil Eaton
  • Product Market Fit
  • Readwise
  • ReedyBear
  • Robert Heaton
  • Rohit Patel
  • Ruben Schade
  • Sage Economics
  • Sam Altman
  • Sam Rose
  • selfh.st
  • Shtetl-Optimized
  • Simon schreibt
  • Slashdot
  • Small Good Things
  • Steve Blank
  • Taylor Troesh
  • Telegram Blog
  • The Macro Compass
  • The Pomp Letter
  • thesephist
  • Thinking Deep & Wide
  • Tim Kellogg
  • Understanding AI
  • Wes Kao
  • 英文媒体
  • 英文推特
  • 英文独立博客
©2025 搞英语 → 看世界 | Design: Newspaperly WordPress Theme