ChatGPT 和 AI 在金融领域的前景展望
7 个月前
激动人心的消息:迁移到新的通讯平台!
我很高兴地宣布,我将迁移到一个新的通讯平台,以便更好地与大家联系。这次迁移将带来更具吸引力的内容、新鲜的见解,以及独家更新,直接发送到你的邮箱。
你可以在这里注册:
上周,我有幸参加了康奈尔金融工程曼哈顿会议的一个小组讨论,我们探讨了主题“ChatGPT与AI在金融中的未来”。我与一群杰出的讨论者一起参与了这个小组:
- Yu Yu,黑石集团数据科学总监
- Tony Berkman,Two Sigma管理董事
- Samson Qian,Citadel交易员
几位与会者后来表示,这是他们当天最喜欢的小组讨论之一,我想,为什么不分享一些讨论的关键点呢?由于没有录音,我记录下了我们讨论的主题,以及我自己的一些额外见解。
以下是你可以期待的内容:
- 幻觉
- 代理是未来
- 何时进行微调是合理的?
- 合规性和数据安全
幻觉 🤖
在讨论幻觉时,我有一个来自Marc Andreessen的引述我非常喜欢:
“当我们不喜欢时,我们称之为幻觉。当我们喜欢时,我们称之为创造力。”
自信的幻觉
幻觉的根本问题在于模型以自信的方式产生幻觉。
想象一下,问两个不同的朋友:“你知道位置X在哪里吗?”
朋友A:就在那儿。
朋友B:嗯,我不太确定。如果我必须猜的话,我会说在那儿,但我不是100%确定。
如果两人都给出了错误的方向,你会认为朋友A在撒谎,但不会认为朋友B在撒谎。这是因为朋友B对自己的回答缺乏信心,他们试图提供帮助,但强调了他们的不确定性。
当前大型语言模型(LLM)的问题在于,它们大多数情况下像朋友A一样。它们以确定的方式说出错误的信息。
如果LLM在不确定的情况下,默认行为更像是右侧的回答,幻觉问题将会减少。
自信的幻觉问题在于,类似于为什么每个人都不喜欢撒谎者,这会导致缺乏信任。因此,用户开始对LLM输出的所有内容进行仔细审查——即使模型所说的内容是准确的。
如何避免幻觉
有一些方法可以解决这个问题,我们在OpenBB非常重视的一个关键方法是始终利用可用的信息。
当用户提出需要金融数据的问题时,OpenBB Copilot始终会在OpenBB上搜索该数据(无论是通过我们提供的数据还是客户提供的私有数据)。
只有在数据存在的情况下,Copilot才会回答问题。这使得模型能够引用其响应中使用的数据,以便用户进行双重检查。
这就是它的工作方式。
虽然我听到一些供应商承诺100%的准确性,但这显然是不真实的。
我们正处于一个技术尚未达到“信任但验证”水平的阶段。
因此,当数据不可用时,我们会提示模型返回没有实时信息可用来回答查询。
函数调用以提高准确性
我们发现显著减少幻觉的一种方法是让我们的OpenBB Copilot(本质上是一个代理)访问用户通过OpenBB或他们自己添加的所有API后端。
以下是发生的操作顺序:
- 用户向OpenBB Copilot提出问题。
- 提示被转换为嵌入。
- 我们将该嵌入与OpenBB向量存储中所有的嵌入进行比较,该存储包含小部件签名——名称、描述、类别、子类别和来源。
- 我们检索相似度最高的小部件。
- Copilot根据提示决定使用哪个小部件。
- 然后,Copilot还决定在调用该API时使用哪些参数。
这减少了幻觉,因为LLM不是根据提示和其内部权重输出标记。相反,它使用其内部权重、提示和函数调用。
假设函数调用成功——正确的小部件检索和参数——数据就可以供Copilot使用,从而提高准确性。
注意:这仍然意味着Copilot需要使用正确的小部件和正确的参数,但成功的可能性更高,因为如果不正确,API调用将失败,促使LLM重试。
以下是其背后的工作原理,OpenBB Copilot突出其逐步推理,以便用户理解其思维过程。透明性是关键。
避免幻觉的工作流程
为了减少幻觉的数量,可以采取两项措施。
使用户能够快速检测是否发生了幻觉。
例如,如果用户在OpenBB Copilot中输入以下提示: 使用收益电话会议记录,创建一个包含列:财务指标、值、提取自收益的句子。仔细检查你使用的信息是否正确。
他们会得到“提取的句子”列,可以将其复制并粘贴到收益电话会议小部件顶部添加的搜索字段中。这使得用户能够快速验证找到的数字。
请看下面的示例:
添加确定性流程以检查幻觉
例如,假设用户提示涉及数据检索任务。
我们可以运行一个确定性流程来检查检索到的值是否存在。当然,这不会100%准确,因为数字可能会被标记为参考其他内容,但这都是为了提高Copilot的整体准确性。
最终,任何可以提高Copilot准确性的措施都应该采取。
代理是未来 🔮
当我们思考人类如何运作时,我们认识到大脑协调着我们身体的所有动作和思维过程。这与代理的工作方式相似。
如果我在踢足球,我使用的肌肉与我在拳击时使用的肌肉是不同的。如果我在编程,我使用的大脑部分与我在听音乐时使用的部分不同。
然而,这并不是简单的“活动A需要腿”。你身体和大脑的大部分始终参与其中,但在不同的时间和不同的能力下。外部因素决定了这一点。
例如,如果我作为边锋在踢足球,而我的球队正在进攻,我可能会用双腿向前跑,并消耗大量的精神能量来决定我在场上的位置。
这会根据球的位置发生很大变化。如果球在对面,我可能会少跑,更多地待在中间以准备反击。如果球在中间,我可能会全速跑动以创造空间。如果球靠近我,我就必须更担心控制它,并理解我接下来可以做什么。
环境影响我执行某个动作的计划,以便我希望获得成功的结果。
这就是代理的工作方式。
代理不仅仅是一个单一的LLM表现良好,而是一个完整的工作流程,与多个语言模型、函数调用或任何其他过程互动以执行某个动作。
在核心上,代理相对于LLM的最大优势在于,代理拥有完整的反馈循环。它理解LLM输出的影响,并可以在下一个步骤中使用该数据。而单个LLM API调用返回其最佳输出,但不会知道这如何影响外部环境。
这就是为什么在OpenBB,我们相信复合AI系统。
显然,
“草莓”问题将得到解决
一位小组成员在台上评论说,LLM甚至无法计算“草莓”这个词中有多少个R。
这个提供了一个很好的解释,为什么会发生这种情况——原来是由于分词器的问题,这可以解决。实际上,通过确保模型将每个字母视为一个标记来解决。见下图:
这意味着通过在输入级别进行额外工作,可以改善模型的输出。
数据清理和预处理再次发挥作用?😃
有趣的是,几天前,发布了GPT-4o,带有链式思维(COT)。这意味着该模型是一个“准代理”。
它接收用户的提示,并将其分解为自然步骤来解决。然后在每一步,它使用前一步模型的输出来预测下一个标记。结果表明,这显著提高了准确性。
然而,它仍然无法访问外部数据。这就是我称之为“准代理”的原因。
我喜欢Jeremiah Lowin在这篇中的表述:
“(……)代理的特点是迭代行为。但有一个关键区别:像o1这样的模型在内部迭代以完善其推理,而代理则与外部世界进行迭代交互。它们感知环境,采取行动,观察结果(或副作用),并相应调整。这种递归过程使代理能够处理需要适应性和对现实世界变化做出反应的任务。(……)”
因此,o1的模型不是代理——但它可以解决这个问题。原因在于它在自己的数据清理/预处理步骤中应用了自己的方法,而不依赖于外部因素。
小型语言模型
一旦代理工作正常,小型语言模型(SLM)将在非常特定的用例中变得更加可行。
从逻辑上讲,大型语言模型是一个具有权重的模型。
“大型”意味着它有很多权重。但通常发生的情况是,LLM需要非常大,因为它们希望这些模型在各个方面都表现良好。问题在于,如果你希望同一个模型在讨论足球、编程和说葡萄牙语方面都表现良好,它的权重会使用这些截然不同的数据集进行更新。现在的前提是,权重越多,每个权重受到来自完全不同领域的数据影响的程度就越小。
像GPT-4o这样的大型LLM正在尝试构建一个了解所有事物的单一Jarvis。而我们可以拥有一个SLM,专注于某个特定任务,例如从英语翻译成葡萄牙语。SLM的好处在于推理速度可能更快,可以在设备上托管,并且理论上在某个主题上表现更好,因为在训练过程中受到的“污染”较少。
想象一下,一家公司决定使用一个SLM,快速且大规模地从SEC文件中检索数据。或者,我们可以训练自己的SLM,以理解用户意图并直接与OpenBB终端界面互动。
大型语言模型作为协调者
在我看来,每个类别中最好的LLM将会获胜。第二和第三名将无关紧要。这是一个赢家通吃的市场。除非在特定的垂直领域,例如推理时间或开放权重(例如,出于数据安全原因;稍后会详细讨论)。
最好的例子是OpenAI与Anthropic之间的竞争。
我在几个月前一直在使用OpenAI的GPT-4进行编码。在尝试了Anthropic的Sonnet 3.5进行编码后,我再也没有回到OpenAI。
最佳LLM的市场份额将是巨大的。这就是为什么的估值反映了市场规模,而筹集的资金则代表了达到该估值所需的资本。这就是为什么只有少数参与者能够在那个层面竞争。
在一个“代理未来”中,我相信最好的LLM将作为核心“大脑”——主要的LLM,负责路由所有提示并决定接下来发生什么。
谁不想要最聪明的模型控制行动,并拥有一系列模型、函数和数据供其使用呢?
我知道我想要。
这也是为什么在讨论OpenBB Copilot时,我们不依赖单一的基础模型。相反,我们使用最适合每个特定任务的模型。
例如,OpenAI的o1可以是“大脑”,但当用户使用@web时,它会触发Perplexity模型;当他们上传图像时,我们使用Anthropic的Haiku。或者如果他们想进行日内交易,我们通过Groq使用Llama 3.1进行快速推理。
你明白我的意思了。
何时进行微调是合理的? 💻
小组中有人提出了一个很好的评论:“花时间微调一个新模型是昂贵的,只是为了让整个工作被一个在特定领域表现更好的新模型‘取代’。”
在我看来,这种情况发生是因为时机还不成熟。我们仍在通过每个新模型的发布解锁显著的成就。尽管这些发布之间的能力差距巨大,但我不建议公司在这个阶段微调自己的模型。
然而,在某个时刻,无论是由于缺乏训练数据还是架构需要重新设计,LLM性能的提升将不会显著——甚至可能不明显。这时,微调技术变得相关,因为在这个阶段,你试图将模型的所有内容重新利用到特定的垂直/用例上——在那个垂直/用例中,该模型将优于下一个模型。
然后在一些新模型发布后,你可能会考虑对该模型重新应用微调,但这可能是在几年后,而不是几周或几个月。因此,投资回报率可能会非常高,特别是当你试图在特定市场中获胜时。
这就是我脑海中运作的方式:
合规性和数据安全 🔒
我收到的另一个问题是关于合规性和数据安全的。
最近,在与世界上最大的对冲基金之一的讨论中,我们被问及当我们的AI Copilot访问数据时,整个工作流程是怎样的。
他们的主要担忧是确保没有数据与像OpenAI这样的第三方供应商共享。对于这样的公司来说,他们的数据就是他们的alpha,确保数据留在他们的网络中至关重要。
加密货币爱好者常常说:“不是你的密钥,就不是你的币”,以强调将资产存储在冷钱包中的重要性,而不是将其留在可能崩溃的交易所(看着你,FTX)。同样的原则适用于这里:“不是你的权重,就不是你的数据。”
当你将信息发送给像OpenAI这样的大型基础模型提供商时,你的数据进入了他们的生态系统,你必须信任他们会遵守你的合同条款。
一种更安全的方法是在你的公司内部本地托管一个开源模型,确保敏感数据完全保留在你的基础设施和网络内。
尽管开源模型尚未像闭源模型那样强大,但它们正在迅速追赶。如果你认为GPT-4o已经可以为你做很多事情,想象一下,某个时候会有一个开源模型与GPT-4o相当。当然,那时闭源模型会更好,但问题是:“你愿意为性能牺牲多少数据安全?”
在OpenBB,我们对此非常重视,并采取措施让企业客户完全控制他们的数据。
带上你自己的助手
允许公司将自己的LLM带入OpenBB以访问数据。这意味着我们提供一个研究界面,但也允许他们集成自己的内部LLM并直接与之互动。
我们非常重视这个想法,因此我们开源了架构,以便公司可以将自己的Copilot带入OpenBB。更多信息可在这里找到: 。
关闭AI工作流程
我们已经整合了使用户生活更好的工作流程。但这也有代价:与LLM提供商共享数据。
这些功能包括:
- 来自Copilot的小部件标题/描述建议: 这将Copilot输出的表格或笔记内容发送给LLM提供商,以接收标题和描述的建议。
- 上传时的小部件标题/描述建议: 将上传文件的内容发送给LLM提供商,以接收标题和描述的建议。
- Copilot聊天标题生成: 在用户首次提示时,将内容发送给LLM提供商,以更新聊天标题,反映对话的性质。
- 仪表板名称生成: 在重命名仪表板时,我们将该仪表板上所有小部件的标题和描述发送给LLM提供商,以确保建议的名称相关。
为了让公司将数据保留在其网络内,我们的企业功能之一是禁用这些AI工作流程。
未来,我们可以将这些AI工作流程定向到客户本地运行的LLM。
总之,你可以期待OpenBB带来什么? 🦋
我们正在构建一个AI驱动的研究工作空间。
其核心是一个AI复合系统,用户可以带入自己的数据(结构化、非结构化、API、自定义后端、数据库、数据仓库等),并让我们的(或他们自己的)Copilot无缝访问所有这些数据——在一个可定制、灵活并能够让团队协作的界面中。
我期待你尝试我们的 。
如果你想了解更多,请直接给我发邮件:[email protected]
别忘了注册我的通讯,以便跟上我未来的所有内容:
推荐阅读:
FluxAI 中文
© 2025. All Rights Reserved