如何在个人电脑上运行类Chat GPT的Alpaca?
一、什么是Alpaca?
Alpaca是斯坦福大学开发的一个小型人工智能语言模型。与ChatGPT、Google Bard、Bing Chat等人工智能相比,它的独特之处在于体积小,性能强大,据称堪比ChatGPT 3.5。使用者不会遇到向OpenAI申请ChatGPT账户的困难,经过简单的安装和配置,就可以在本地计算机上运行Alpaca,而且无需连接互联网,更加安全且方便。
如果你想体验一下大型语言模型(LLM),又不想大费周章,还冒着泄露信息的风险的话,在本地使用Alpaca无疑是一个绝佳的选择。
图片来源: Stanford.edu
二、安装Alpaca
(一)硬件
Alpaca对硬件的要求很低,无需专用的GPU,在AMD2200G、16G DDR4 这样的老爷机上也可以顺畅运行。还有人将其安装在了树莓派4这种袖珍机上,但响应就非常慢了。
(二)软件
现在很多资料都是关于如何在类Linux的环境下使用Alpaca,而一般人还是更熟悉Windows系统。以下是在Windows环境下安装和使用Alpaca的步骤。
首先需要下载和安装所有必要的软件、代码及训练模型。
1. 安装CMake
安装CMake,地址为:
/download/
记得将CMake加在Windows的PATH路径中。
2. 安装VS
安装Visual Studio 2022,选中“使用C 的桌面开发”,地址为:
https://visualstudio.microsoft.com/downloads/
有介绍MinGW与CMake配合的资料,但没有配置MinGW成功,还是VS更简单,配置完成的截图如下:
3. 安装Git
下载并安装Git,地址为:
https://desktop.github.com/
在Git上,将以下地址的代码克隆到本地:
https://github.com/antimatter15/alpaca.cpp
4. 下载训练模型
接下来需要下载训练模型,目前有7B和13B两个版本,建议选尺寸较小的7B,地址为:
/gw/ipfs/QmQ1bf2BTnYxq73MFJWu1B7bQ2UD6qG7D7YDCxhTndVkPC
将下载的文件更名为“ggml-alpaca-7b-q4.bin”,存放在克隆代码目录中。
三、编译及测试
最后是编译源代码,生成可执行文件,再以训练模型为基础进行测试对话。
1. 编译
运行Windows下的命令行终端,进入克隆代码的目录。输入以下指令:
cmake .
cmake --build . --config Release
编译生成chat.exe,进程显示如下 :
正在生成代码...
chat.vcxproj-> D:\alpaca\alpaca.cpp\Release\chat.exe
Building Custom Rule
D:/alpaca/alpaca.cpp/CMakeLists.txt
quantize.cpp
utils.cpp
正在生成代码...
quantize.vcxproj ->
D:\alpaca\alpaca.cpp\Release\quantize.exe
Building Custom Rule
D:/alpaca/alpaca.cpp/CMakeLists.txt
2. 测试
运行chat.exe,在“>”提示符下即可输入问题,开始与Alpaca对话。下图是它对询问宇宙年龄、写一首关于春天的诗、谁命名了“中国”的回答:
D:\alpaca\alpaca.cpp>.\Release\chat.exe
main: seed = 1680657283
llama_model_load: loading model from 'ggml-alpaca-7b-q4.bin' - please wait ...
llama_model_load: ggml ctx size = 6065.34 MB
llama_model_load: memory_size = 2048.00 MB, n_mem = 65536
llama_model_load: loading model part 1/1 from 'ggml-alpaca-7b-q4.bin'
llama_model_load: .................................... done
llama_model_load: model size = 4017.27 MB / num tensors = 291
system_info: n_threads = 4 / 4 | AVX = 1 | AVX2 = 1 | AVX512 = 0 | FMA = 0 | NEON = 0 | ARM_FMA = 0 | F16C = 0 | FP16_VA = 0 | WASM_SIMD = 0 | BLAS = 0 | SSE3 = 0 | VSX = 0 |
main: interactive mode on.
sampling parameters: temp = 0.100000, top_k = 40, top_p = 0.950000, repeat_last_n = 64, repeat_penalty = 1.300000
== Running in chat mode. ==
- Press Ctrl C to interject at any time.
- Press Return to return control to LLaMA.
- If you want to submit another line, end your input in '\'.
> what is the age of the universe?
The current estimate for when our Universe was created (the Big Bang) is 13-14 billion years ago, so it's around this time that we can say the Universe has been in existence.
> can you write a poem of spring?
The sun shines brightly on my face;
A gentle breeze carries away all traces of winter’s chill, and I feel alive again! The birds are singing their sweet songs in the trees. A warmth fills me as nature awakens once more… Spring has arrived at last!
> Who named China?
The name "China" was given to this country by a Greek historian, Herodotus (485- 425 BC). He used the term as an alternative for the word 'Barbaria' which he had heard from his Persian friends.
3. 简评
Alpaca简单易用,可以给用户较好的体验。缺点是暂时不支持中文,毕竟训练模型就是英文的。貌似已有高手在更改模型,以便让它支持中文。
从使用来看,人工智能非常依赖高质量的训练材料。离开人对它的指导和训练,人工智能还只是人工智障。当然,这并不是在否认人工智能将对人类生活产生巨大的帮助,但绝没有到令人恐慌的程度。现在的媒体和舆论一味贩卖焦虑,没有客观认识这一新事物的新发展是不恰当的,靠炒作来的一阵风来发展人工智能也是不可能持久的。
参考资料:
/2023/03/13/alpaca.html
https://github.com/antimatter15/alpaca.cpp
/how-run-chatgpt-like-language-model-pc-offline/