一、什么是Alpaca?
Alpaca是斯坦福大學(xué)開發(fā)的一個小型人工智能語言模型。與ChatGPT、Google Bard、Bing Chat等人工智能相比,它的獨特之處在于體積小,性能強大,據(jù)稱堪比ChatGPT 3.5。使用者不會遇到向OpenAI申請ChatGPT賬戶的困難,經(jīng)過簡單的安裝和配置,就可以在本地計算機上運行Alpaca,而且無需連接互聯(lián)網(wǎng),更加安全且方便。
如果你想體驗一下大型語言模型(LLM),又不想大費周章,還冒著泄露信息的風(fēng)險的話,在本地使用Alpaca無疑是一個絕佳的選擇。
圖片來源: Stanford.edu
二、安裝Alpaca
(一)硬件
Alpaca對硬件的要求很低,無需專用的GPU,在AMD2200G、16G DDR4 這樣的老爺機上也可以順暢運行。還有人將其安裝在了樹莓派4這種袖珍機上,但響應(yīng)就非常慢了。
(二)軟件
現(xiàn)在很多資料都是關(guān)于如何在類Linux的環(huán)境下使用Alpaca,而一般人還是更熟悉Windows系統(tǒng)。以下是在Windows環(huán)境下安裝和使用Alpaca的步驟。
首先需要下載和安裝所有必要的軟件、代碼及訓(xùn)練模型。
1. 安裝CMake
安裝CMake,地址為:
https://cmake.org/download/
記得將CMake加在Windows的PATH路徑中。
2. 安裝VS
安裝Visual Studio 2022,選中“使用C++的桌面開發(fā)”,地址為:
https://visualstudio.microsoft.com/downloads/
有介紹MinGW與CMake配合的資料,但沒有配置MinGW成功,還是VS更簡單,配置完成的截圖如下:
3. 安裝Git
下載并安裝Git,地址為:
https://desktop.github.com/
在Git上,將以下地址的代碼克隆到本地:
https://github.com/antimatter15/alpaca.cpp
4. 下載訓(xùn)練模型
接下來需要下載訓(xùn)練模型,目前有7B和13B兩個版本,建議選尺寸較小的7B,地址為:
https://gateway.estuary.tech/gw/ipfs/QmQ1bf2BTnYxq73MFJWu1B7bQ2UD6qG7D7YDCxhTndVkPC
將下載的文件更名為“ggml-alpaca-7b-q4.bin”,存放在克隆代碼目錄中。
三、編譯及測試
最后是編譯源代碼,生成可執(zhí)行文件,再以訓(xùn)練模型為基礎(chǔ)進行測試對話。
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對話。下圖是它對詢問宇宙年齡、寫一首關(guān)于春天的詩、誰命名了“中國”的回答:
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簡單易用,可以給用戶較好的體驗。缺點是暫時不支持中文,畢竟訓(xùn)練模型就是英文的。貌似已有高手在更改模型,以便讓它支持中文。
從使用來看,人工智能非常依賴高質(zhì)量的訓(xùn)練材料。離開人對它的指導(dǎo)和訓(xùn)練,人工智能還只是人工智障。當(dāng)然,這并不是在否認人工智能將對人類生活產(chǎn)生巨大的幫助,但絕沒有到令人恐慌的程度。現(xiàn)在的媒體和輿論一味販賣焦慮,沒有客觀認識這一新事物的新發(fā)展是不恰當(dāng)?shù)?,靠炒作來的一陣風(fēng)來發(fā)展人工智能也是不可能持久的。
參考資料:
https://crfm.stanford.edu/2023/03/13/alpaca.html
https://github.com/antimatter15/alpaca.cpp
https://beebom.com/how-run-chatgpt-like-language-model-pc-offline/
聯(lián)系客服