真·ChatGPT平替:无需显卡,MacBook、树莓派就能运行LLaMA

83e58d9c14aae2a2f6cc7487b03747b9.gif

欢迎关注“

计算机视觉研究院

a5bf5cdac9ac1b2469cd867afd9674ca.gif

计算机视觉研究院专栏

作者:Edison_G

b6d4b362540c2cbee014b70b5fd93130.png

扫描二维码 关注我们

Meta 发布的开源系列模型 LLaMA,将在开源社区的共同努力下发挥出极大的价值。

转自《机器之心》

Meta 在上个月末发布了一系列开源大模型 ——LLaMA(Large Language Model Meta AI),参数量从 70 亿到 650 亿不等。由于模型参数量较少,只需单张显卡即可运行,LLaMA 因此被称为 ChatGPT 的平替。发布以来,已有多位开发者尝试在自己的设备上运行 LLaMA 模型,并分享经验。

虽然相比于 ChatGPT 等需要大量算力资源的超大规模的语言模型,单张显卡的要求已经很低了,但还能更低!最近有开发者实现了在 MacBook 上运行 LLaMA,还有开发者成功在 4GB RAM 的树莓派上运行了 LLaMA 7B。

这些都得益于一个名为 llama.cpp 的新项目,该项目在 GitHub 上线三天,狂揽 4.6k star。

4ee1bd78a845762e20fd4d2172e7fdb4.png

项目地址:https://github.com/ggerganov/llama.cpp

Georgi Gerganov 是资深的开源社区开发者,曾为 OpenAI 的 Whisper 自动语音识别模型开发 whisper.cpp。

这次,llama.cpp 项目的目标是在 MacBook 上使用 4-bit 量化成功运行 LLaMA 模型,具体包括:

  • 没有依赖项的普通 C/C++ 实现;

  • Apple silicon first-class citizen—— 通过 Arm Neon 和 Accelerate 框架;

  • AVX2 支持 x86 架构;

  • 混合 F16 / F32 精度;

  • 4-bit 量化支持;

  • 在 CPU 上运行。

llama.cpp 让开发者在没有 GPU 的条件下也能运行 LLaMA 模型。项目发布后,很快就有开发者尝试在 MacBook 上运行 LLaMA,并成功在 64GB M2 MacBook Pro 上运行了 LLaMA 7B 和 LLaMA 13B。

6ba4b2a789812020a70cc392919fdc4e.png

在 M2 MacBook 上运行 LLaMA 的方法:https://til.simonwillison.net/llms/llama-7b-m2

如果 M2 芯片 MacBook 这个条件还是有点高,没关系,M1 芯片的 MacBook 也可以。另一位开发者分享了借助 llama.cpp 在 M1 Mac 上运行 LLaMA 模型的方法。

4ea7bf06ba9ba073527a34ea29135e33.png

在 M1 Mac 上运行 LLaMA 的方法:https://dev.l1x.be/posts/2023/03/12/using-llama-with-m1-mac/

除了在 MacBook 上运行,还有开发者借助 llama.cpp 在 4GB RAM Raspberry Pi 4 上成功运行了 LLaMA 7B 模型。Meta 首席 AI 科学家、图灵奖得主 Yann LeCun 也点赞转发了。

dd7e8f4e3c56ae26705239d83ee8e9f1.png

以上是 3 个在普通硬件设备上成功运行 LLaMA 模型的例子,几位开发者都是借助 llama.cpp 实现的,可见 llama.cpp 项目的实用与强大。我们来具体看一下 llama.cpp 的使用方法。

以 7B 模型为例,运行 LLaMA 的大体步骤如下:

# build this repo
git clone https://github.com/ggerganov/llama.cppcd llama.cpp
make
# obtain the original LLaMA model weights and place them in ./models
ls ./models
65B 30B 13B 7B tokenizer_checklist.chk tokenizer.model
# install Python dependencies
python3 -m pip install torch numpy sentencepiece
# convert the 7B model to ggml FP16 format
python3 convert-pth-to-ggml.py models/7B/ 1
# quantize the model to 4-bits
./quantize.sh 7B
# run the inference
./main -m ./models/7B/ggml-model-q4_0.bin -t 8 -n 128

运行更大的 LLaMA 模型,需要设备有足够的存储空间来储存中间文件。

如果想获得像 ChatGPT 一样的交互体验,开发者只需要以 - i 作为参数来启动交互模式。

./main -m ./models/13B/ggml-model-q4_0.bin -t 8 -n 256 --repeat_penalty 1.0 --color -i -r "User:" \-p \
"Transcript of a dialog, where the User interacts with an Assistant named Bob. Bob is helpful, kind, honest, good at writing, and never fails to answer the User's requests immediately and with precision.User: Hello, Bob.
Bob: Hello. How may I help you today?
User: Please tell me the largest city in Europe.
Bob: Sure. The largest city in Europe is Moscow, the capital of Russia.
User:"

使用 --color 区分用户输入和生成文本之后,显示效果如下:

a03b2bb51565ca4f2f75be2c03c4617f.png

一番操作下来,开发者就能在自己的简单设备上运行 LLaMA 模型,获得类 ChatGPT 的开发体验。以下是项目作者 Georgi Gerganov 给出的 LLaMA 7B 模型详细运行示例:

make -j && ./main -m ./models/7B/ggml-model-q4_0.bin -p "Building a website can be done in 10 simple steps:" -t 8 -n 512
I llama.cpp build info:I UNAME_S:  Darwin
I UNAME_P:  arm
I UNAME_M:  arm64
I CFLAGS:   -I.              -O3 -DNDEBUG -std=c11   -fPIC -pthread -DGGML_USE_ACCELERATE
I CXXFLAGS: -I. -I./examples -O3 -DNDEBUG -std=c++11 -fPIC -pthread
I LDFLAGS:   -framework Accelerate
I CC:       Apple clang version 14.0.0 (clang-1400.0.29.202)I CXX:      Apple clang version 14.0.0 (clang-1400.0.29.202)
make: Nothing to be done for `default'.main: seed = 1678486056
llama_model_load: loading model from './models/7B/ggml-model-q4_0.bin' - please wait ...llama_model_load: n_vocab = 32000
llama_model_load: n_ctx   = 512
llama_model_load: n_embd  = 4096
llama_model_load: n_mult  = 256
llama_model_load: n_head  = 32
llama_model_load: n_layer = 32
llama_model_load: n_rot   = 128
llama_model_load: f16     = 2
llama_model_load: n_ff    = 11008
llama_model_load: ggml ctx size = 4529.34 MB
llama_model_load: memory_size =   512.00 MB, n_mem = 16384
llama_model_load: .................................... done
llama_model_load: model size =  4017.27 MB / num tensors = 291
main: prompt: 'Building a website can be done in 10 simple steps:'
main: number of tokens in prompt = 15
1 -> ''8893 -> 'Build'
292 -> 'ing'
263 -> ' a'
4700 -> ' website'
508 -> ' can'
367 -> ' be'
2309 -> ' done'
297 -> ' in'
29871 -> ' '
29896 -> '1'
29900 -> '0'
2560 -> ' simple'
6576 -> ' steps'
29901 -> ':'
sampling parameters: temp = 0.800000, top_k = 40, top_p = 0.950000
Building a website can be done in 10 simple steps:1) Select a domain name and web hosting plan
2) Complete a sitemap
3) List your products
4) Write product descriptions
5) Create a user account
6) Build the template
7) Start building the website
8) Advertise the website
9) Provide email support
10) Submit the website to search engines
A website is a collection of web pages that are formatted with HTML. HTML is the code that defines what the website looks like and how it behaves.The HTML code is formatted into a template or a format. Once this is done, it is displayed on the user's browser.The web pages are stored in a web server. The web server is also called a host. When the website is accessed, it is retrieved from the server and displayed on the user's computer.A website is known as a website when it is hosted. This means that it is displayed on a host. The host is usually a web server.A website can be displayed on different browsers. The browsers are basically the software that renders the website on the user's screen.A website can also be viewed on different devices such as desktops, tablets and smartphones.Hence, to have a website displayed on a browser, the website must be hosted.A domain name is an address of a website. It is the name of the website.The website is known as a website when it is hosted. This means that it is displayed on a host. The host is usually a web server.A website can be displayed on different browsers. The browsers are basically the software that renders the website on the user’s screen.A website can also be viewed on different devices such as desktops, tablets and smartphones. Hence, to have a website displayed on a browser, the website must be hosted.A domain name is an address of a website. It is the name of the website.A website is an address of a website. It is a collection of web pages that are formatted with HTML. HTML is the code that defines what the website looks like and how it behaves.The HTML code is formatted into a template or a format. Once this is done, it is displayed on the user’s browser.A website is known as a website when it is hosted
main: mem per token = 14434244 bytes
main:     load time =  1332.48 ms
main:   sample time =  1081.40 ms
main:  predict time = 31378.77 ms / 61.41 ms per token
main:    total time = 34036.74 ms

看来,LLaMA 将在 Meta 和开源社区的共同努力下,成为众多开发者钻研大规模语言模型的入口。

© THE END 

转载请联系本公众号获得授权

16a6d2ab9143cb7d4474c7b5609edad5.gif

计算机视觉研究院学习群等你加入!

计算机视觉研究院主要涉及深度学习领域,主要致力于人脸检测、人脸识别,多目标检测、目标跟踪、图像分割等研究方向。研究院接下来会不断分享最新的论文算法新框架,我们这次改革不同点就是,我们要着重”研究“。之后我们会针对相应领域分享实践过程,让大家真正体会摆脱理论的真实场景,培养爱动手编程爱动脑思考的习惯!

d6545d0696ca66907e1482415b6b2144.jpeg

扫码关注

计算机视觉研究院

公众号ID|ComputerVisionGzq

学习群|扫码在主页获取加入方式

 往期推荐 

🔗

  • AI+机器人 是代替底层劳动力的趋势!你对SLAM有多了解(文末粉丝福利)

  • ResNet超强变体:京东AI新开源的计算机视觉模块!(附源代码)

  • YOLOS:通过目标检测重新思考Transformer(附源代码)

  • 自己觉得挺有意思的目标检测框架,分享给大家(源码论文都有)

  • Yolo-Z:改进的YOLOv5用于小目标检测(附原论文下载)

  • 多尺度深度特征(上):多尺度特征学习才是目标检测精髓(干货满满,建议收藏)

  • 多尺度深度特征(下):多尺度特征学习才是目标检测精髓(论文免费下载)

  • 霸榜第一框架:工业检测,基于差异和共性的半监督方法用于图像表面缺陷检测

  • CVPR21小样本检测:蒸馏&上下文助力小样本检测(代码已开源)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/2957.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT的平替来了?一文总结 ChatGPT 的开源平替,你值得拥有

文章目录 【AIGC精选】总结 ChatGPT 的开源平替,你值得拥有1.斯坦福发布 Alpaca 7B,性能匹敌 GPT-3.52.弥补斯坦福 Alpaca 中文短板,中文大模型 BELLE 开源3.国产AI大模型 ChatGLM-6B 开启内测4.中文 Alpaca 模型 Luotuo 开源5. ChatGPT 最强…

IntelliJ IDEA 接入ChatGPT (免费,无需注册)生产力被干爆了!

IntelliJ IDEA 接入ChatGPT 前言 : 今天给大家介绍一款好用的 IntelliJ IDEA ChatGPT 插件 可以帮助我们写代码,以及语言上的处理工作,以及解释代码。让我们的生产力大大提高! 一. ChatGPT-Plus 功能介绍 支持最新idea版本AI询问功能,写好…

不用魔法、使用原生ChatGPT、30秒注册不要绑定任何账号【AskChat.ai】

直接上链接【AskChat.ai】 http://www.askchat.ai?r124478 手机打开不登录可以直接用3次。 AskChat.ai 普通用户的使用规则 AskChat.ai 免费使用的额度 个人使用案例

【关于ChatGPT的30个问题】14、ChatGPT在中国是否被禁用了?/ By 禅与计算机程序设计艺术

14、ChatGPT在中国是否被禁用了?为什么? 目录 14、ChatGPT在中国是否被禁用了?为什么? ChatGPT是否被禁用?

ChatGPT Something went wrong 处理

一、报错提示 Something went wrong. If this issue persists please contact us through our help center at help.openai.com. 二、解决方案 一般是代理节点出现问题 ChatGPT退出登录 关闭代理并重新启动代理 切换其他节点 清除浏览器缓存 重新登录ChatGPT 问题解决&am…

让ChatGPT教你AI绘画|如何将ChatGPT与Midjourney结合使用,赶紧实践起来

转载 近期最火的人工智能应用莫过于ChatGpt了,上架短短3个月就已经有几个亿的用户了。反反复复地体验ChatGpt近一个月,感受就两个字​:牛批​! 简单介绍一下什么是Chatgpt,算了让它自己介绍自己吧 回答的还行吧​&a…

时代背景下的 ChatGPT,到底能帮助开发者做什么呢?

前言 最近脍炙人口的技术 ChatGPT,关注度非常高,网上关于它的文章也一大片,不过很多都是关于体验或者部署的,我们习惯去讨论它的技术、模型、趣味等等,但他能在开发者的工作中带给我们些什么东西呢? 我应…

【ChatGPT】科技革命促生互联网时代 ChatGPT浪潮打乱时代布局 人工智能新时代下的发展前景

目录 科技革命促生互联网时代 科技进步伴随着大国崛起 科技革命的发展 互联网时代的到来 ChatGPT浪潮来袭 资本市场当前的热潮 人工智能新时代下我们何去何从 开放注册两个月用户数破亿,ChatGPT的爆火也标志着时代的浪潮将要来袭,由科技革命促生的…

【ChatGPT】是一个危机与机遇并存的时代

ChatGPT是一个危机与机遇并存的时代 前言一、ChatGPT是什么二、ChatGPT的恐怖之处三、ChatGPT真的会取代程序员吗四、ChatGPT对未来的影响 前言 ChatGPT,横空出世,从去年12月,ChatGPT以最快速度(5天)突破百万用户。今年…

ChatGPT时代,别再折腾孩子了

今天这篇完全是从两件事儿有感而发。 昨天在文印店,在复印机上看到装订好的几页纸,我瞥了一眼,是历史知识点: 隋朝大运河分为四段,分别是___ ___ ___ ___,连接了五大河___ ___ ___ ___ ___ ___ 年&#…

前端react如何引入chatgpt实现智能客服

使用背景:react\ts\antd pro\alibaba-chatUI\openai-api 效果图: 1.引入chatUI进行页面开发 chatUI:https://chatui.io/sdk/message import Chat, { Bubble, useMessages } from chatui/core; import chatui/core/dist/index.css; import s…

ChatGPT解答:纯前端文档预览,Vue实现,无需后端,支持Word、Excel、PPT、pdf、文本、图片,附接入demo和文档

ChatGPT解答:纯前端文档预览,Vue实现,无需后端,支持Word、Excel、PPT、pdf、文本、图片,附接入demo和文档 ChatGPTDemo Based on OpenAI API (gpt-3.5-turbo). 纯前端文档预览,Vue实现,无需后…

chatgpt教你练习前端算法

今天想试试chatgpt关于代码算法这一块儿是否好用。 判断质数 上面的代码有一点小问题,当num为2时,返回的结果是错误的,我改进了一下,并优化了一点性能 // 判断是否是素数(质数) function isprime(number)…

ChatGPT发展有多快?

引语:大家好我们是权知星球,开启你独特的知识星际之旅 目录 事件的开始 取代风险清单 一、抓住机会,迎接趋势,积累财富。 二、充分利用它,可以使你的价值得到更大的提升。 三、使用它,可让你的学习和…

玩转ChatGPT:视频制作

一、写在前面 最近,在码深度学习图像识别的相关知识和代码,这一part,看看能否用小Chat搞一个介绍视频。 简单问小Chat: 咒语:我怎么使用你做一个视频?需要配合什么软件生成?? 大意…

变现 起航篇! 手把手交你用chatgpt快速生成视频!

Chatgpt 很多同学都用的非常熟练了,但是都停留在文字阶段,有没有更好玩的用法,可以深度的利用chatgpt做一些事情呢? 今天菜哥就找一个方法可以快速利用chatgpt制作视频,整个过程大概3分钟,非常有趣&#xf…

ChatGPT+MidJourney 3分钟生成你的动画故事

chatgpt是真的火了,chatgpt产生了一个划时代的意义——自chatgpt起,AI是真的要落地了。 chatgpt能做的事情太多了,多到最初开发模型的程序员自己,也没法说得清楚chatgpt都能做啥,似乎只要你能想得到,它都有…

前端实现高仿chatgpt对话页面,3分钟一看就会,你上你也行

自从去年11月份chatgpt出圈之后,他的热度就居高不减,也出现了很多人借助接口开发的国内版本,那么本篇博客就从前端的角度来看看前端如何实现类似chatgpt的对话功能! 最终效果 因为这是我写在一个项目中的,单独提出来…

【ChatGPT】原生JS实现ChatGPT小型Demo

初入前端的小白也可以尝尝鲜 无需科学上网,调用API2D的接口进行连接(也可以换成官方API,均有免费额度) 第一步、注册API2D https://api2d.com/r/187255 使用GitHub或邮箱进行注册登录 ,通过 GitHub 注册的开发者将获…

分享下前端开发如何玩转ChatGPT

去年的时候就跟风注册了一波,其回答问题的准确性和编码能力让我吃惊。不得不说,ChatGPT作为一个新兴的AI产品,和老美的电影里的人工智能有那么一些相像了,甩了三问一不知的小爱、小度和小E不止一条街。 他的🔥出了圈&a…