近年,大模型是话题的中心。chatGPT以其强大语言处理能力频繁出现在大家的视野中,大模型可以做什么?大模型可以写代码、聊天、办公自动化、写小作文、语言转图片、图片扩展、生成视频等等。

前段时间由于个人原因,博客停更半年,今天我们继续以当下大模型聊聊。对于大部分时间我们只需要花0.000很多个01美刀即可体验像ChatGPT的语言模型功能,但是由于ChatGPT是商业软件并非开源,对于折腾党来说除了去逗GPT开心玩少了很多乐趣。

今天要较介绍的平台GPT4ALL(Open-source large language models that run locally on your CPU and nearly any GPU),是nomic-ai开源的一款可以在本地电脑上跑大模型的一个框架。同时GPT4ALL使用了gguf格式作为模型的标准格式,极大的降低了对电脑的要求和把玩成本。

什么是gguf呢?

gguf是开发者 Georgi Gerganov 基于 Llama 模型写的纯 C/C++ 版本,它最大的优势是可以在 CPU上快速地进行推理而不需要 GPU,支持量化模型在CPU中执行推断,从而实现低资源部署LLM。
所以我们可以hugging face仓库中下载很多优质的模型来进行测试学习。

提供了不同平台的安装方法:

Windows:https://gpt4all.io/installers/gpt4all-installer-win64.exe

Mac:https://gpt4all.io/installers/gpt4all-installer-darwin.dmg

Ubuntu:https://gpt4all.io/installers/gpt4all-installer-linux.run

1)它可以进行Q&A

2)也可以作为个人写作助理

3)可以进行代码的写作

4)可以理解和提取摘要

部分开源模型的性能评估如下:

ModelBoolQPIQAHellaSwagWinoGrandeARC-eARC-cOBQAAvg
GPT4All-J 6B v1.073.474.863.464.754.93640.258.2
GPT4All-J v1.1-breezy7475.163.263.655.434.938.457.8
GPT4All-J v1.2-jazzy74.874.963.663.856.635.34158.6
GPT4All-J v1.3-groovy73.674.363.863.557.73538.858.1
GPT4All-J Lora 6B68.675.866.263.556.435.740.258.1
GPT4All LLaMa Lora 7B73.177.672.167.851.140.440.260.3
GPT4All 13B snoozy83.379.27571.360.944.243.465.3
GPT4All Falcon77.679.874.970.167.943.442.665.2
Nous-Hermes79.578.98071.974.250.946.468.8
Nous-Hermes283.980.780.171.375.752.146.270.0
Nous-Puffin81.580.780.472.577.650.745.669.9
Dolly 6B68.877.367.663.962.938.741.260.1
Dolly 12B56.775.47162.264.638.540.458.4
Alpaca 7B73.977.273.966.159.843.343.462.5
Alpaca Lora 7B74.379.37468.856.643.942.662.8
GPT-J 6.7B65.476.266.264.162.236.638.258.4
LLama 7B73.177.47366.952.541.442.461.0
LLama 13B68.579.176.270.16044.642.263.0
Pythia 6.7B63.576.36461.161.335.237.256.9
Pythia 12B67.776.667.363.863.934.83858.9
Fastchat T581.564.646.361.849.333.339.453.7
Fastchat Vicuña 7B76.677.270.767.353.541.240.861.0
Fastchat Vicuña 13B81.576.873.366.757.442.743.663.1
StableVicuña RLHF82.378.674.170.96143.544.465.0
StableLM Tuned62.571.253.654.852.431.133.451.3
StableLM Base60.167.441.250.144.9273246.1
Koala 13B76.577.972.668.854.34142.862.0
Open Assistant Pythia 12B67.97868.16564.240.443.261.0
Mosaic MPT7B74.879.376.368.67042.242.664.8
Mosaic mpt-instruct74.380.477.267.872.244.64365.6
Mosaic mpt-chat77.178.274.567.569.443.344.264.9
Wizard 7B78.477.269.966.556.840.542.661.7
Wizard 7B Uncensored77.774.26865.253.538.741.659.8
Wizard 13B Uncensored78.475.572.169.557.540.44462.5
GPT4-x-Vicuna-13b81.37575.26558.743.943.663.2
Falcon 7b73.680.776.367.37143.344.465.2
Falcon 7b instruct70.978.669.866.767.942.741.262.5
text-davinci-00388.183.883.475.883.963.95175.7

官方也提供了多个模型的下载:

上面是开箱即用的安装方式,只要下载好模型和安装包进行安装就可以使用了。

我们也可以使用python版的自己来定制,首先通过pip安装:

pip install gpt4all

安装完成后,下面官方推荐的模型进行测试:

from gpt4all import GPT4All

model = GPT4All("orca-mini-3b-gguf2-q4_0.gguf")

output = model.generate("The capital of France is ", max_tokens=3)

print(output)

如果有好的显卡支持可以用下面方式调用:

from gpt4all import GPT4All

model = GPT4All("orca-mini-3b-gguf2-q4_0.gguf", device='gpu') # device='amd', device='intel'

output = model.generate("The capital of France is ", max_tokens=3)

print(output)

测试后总体感觉不错,对于问答和名词解释相当准确,聊天方面相对chatGPT还是有一段距离,不过对于学习和DIY是足够了。

参考资料:

1.https://github.com/nomic-ai/gpt4all

2.https://gpt4all.io/index.html