去中心化的大模型 LLM 服务 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
askfermi
V2EX    分享创造

去中心化的大模型 LLM 服务

  •  
  •   askfermi
    xzyaoi 2024-01-05 07:51:26 +08:00 6190 次点击
    这是一个创建于 711 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    长期目标有两个:

    • 支持用户绑定自己的钱包,这样在本地 serve 其他人的 request 可以拿到 token ,然后用来支付一些本地没办法 serve 的模型。
    • 和其他的用户一起 serve 一个大的模型,类似 petals ,但它实在太慢了。

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

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

    第 1 条附言    2024-01-05 16:46:43 +08:00
    中文建议使用 openchat/openchat_3.5 这个模型,感觉效果好一些
    28 条回复    2024-02-24 21:55:07 +08:00
    askfermi
        1
    askfermi  
    OP
       2024-01-05 08:18:56 +08:00
    另外,欢迎加入 discord 讨论和贡献代码: https://discord.gg/PgGb4z4Jve
    lithiumii
        2
    lithiumii  
       2024-01-05 09:49:40 +08:00 via Android
    cat9life
        3
    cat9life  
       2024-01-05 09:55:53 +08:00
    这个想法有点 6
    privateproxies
        4
    privateproxies  
       2024-01-05 11:27:47 +08:00
    不太看的懂 需要科普一下
    privateproxies
        5
    privateproxies  
       2024-01-05 11:30:34 +08:00
    yaonotes.org 作者的? 打不开了
    peterchen26
        6
    peterchen26  
       2024-01-05 15:48:35 +08:00   1
    相当于 llm server 接口聚居地? 一堆人在链上注册一下,别人请求一下,我收点 token ?
    nbndco
        7
    nbndco  
       2024-01-05 15:50:28 +08:00 via iPhone
    怎么保证 response 的质量?要是我随机返回点东西呢
    BlueHat514
        8
    BlueHat514  
       2024-01-05 15:52:03 +08:00 via Android
    准备发币吧~
    askfermi
        9
    askfermi  
    OP
       2024-01-05 16:21:34 +08:00   1
    @privateproxies 基本上就是楼上说的:很多人可以在链上注册自己的 llm server ,我把它们通过一个 peer-to-peer 的网络连在了一起,之后根据请求的情况算如何支付 token 。
    另外 yaonotes.org 这个网站因为精力原因不打算继续维护了 :( 抱歉
    askfermi
        10
    askfermi  
    OP
       2024-01-05 16:25:25 +08:00
    @nbndco 这确实是一个我也在尝试实现的问题,我目前的想法是:
    - 编译过程里加一个签名,之后在注册到网络的时需要提供这个签名,保证运行的程序是唯一的。
    - 对请求的回复也进行签名和验证,时不时验证返回的回复是不是正确的。

    但目前我还没实现这个功能 :(
    askfermi
        11
    askfermi  
    OP
       2024-01-05 16:25:43 +08:00
    @peterchen26 没错,基本上就是这样
    askfermi
        12
    askfermi  
    OP
       2024-01-05 16:39:00 +08:00
    @lithiumii 有点像,但 petals 太慢了
    langhuishan
        13
    langhuishan  
       2024-01-05 16:48:18 +08:00   1
    比特币这么多的算力不去训练多浪费。修改下比特币算法,用来做训练模型吧
    LancerComet
        14
    LancerComet  
       2024-01-05 17:15:50 +08:00   1
    有点意思,比纯粹挖矿有意义多了,LLM 服务全自动结算系统
    sentinelK
        15
    sentinelK  
       2024-01-05 17:29:48 +08:00
    楼主能不能阐述下楼主这个技术架构和做算例分包平台有什么区别?

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

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

    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 链. 可能会退化到 "半中心化网络", 才比较具备可用性. (但这样, 影响力也是降低的)
    ChatGemini
        21
    ChatGemini  
       2024-01-06 22:20:25 +08:00
    看不懂 也来支持一下
    sworld233
        22
    sworld233  
       2024-01-07 11:59:56 +08:00   1
    我觉得是一个不错的想法,要是能解决上面说的正确性、调度、激励等问题,说不定会很有用
    lyang
        23
    lyang  
       2024-01-08 08:50:32 +08:00   1
    不太懂去中心化 正确性是否可以多收集几个返回,一致就正确
    R4rvZ6agNVWr56V0
        24
    R4rvZ6agNVWr56V0  
       2024-01-08 12:40:08 +08:00   1
    目前只实现了基本的通信部分吗? 没体现出 workload 是如何分配、硬件需求和资源池监控之类的事情。
    askfermi
        25
    askfermi  
    OP
       2024-01-08 17:08:41 +08:00 via Android
    @GeekGao 是的 目前 workload 会随机在支持同一模型的节点里随机分配,监控和其他的目前没实现,估计需要下一个大版本
    askfermi
        26
    askfermi  
    OP
       2024-01-08 17:09:48 +08:00 via Android
    @lyang 我也想过这个方案,会有两个问题:1. 会有一些资源浪费 2. 由于 llm 生成本身有一些随机性,会导致没办法期待完全一样的结果。
    peterchen26
        27
    peterchen26  
       2024-01-10 11:40:07 +08:00 via Android
    @akaHenry 直接开发代币 哈哈哈
    coinbase
        28
    coinbase  
       2024-02-24 21:55:07 +08:00
    可以发币,我来梭哈 0.1eth
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     906 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 22:13 PVG 06:13 LAX 14:13 JFK 17:13
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86