原创:小姐姐滋味(微信大众号ID:xjjdog),欢迎共享,非大众号转载保留此声明。

很多人可能对百度文心一言发布会的现场记忆犹新。几百亿身价的老板,像小学生一样汇报自己的 PPT,充满了忐忑。

其实大可不必,命令行愈加赋有科技感,也更有说服力。不论对程序员来说还是围观的大众来说,能干什么并不重要,实践输出什么才是咱们最关怀的。

毕竟把人当傻子的年代渐渐过去了。

这也难怪。ChatGPT 的模型越来越完善,资本家们都很着急。以往,打着开源的遮羞布,他们也能够具有自己的自主产权。但没想到 ChatGPT 这么不识好歹,居然将自己的核心技术夹的这么紧。

假如 ChatGPT 的能力,能够离线,能够运转在任何小型设备上,那么具有独立人格的智能单元就会变成实践。这种想象,比集中化的大脑更有诱惑力。

这儿,就有一个。你能够下载下来实践编译运转在在自己的MacBook上。


llama.cpp

github.com/xjjdog/llam…

这是一个 C++ 完成的 LLaMA 对话库。Java 和 Python的同学也不要被吓倒,它的运用超级简略。假如你遇到什么问题,欢迎到大众号(xjjdog)发问。

热门问题:

  • 本仓库只是一点点代码。想要完整运转,需求 下载模型。

  • 输出功能优化: github.com/ggerganov/l…

  • 创立一个 llama.cpp logo: github.com/ggerganov/l…

描述

和ChatGPT对比起来,llama的优点是:运用一般的Macbook,Linux,乃至Docker、树莓派等,就能够运转类比于 ChatGPT 的对话模型。

  • 纯C++代码,代码少,而且没有任何依赖

  • Apple 的M1 芯片也能够跑,而且有功能优化

  • x86架构具有 AVX2 支撑

  • 在 CPU 上就能跑,不需求 GPU

支撑的渠道:

  • [X] Mac OS

  • [X] Linux

  • [X] Windows (via CMake)

  • [X] Docker

模型下载地址:

curl-oggml-alpaca-7b-q4.bin-C-https://gateway.estuary.tech/gw/ipfs/QmQ1bf2BTnYxq73MFJWu1B7bQ2UD6qG7D7YDCxhTndVkPC
curl-oggml-alpaca-7b-q4.bin-C-https://ipfs.io/ipfs/QmQ1bf2BTnYxq73MFJWu1B7bQ2UD6qG7D7YDCxhTndVkPC
curl-oggml-alpaca-7b-q4.bin-C-https://cloudflare-ipfs.com/ipfs/QmQ1bf2BTnYxq73MFJWu1B7bQ2UD6qG7D7YDCxhTndVkPC

那么,这个工具要怎样用呢?超级简略。

首要,将代码clone到本地。

gitclonehttps://github.com/ggerganov/llama.cpp.git

然后,进入到llama.cpp目录。

cdllama.cpp

编译代码。

make

生成后的文件名称叫做main,今后,咱们只需求运转 ./main即可。

最重要的一步,你需求下载一个数据模型。否则 llama 是不知道加载什么数据来进行计算的。为了测试,咱们下载一个最小的。这个文件巨细有3.9G,你需求相应巨细的内存预留。

curl-oggml-alpaca-7b-q4.bin-C-https://gateway.estuary.tech/gw/ipfs/QmQ1bf2BTnYxq73MFJWu1B7bQ2UD6qG7D7YDCxhTndVkPC

最后,咱们就能够指定这个模型,来进行对话输出了。

./main-m./ggml-alpaca-7b-q4.bin-p"Willthefuturebefemale?"-n512--color
  • m 指定的是模型的方位。

  • p 是对话或者问题。比方这儿,我问我是否能够吃狗肉!

  • n 指定的是输出的文字数量,默许是128。

  • –color 输出五颜六色内容。

下面是一些输出。首要会将输入进行切分,然后生成内容,最后将耗时打印。

%./main-m./ggml-alpaca-7b-q4.bin-p"Canieatdog?"-n512--color
Noyoucannot!Eatingdogsisillegalandagainstthelaw.Itwouldbeconsideredanimalabuse,sopleasedontdoitunderanycircumstancesunlessyouareacannibal
main:mempertoken=14368644bytes
main:loadtime=743.12ms
main:sampletime=455.50ms
main:predicttime=46903.35ms/91.79mspertoken
main:totaltime=48455.85ms

交互形式

假如你想要和ChatGPT一样有对话能力的话,也是能够的。需求加上 -i 参数,当然,也能够运用 -r User:参数输出一个提示符。

比方:

./main-m./ggml-alpaca-7b-q4.bin-p"Willthefuturebefemale?"-n128--color-i-r"User:"

授课形式

所谓授课形式,就是提供一个按照次序输出的文件列表,让电脑按照次序把答案输出。假如liyanhong运用这种形式,而不是ppt,估计效果会更好。

比方:

./main-m./models/13B/ggml-model-q4_0.bin-n256--repeat_penalty1.0--color-i-r"User:"-fprompts/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 组成的,但现在它几乎什么都能做。但无疑,除了训练算法,对于运用者来说,模型才是最重要的。

把这些有限的数据预装在小型的设备中,这就会成为最小的智能体。在数据中参与人格(目前的Chat系列是能够做到的),这个智能体就能够充当咱们的秘书、代言人,乃至男女朋友。

嗯,全部皆有可能。从现在开始留意摄生,活的长一点点,来看看未来世界的样子!

作者简介:小姐姐滋味 (xjjdog),一个不允许程序员走弯路的大众号。聚焦基础架构和Linux。十年架构,日百亿流量,与你讨论高并发世界,给你不一样的滋味。我的个人微信xjjdog0,欢迎增加好友,进一步沟通。

引荐阅读:

1. 玩转Linux
2. 什么滋味专辑

3.蓝牙如梦
4.杀机!
5.失联的架构师,只留下一段脚本
6.架构师写的BUG,非比寻常
7.有些程序员,实质是一群羊!

本文正在参与 人工智能创作者扶持计划