在DeepSeek-R1
(https://github.com/deepseek-ai/DeepSeek-R1)
AI 模型横空出世后,人们几乎就立马开始询问如何在 MATLAB 中使用这些模型。近期,MathWorks 的软件测试工程师 Vasileios Papanastasiou 在 LinkedIn 上发了指南帖,我第一次在自己的机子上根据他的指导尝试了下。
在本地运行 deepseek-r1:1.5b
我将使用附加功能 “Large Language Models (LLMS) with MATLAB” 以及 ollama,在我的本地机子上运行一个较小的 DeepSeek 模型,并在 MATLAB 中与之交互。按照 Vasileios 的指导,我做的第一件事是:
下载并安装 Ollama: https://ollama.com/download
我在 Windows 上进行了此操作。安装完成后,我打开操作系统的命令行并运行了该命令:
ollama run deepseek-r1:1.5b
这将安装一个 15 亿参数的模型,虽然模型很小,但希望这意味着我不需要担心计算资源的限制。以后我还可以尝试更大的模型。
现在来看看 MATLAB。Vasileios 建议我们从 GitHub
(https://github.com/matlab-deep-learning/llms-with-matlab)
获取附加功能
“Large Language Models (LLMS) with MATLAB”
,但我采取了不同的方法。我点击了 MATLAB R2024b 的“环境”中的“附加功能”。
我在附加功能资源浏览器中搜索 “Large Language Models”,找到后点击 “添加”。这样就完成了下载和安装。
安装就这样完成了。现在让我们在 MATLAB 中开始使用它!
首先,创建一个 ollamaChat 对象
chat = ollamaChat("deepseek-r1:1.5b")
终于,我们可以尝试与 AI 对话
txt = generate(chat,"What is the speed of light?")
我觉得像这样的 LLM 模型有趣的一点是,你可以反复问同一个问题,每次都会得到不同的答案,这反映了它们的
随机性
。有时结果只是略有不同。
txt = generate(chat,"What is the speed of light?")
而有时回复确实会非常冗长,包含很多
“思考”的内容。
txt = generate(chat,"What is the speed of light?")
哇太多字了!
我想这是许多人所说的 AI 冗余
(https://en.wikipedia.org/wiki/AI_slop)
的一个例子。不过,不管它还说了什么,这个模型似乎相当确定光速是299,792,458米每秒,根据维基百科,这是正确的。这是 DeepSeek 模型的一个非常小的版本,但它仍然可以做一些有用的事情,而且是了解基于 LLM 的 AI 技术优缺点的一种有趣且有意义的方式。
您也不妨试试看,然后告诉我们你的想法!
技术小哥本地测评
在本地部署 DeepSeek,并用 MATLAB 调用,是非常容易的,我并未遇到太多困难就成功了,全过程可以总结为以下步骤:
MATLAB 调用大语言模型的优势之一是,容易对大预言模型的返回结果进行处理。
这里给出两个玩法:
1. 利用字符处理能力,对大语言模型结果的关键信息进行提取。
这里我问 DeepSeek 光速是多少 m/s,并反复提问 10 次,对回答结果中的数字进行提取,从而获得更为可靠的结果,代码如下:
chat = ollamaChat("deepseek-r1:32b");
raws = {};