Hello,大家好。我想我们开始了。我知道你们中的一些人还在加入,但我会继续讲下去,你可以随时插话。嗯,你可能已经看到了这次演讲的标题。我这里幻灯片上的内容略有不同,但我保证方向一致,总体理念相同。这一切始于我想构建一个围绕隐私和令牌成本的用例。基本上是这样。所以我从 Obsidian 开始,里面有一些 Markdown 文件。你知道的,它有漂亮的图表,看起来很不错。然而,除了整理文件之外,我还遇到了一些问题。很多人都在做知识图谱、代理记忆等,这很好。但我需要以不同的方式处理这个问题,因为存在隐私方面的担忧。
当使用代理、云代码或协作工具时,你可能会暴露你的文件。对于某些机构或个人来说,这是一个必须满足的要求。因此,目标是在保持私密和自托管的同时,使其相当可用且友好,以便人们能够实际执行这些操作。此外,我们倾向于微调、高度适应性强并使用开源模型。我发现解决方案是 Superlinked,这是一个开源的模型推理引擎。它既有集群也有模型推理方案。今天我将就此进行讲解,以及我是如何将这些概念融合在一起并创建出依赖这三件事的东西的。
第一个主要想法是我想让 Claude Code 更便宜并节省令牌成本。我们知道随着 Fable 的发布,起初只有 API 定价模式,这在一定程度上让一些人失望了,或者令牌经济学现在受到了更多关注。这是一个方面。特别是在文档处理中,敏感文档的处理涉及大量扫描、图像等,令牌成本可能会飙升。我想找到一种方法来解决这个问题,同时拥有较小的工件意味着你能获得更好的上下文,从而在某种程度上限制上下文丢失。
你不想用可以通过其他方式处理的数据来填充上下文。而且我想让它保持私密性。是的,在某些情况下,将所有内容粘贴到 Claude Code 或使用其 API 是可以的。但如果你可以自托管并拥有自己的 VPC(虚拟私有云)或云平台来预处理敏感文档,然后返回结果呢?这是我构建时的另一个目标。我还希望具备适应性,这不仅仅是隐私和降低令牌成本的问题,还有测试多个模型的机会,也许托管非常特定于任务的小型 LoRA 模型。
由于这些使用场景通常涉及敏感数据,通常需要针对特定利基用例进行某种微调或适应。我也必须这样做。该设置涉及 Superlinked 和 Sci(Superlinked Cluster Infrastructure)仓库,你可以为了今天的演示访问这个完全开源的 GitHub 仓库。这是它的标志。我将谈论一种集成,抱歉,不在这个幻灯片上。这是一种 MCP 集成包,就是这里展示的这个子目录。大部分演讲将围绕此展开,但我也会提到为什么推理是构建此类东西时的瓶颈。
弄清楚如何存储数据(例如在 Obsidian 中)并建立连接是容易的部分,我也可以使用 API。然而,如果我想进行开源推理、测试多个模型并能在生产中部署,事情就变得有点困难了。这就是为什么 Sci 提供的基础设施优势——即能够同时部署集群和模型本身——在我的案例中是一个巨大的优势。这里你可以看到 Obsidian 示例,我将使用其中的一些内容。你也可以自己尝试一下。
不过,我将使用托管集群。我现在无法在现场给你提供这个。但你可以访问我们的网站,那里有申请推理赠款的入口。你会收到 API 密钥以便快速尝试。否则你可以在本地操作,因为有 Docker 容器等支持。虽然速度会稍慢一些,但我更希望你先听我讲解,然后再尝试操作(也可以并行进行)。我们还有很酷的二维码纪念品,你可以获得更好的集群支持。
正如我所说的,想法是保留隐私元素并提供一种卸载任务的方法。基本上,我不想干扰我的日常正常使用。我只是在 Claude Code 中工作,如果有一个特定任务需要在虚拟私有云上处理(涉及敏感数据或高令牌成本),我可以将其卸载并继续工作。因此,自然的思路是构建某种技能或插件。但这通过构建一个完整的 MCP 服务器得到了提升,该服务器在 Claude Code 中被调用。
这既有使用技能的感觉,又有一个专门的边缘节点来承担繁重的工作。你也可以受益于 Superlinked 的推理能力,我稍后会讨论我们是如何做到这一点的以及使用其引擎的优势。它节省令牌是因为例如,如果有 10 页包含图像和不同细节的 PDF,如果你使用优秀的开源 OCR 模型预处理它,然后返回给主代理框架(如 Claude Code),你就能获得上下文。
同时受益于更低的令牌消耗和更好的上下文,特别是在 OCR 方面这一点很明显。然而,除了 OCR 之外还有多种节省令牌的优点。为什么选择 MCP 而不是简单的 API 或插件?因为我们拥有专用集群,将职责分开更为有利。这作为骨干来构建更多细节和功能,后续会进一步展开讨论。
稍后我也会谈到这一点。所有服务都在您可控的服务器上运行,因此通过 Sci 您可以选择工作池、GPU,并了解哪些模型部署在何处。这种来自云视角的灵活性是一个优势,我希望保持这种方式,这也是我选择 MCP 而非单一技能的原因。MCP 暴露了相关的工具。因此,大致工作流程如下:如果仅是插件,它也可以在您的笔记本电脑或设备上运行。这样您可以将相同的体验卸载到云端——即您自己的云,并在那里控制事物,从而形成更清晰的设置。
这里许多示例涉及个人身份信息(PII),并且有一个工具用于删除文档中的特定细节,这是隐私方面的核心用例之一。MCP 设置分为三个层级:中间是 Sci MCP;客户端(通过 Co-Work、Cloud Code 或您使用的其他工具)充当主机并与 Sci MCP 服务器通信;然后是包含 GPU 和工作池的 Sci 集群,它们通过与 MCP 服务器通信来执行工作。我们还拥有不同的可用模型以及良好的 GPU 排队机制,稍后会详细介绍。
MCP 的理念是拥有一个统一的通信接口,特别是当我们朝着模型路由方向构建更多工具时。目前的演示和版本主要围绕工具调用展开,但我们正在开发基于评估和成本来选择不同任务的模型路由功能。所有这些模型都是开源的并运行在您的 GPU 上,这也是一个重要方向,是一种前瞻性的方法。
系统包含主机、客户端和服务器。您可以使用任何想要的设置进行配置,如云桌面或 Cloud Code 等。通信通过 JSON-RPC 完成:包括响应、请求和通知,以初始化握手协议并验证 MCP 边缘等。一个重要细节是服务器暴露不同的内容。虽然自诞生以来 MCP 标准有所变化,但主要功能是向 Cloud Code 等暴露工具。
在一般的 MCP 生态中,客户端也可以暴露采样或提示等功能,这使得通信成为双向的,而非标准的客户端-服务器设置。但在我们的隐私优先场景中并不这样做。因此,Sci MCP 边缘仅暴露工具(在握手期间初始化),仅此而已。它只进行响应,不执行更复杂的任务,工具被发现后即可直接使用,提供不同的能力供您运行。
另一个细节是也可以在本地进行此操作:在 MCP 生态中,标准 IO 用于本地开发。但我们希望使用流式 HTTP 响应。过去由两个端点分别处理流式和握手,现在有一个标准能一次性完成所有操作,使流程更顺畅。以下是我们拥有的工具,我将花更多时间介绍这一页:当前的设置和可尝试的内容围绕这些模型展开。
有一个“文档转 Markdown”工具,使用 OCR 模型;这些都是我们目前可用的开源模型。其理念是节省 Token 成本并使用优秀的开源模型。细节在于:使用 OCR 模型(尤其是开源模型)时,将部分工作卸载给它们并不会牺牲质量。使用开源并不意味着妥协;相反,开源模型正在迎头赶上,将其引入生产环境非常有用且重要。
还有提取实体工具,使用不同的 NER 模型生成文档中的相关实体;以及关于标题和标记的不同工具。还有结构生成、摘要和问题回答的能力。好处是这些都是开源的,您可以提交 PR 添加新工具并作为一部分利用推理能力(这是此类情况中的主要瓶颈)。
您可以克隆我之前展示的仓库。可以在本地启动集群,或者访问网站请求 API 密钥(稍后会收到)。这就是基本设置:您需要获取 API 密钥。如果您打算长期使用,也可以自行托管(不一定是我们的集群,可以是您的集群)。只需设置这些内容。
我还会发布一篇文章更详细地解释这一点,您可以逐步运行它,无需着急。请享受演讲并放松,按自己的时间尝试各种事物。这里有仓库链接以及获取计算资源和集群的链接:您可以填写表格申请,然后收到 API 密钥。这就是我将要演示的设置,希望“Demo 之神”眷顾我(有人曾在演讲中提到这个说法)。
我现在开始演示。我将进入 Cloud Code,位于相关的包目录中。我基本上只有一组文件在收件箱文件夹中。例如这是图谱,它……
就像收件箱一样,你可以想象这些是不同的电子邮件。虽然这些都是合成数据,但它们是相关的数据。我并没有使用激发这个项目灵感的真实数据,但这些内容涉及诸如“关于发票的电子邮件”以及散布其中的敏感信息。你可以浏览这些文件,例如包含保密协议(NDA)的文档中可能有电话号码和社会安全号码等敏感信息。这就是数据的样子。例如,你可以要求:“请对保密协议文档中的数据进行脱敏处理。”
系统会返回结果并消耗三个积分。以下是具体示例,这是我之前尝试过的一些操作。这是保密协议文档,然后你会得到一份经过脱敏处理的文件,它提取了相关细节。显然,只有电子邮件和人名等实体被保留,其他信息都被掩码处理了。所有这些操作都在你的虚拟私有云(VPC)中完成,因此 Cloud Code 或你使用的任何代理都看不到这些数据。
在某些情况下,OCR(光学字符识别)的性能甚至更好。例如,这里显示技能加载成功:我找到了保密协议文档。我在这里设置了集群,只需输入端点和 API 密钥即可(虽然你的操作可能略有不同,但你完全可以提示 Cloud Code 等工具)。这里我们得到反馈:文件包含第一个脱敏输出,即从某处到另一处的 10 个跨度已被脱敏。还有一些标签计数,提供了相关信息。
我们可以尝试:“请预处理扫描文件并对其进行脱敏处理。”这是用自然语言描述的,我们试图让 OCR 模型工作,这就是需要调用的工具。你也可以配置工具调用等功能。此外,这里还有一行状态栏显示节省的 token 数量,但我需要进一步更新这部分以使其更完善。这也是一个优势:你可以实际看到 token 成本的节省情况。
我会先将内容预处理为 Markdown,然后进行脱敏处理。目前运行正常。为了节省时间,我只展示部分文件。比如这份之前的合同扫描件。由于它是干净的图像而非文本,可能需要 OCR 处理。如果看“处理后”的文件,你会看到 Markdown 文件提取了这些信息并进行了脱敏处理。
思路是通过 OCR 工具调用预处理文档,从而获得 token 节省、更好的上下文管理以及脱敏后的文件(防止个人信息泄露)。这些操作是同时进行的。从功能角度来看,这就是核心思想,但后台发生了很多复杂的工作。这不仅仅是隐私问题且看似简单,繁重的工作由 Superlinked 引擎完成。
Superlinked 和推理引擎以及集群的设置允许你拥有多个模型,并在不同的 GPU 上进行模型的“热交换”(hot swapping)。它还支持更智能的批处理,让你能够测试多个模型。例如,如果你有五个针对工作不同子领域微调过的 LoRA 模型,你可以在它们之间进行热交换并测试哪个效果最好。
我们有一个网关帮助我们将此连接到不同的工作池,每个工作池都有各自的批处理器,使得批处理在每个工作层面完成。这比将所有批处理集中在前端带来了更好的性能。这是 MCP(模型上下文协议)解决方案的架构,展示了它与 Superlinked 如何协作。
你可以看到右侧部分位于你的 VPC 内,即卸载到 Superlinked 的 MCP 工作都在你自己的私有云中。性能优势之一在于批处理技术:如果采用共享队列让每个工作者从中拉取任务,测试和一般性能都会较低。而我们采用的设置实现了端到端的延迟和性能改进,即使使用不同的模型也是如此。
想法是你还需要不同的工作池。例如,有时你可能想尝试更重的模型,同时也需要另一个能在 L4 抢占式实例上良好运行的轻量级模型。这样你就不必浪费更昂贵的硬件资源。此外,我们还有自动扩缩容功能:当不使用时可以缩减规模等。
这就是设置方式以及模型的热交换机制,尤其是在较小的模型方面(如命名实体识别、更小的生成任务或嵌入等),这些模型可以放入单个 GPU 中。在一个 GPU 上运行多个并在它们之间切换,能带来巨大好处。
这符合 MCP 及其工具调用方面的方向:你可以构建代理,并使用 Superlinked 卸载推理部分。你可以设置不同的任务组合,例如文档解析(如我所述)、内容嵌入、使用生成模型编写代码、从数据中提取图像或标题,甚至是用于策略检查的护栏和结构化生成等。
如果你构建项目并获得更多积分,我会很高兴。例如,贡献一个关于内容保护或策略检查的工具或其他你觉得有用的功能,我们将非常欢迎这种贡献。在一些测试中,由于我解释的基础设施,我们在嵌入模型方面看到了非常好的性能表现。
我们也有生成模型,但目前进行基准测试的是嵌入模型。你获得的成本大约降低了 10 倍,而质量非常相似。你可以看到,针对嵌入任务的最佳模型达到了前沿模型的 99.8% 水平。我们使用 MTEB(大规模嵌入基准)任务进行了评估,情况确实如此。
我们将很快提供更多相关的基准测试和细节。但重点是:有时特别是在生产用例中,在特定负载下,你会获得……
优势在于端到端的改进。因此,如果您的基础设施和架构设置得当,即使单个模型的推理未优化,您基本上也能获得延迟改善和更好的性能。在我们案例中,我们两者都在做,但这一发现对于生产用例非常有帮助。在关于 LoRA 的例子中,我们看到可以相当快速地调整 LoRA 并进行微调。因此,我们正探索该领域的工作。
一些同事致力于针对德语特定 LoRA 的研究并进行了微调,成本相当低廉。因此,拥有一种在生产和快速部署中测试多个 LoRA 的方法似乎非常有用,并在德语法律语言等拉丁语小众用例中提升了性能。这就是 MCP 的工作原理。我之前提到过这一点,虽然已有一些故障模式存在,但这确实有效且良好,但仍有大量工作要做。
我非常乐意收到您的意见、PR 甚至评论。因此,您可以在 LinkedIn 上添加我,我很乐意随时交流。这个想法是相同的 MCP 边缘处理每个文档任务,因此您可以进行问答、提取事实或阅读文档。是的,这也应该有效,并且会提取不同的标签等。
您可以像这样尝试,我认为移动了编号,但您仍然可以实时测试并使用自己的演示数据测试不同的工具。我在某种程度上解释了这个概念及其当前功能。是的,还有节省令牌方面非常重要,不将数据发送到外部 API,所有操作都在您的云中运行。
未来还有很多事情要做。但运营能力仍然存在,因此我们有 Helm 图表和 Kubernetes 集群,您还可以使用 Terraform apply 来部署集群。这也是开源的,所以它不像仅仅代码是开源而其余部分隐藏那样。基本上我们拥有所有东西。
这可以超越单纯的文档处理。如果我们审视将推理作为整个工作流程中一个小模块的想法,它将解锁许多可能超越文本的机会,例如其他模型查看转录本、生成本体等通过不同的工具调用和结构生成。因此存在不同的机会,我们探索的另一个方向是在您自己的私有云中进行模型路由。
这在基础设施层面非常强大,我认为该领域正朝此方向发展,通常团队正在探索基于 API 的优化方法。在这种方法中,多个模型协同工作,端到端性能更好。以这种方式也有类似的选择,但这更像是未来的路线图构想,目前尚未内置。
其想法是根据任务选择模型。因此,工具调用不仅限于工具本身,您还可以理解应为底层工具选择哪个模型。例如,如果我只设置了一个 OCR 模型,我可以表示:“好的,对于这个工具调用,我实际上想要便宜的 OCR。”或者某种根据任务适应的工具调用。
这是一个强大的方向。此外,还有涉及意图的探索以及这种混合代理方法。Sci 在这方面非常出色的另一个强大方面是,如果您已经在 GPU 中预热了模型,您可以更快地触发它们并更快获得响应。
您可以根据模型的“热度”或上次驱逐了什么、未驱逐什么来进行这种模型路由。因此,在延迟方面有很多选项可以玩味,并试图找出不仅是从一般角度、而且是从基础设施角度来看的最佳模型。这样做非常有用,我认为很多此类工作将在不久的将来完成。
是的,这个想法是您可以估算每个模型以找出哪些模型处于预热状态。在某些情况下,触发一个已经热身的、成本较高但已存在于 GPU 中的模型,比重新加载一个便宜但未在 GPU 中的模型更划算。
因此,这种逻辑也可以设置以优化工具级别之外的成本和利用率。我只是提到这些内容来展示推理以及拥有良好的模型推理设置及其周围的基础设施实际上可以解锁多少用例。还有进行诸如法官之间对话或“模型委员会”等事情的潜力。
再次强调,这更多是未来的路线图构想,但这确实是此类事情的一个方向:例如,如果您想包含一些推理工具调用或根据任务难度调整响应。我在构建此功能时遇到的一个问题是在其中一个摘要工具中,我使用了一个具有思考令牌(thinking tokens)的模型。
基本上,摘要是非常短的或者根本没有发生,因为所有工作都在思考端完成了。因此,您还必须考虑使用哪些模型以及是否切换思考令牌。但有时推理是有益的,从基础设施方面快速实现这一点很有用。
当然,拥有路由器或委员会等也有一些缺点。然而,我们在评估方面也非常强大,并试图在此类操作之前测试模型。因此这里有不同的想法可以实施。基本上我们也不想让 GPU 在某些模型上永远推理而没有任何结果,或者拥有作为法官的偏见模型。
或者是优化某些东西从而逃避将其设为真正目标的情况,但这只是变成了被模型利用而从未实际使用的东西。您永远不能将其作为适当的评估依据。您可以查看我们的仓库,这是二维码如果您还没有的话。
我认为今天的主要收获是:基础设施和推理远比这一点重要,即使对于这种非常友好或符合人体工程学的 API 设计而言。在这种设计中,您只需与云代码配合使用,就可以偏移您的敏感数据和特定任务。
不同的方式,而核心仍然是推理。例如,我会再次进入这里的内容。这部分也将发布出来,同时你也可以找到支持的文件类型、LoRA 适配器的适用场景、故障排除指南等信息。最重要的是,你需要申请 API 密钥等权限。我们还拥有完整的模型目录,目前正对其进行更新以使其更详细和实用。基本上,你可以选择不同的输出类型和架构,因为为了优化模型和推理过程,你需要以不同的方式适配模型。
这意味着你可能需要为不同架构的模型实现不同的注意力机制,因此无法以相同的方式运行前向传播。你需要为不同系列的模型设置不同的运行时环境以确保正常工作,这其中涉及许多细节。你可以看到模型会根据其功能(如编码或评分)进行标记。因此,你也可以使用执行重排序的评分模型。
在这个工具调用的用例中,优势在于你可以通过 MCP(模型上下文协议)等机制自定义检索流程。我非常希望大家能为此做出贡献,或提供关于如何设置及在此基础上构建更多实用功能的想法。我们最近在伦敦与 Tech Europe 和 DeepMind 联合举办了一场黑客松,许多人对此进行了测试。
参与者们对同时在检索、重排序以及生成方面的工作感到满意。拥有支持推理的双向处理能力是非常棒的体验。我再次鼓励大家使用这些免费的集群基础设施积分,此外我们还提供了大量示例和完整的文档供你参考。
基本上包括快速入门指南、不同模型版本,以及如何迁移的示例。例如,如果你已经使用 OpenAI API 完成了某些工作流,你可能会想:“好的,我想快速测试一下这个功能。”此时你也可以利用这些选项。这是代码仓库,再次说明,这是一个软件包,这里展示了它暴露的接口以及凭据的设置方式。
这里的 README 可以查阅。这是示例代码,如果你能贡献更多示例或补充内容,那将非常有用。这里是申请积分的地方,这些积分有助于你构建和尝试各种功能。这在黑客松期间非常受欢迎,因此我非常鼓励大家去试用一下。
鉴于我们即将接近尾声,我可以回答一些问题了。由于是录音环境,我会复述并重申你的问题以确保清晰。我很乐意回答几个疑问,如果你有问题想尝试,我们也可以进一步互动演示。
那么,使用空组的话,基本上就不会那样做了吧?所以主要关切点在于隐私问题。
也就是说,Claude 只会获取文档的脱敏版本,而不会获得你输入的全部完整文档。这就是我们目前的设置方式,它仅能看到这一侧的信息。是的,没错。
确实如此。我的意思是,这可以评估是否会发生这种情况,比如 Claude 是否会偏离正轨。当然,这需要更多的测试来验证。但在我所做的测试中,如果你托管 MCP 且其他一切都在虚拟私有云(VPC)上运行,似乎没有发生数据泄露。
但我确信可以建立更多的护栏来加强这一初始阶段的安全措施,或者在最坏的情况下,你可以说:“好吧,我有所顾虑,我可以构建自己的环境并使用开源方案。”是的,没错。
通过这种方式,即使像我的例子中使用的 Claude Code 或其他任何环境,只要实现了良好的工具调用功能,你仍然可以节省 Token 并获得更好的上下文。我认为这是可以做到的,但也欢迎就此贡献代码或想法。
拥有一个这样的预处理层也会非常有用。是的。另一个问题是……关于如何设置以确保隐私得到充分保护,对吧?
在这个例子中,集群是我们提供的资源,但这也可以是你自己的集群。通过仓库,你可以在本地设置你自己的集群。是的,完全正确。你可以按照任何你想要的方式配置集群。
我只是使用我们托管的集群来进行演示和示例,例如用于黑客松等活动。虽然我们要提供硬件支持,但你完全可以自行操作。这是自托管的,正如我所说的,在仓库中你有能力执行 Terraform 应用来搭建所有基础设施。
如果你有 GPU 等资源,基本上就可以设置好这一切,而且完全由你自己掌控。抱歉,能再说一遍吗?MCP 有文件处理功能吗?
所以它只是将文件发送给主工作节点,在那里对文件进行处理。是的,确实如此。
你可以再次利用入口处的免费计算资源来试用一下。如果你想要自托管,你仍然可以这样做,这方面并不严格限制。我们只是提供这种支持以便让事情进展得更快。但你不必使用我们的集群,你可以选择自托管。
此外,你也可以在 LinkedIn 上添加我,我们可以在那里交流。感谢大家的参与。