去中心化的大模型 LLM 服务

324 天前
 askfermi

ChatBot 的 demo: https://chat.xzyao.dev/

最近重写了一个业余项目 - 在一个 p2p 的网络上跑 LLM ,目前实现比较简单:通过 p2p 把 request forward 到对应的节点的 port 上,目前兼容了 OpenAI 的 API ,理论上应该可以和大部分 OpenAI 的应用兼容。现在跑了两个模型,可以在 chatbot 的界面里看到。

长期目标有两个:

GitHub: https://github.com/autoai-org/OpenComputeFramework

另外感谢开源的 UI 实现: https://github.com/anse-app/anse

5366 次点击
所在节点    分享创造
28 条回复
askfermi
324 天前
另外,欢迎加入 discord 讨论和贡献代码: https://discord.gg/PgGb4z4Jve
lithiumii
324 天前
cat9life
324 天前
这个想法有点 6
privateproxies
324 天前
不太看的懂 需要科普一下
privateproxies
324 天前
yaonotes.org 作者的? 打不开了
peterchen26
324 天前
相当于 llm server 接口聚居地? 一堆人在链上注册一下,别人请求一下,我收点 token ?
nbndco
324 天前
怎么保证 response 的质量?要是我随机返回点东西呢
BlueHat514
324 天前
准备发币吧~
askfermi
324 天前
@privateproxies 基本上就是楼上说的:很多人可以在链上注册自己的 llm server ,我把它们通过一个 peer-to-peer 的网络连在了一起,之后根据请求的情况算如何支付 token 。
另外 yaonotes.org 这个网站因为精力原因不打算继续维护了 :( 抱歉
askfermi
324 天前
@nbndco 这确实是一个我也在尝试实现的问题,我目前的想法是:
- 编译过程里加一个签名,之后在注册到网络的时候需要提供这个签名,保证运行的程序是唯一的。
- 对请求的回复也进行签名和验证,时不时验证返回的回复是不是正确的。

但目前我还没实现这个功能 :(
askfermi
324 天前
@peterchen26 没错,基本上就是这样
askfermi
324 天前
@lithiumii 有点像,但 petals 太慢了
langhuishan
324 天前
比特币这么多的算力不去训练多浪费。修改下比特币算法,用来做训练模型吧
LancerComet
324 天前
有点意思,比纯粹挖矿有意义多了,LLM 服务全自动结算系统
sentinelK
324 天前
楼主能不能阐述下楼主这个技术架构和做算例分包平台有什么区别?

主要有几个疑问:
1 、去中心化体现在哪?交互平台是中心化的,LLM 数据加工的是单个节点,看上去只是一个树状结构而不是网状结构。
2 、如果只是结算方式上链,那不就回到了 IPFS 商业化的老问题:发空气币?
3 、如何验证节点是一个 LLM 算力的有效性?

BTC 之所以用区块链技术实现去中心化,是因为区块链一口气解决了信誉、分工、分布式三个问题。
nikola11
324 天前
这个想法好,不过如果是用以太坊合约结算,其实还是没有利用算力共识,如果是用算力来竞争出块(比如谁先给出答案或者训练数据的节点),这样就可以解决算力的浪费的同时加入激励模型
askfermi
324 天前
@sentinelK
1/ 虽然这个交互平台是中心化的,但 api 的接口(或者说在实际调用计算之前)是去中心化的。用户可以在本地跑一个节点,之后调用这个节点提供的 api ,并把 request 分配到网络里的所有节点上。你也可以跑一个自己的 bootstrap node ,让朋友们加入这个 bootstrap node 。这应该也能回答 2/。
2/ 除此之外,其实商业化并不是这个项目的目标,我的目标是想知道在去中心化的情况下如何验证结果的正确性,如何合理的分配激励,如何调度计算资源等等。
3/ 目前没想到什么好办法,目前的想法是可以不断地对每个节点进行验证,每一个 request 可能被分配到 2 个以上的 node 上。
askfermi
324 天前
@nikola11 说的很对,这可能可以以后研究一下 :)
cqcn1991
324 天前
卧槽可以啊
akaHenry
323 天前
想法很不错, 畅想一个方案:

1. 可以构建一个"LLM 算力/计算资源共享的去中心网络", 基于 Token 付费.

2. LLM 算力池: 所有 LLM 算力节点, 汇集到 LLM 算力池(pool).

3. LLM 挖矿节点: 执行 LLM 任务 + 共识确认.

4. LLM 任务调度机制: 矿工排队接计算任务(类似外卖抢单), 单任务多派发(避免单点失败) + 加权分润.


存在的问题:

1. LLM 网络, 是强实时系统, 对相应速度和并发性能很敏感. 这是 P2P 网络的短板.

2. P2P 比较适合分时+异步任务, 适合对实时反馈不敏感的 Job/Task.

3. 隐私泄漏: 消费者侧的 Task 数据, 容易泄露到 矿工侧, 可能存在 Task 数据加/解密问题.

4. 去中心网络模型退化: 类似 SOL, BSC 链. 可能会退化到 "半中心化网络", 才比较具备可用性. (但这样, 影响力也是降低的)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1005990

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX