使用Llama.cpp本地推理运行各种模型,比如DeepSeek R1

前面的文章中我有提到过使用Ollama和LM Studio,一个命令行,一个图形界面在本地来管理和运行大模型。

本文,我将使用LLama.cpp来进行本地推理,运行大模型。

顺便吐槽:
网上太多文章,都是各种编译,小白弄这个也会比较麻烦。大多也是互相抄别人的文章。从安装到使用,早就信息滞后了。
本身这个早就不需要编译了,下载包就能直接用。

Llama.cpp是啥

先发官网:
https://github.com/ggerganov/llama.cpp

目前最火的大模型推理框架之一。我们使用的LM Studio,在Mac上,就是使用的Llama.cpp的底层进行推理。

不明白啥是推理的,可以搜索一下,简单说就是让大模型跑起来,能让我们进行使用。

比较专业的说法:
推理:指利用训练好的神经网络模型进行运算,利用输入的新数据来一次性获得正确结论的过程。

来抄一段Llama.cpp的介绍:
LLaMa.cpp 是由 Georgi Gerganov 开发的。它用高效的 C/C++ 实现了 Meta 的 LLaMa 架构,并且是 LLM 推理领域最活跃的开源社区之一,拥有 390 多位贡献者,官方 GitHub 仓库拥有 43000 多颗星,以及 930 多个版本。 (目前已经 7万多星)

我的总结就是:
1、可以使用CPU来推理(穷人的福利,虽然很慢,但是跑一1、2B的模型体验没问题),比前2天我写文章《Mac本地推理体验DeepSeek最新多模态模型Janus-Pro-7B》代码里,用huggingface的推理脚本,性能更好。
2、可以在Mac上利用Metal芯片显卡进行推理。实测 7B的模型,速度能达到 每秒60 Token的输出,相当相当的流畅。
3、安装比较简单

安装Llama.cpp

1、最新的release发布版本
https://github.com/ggerganov/llama.cpp/releases

2、下载
Intel芯片,下载 x64的。
Mac芯片,下载 arm64的。

使用Llama.cpp本地推理运行各种模型,比如DeepSeek R1

3、下载回来解压,放到一个目录中。注意路径不要有中文。
比如我的:
/Users/kyle/AITool/Inference/llama.cpp-bin

里面还有一层bin目录,bin下面是命令文件,现在就可以使用了。

大概是这样的目录结构:

使用Llama.cpp本地推理运行各种模型,比如DeepSeek R1

4、运行测试一下
在终端中进入这个目录。
这篇文章《Mac 本地体验Dify并连上DeepSeek R1,堪比Coze的开源本地化Agent框架》有快捷办法,可以一键在终端中打开当前目录。

使用Llama.cpp本地推理运行各种模型,比如DeepSeek R1

在目录下运行命令:

./llama-cli -h

有提示即成功,代表可以正常使用了。

最好是建议不要用网上那些编译的方法,当然可以这样做,但是太复杂,也容易出问题。

如果无法运行代表电脑上可能缺一些相关的库。根据提示来安装即可。正常应该很容易运行起来

测试命令行聊天,使用DeepSeek R1

我们之前在LM Studio中已经下载过模型,所以这里直接用LM Studio中的模型。

1、打开LM Studio ,打开我的模型,然后在下拉中,点开在Finder中显示。

Tips:
也可以像我一样,更换目录,把LM Studio的模型放到一个目录中统一管理。
a、先在Finder中显示,然后把所有模板剪到新的目录中。
b、回过来更改路径为新目录
c、重启一下LM,看看模型这里能否正确加载即可。

特别注意:LM的模板是三层目录式,要迁移的时候,要把模型的上层,上上层目录,一切剪切过去。

使用Llama.cpp本地推理运行各种模型,比如DeepSeek R1

2、在Finder中使用Mac复制路径快捷键
Cmd+Option+C。复制文件路径
得到模型的全路径。

3、在命令行中运行聊天模式

# 最简聊天
./llama-cli -m /Users/kyle/AIModel/lmstudio-community/DeepSeek-R1-Distill-Llama-8B-GGUF/DeepSeek-R1-Distill-Llama-8B-Q4_K_M.gguf

注意:./llama-cli需要在llama.cpp的bin目录下执行。

我不想这么麻烦。那就需要把llama-cpp添加到全局环境变量中。
方法:
在~/.bash_profile或者~/.zshrc或者~/.bashrc中添加下面这行。路径换为自己的路径。
以后可以在任意终端中运行和使用llama.cpp的命令了。非常方便。

# Llama.cpp
export PATH="/Users/kyle/AITool/Inference/llama.cpp-bin/bin:$PATH"

出现下面的截图,代表运行成功,可以聊天了。

使用Llama.cpp本地推理运行各种模型,比如DeepSeek R1

然后直接在命令行聊天吧

使用Llama.cpp本地推理运行各种模型,比如DeepSeek R1

4、使用服务模式,可以在界面或者API中调用。

使用命令:启动WebServer API模式

./llama-server -m /Users/kyle/AIModel/lmstudio-community/DeepSeek-R1-Distill-Llama-8B-GGUF/DeepSeek-R1-Distill-Llama-8B-Q4_K_M.gguf

运行后,最后日志提示main: server is listening on http://127.0.0.1:8080 – starting the main loop
代表运行成功。
此时打开http://127.0.0.1:8080 可以使用官方提供的网页版功能。

使用Llama.cpp本地推理运行各种模型,比如DeepSeek R1

当然也可以通过API去调用了。

调用地址:http://localhost:8080/v1/chat/completions
可以使用我上次推荐的Api Fox中,API Hub中的ChatGPT API功能,便捷调试。

使用Llama.cpp本地推理运行各种模型,比如DeepSeek R1

实测8B模型速度在60Token /s,配置Mac 64G内存,48G显卡。

后记

相关的更多命令可以在官网上查询。还有很多别的功能。

其实LLama.cpp最常用的功能还有2个。
1、把别的格式的权重文件(我叫大模型文件,一般是safetensor格式,一种.bin格式。)转换为GGUF格式,供Ollama和LM Studio使用。
2、对模型进一步量化,比如16位的,量化为4位,体积一下就缩小了。

但是这2种操作一般不推荐在自己电脑上玩。最好用免费的算力机器,去跑一跑再上传到HuggingFace或者ModelScope。

有机会继续分享。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇