在履历过早期调用 OpenAI API 各种停滞后,我以为大语言模型,最终还是必要回归到私有化部署这条路上来。究竟,连近来新上市的手机都开始内置大语言模型了,我先后在手机上体验了有大语言模型加持的小爱同砚,以及抖音的豆包,不能说体验有多好,可终归是聊胜于无。现在,整个人工智能范畴大致可以分为三个条理,即:算力、模型和应用。此中,算力,本质上就是芯片,对大模型来说特指高性能显卡;模型,现在在 Hugging Face 可以找到各种开源的模型,即便可以节省练习模型的成本,可对这些模型的微调和改进依然是 “最后一公里” 的痛点;应用,现在 GPTs 极大地推动了各类 AI 应用的落地,而像 Poe 这类聚合式的 AI 应用功能要更强大一点。最终,我决定先在 CPU 环境下利用 llama.cpp 部署一个 AI 大模型,等买通上下游关节后,再思量利用 GPU 环境实现最终落地。从头开始练习一个模型是不大现实的,可如果通过 LangChain 这类框架接入本地知识库还是有希望的。
编译 llama.cpp
至此,我们就完成了全部的准备工作。必要说明的是,这里是以 Windows + Make + OpenBLAS 为例进行演示和写作。如果你是 Mac 或者 Linux 系统用户,或者你想 CMake 或者 CUDA,请参考官方文档:https://github.com/ggerganov/llama.cpp,虽然这份文档是纯英文的,但是我信赖这应该难不倒屏幕前的各位步伐员朋友,哈哈。
编译过程
好的,对于 llama.cpp 而言,其实官方提供了预编译的可执行步伐,具体请参考这里:https://github.com/ggerganov/llama.cpp/releases。通常环境下,普通的 Windows 用户只必要选择雷同 llama-b2084-bin-win-openblas-x64.zip 如许的发行版本即可。如果你拥有高性能显卡,可以选择雷同 llama-b2084-bin-win-cublas-cu12.2.0-x64.zip 如许的发行版即可,此中的 cu 表现 CUDA,这是由显卡厂商 Nvdia 推出的运算平台。什么样的显卡算高性能显卡呢?就我朴实无华的游戏史观点而言,只要能流通运行育碧旗下的《刺客信条:大革命》及厥后续作品的,都可以算得上高性能显卡。这里,我们选择手动编译,由于通读整个文档你就会发现,llama.cpp 里面提供了大量的编译参数,这些参数或多或少地会影响