本地CPU上运行LLM,1毛钱都不想多花

广告位招租
扫码页面底部二维码联系

如果你和我一样,最近一直在做Agent试转载请注明出处:www.tangshuang.net本文作者:唐霜,转载请注明出处。探,就会对第三方大模型非常纠结,随着调用【本文受版权保护】著作权归作者所有,禁止商业用途转载。次数的增加,银子也是白花花的流淌,有没有【版权所有,侵权必究】【关注微信公众号:wwwtangshuangnet】省钱的办法呢?当然有,就是在CPU上跑大【转载请注明来源】【关注微信公众号:wwwtangshuangnet】模型。

【版权所有】唐霜 www.tangshu【版权所有】唐霜 www.tangshuang.net本文作者:唐霜,转载请注明出处。ang.net转载请注明出处:www.tangshua【转载请注明来源】【访问 www.tangshuang.net 获取更多精彩内容】ng.net

一般的GPU服务器,一个月下来起码也要2本文版权归作者所有,未经授权不得转载。本文作者:唐霜,转载请注明出处。000左右,算下来,不如调第三方服务的A【版权所有】唐霜 www.tangshuang.net本文版权归作者所有,未经授权不得转载。PI划算,但是调第三方服务存在着数据泄露未经授权,禁止复制转载。转载请注明出处:www.tangshuang.net风险,而且随着用户增长,按tokens计【版权所有】唐霜 www.tangshuang.net原创内容,盗版必究。价的方式,也会消耗如流水,内心滴血。一群著作权归作者所有,禁止商业用途转载。【未经授权禁止转载】大佬找到了省钱的办法,就是让大模型在AM本文作者:唐霜,转载请注明出处。【本文首发于唐霜的博客】D的GPU,甚至在CPU上跑。如果在CP【转载请注明来源】原创内容,盗版必究。U上跑,我们只需要租一台核心过得去内存比【版权所有】唐霜 www.tangshuang.net著作权归作者所有,禁止商业用途转载。较大的服务器即可,每个月的价格瞬间降到几【本文首发于唐霜的博客】本文版权归作者所有,未经授权不得转载。百块,甚至打折时期,花千把来块就可以租一转载请注明出处:www.tangshuang.net【本文受版权保护】年。本文主要来聊一聊,如何让LLM运行在本文版权归作者所有,未经授权不得转载。【访问 www.tangshuang.net 获取更多精彩内容】CPU上,以极限姿势压榨服务器,达到省钱【转载请注明来源】转载请注明出处:www.tangshuang.net目的。不是GPU不够好,而是CPU性价比【未经授权禁止转载】【转载请注明来源】更高。

【原创不易,请尊重版权】转载请注明出处:www.tangshua未经授权,禁止复制转载。未经授权,禁止复制转载。ng.net【作者:唐霜】

想要让LLM在CPU上运行,核心要做到两【版权所有】唐霜 www.tangshuang.net【本文受版权保护】个点:

【本文首发于唐霜的博客】本文版权归作者所有,未经授权不得转载。转载请注明出处:www.tangshua【关注微信公众号:wwwtangshuangnet】【访问 www.tangshuang.net 获取更多精彩内容】ng.net本文版权归作者所有,未经授权不得转载。
  • 高效的CPU运算架构
  • 【版权所有】唐霜 www.tangshu【关注微信公众号:wwwtangshuangnet】转载请注明出处:www.tangshuang.netang.net著作权归作者所有,禁止商业用途转载。【关注微信公众号:wwwtangshua未经授权,禁止复制转载。【转载请注明来源】ngnet】著作权归作者所有,禁止商业用途转载。
  • 对大模型的性能压榨
  • 本文版权归作者所有,未经授权不得转载。本文版权归作者所有,未经授权不得转载。【转载请注明来源】本文版权归作者所有,未经授权不得转载。

只要做到这两点,再配合一台硬件上还不错的著作权归作者所有,禁止商业用途转载。原创内容,盗版必究。普通CPU服务器,就可以让我们获得一个性【版权所有】唐霜 www.tangshuang.net未经授权,禁止复制转载。价比最大化的本地大模型服务。

【关注微信公众号:wwwtangshua转载请注明出处:www.tangshuang.net【版权所有】唐霜 www.tangshuang.netngnet】本文版权归作者所有,未经授权不得转载。

针对第一点,社区大佬Georgi Ger【本文首发于唐霜的博客】转载请注明出处:www.tangshuang.netganov想到了用c/c++重新实现模型【原创不易,请尊重版权】未经授权,禁止复制转载。框架,在想到这个点子后,经过一个晚上的奋战之后,他推出了llama.cpp项目。

【原创内容,转载请注明出处】【本文受版权保护】著作权归作者所有,禁止商业用途转载。【原创不易,请尊重版权】

Georgi Gerganov

【作者:唐霜】本文作者:唐霜,转载请注明出处。
【版权所有,侵权必究】【版权所有,侵权必究】

该项目主要用于运行大模型,完成推理过程。转载请注明出处:www.tangshuang.net【作者:唐霜】使用c/c++的优势在于:

【本文首发于唐霜的博客】未经授权,禁止复制转载。【原创内容,转载请注明出处】
  • 无需任何额外依赖,相比 Python 代原创内容,盗版必究。本文作者:唐霜,转载请注明出处。码对 PyTorch 等库的要求,C/C原创内容,盗版必究。【作者:唐霜】++ 直接编译出可执行文件,跳过不同硬件【访问 www.tangshuang.net 获取更多精彩内容】著作权归作者所有,禁止商业用途转载。的繁杂准备;
  • 著作权归作者所有,禁止商业用途转载。【本文首发于唐霜的博客】
  • 支持 Apple Silicon 芯片的【作者:唐霜】原创内容,盗版必究。 ARM NEON 加速,x86 平台则【原创内容,转载请注明出处】【未经授权禁止转载】以 AVX2 替代;
  • 转载请注明出处:www.tangshua原创内容,盗版必究。本文版权归作者所有,未经授权不得转载。ng.net转载请注明出处:www.tangshua本文版权归作者所有,未经授权不得转载。【原创不易,请尊重版权】ng.net【原创不易,请尊重版权】【版权所有】唐霜 www.tangshu【转载请注明来源】本文版权归作者所有,未经授权不得转载。ang.net
  • 具有 F16 和 F32 的混合精度;
  • 【本文首发于唐霜的博客】【原创内容,转载请注明出处】本文作者:唐霜,转载请注明出处。
  • 支持 4-bit 量化;
  • 【访问 www.tangshuang.n本文作者:唐霜,转载请注明出处。本文版权归作者所有,未经授权不得转载。et 获取更多精彩内容】原创内容,盗版必究。【转载请注明来源】
  • 无需 GPU,可只用 CPU 运行;
  • 未经授权,禁止复制转载。著作权归作者所有,禁止商业用途转载。
  • 【本文首发于唐霜的博客】【原创不易,请尊重版权】【版权所有】唐霜 www.tangshu本文版权归作者所有,未经授权不得转载。【关注微信公众号:wwwtangshuangnet】ang.net【本文受版权保护】

由于纯 C/C++ 实现,无其他依赖,运转载请注明出处:www.tangshuang.net【本文首发于唐霜的博客】行效率很高,除 MacBook Pro 本文版权归作者所有,未经授权不得转载。本文作者:唐霜,转载请注明出处。外,甚至可以在 Android 上运行。

【版权所有,侵权必究】原创内容,盗版必究。【未经授权禁止转载】未经授权,禁止复制转载。

​针对第二点,如何将动则上100B的大模转载请注明出处:www.tangshuang.net原创内容,盗版必究。型进行压缩,以可以让普通的CPU机器也可著作权归作者所有,禁止商业用途转载。【关注微信公众号:wwwtangshuangnet】以带得动呢?答案是通过“量化”。所谓量化【本文首发于唐霜的博客】【版权所有】唐霜 www.tangshuang.net,学术的说是“将连续取值的浮点型模型权重【访问 www.tangshuang.net 获取更多精彩内容】【访问 www.tangshuang.net 获取更多精彩内容】进行裁剪和取舍的技术”,简单讲就是压缩,丢失部分精度,换取空间和著作权归作者所有,禁止商业用途转载。【作者:唐霜】性能。Georgi Gerganov提出了自著作权归作者所有,禁止商业用途转载。本文作者:唐霜,转载请注明出处。己的量化方案ggml,并在该量化方案被广【未经授权禁止转载】原创内容,盗版必究。泛认可后,ggml成为一种量化模型的文件本文作者:唐霜,转载请注明出处。原创内容,盗版必究。格式。但是,大模型领域发展的太快了,gg原创内容,盗版必究。本文作者:唐霜,转载请注明出处。ml很快跟不上步伐,于是在2023年8月转载请注明出处:www.tangshuang.net【原创不易,请尊重版权】他又推出了改进方案gguf,该方案替代g【本文受版权保护】本文版权归作者所有,未经授权不得转载。gml成为最新的量化模型文件格式。而且,【未经授权禁止转载】本文版权归作者所有,未经授权不得转载。目前HuggingFace也大力支持了该【版权所有】唐霜 www.tangshuang.net著作权归作者所有,禁止商业用途转载。格式。当然,除了gguf方案外,还有其他著作权归作者所有,禁止商业用途转载。【版权所有】唐霜 www.tangshuang.net量化方案,例如知名的GPTQ等。总之,经本文作者:唐霜,转载请注明出处。【原创不易,请尊重版权】过量化后的模型,可以提升性能,​降低对硬【版权所有,侵权必究】【本文受版权保护】件资源的要求。

【未经授权禁止转载】转载请注明出处:www.tangshua著作权归作者所有,禁止商业用途转载。【本文受版权保护】ng.net【版权所有】唐霜 www.tangshu【原创不易,请尊重版权】【原创内容,转载请注明出处】ang.net

现在,我们有了llama.cpp和ggu【转载请注明来源】【访问 www.tangshuang.net 获取更多精彩内容】f,我们就可以在CPU机器上跑大模型了​本文版权归作者所有,未经授权不得转载。未经授权,禁止复制转载。

【原创内容,转载请注明出处】原创内容,盗版必究。【版权所有】唐霜 www.tangshu【作者:唐霜】【访问 www.tangshuang.net 获取更多精彩内容】ang.net【版权所有】唐霜 www.tangshu【转载请注明来源】未经授权,禁止复制转载。ang.net

不过先不要着急,我们还有杀手锏。虽然ll【原创内容,转载请注明出处】【作者:唐霜】ama.cpp是可以直接运行,可是它的运著作权归作者所有,禁止商业用途转载。转载请注明出处:www.tangshuang.net行方式有点不那么感冒​。毕竟现在很少有人【原创不易,请尊重版权】【版权所有,侵权必究】在用c++写业务系统了,所以,我们最好还本文版权归作者所有,未经授权不得转载。未经授权,禁止复制转载。是能跟我们的​应用结合起来便是最好。​这原创内容,盗版必究。原创内容,盗版必究。里有两种方案:

本文作者:唐霜,转载请注明出处。【本文首发于唐霜的博客】【转载请注明来源】【访问 www.tangshuang.n【未经授权禁止转载】【转载请注明来源】et 获取更多精彩内容】
  • 独立服务,通过RPC或http进行调用
  • 原创内容,盗版必究。【转载请注明来源】本文作者:唐霜,转载请注明出处。
  • 编译为业务系统开发语言支持的模块,直接在【版权所有】唐霜 www.tangshuang.net【原创不易,请尊重版权】代码中调用
  • 【原创不易,请尊重版权】【本文首发于唐霜的博客】未经授权,禁止复制转载。
第一种方案,可以使用llama.cpp项著作权归作者所有,禁止商业用途转载。【原创内容,转载请注明出处】目中提供的轻量http服务,或者第三方的本文版权归作者所有,未经授权不得转载。未经授权,禁止复制转载。docker来起服务,起来之后,就可以通著作权归作者所有,禁止商业用途转载。【未经授权禁止转载】过http api来调用大模型;第二种方本文作者:唐霜,转载请注明出处。【未经授权禁止转载】案,社区非常多的牛人提供了不同语言的模块【版权所有】唐霜 www.tangshuang.net【转载请注明来源】,可以在llama.cpp项目首页看到这【关注微信公众号:wwwtangshuangnet】原创内容,盗版必究。些项目,你只要找到自己业务系统编程语言对【访问 www.tangshuang.net 获取更多精彩内容】本文作者:唐霜,转载请注明出处。应的模块,安装到自己的系统中,就可以像调【本文受版权保护】【关注微信公众号:wwwtangshuangnet】用一个第三方库一样调用大模型。另外,如果原创内容,盗版必究。【访问 www.tangshuang.net 获取更多精彩内容】想快速体验,还可以通过一个知名的项目ol转载请注明出处:www.tangshuang.net【作者:唐霜】lama,一键安装和启动大模型​。

独立服务模式

本文版权归作者所有,未经授权不得转载。著作权归作者所有,禁止商业用途转载。【版权所有】唐霜 www.tangshu著作权归作者所有,禁止商业用途转载。【转载请注明来源】ang.net【版权所有,侵权必究】
转载请注明出处:www.tangshua原创内容,盗版必究。【转载请注明来源】ng.net【关注微信公众号:wwwtangshua【版权所有】唐霜 www.tangshuang.net【转载请注明来源】ngnet】本文版权归作者所有,未经授权不得转载。

模块封装模式

本文作者:唐霜,转载请注明出处。【版权所有】唐霜 www.tangshu【关注微信公众号:wwwtangshuangnet】本文版权归作者所有,未经授权不得转载。ang.net本文作者:唐霜,转载请注明出处。【关注微信公众号:wwwtangshua【版权所有】唐霜 www.tangshuang.net【转载请注明来源】ngnet】
【关注微信公众号:wwwtangshua【转载请注明来源】原创内容,盗版必究。ngnet】本文版权归作者所有,未经授权不得转载。【本文受版权保护】

作为前端开发,我也在前人的肩膀上封装了一著作权归作者所有,禁止商业用途转载。原创内容,盗版必究。个库node-llm,你可以使用 npm【版权所有】唐霜 www.tangshuang.net本文作者:唐霜,转载请注明出处。 install n​ode-llm 来【版权所有,侵权必究】【版权所有】唐霜 www.tangshuang.net安装它。它简化了接口,理解成本极低,可以【版权所有】唐霜 www.tangshuang.net【原创内容,转载请注明出处】让前端开发的同学,以最快的速度在node本文作者:唐霜,转载请注明出处。【原创内容,转载请注明出处】js上启动一个大模型项目​。有了它,再配原创内容,盗版必究。未经授权,禁止复制转载。合langchain的js版本,就可以轻本文作者:唐霜,转载请注明出处。【本文受版权保护】松搭建自己的知识库等Agent应用。而且【原创内容,转载请注明出处】【本文受版权保护】我还融合了之前做的chatglmjs项目著作权归作者所有,禁止商业用途转载。【原创不易,请尊重版权】,在llama之外,支持chatglm系本文版权归作者所有,未经授权不得转载。【访问 www.tangshuang.net 获取更多精彩内容】列模型,chatglm的6b模型要求的性【版权所有】唐霜 www.tangshuang.net【本文受版权保护】能在同级别中最低,非常值得一试​。

【版权所有】唐霜 www.tangshu【作者:唐霜】【原创不易,请尊重版权】ang.net【本文首发于唐霜的博客】

量化后的模型对硬件的要求降低,但是并不意【转载请注明来源】【原创不易,请尊重版权】味着随便一台垃圾机器也可以跑起来,如果我【本文首发于唐霜的博客】【关注微信公众号:wwwtangshuangnet】们有一台8G内存的大模型,我们可以尝试6转载请注明出处:www.tangshuang.net【本文首发于唐霜的博客】B的量化模型​。当然,如果我们有需要,可著作权归作者所有,禁止商业用途转载。【版权所有,侵权必究】以升级机器到32G,此时,我们就可以把量著作权归作者所有,禁止商业用途转载。转载请注明出处:www.tangshuang.net化的精度提高一些,以获得效果更好的​输出【版权所有,侵权必究】转载请注明出处:www.tangshuang.net。如果我们只有2G内存,还是建议调第三方【版权所有】唐霜 www.tangshuang.net【版权所有,侵权必究】接口来的实在​。

【版权所有,侵权必究】【原创内容,转载请注明出处】原创内容,盗版必究。【作者:唐霜】

最后,有人会问,失去精度后,大模型准确性转载请注明出处:www.tangshuang.net【原创内容,转载请注明出处】降低,不就​失去了意义吗?对于这个问题,转载请注明出处:www.tangshuang.net未经授权,禁止复制转载。我想说的是,我们应该根据自己的需求来选择本文作者:唐霜,转载请注明出处。原创内容,盗版必究。,不然为什么所有厂商都会提供不同参数量级【版权所有】唐霜 www.tangshuang.net未经授权,禁止复制转载。的模型呢?说明这些厂商们明白,我们在面对本文版权归作者所有,未经授权不得转载。【版权所有,侵权必究】不同需求时,所需要的精度是不同的​。对于【作者:唐霜】未经授权,禁止复制转载。我们做应用开发而言,我们要学会用架构拆分来合理降低成本。当我们一股脑的把所有LLM处理都丢给一【原创不易,请尊重版权】原创内容,盗版必究。个大模型去处理,意味着该模型要承受巨大的【转载请注明来源】【原创不易,请尊重版权】服务压力,同时,你的成本也​是固定的。但本文作者:唐霜,转载请注明出处。著作权归作者所有,禁止商业用途转载。当我们把不同的处理进行拆分,精度必须高的【原创不易,请尊重版权】【原创内容,转载请注明出处】,分发给智能程度高精度高的大模型去处理,【原创不易,请尊重版权】【原创内容,转载请注明出处】精度要求低的,分发给我们今天搭起来的CP本文作者:唐霜,转载请注明出处。原创内容,盗版必究。U上跑的大模型去处理,如此合理分配,就可未经授权,禁止复制转载。【作者:唐霜】以让我们的成本降低​。

转载请注明出处:www.tangshua【版权所有,侵权必究】原创内容,盗版必究。ng.net【版权所有,侵权必究】转载请注明出处:www.tangshua原创内容,盗版必究。原创内容,盗版必究。ng.net转载请注明出处:www.tangshua本文版权归作者所有,未经授权不得转载。【作者:唐霜】ng.net

对于我们学习、调试期间而言,本着能省则省未经授权,禁止复制转载。著作权归作者所有,禁止商业用途转载。的性价比观念,自己搭一个本地大模型服务,本文版权归作者所有,未经授权不得转载。著作权归作者所有,禁止商业用途转载。调通整个Agent之后,再把部分调用切换未经授权,禁止复制转载。【未经授权禁止转载】到付费大模型去,如此,岂不​省了很多?

【版权所有,侵权必究】未经授权,禁止复制转载。【原创不易,请尊重版权】【版权所有】唐霜 www.tangshu本文作者:唐霜,转载请注明出处。【本文受版权保护】ang.net

2024-04-10 3739

为价值买单,打赏一杯咖啡

本文价值37.39RMB