原創(chuàng):小姐姐味道(微信公眾號ID:xjjdog),歡迎分享,非公眾號轉載保留此聲明。
很多人可能對百度文心一言
發(fā)布會的現(xiàn)場記憶猶新。幾百億身價的老板,像小學生一樣匯報自己的 PPT,充滿了忐忑。
其實大可不必,命令行更加富有科技感,也更有說服力。不管對程序員來說還是圍觀的群眾來說,能干什么并不重要,實際輸出什么才是大家最關心的。
畢竟把人當傻子的年代慢慢過去了。
這也難怪。ChatGPT 的模型越來越完善,資本家們都很著急。以往,打著開源的遮羞布,他們也可以擁有自己的自主產權。但沒想到 ChatGPT 這么不識好歹,竟然將自己的核心技術夾的這么緊。
如果 ChatGPT 的能力,能夠離線,能夠運行在任何小型設備上,那么擁有獨立人格的智能單元就會變成現(xiàn)實。這種設想,比集中化的大腦更有誘惑力。
這里,就有一個。你可以下載下來實際編譯運行在在自己的MacBook上。
llama.cpp
https://github.com/xjjdog/llama.cpp。文末原文連接也可以直達!
這是一個 C++ 實現(xiàn)的 LLaMA 對話庫。Java 和 Python的同學也不要被嚇倒,它的使用超級簡單。如果你遇到什么問題,歡迎到公眾號(xjjdog)提問。
熱門問題:
本倉庫只是一點點代碼。想要完整運行,需要 下載模型。
輸出性能優(yōu)化: https://github.com/ggerganov/llama.cpp/issues/64
創(chuàng)建一個
llama.cpp
logo: https://github.com/ggerganov/llama.cpp/issues/105
描述
和ChatGPT對比起來,llama的好處是:使用普通的Macbook,Linux,甚至Docker、樹莓派等,就可以運行類比于 ChatGPT 的對話模型。
純C++代碼,代碼少,而且沒有任何依賴
Apple 的M1 芯片也可以跑,而且有性能優(yōu)化
x86架構擁有 AVX2 支持
在 CPU 上就能跑,不需要 GPU
支持的平臺:
[X] Mac OS
[X] Linux
[X] Windows (via CMake)
[X] Docker
模型下載地址:
curl?-o?ggml-alpaca-7b-q4.bin?-C?-?https://gateway.estuary.tech/gw/ipfs/QmQ1bf2BTnYxq73MFJWu1B7bQ2UD6qG7D7YDCxhTndVkPC
curl?-o?ggml-alpaca-7b-q4.bin?-C?-?https://ipfs.io/ipfs/QmQ1bf2BTnYxq73MFJWu1B7bQ2UD6qG7D7YDCxhTndVkPC
curl?-o?ggml-alpaca-7b-q4.bin?-C?-?https://cloudflare-ipfs.com/ipfs/QmQ1bf2BTnYxq73MFJWu1B7bQ2UD6qG7D7YDCxhTndVkPC
那么,這個工具要怎么用呢?超級簡單。
首先,將代碼clone到本地。
git?clone?https://github.com/ggerganov/llama.cpp.git
然后,進入到llama.cpp目錄。
cd?llama.cpp
編譯代碼。
make
生成后的文件名稱叫做main
,以后,我們只需要運行 ./main
即可。
最重要的一步,你需要下載一個數(shù)據(jù)模型。否則 llama 是不知道加載什么數(shù)據(jù)來進行計算的。為了測試,我們下載一個最小的。這個文件大小有3.9G,你需要相應大小的內存預留。
curl?-o?ggml-alpaca-7b-q4.bin?-C?-?https://gateway.estuary.tech/gw/ipfs/QmQ1bf2BTnYxq73MFJWu1B7bQ2UD6qG7D7YDCxhTndVkPC
最后,我們就可以指定這個模型,來進行對話輸出了。
./main?-m?./ggml-alpaca-7b-q4.bin?-p?"Will?the?future?be?female?"?-n?512?--color
m 指定的是模型的位置。
p 是對話或者問題。比如這里,我問我是否能夠吃狗肉!
n 指定的是輸出的文字數(shù)量,默認是128。
--color 輸出彩色內容。
下面是一些輸出。首先會將輸入進行切分,然后生成內容,最后將耗時打印。
%?./main?-m?./ggml-alpaca-7b-q4.bin?-p?"Can?i?eat?dog?"?-n?512?--color
No?you?cannot!?Eating?dogs?is?illegal?and?against?the?law.?It?would?be?considered?animal?abuse,?so?please?don’t?do?it?under?any?circumstances…unless?you?are?a?cannibal
main:?mem?per?token?=?14368644?bytes
main:?????load?time?=???743.12?ms
main:???sample?time?=???455.50?ms
main:??predict?time?=?46903.35?ms?/?91.79?ms?per?token
main:????total?time?=?48455.85?ms
交互模式
如果你想要和ChatGPT一樣有對話能力的話,也是可以的。需要加上 -i
參數(shù),當然,也可以使用 -r User:
參數(shù)輸出一個提示符。
比如:
./main?-m?./ggml-alpaca-7b-q4.bin?-p?"Will?the?future?be?female?"?-n?128?--color?-i?-r?"User:"
授課模式
所謂授課模式,就是提供一個按照順序輸出的文件列表,讓電腦按照順序把答案輸出。如果liyanhong使用這種模式,而不是ppt,估計效果會更好。
比如:
./main?-m?./models/13B/ggml-model-q4_0.bin?-n?256?--repeat_penalty?1.0?--color?-i?-r?"User:"?-f?prompts/chat-with-bob.txt
內存需求
內存的需求取決于你使用的模型。我們的測試使用的都是最簡單的模型,所以4GB就夠了。如果想要更精細的輸出,你的內存需要更大一些。
model | original size | quantized size (4-bit) |
---|---|---|
7B | 13 GB | 3.9 GB |
13B | 24 GB | 7.8 GB |
30B | 60 GB | 19.5 GB |
65B | 120 GB | 38.5 GB |
Android
你甚至可以在Android上跑起來。如果你的內存夠大,那么完全可以做一個小型對話機器人,還是本地的!
后面如果解決了部分加載的問題,Android的嵌入式應用會非常方便。
End
人類有用的知識庫看起來很多,但其實訓練下來,最多也不會超過TB級別。當然也不能這么說,計算機也是由 0 和 1 組成的,但現(xiàn)在它幾乎什么都能做。但無疑,除了訓練算法,對于使用者來說,模型才是最重要的。
把這些有限的數(shù)據(jù)預裝在小型的設備中,這就會成為最小的智能體。在數(shù)據(jù)中加入人格(目前的Chat系列是可以做到的),這個智能體就可以充當我們的秘書、代言人,甚至男女朋友。
嗯,一切皆有可能。從現(xiàn)在開始注意養(yǎng)生,活的長一點點,來看看未來世界的樣子!
作者簡介:小姐姐味道 ?(xjjdog),一個不允許程序員走彎路的公眾號。聚焦基礎架構和Linux。十年架構,日百億流量,與你探討高并發(fā)世界,給你不一樣的味道。我的個人微信xjjdog0,歡迎添加好友,進一步交流。
推薦閱讀:
1. 玩轉Linux
2. 什么味道專輯
文章來源:http://www.zghlxwxcb.cn/news/detail-432512.html
3.?藍牙如夢
4.?殺機!
5.?失聯(lián)的架構師,只留下一段腳本
6.?架構師寫的BUG,非比尋常
7.?有些程序員,本質是一群羊!文章來源地址http://www.zghlxwxcb.cn/news/detail-432512.html
到了這里,關于ChatGPT 生態(tài),毀滅人性的一次開源!的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!