deepseek吧 关注:120,224贴子:253,014

回复:deepseek 671b 4bit 本地化实战

只看楼主收藏回复

🐂🍺


IP属地:广东17楼2025-03-10 10:36
回复
    这内存快赶上我存储了


    IP属地:广东来自Android客户端19楼2025-03-10 17:41
    回复
      2025-05-30 05:31:13
      广告
      好的,我继续来更新了。因为kt是安装在win的wsl2下的ubuntu下的,嵌套了两层壳子,依然有这速度,我其实挺满意的,其实Ubuntu下也是要用一层anaconda或者其他什么的虚拟环境的壳子来构建kt。
      而kt给我的感觉就是一个纯粹的ims或者vlm或者ollama的ai装载库,只是他的优化更牛,但是缺点也很明显。
      1.kt不支持多路并发
      2.kt没有图形界面ui,比起ims来说,构建的门槛太高了
      3.win下wsl2本身就是个虚拟环境,如果还要再安装docker,docker下再安装anythingllm web或者openwebai,实在太拖累
      4.kt不支持载入ds的同时再载入nomic text或者bgem3这些嵌入ai作为知识库向量化的工具
      屁话了这么多,我这次更新想做的只有一件事,让wsl下的kt deepseek可以在局域网内调用api。而上次发出来的载入ds的kt命令有点问题,嗯,用了127.0.0.1的ip,而wsl下一个虚拟环境一个ip,意思是wsl下的Ubuntu和docker都有独立的虚拟ip,172.XX.XX.XX什么的。不做映射端口,导致局域网内无法穿透。我查了半天网上也没有wsl2下安装kt做局域网api调用的案例,只能找大牛来帮忙了。方法如下:
      1.wsl setting中设置网络模式为nat,主机地址环回记得选关闭,尽力进行DNS分析关闭,其他都选打开。
      2.win防火墙设置入站规则,6006端口任意程序接入。
      3.进入wsl2,cmd或者powershell命令行输入:
      $wsl_ip = (wsl hostname -I).Trim()
      netsh interface portproxy add v4tov4 listenport=6006 listenaddress=0.0.0.0 connectport=6006 connectaddress=$wsl_ip
      #将wsl环境下任何ip的6006端口,都映射为win系统的0.0.0.0的6006端口。每次重启电脑后都要在wsl2下输入这些。
      4.进入wsl2下的ubuntu系统,激活kt框架,输入命令:
      export HF_ENDPOINT="https://hf-mirror.com"
      PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True ktransformers \
      --model_path deepseek-ai/DeepSeek-R1 \
      --gguf_path /home/dministrator/models/DeepSeek-R1-Q4_K_M \
      --max_new_tokens 6192 \
      --cpu_infer 91 \
      --cache_q4 true \
      --temperature 0.6 \
      --top_p 0.95 \
      --host 0.0.0.0 \
      --port 6006
      5.在powershell中输入ipconfig,查看本机ip4地址192.168.0.XX。
      6.然后在本机也好,局域网内其他机器也好,用任何chat客户端,都可以选择类似openai的方式调用了
      7.然后向量化模型,那就只能另一台电脑或者服务器上安装ims载入bgem3或者nomic text来实现了。



      IP属地:北京20楼2025-03-11 01:18
      回复
        6666


        IP属地:福建21楼2025-03-11 09:23
        回复
          1.只做生产力的话可以重装系统,直接安装ubt 不要套壳子
          2.7万多加3万可以买苹果的mac ultra 512g内存直接跑模型


          IP属地:重庆22楼2025-03-11 10:39
          收起回复
            接下来碰到难题了,CHAT客户端接入KT API后,每次读取向量化后的数据库,KT都会提示CUDA超出内存(爆显存),无语了。
            我尝试KT载入ds时上下文设置为100K(KT说他们最高支持136K优化上下文速度)
            原先提问太长造成错误反馈的现象恢复正常了,说明知识库和上下文长度没什么关系。
            尝试设置一次性吐出token数修改,额,也不行。奇怪了。有没有可能是向量化模型bge或者nomic的故障呢?


            IP属地:北京23楼2025-03-11 13:40
            回复
              散了吧,kt只有shell下的chat窗口支持128k上下文,api服务只支持1k上下文,不支持多路并发。官方0.2.3版说明文档里说的。半成品,哎。


              IP属地:北京来自iPhone客户端24楼2025-03-12 17:25
              收起回复
                继续更新,kt 0.2.3 中有一个依赖,在查看他支持长上下文时有单独的篇章提到。
                triton,安装好后重新编译,Ok了,api模式下4096的上下文和知识库都支持了,显存也保持在13.5G的水平。
                之后开始继续折腾,阿B那边有个UP叫 九天,他制作了ktransformers和unsloth的混合框架,实现的功能有几个:
                1.支持deepseek 671b 1.58bit版本的加载(原版kt 0.2.3只支持deepseek 671b 4bit)
                2.需求的硬件门槛更低,有1个16g显存的显卡就够了,内存要大一点,60G。个人电脑上万元级电脑肯定是可以配置了。
                3.api模式伪并发,因为是排队模式,所以是伪,但是原版kt0.2.3并不支持并发。据说下周kt更新可以支持更多的显卡类型,更多的cpu,更多模型,以及并发。期待吧。
                >>>>>>>>>>
                好了,下面是我找大佬帮我编译后加载1.58bit版的实测效果,8tps。10来人的小企业,应该差不多够使使了。




                IP属地:北京25楼2025-03-13 18:30
                回复
                  2025-05-30 05:25:13
                  广告
                  忘记说了,添加加载命令改了下,1.58b和4b两个模型放在同一个文件夹下,设置不同的gguf_path路径就可以选择加载哪个。九天大佬的源码网盘我就不放了,有兴趣的自己找他视频下面扫码要把。
                  export HF_ENDPOINT="https://hf-mirror.com"
                  PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True ktransformers \
                  --model_path deepseek-ai/DeepSeek-R1 \
                  --gguf_path /home/dministrator/models/deepseek-r1-671b-Q1 \
                  --max_new_tokens 4096 \
                  --total_context 32768 \
                  --cache_lens 32768 \
                  --cpu_infer 91 \
                  --cache_q4 true \
                  --temperature 0.6 \
                  --top_p 0.95 \
                  --host 0.0.0.0 \
                  --port 6006


                  IP属地:北京26楼2025-03-13 18:34
                  回复
                    wsl --export Ubuntu d://ubuntu-22.04.tar
                    #将wsl下的乌班图导出到d盘形成一个文件
                    wsl --import ubuntu-22.04 D:\WSL D:\ubuntu-22.04.tar --version 2
                    #wsl --import 导入
                    #ubuntu-22.04 导入系统名
                    #D:\WSL 导入后系统运行的目录
                    #D:\ubuntu-22.04.tar 将要导入的系统文件
                    #--version 2 导入wsl版本为v2
                    意味着我可以把我编译好的kt连带虚拟的ubuntu系统导出到别的电脑的wsl2下使用了。


                    IP属地:北京27楼2025-03-15 16:52
                    回复
                      关于苹果的M3U 512G,以下是外站视频制作者关于这个prefill问题的回答:
                      Here it is using Apple MLX with DeepSeek R1 671B Q4 16K was going OOM - Prompt: 13140 tokens, 59.562 tokens-per-sec - Generation: 720 tokens, 6.385 tokens-per-sec - Peak memory: 491.054 GB 这下用的是苹果MLX,配的是DeepSeek R1 671B Q4的配置。 16K的内存差点撑不住,OOM警告! 提示词:13140个token,处理速度59.562 tokens/秒 生成内容:720个token,速度降到6.385 tokens/秒 峰值内存占用:491.054 GB
                      这才13k的上下文,生成速度才6tps,16k就要爆内存。
                      这哪有我这服务器靠谱哦,目前在32k上下文前提下,同671b 4bit模型也是6-8tps。还说啥。


                      IP属地:北京28楼2025-03-15 18:28
                      回复
                        马克一下,方便学习


                        IP属地:天津29楼2025-03-15 18:30
                        回复
                          问一下,小说怎么样,可以写的好吗


                          IP属地:浙江来自Android客户端30楼2025-03-17 11:20
                          收起回复
                            楼主为了本地部署ds,也是拼了


                            IP属地:吉林来自Android客户端31楼2025-03-18 08:59
                            回复
                              2025-05-30 05:19:13
                              广告
                              更多的加载模式下的测试如下:




                              IP属地:北京32楼2025-03-20 00:10
                              回复