稀有猿诉

十年磨一剑,历炼出锋芒,说话千百句,不如码二行。

教你用最优雅的方式把玩大模型

人工智能(Artificial Intelligence)几乎与计算机科学一样古老,在二十世纪50年代被首次提出,在60年代就已经形成比较成熟的理论。但受制于算力和数据,直到二十一世纪第一个10年后才有了重大突破(深度学习和CNN),并在第二个10年正式爆发(大模型)。2022年秋OpenAI的ChatGPT 3横空出世,让AI第一次达到「类人」层次,大语言模型(Large Language Model, LLM)也正式进入了公众的视野。自此,大模型开始刷屏和霸榜,人们言必之大模型。如果不折腾折腾大模型,似乎就是原始人,跟别人聊天都插不上话。痛定思痛,今天就来好好研究下大模型以跟上步伐。

注意:常说的大模型是大语言模型的一种不严谨的简称,更为好的说法是大语言模型(Large Langauge Model)或者用其英文简写LLM,本文可能会混着用。

要了解一个东西最好的方式就先学会使用它,所以我们先从使用大模型开始。

在本地部署LLM

体验大模型的方式有很多种,最方便的就是直接使用各大AI大厂提供的聊天机器人如ChatGPT或者ChatGLM。确实很有趣,可以发现LLM与以往的人工智障非常不同的地方在于,它能听懂人话了,并且说的也像人话,也就是说它真的达到了『类人』层次了。

身为开发人猿,光这么把玩太无聊了,最适合开发人猿的玩法就是自己折腾,对的,我们要在本地部署LLM,这样玩起来才更过瘾。省流点说在本地部署有如下好处:

  • 可以深入了解LLM的技术栈,亲自折腾一遍才能知道到底有啥,需要啥。
  • 更加安全,且能保护个人隐私。不用多说,直接用Chat服务或者API确实方便,但都是把数据传到别人的服务器上。有些不方便说的话,不适合别人看的,那肯定就不能用了。但使用部署在本地的LLM就不用担心了。
  • 定制LLM以打造个人的知识库或者知识助手。
  • 进行模型微调和深入学习。
  • 积累经验,后续如果上云,有经验了就可以快速部署。

在本地部署LLM好处简直不要太多,唯一的缺点就是LLM这玩意儿很费硬件,跑起来比较费钱,要跑的顺畅一些更是大把费钱。

开源LLM托管平台

很明显要想本地部署LLM,模型本身必须是开源的,因此只有开源的LLM才能在本地部部署,闭源的模型,只能通过其API使用。

那么,在折腾之前必须要搞懂的事情就是到哪里去找开源的LLM。幸运的是不但现在有很多开源LLM,也有非常方便的LLM托管平台。LLM托管平台就像GitHub之于开源代码一样,各大公司研发和测试完成后就会把LLM发布到托管平台上面,以供人使用。

最为著名的当属HuggingFace了,它不但提供LLM的托管,还有一个几乎成为业界标准的LLM评估系统,定期发布最新模型的评估,以帮助大家选择合适的LLM。而且还提供了下载和使用LLM的Python库,即著名的transformers。但很可惜,我们无法访问(你懂得)。

莫慌,对于无法访问的技术网站,一定有国内的镜像的,非常的好用,而且访问速度很快。

清华大学也曾有镜像,不过后来不能用了。

如何在本地运行LLM

下面介绍几种非常方便的,五分钟就能学会的本地部署和运行LLM的方式。

Ollama

最为方便的方式就是使用Ollama,它使用起来特别的方便,安装好以后,直接一句就能运行并使用LLM了:

1
ollama run llama3

这就能运行Meta的最新的LLaMA3模型。当然了,运行具体模型前最好先读一读其文档,确认一下硬件配置是否满足模型要求。像家庭比较贫困的笔者用的是乞丐版的MBP(16G RAM+4G GPU)只能选择8B以内的模型,家庭条件比较好的可以上13B的模型,而33B的最好不要试了。

Ollama非常的好用,它本身是C/S式的,也就是说它会启一个小型的HTTP server以运行LLM,除了直接使用Ollama自己的终端以外,也可以充当模型API给其他工具使用,比如像LangChain就可以无缝对接Ollama。

它的缺点就是它是源于Mac,对Mac最为友好,其他系统如Windows和Linux是后来才支持的。另外就是使用起来比较简陋,仅有一个命令行终端,所以比较好的方式是使用Ollama来管理和运行LLM,但是再用其他工具来构建比较好用的终端。

扩展阅读:

LM Studio

LM Studio是一个集成化的,用户友好的,界面漂亮的开源LLM应用程序,它集LLM下载运行和使用于一体,且有着非常好用的图形化的终端。缺点就是对硬件要求较高,且不能当成API来使用,无法与其他工具对接。

GPT4All

GPT4All是一个与LM Studio类似的集成化的用户友好的工具。除了方便下载外,它也提供了好用的图形化终端来使用LLM。它除了可以使用下载的LLM以外,也支持API,并且除了正常的Chat以外,还能直接处理文档,也就是把文档当作LLM的输入。它对硬件的要求不像LM Studio那样高,缺点是对Mac似乎不太友好,因为它要求必须是最新版本的MacOS。

总结

本文介绍了几种使用起来非常方便的在本地运行LLM的方式,根据工具的特点,如果您使用的是Mac,或者想要与其他工具结合使用,那建议最好使用Ollama,毕竟它是对Mac最为友好的;如果硬件比较好就用LM Studio,否则的话就用GTP4ALL。

参考资料

Comments