2023 年 4 月 7 日 21:00,「ChainBreaker Podcast」播客活动第四十六期拉开帷幕。本期直播潘致雄(ChainFeeds Co-Founder)连线区块先生 Mr. Block Chris、Mest Founder Ashu Chan、Max(Adaverse Asia Ecosystem Head),围绕「AIGC 在 Web3的应用」展开深度讨论。
内容摘要:
阿树:
我们曾在Crypto Wallet行业工作了五六年,一直遇到如何向用户表达链上数据的困扰。因此,我们花了很多时间研究如何使用自然语言等文本形式表达不同类型的链上数据。Crypto Wallet可以承载多种类型的链上数据,例如DID、资产、NFT和DeFi。这些类型的数据很难在一个单一的窗口中表达。因此,我们一直在追求自然语言表达的解决方案。直到ChatGPT出现,我们认为这个东西变得比较可行。MEST想要解决的问题是如何使用自然语言表达链上数据,而ChatGPT是一个好的结合点。但早期,Mest主要在做内容分发,ChatGPT还没有出现。
如果没有ChatGPT,我们可能会使用更笨拙的方式模拟自然语言的表达形式,但这种形式可能并不好,而我们的工作,特别是作为链上数据产品的工作,可以更专注于如何生成有价值的链上数据。我们之前做了很多工具,如Dashboard,但现在完全转向了语言交互这种形式,这是我们的一个试点。
在我们的理解中,这两者是两种不同的类型。我们认为它们都有特定的应用场景。图形界面特别适用于流程性场景,例如转站。它并不适合用自然语言表达。但是,一旦涉及多种类型的数据信息表达,自然语言就是最适合的场景。最基本的例子是,当你想看一些数据时,现有的电商数据产品只能用图表或表格表达,但在一个大型Dashboard中,很难识别任何信息。在一些组合产品中,你也可能会感到很复杂,因为它们要承载太多东西。但是,自然语言是非常适合的。因此,对我们来说,这种使用信息传达技术的方法可能会有所不同。对于流程性的东西,我们通过图形界面解决;对于信息传达和数据传达,自然语言的优势是非常明显的。这对于区块链这个场景非常适用。
区块链的特性是公开,数据都在那里。真正的问题是如何应用这些数据,重新整合来找到所需要的答案。Dune Analytics在Defi Summer变得非常的好用,因为大家开始知道它在链上想要找什么数据。在Defi之前,Dune已经存在了,但大家并不会特别用Dune来去获得它想要的一些资讯。现在大家可能会透过MakerDAO的合约来了解说MakerDAO从2021年到现在的区块高度里面Minting Fee赚了多少钱,然后可以交叉比对它跟Liquidity这种稳定币所生成的Minting Fee差别有多少。用户可以用这些资讯去佐证他的一些猜测,验证他的一些投资的原因。但同样的,这个出现了一个问题,就是一个门槛,用户可能有一些想法,但他可能不会写MySQL,所以就无法创造出自己的一个Dune Dashboard。ChatGPT的问世后,让很多人讨论出来一种方式,甚至可以用ChatGPT来写合约,甚至用ChatGPT来做Unity的游戏,或是一个简单生成一个HTML Browser的Game。
是否可以未来通过自然语言去查询一些数据,生成一个Dune Page?有些工具刚好满足了这个要求,可以用自然语言去查询一个数据。但有个问题,就是这些数据高质量的这些表是从哪里来的?必须有人去把它从区块链这些无序的、可能没有价值信息中提取有价值的数据,才能用自然语言去生成有价值的一个指标出来。我认为这是长期是一个非常可行,但是在中短期,像数据服务商可以在中间建立一个将这些区块链公开数据大体量的数据去抽取出有价值的指标出来,去供用户去调度,这个是目前比较可行的事情。我们将现在去链上数据有价值指标,
如果将来有朋友对这方面感兴趣,首先要解决一个问题,那就是你要有独特的内容。完成了第一步之后,我们要去给这些业务数据打标签,因为只有这些业务数据有足够多的语言信息描述,当用户输入自然语言时,我们才能知道如何找到这个样的一个数据去整合给他返回。在这里,会有一个概念叫做embedding,就是在GPT中,它有一个叫做向量的概念,它将文本的语言转换成一个高维度的数字,然后进行匹配。目前所有主流的对话式处理方案都是按照这个思路进行的,首先给自己的数据打很多标签,这些标签或API需要标记上很多问题,比如“我有多少NFT”的问题,这个指标可能需要我们写上20条或者300条问法,我们还可以用GPT帮助我们生成100条类似的问法,去把它给标记。只有这样,用户问任何一个关于NFT的问题,我们才能很高概率地匹配上这样的一个数据。这是目前所有做对话式处理的中期阶段。
如果到了后期的话,比较理想的情况下,我们有了数据,有了大量标记的内容,那么可能我们会希望在已有的模型上进行微调,比如在一个开源模型或GPT模型之上进行微调,让它成为一个专属领域的AI。我认为我们可能会按照这个思路分三个阶段去实现,第一阶段是有数据,第二阶段是标记数据,第三阶段是向量匹配,然后再进行微调。
最后,我们也在思考未来的发展,包括阿里巴巴也出了大语言模型,未来也会有更多这样的大语言模型。我们正在追踪这些发展,包括Facebook等都有一些开源的语言模型,虽然效果上和GPT还有些差距,但是看现在这个发展的速度和能力,他们也有机会和能力能达到GPT3或3.5的水平。
所有做链上数据产品的人现在面临的困境是,大家都基于公开数据开发出没有摩擦的产品。所以我认为,当你提出这个问题时,它的复杂度和逻辑复杂度可能会慢慢增长,可能会包含七种条件和一些嵌套的逻辑。在这种情况下,即使是GPT4也无法准确地得到一个百分之百准确的结果,它可能还需要做一些调整才能完全理解用户体的问题。所以,在一些层面上,我们还有进步的空间。
现在只能做到六七十分的状态,我们需要考虑的是这些词的向量模型,例如Word2Vec。如何根据区块链领域的特点对它们进行调整?这可能也是Mest会遇到的问题之一。我其实想要聊聊Word Embedding,你们如何表示区块链相关的词,以及在搜索方面如何更好地执行。
首先,我们肯定需要自己大量的人工投入,模拟用户可能会问的问题,然后帮助我们生成一些问题,打上标签,然后陆续投入生产,让用户在这个过程中去交互,发现一些问题或者获得更多的数据,辅助我们去优化这个标签,让匹配度更高。
潘致雄:
我想分享一下我们使用ChatGPT的一些感受。我们已经调研了接近两个月,并尝试做一些基于ChatGPT的上层工具链或应用。如果将ChatGPT想象成一个有扩写能力的人,给他一些主题,他就可以生成一些文章。对于内容创作来说,这可能会提供一些帮助。但是,对于深度的研究或新兴行业的分析,它仍然存在许多不足之处,因为它缺乏信息库。因此,我们使用ChatGPT更多地是为了将信息浓缩,需要给它足够多的上下文、联系或知识。当我们给它这些知识后,再进行提问或抽取某些信息库中的信息,它的效果非常好。我们目前使用了两个相对流行的开源库:LlamaIndex。此外,我们也在使用一个基于ChatGPT的平台,可以帮助我们构建自己的数据库,例如PDF和其他资料和数据。在和ChatGPT对话时,我们可以对数据进行预分类和预筛选,提高ChatGPT的效果。
我想举个例子来说明,假设我们需要回答一个用户关于某个具体问题的疑惑,比如 ERC-4337 是什么。我们首先需要从数据库中找到相关文章或内容,并对它们进行切分。例如,一个文章可能被切分成 2000 或 3000 Token 为一个单元。当用户提出问题时,我们需要匹配每个单元和问题的相关度,并找到相关性较高的部分进行提问和回答。然后来匹配单元和问题,以得出相对准确度较高的部分。然后,我们使用 ChatGPT 进行提问和回答,并从中总结得出答案。
这种方法适用于知识类问题。但是如果用户问的是关于 Twitter 这样的短内容,我们只能将问题与每条推特的嵌入式结果进行匹配,并根据与问题相关性较高的推特进行提问和回答,并让 ChatGPT 进行总结。通过这种方法,我们可以得出答案。
目前大多数人工知识库和 ChatGPT 的大方向都是这样的方法。当然,这种方法也存在一些问题,例如同义词的处理。为了提高准确性,可以使用向量表示法进行匹配和总结。在我们的调试过程中,我们发现了许多这样的问题,例如当一个问题涉及到 ERC-4337 时,可能在其他文章中出现了 ERC-20 和 4337 这些数字。这就可能导致搜索结果不够准确,因为匹配的是错误的内容。
关于 ChainBreaker
由 @mrblocktw、 @nake13、@momoxi17 主办的 ChainBreaker 播客,每周五晚上8点直播。
ChainBreak 播客主要和大家分享加密领域的热点话题,加密技术的发展探讨,以及加密世界的八卦等。