如何优雅的使用各类LLM


    近几个月,随着ChatGPT的风靡,大型语言预训练模型也如雨后春笋般地涌现,虽然效果差强人意,好在不受限制。配置稍好的电脑也能跑个7B、13B参数的大语言模型。

    虽然模型众多,但是如果给每一个模型都单独去配置环境,每个模型单独启用,就显得非常的笨拙,不够优雅。如果能借助SD WEBUI的思路,给这些大预言模型也能够动态地加载起来运用,岂不美哉。俗话说,不怕你想不到,就怕你做不到,有同志已经身先士卒实现了这个想法,站在的巨人的肩膀上,我辈岂有再造轮子的道理,好好借鉴下就行。

    参照这个github地址oobabooga/text-generation-webui: A gradio web UI for running Large Language Models like LLaMA, llama.cpp, GPT-J, Pythia, OPT, and GALACTICA. (github.com)

    人家思路也很明确,就是打造LLM界的SD WEBUI

e37cab9ccaf934a97d807d85f86df49e.png

    话不多说,clone下这个https://github.com/oobabooga/text-generation-webui.git

    然后参照我前面的图文,自行安装anaconda,然后构建python=3.9的环境,然后激活环境,安装依赖包 pip install -r requirments.txt

    然后运行python server.py ,可能会出现如下问题:

9bb491743c80b409faddad4410946a1a.png

这个时候可以更新下gradio 

pip install –force gradio==3.28.3    或者

pip install gradio_client0.1.4 gradio3.25.0

不出意外的话会看到熟悉的gradio风味的界面

7b65e42fbc451da4203f2add0debff24.png

然后我们就需要下载各类模型了,首先当然是meta的LLaMA,这个模型在百度飞浆的页面找到了LLaMA-7B OriginalModelWeights - 飞桨AI Studio (baidu.com),然后运行convert_llama_weights_to_hf.py脚本将模型转换成pytorch的bin文件

然后导入LLaMA

2e1beaf56e893abafa3e127cdde602e5.png

好了,开始探索之旅吧,由于本人显卡太拉,运行异常缓慢,单词一个一个往外蹦,太影响体验了

6ab68cd56b1ae5059667b1237c29dab0.png

看来跟chatgpt还是有差距,可能是因为用的7B模型吧。

接下来就是meta的OPT模型,在huggingface里面可以自行下载Models - Hugging Face,电脑太拉,就选了1.3b参数的模型

2b2c29480a396b540d2dfb9a42a7e81f.png

然后导入模型

31af60c3f70b7236a0e2fc679f448c92.png

这下就快多了,同样的问候,回答的东西就让人感觉很忧郁,有点英文小说的那个味道了,像在给一个远方的朋友诉说自己的近况。

2dba6cc5246cbd9df189f1a6c30b8504.png

最后就是臭名昭著的GPT4chan,下载方法就不展示了,很多地方都把这玩意儿禁止了,很多内容都是和犹太纳粹相关

ecdb690ce13e16115caeb01ad3b63e09.png

7710c829a4d05d215a6bf9a76fd97165.png

好多词汇都打码了,不然我怕被嘎,哈哈

总的来说,模型导入还是比较靠谱的,不需要针对每个模型去搭建运行环境,大大降低了门槛。这哥们也发布了one-click-install,还没有去尝试,应该对新手更友好。各位可以自行尝试oobabooga/one-click-installers: Simplified installers for oobabooga/text-generation-webui. (github.com)

希望后续能有更多的模型接入进来的,最后希望咱们自研的中文LLM也能更进一步吧。


yg9538 2023年11月14日 20:13 1002 收藏文档