有了GPT,树莓派都变高级了

原创 电子工程世界 2024-06-24 07:02
现在还有什么领域没有AI的概念?自从ChatGPT大火,大模型之战就拉开了序幕,这次的战火,也延续到了树莓派领域。

前阵子,树莓派正式上市,虽然没有引发很多人关注,但也说明树莓派一直很受开发者欢迎。过去,很多人都把树莓派这个SBC当作开发的“小玩具”,也有人用工业树莓派,作为生产力。而现在,GPT来了,它也彻底改变树莓派了。

王兆楠、付斌|作者
电子工程世界(ID:EEworldbbs)|出品

 把GPT放在树莓派上 


2023年3月,就有人开始尝试把GPT放在树莓派上。一位名叫Georgi Gerganov的软件开发人员开发出了一款名为“llama.cpp”的工具,它不但可以在Mac笔记本电脑上本地运行Meta新的GPT-3级AI大型语言模型LLaMA。还有人把它在Raspberry Pi上成功运行了,尽管运行速度非常慢。

那时候,斯坦福大学也有人专门研究这项技术。斯坦福开源项目Alpaca分享了实现原理:通过 ChatGPT API 接口调用  text-davinci-003 模型生成了 52000个 训练语料数据,基于 LLaMA 7B 模型使用这52K个语料数据 Fine-tune,8块A100显卡不到3小时完成,最终接近达到了与 OpenAI text-davinci-003 的效果,总共花费还不到600美元。

2024年2月,创客发起项目,尝试将LLM本地端化。该项目名为World’s Easiest GPT-like Voice Assistant,即世界上最简单的类GPT语音助理,以此实现完全在本机端执行的GPT语音服务,不需要任何网络联机。具体方式是:利用树莓派,比如RPi 4,装上麦克风和喇叭,成为语音互动对话的输入输出,而后安装Whisper这套软件,将麦克风接收到的语音转成文字,文字喂给LLM。LLM接收输入后进行推论处理,处理后的结果以文字输出,输出的文字则透过另一个安装软件进行转化,即eSpeak,把文字转成语音后,再透过喇叭发声回复。

最近, 北京邮电大学万物有灵团队也官宣在树莓派上跑GPT实验成功。

把类GPT-3大模型经过量化缩小后,成功装进树莓派中,好比“大象装冰箱”!对于包含70亿个参数的LLaMA-7B,运行的最低内存要求为8GB或12GB。这对于弱计算能力设备仍是不小的负担,他们内存容量往往只有8G甚至4G,光加载模型这一步就将他们拦在GPT的大门外,更别说还需存储模型执行的中间结果。
     
借助于模型量化手段,将模型权重进行压缩。如果想使用更大的模型,或者设备的内存进一步受限,那么模型量化的手段也不足以完全支撑模型的部署。这时,可以进一步将模型分割,并迁移到一个设备集群上执行,让多个模型来均摊巨大的内存开销。

随着在模型初始化以及权重逐步加载,一个具备认知能力的最小智能体就诞生了。向它询问是否了解北邮,经过短暂的思考, 它开始逐字逐句地介绍起北京邮电大学。虽然响应缓慢,但还是成功的完成了整个计算推理流程。


 超炫酷的漫游者机器人 


一个名为Floyd的树莓派漫游者机器人,它因为集成了ChatGPT而变得非常健谈。

图片来源:Larry's Workbench

Floyd是YouTube博主Larry的杰作,使用树莓派4B 作为主控板。它部分由一个HAT(Hardware Attached on Top,顶部硬件附加)辅助,用于处理一些外部组件,比如用于操作轮子和手臂的舵机。机器人的身体似乎是用金属制成的,硬件完全暴露并安装在外面。

就ChatGPT机器人而言,Floyd拥有相当多的身体部件可以操控。它能够通过一组轮子移动,甚至有一个可以移动的手臂。然而,得益于ChatGPT的集成,Floyd被赋予了说话的能力。通过麦克风和扬声器,Floyd可以进行语音到文本和文本到语音的交互并即时地给出定制化的回应。


 再做一个桌面机器人 


国外创客 David Packman 也制作了一款基于树莓派的机器人 MBO-AI,它的外观设计灵感来自动漫 Adventure Time 中的机器人 MBO,具有强大的交互功能,可实现脱机唤醒词检测、调用 ChatGPT 3.5 进行聊天、机器视觉对图像进行分析和说明等众多功能。


BMO-AI 利用运行 Raspbian Bullseye 的 Raspberry PI 3B + 和 Adafruit CRICKIT Hat 进行伺服电机控制和来自其按钮阵列的信号输入。它有四个关节点和一个 5 英寸的显示屏,用于使用 Pygame 库显示面部表情和图像。BMO 还使用其他几个库来实现以下 AI 功能:
  • 语音转文本和文本转语音,使用 Azure 语音服务进行脱机唤醒词检测。
  • 使用 OpenAI ChatGPT 3.5 Turbo 完成单轮问答文本。
  • 使用 OpenAI ChatGPT 3.5 Turbo 聊天完成的多转和上下文感知聊天。
  • 使用 Azure 计算机视觉服务进行图像分析和说明。
  • 树莓派相机模块 v3,具有图像捕获和共享功能。
  • 新的绘画模式使用稳定扩散根据您的口语描述绘制图片。
  • 来自 ChatGPT 3.5 描述模式的新 DALL-E 映像,它将根据 ChatGPT 生成的描述创建映像。


 在树莓派上语音识别 


目前,绝大多数大模型运行在云端服务器,终端设备通过调用api的方式获得回复。再过几年,万一项目组被关停,API接口被关闭,用户花大价钱购买的智能硬件可能会成为一块砖头。因此,如何完全离线运行一直是用户最关心的事情。

国外网友利用Raspberry Pi 4和一块128x64 I2C的单色OLED显示屏,在树莓派上成功运行了语音识别和LLama-2 GPT。其中显示屏无需焊接,在 Raspberry Pi 设置中启用 I2C 接口即可。

大语言模型

添加大语言模型。首先,需要安装所需的库:

pip3 install llama-cpp-pythonpip3 install huggingface-hub sentence-transformers langchain

在使用LLM之前,需要下载它。使用huggingface-cli工具:

huggingface-cli download TheBloke/Llama-2-7b-Chat-GGUF llama-2-7b-chat.Q4_K_M.gguf --local-dir . --local-dir-use-symlinks FalseORhuggingface-cli download TheBloke/TinyLlama-1.1B-Chat-v1.0-GGUF tinyllama-1.1b-chat-v1.0.Q4_K_M.gguf --local-dir . --local-dir-use-symlinks False

使用了 Llama-2–7b-Chat-GGUF和 TinyLlama-1–1B-Chat-v1-0-GGUF模型。较小的模型运行速度更快,但较大的模型可能会提供更好的结果。
下载模型后,使用它:

from langchain.llms import LlamaCppfrom langchain.callbacks.manager import CallbackManagerfrom langchain.callbacks.streaming_stdout import StreamingStdOutCallbackHandlerfrom langchain.prompts import PromptTemplatefrom langchain.schema.output_parser import StrOutputParser
llm: Optional[LlamaCpp] = Nonecallback_manager: Any = None
model_file = "tinyllama-1.1b-chat-v1.0.Q4_K_M.gguf" # OR "llama-2-7b-chat.Q4_K_M.gguf"template_tiny = """<|system|>You are a smart mini computer named Raspberry Pi.Write a short but funny answer.<|user|>{question}<|assistant|>"""template_llama = """[INST] <>You are a smart mini computer named Raspberry Pi.Write a short but funny answer.>{question} [/INST]"""template = template_tiny
def llm_init():""" Load large language model """global llm, callback_manager
callback_manager = CallbackManager([StreamingCustomCallbackHandler()])llm = LlamaCpp(model_path=model_file,temperature=0.1,n_gpu_layers=0,n_batch=256,callback_manager=callback_manager,verbose=True,)
def llm_start(question: str):""" Ask LLM a question """global llm, template
prompt = PromptTemplate(template=template, input_variables=["question"])chain = prompt | llm | StrOutputParser()chain.invoke({"question": question}, config={})

使用该模型很简单,但接下来:需要在 OLED 屏幕上流式地显示答案。为此,将使用自定义回调,每当 LLM 生成新令牌时都会执行该回调:

class StreamingCustomCallbackHandler(StreamingStdOutCallbackHandler):""" Callback handler for LLM streaming """

def on_llm_start(self, serialized: Dict[str, Any], prompts: List[str], **kwargs: Any) -> None:""" Run when LLM starts running """print("")

def on_llm_end(self, response: Any, **kwargs: Any) -> None:""" Run when LLM ends running """print("")

def on_llm_new_token(self, token: str, **kwargs: Any) -> None:""" Run on new LLM token. Only available when streaming is enabled """print(f"{token}", end="")add_display_tokens(token)


测试

最后,组合所有部分。代码很简单:

if __name__ == "__main__":add_display_line("Init automatic speech recogntion...")asr_init()

add_display_line("Init LLaMA GPT...")llm_init()

while True:# Q-A loop:add_display_line("Start speaking")add_display_line("")question = transcribe_mic(chunk_length_s=5.0)if len(question) > 0:add_display_tokens(f"> {question}")add_display_line("")

llm_start(question)

这里,Raspberry Pi 在 5 秒内录制音频,然后语音识别模型将音频转换为文本;最后,将识别出的文本发送给LLM。结束后,重复该过程。这种方法可以改进,例如,通过使用自动音频电平阈值,但对于一个weekend demo来说,它已经足够好了。

在树莓派上运行成功后,输出如下所示:


 GPT+树莓派实现的AI拍立得 


两位设计师 Kelin 和 Ryan 创造了一款 AI 新物种 Poetry Camera 诗歌相机。

图源:Poetry Camera

一块树莓派 Raspberry Pi Zero 2 W,一颗 1200 万像素树莓派 Camera Module 3 摄像头,一个热敏打印机,以及一些电池、线缆、存储卡配件。Kelin 和 Ryan 还将搭建 Poetry Camera 的软硬件"说明书",详细地公布在开源平台 GitHub 上。这也意味着,只要配齐素材,每个人都能创作出属于自己的 Poetry Camera。

Poetry Camera 使用起来,与一般相机无异,按下「快门」即可。但不一般的是,Poetry Camera 只能生成诗歌,不能拍摄记录照片。对此,我们先看看 Poetry Camera 的技术逻辑:

当按下"快门"按钮时,Poetry Camera 会将相机拍摄的照片传输给 ChatGPT,由 ChatGPT 识别照片,如其中色彩、形状、物体等关键信息,进而根据视觉数据,自动生成诗歌。

来源:Marilyn Hue / Instagram

诗歌生成后,再传送给 Poetry Camera,由热敏打印机将其打印出来。

图源:Poetry Camera

最后用户收到的是一条如超市购物单般印有诗歌的纸带。

至于为什么不记录照片,Ryan 给出的答案是:简化功能会更易于我们创作这款产品,其次考虑的是隐私问题。

 做一个支持ChatGPT的手表 


YouTube博主MayLabs演示了一款用树莓派制作支持ChatGPT的智能手表,这款智能手表无需手机或PC支持,可以在任何地方使用,还可以通过ChatGPT回答用户的语音问题。

该手表为一位化名为“Frumtha Fewchure”的制造商开发,它使用 Raspberry Pi 4B 进行处理。


手表部分配有显示麦克风启用的LED 灯、几个按钮、一个 0.96 英寸的双色 OLED 屏幕和两个 Apple Watch 表带的支架。这些按钮为 6 x 6 x 4.3 毫米触觉按钮。此外,该手表还有一个LED用作红外线发射器,因此手表可以在最终更新中用作通用遥控器。

手表上有三个按钮,通过Pi来识别你按了哪一个,通过这些按钮,您可以获得一些 CPU 统计信息或表盘,但最有趣的是连接到ChatGPT以提问的按钮。答案在显示屏上显示为文本,如果您连接了耳机(有线或蓝牙),也会通过音频显示,因为没有任何扬声器。


虽然这款智能手表无需手机或PC支持,但想要与ChatGPT互动还需要互联网连接支持,因此您可以连接到家庭网络上的 Wi-Fi,视频创作者表示,他在咖啡店测试手表时,会将设备连接到智能手机的热点。

随着人工智能技术的不断进步,树莓派已经成为了实现创新AI项目的热门平台。从能够离线运行的语音识别系统到集成了ChatGPT的健谈漫游者机器人Floyd,再到具有交互功能的桌面机器人MBO-AI,以及支持ChatGPT的智能手表,这些项目展示了树莓派在AI领域的广泛应用潜力。

树莓派与AI的结合,不仅为技术爱好者和开发者提供了一个实验和创造的平台,也为我们打开了一扇通往智能世界的大门。


参考文献

[1]https://mp.weixin.qq.com/s/zsWEtc6Ylc1BLZHSVYAI2Q
[2]https://mp.weixin.qq.com/s/hZBIIn4pnrfLk-bHOL-TYw
[3]https://mp.weixin.qq.com/s/OOh-U1--OoehAB8Dg72h-Q
[4]https://mp.weixin.qq.com/s/moGb5Jtdniz7_HhRwdNhug
[5]https://www.tomshardware.com/raspberry-pi/this-raspberry-pi-rover-bot-is-named-floyd-and-is-super-sassy-thanks-to-chat-gpt
[6]https://mp.weixin.qq.com/s/Jpvlmh-C8Zjka2BG_AWagQ
[7]https://mp.weixin.qq.com/s/rh9t7Wt7DVHL3P7xqwG3HQ
[8]https://mp.weixin.qq.com/s/pwhr-wNG_amkIk52lYeIxA
[9]https://mp.weixin.qq.com/s/z_xf-y7Ifhutq0FgxhtJaw


· END ·








电子工程世界 关注EEWORLD电子工程世界,即时参与讨论电子工程世界最火话题,抢先知晓电子工程业界资讯。
评论
  • 1,微软下载免费Visual Studio Code2,安装C/C++插件,如果无法直接点击下载, 可以选择手动install from VSIX:ms-vscode.cpptools-1.23.6@win32-x64.vsix3,安装C/C++编译器MniGW (MinGW在 Windows 环境下提供类似于 Unix/Linux 环境下的开发工具,使开发者能够轻松地在 Windows 上编写和编译 C、C++ 等程序.)4,C/C++插件扩展设置中添加Include Path 5,
    黎查 2025-02-28 14:39 140浏览
  •           近日受某专业机构邀请,参加了官方举办的《广东省科技创新条例》宣讲会。在与会之前,作为一名技术工作者一直认为技术的法例都是保密和侵权方面的,而潜意识中感觉法律有束缚创新工作的进行可能。通过一个上午学习新法,对广东省的科技创新有了新的认识。广东是改革的前沿阵地,是科技创新的沃土,企业是创新的主要个体。《广东省科技创新条例》是广东省为促进科技创新、推动高质量发展而制定的地方性法规,主要内容包括: 总则:明确立法目
    广州铁金刚 2025-02-28 10:14 103浏览
  •         近日,广电计量在聚焦离子束(FIB)领域编写的专业著作《聚焦离子束:失效分析》正式出版,填补了国内聚焦离子束领域实践性专业书籍的空白,为该领域的技术发展与知识传播提供了重要助力。         随着芯片技术不断发展,芯片的集成度越来越高,结构也日益复杂。这使得传统的失效分析方法面临巨大挑战。FIB技术的出现,为芯片失效分析带来了新的解决方案。它能够在纳米尺度上对芯片进行精确加工和分析。当芯
    广电计量 2025-02-28 09:15 116浏览
  • 在2024年的科技征程中,具身智能的发展已成为全球关注的焦点。从实验室到现实应用,这一领域正以前所未有的速度推进,改写着人类与机器的互动边界。这一年,我们见证了具身智能技术的突破与变革,它不仅落地各行各业,带来新的机遇,更在深刻影响着我们的生活方式和思维方式。随着相关技术的飞速发展,具身智能不再仅仅是一个技术概念,更像是一把神奇的钥匙。身后的众多行业,无论愿意与否,都像是被卷入一场伟大变革浪潮中的船只,注定要被这股汹涌的力量重塑航向。01为什么是具身智能?为什么在中国?最近,中国具身智能行业的进
    艾迈斯欧司朗 2025-02-28 15:45 221浏览
  • 美国加州CEC能效跟DOE能效有什么区别?CEC/DOE是什么关系?美国加州CEC能效跟DOE能效有什么区别?CEC/DOE是什么关系?‌美国加州CEC能效认证与美国DOE能效认证在多个方面存在显著差异‌。认证范围和适用地区‌CEC能效认证‌:仅适用于在加利福尼亚州销售的电器产品。CEC认证的范围包括制冷设备、房间空调、中央空调、便携式空调、加热器、热水器、游泳池加热器、卫浴配件、光源、应急灯具、交通信号模块、灯具、洗碗机、洗衣机、干衣机、烹饪器具、电机和压缩机、变压器、外置电源、消费类电子设备
    张工nx808593 2025-02-27 18:04 120浏览
  • 在物联网领域中,无线射频技术作为设备间通信的核心手段,已深度渗透工业自动化、智慧城市及智能家居等多元场景。然而,随着物联网设备接入规模的不断扩大,如何降低运维成本,提升通信数据的传输速度和响应时间,实现更广泛、更稳定的覆盖已成为当前亟待解决的系统性难题。SoC无线收发模块-RFM25A12在此背景下,华普微创新推出了一款高性能、远距离与高性价比的Sub-GHz无线SoC收发模块RFM25A12,旨在提升射频性能以满足行业中日益增长与复杂的设备互联需求。值得一提的是,RFM25A12还支持Wi-S
    华普微HOPERF 2025-02-28 09:06 143浏览
  • 请移步 gitee 仓库 https://gitee.com/Newcapec_cn/LiteOS-M_V5.0.2-Release_STM32F103_CubeMX/blob/main/Docs/%E5%9F%BA%E4%BA%8ESTM32F103RCT6%E7%A7%BB%E6%A4%8DLiteOS-M-V5.0.2-Release.md基于STM32F103RCT6移植LiteOS-M-V5.0.2-Release下载源码kernel_liteos_m: OpenHarmon
    逮到一只程序猿 2025-02-27 08:56 195浏览
  • Matter 协议,原名 CHIP(Connected Home over IP),是由苹果、谷歌、亚马逊和三星等科技巨头联合ZigBee联盟(现连接标准联盟CSA)共同推出的一套基于IP协议的智能家居连接标准,旨在打破智能家居设备之间的 “语言障碍”,实现真正的互联互通。然而,目标与现实之间总有落差,前期阶段的Matter 协议由于设备支持类型有限、设备生态协同滞后以及设备通信协议割裂等原因,并未能彻底消除智能家居中的“设备孤岛”现象,但随着2025年的到来,这些现象都将得到完美的解决。近期,
    华普微HOPERF 2025-02-27 10:32 214浏览
  • 振动样品磁强计是一种用于测量材料磁性的精密仪器,广泛应用于科研、工业检测等领域。然而,其测量准确度会受到多种因素的影响,下面我们将逐一分析这些因素。一、温度因素温度是影响振动样品磁强计测量准确度的重要因素之一。随着温度的变化,材料的磁性也会发生变化,从而影响测量结果的准确性。因此,在进行磁性测量时,应确保恒温环境,以减少温度波动对测量结果的影响。二、样品制备样品的制备过程同样会影响振动样品磁强计的测量准确度。样品的形状、尺寸和表面处理等因素都会对测量结果产生影响。为了确保测量准确度,应严格按照规
    锦正茂科技 2025-02-28 14:05 134浏览
  • 构建巨量的驾驶场景时,测试ADAS和AD系统面临着巨大挑战,如传统的实验设计(Design of Experiments, DoE)方法难以有效覆盖识别驾驶边缘场景案例,但这些边缘案例恰恰是进一步提升自动驾驶系统性能的关键。一、传统解决方案:静态DoE标准的DoE方案旨在系统性地探索场景的参数空间,从而确保能够实现完全的测试覆盖范围。但在边缘案例,比如暴露在潜在安全风险的场景或是ADAS系统性能极限场景时,DoE方案通常会失效,让我们看一些常见的DoE方案:1、网格搜索法(Grid)实现原理:将
    康谋 2025-02-27 10:00 252浏览
  • 一、VSM的基本原理震动样品磁强计(Vibrating Sample Magnetometer,简称VSM)是一种灵敏且高效的磁性测量仪器。其基本工作原理是利用震动样品在探测线圈中引起的变化磁场来产生感应电压,这个感应电压与样品的磁矩成正比。因此,通过测量这个感应电压,我们就能够精确地确定样品的磁矩。在VSM中,被测量的样品通常被固定在一个震动头上,并以一定的频率和振幅震动。这种震动在探测线圈中引起了变化的磁通量,从而产生了一个交流电信号。这个信号的幅度和样品的磁矩有着直接的关系。因此,通过仔细
    锦正茂科技 2025-02-28 13:30 100浏览
  • RGB灯光无法同步?细致的动态光效设定反而成为产品客诉来源!随着科技的进步和消费者需求变化,电脑接口设备单一功能性已无法满足市场需求,因此在产品上增加「动态光效」的形式便应运而生,藉此吸引消费者目光。这种RGB灯光效果,不仅能增强电脑周边产品的视觉吸引力,还能为用户提供个性化的体验,展现独特自我风格。如今,笔记本电脑、键盘、鼠标、鼠标垫、耳机、显示器等多种电脑接口设备多数已配备动态光效。这些设备的灯光效果会随着音乐节奏、游戏情节或使用者的设置而变化。想象一个画面,当一名游戏玩家,按下电源开关,整
    百佳泰测试实验室 2025-02-27 14:15 137浏览
  • 更多生命体征指标风靡的背后都只有一个原因:更多人将健康排在人生第一顺位!“AGEs,也就是晚期糖基化终末产物,英文名Advanced Glycation End-products,是存在于我们体内的一种代谢产物” 艾迈斯欧司朗亚太区健康监测高级市场经理王亚琴说道,“相信业内的朋友都会有关注,最近该指标的热度很高,它可以用来评估人的生活方式是否健康。”据悉,AGEs是可穿戴健康监测领域的一个“萌新”指标,近来备受关注。如果站在学术角度来理解它,那么AGEs是在非酶促条件下,蛋白质、氨基酸
    艾迈斯欧司朗 2025-02-27 14:50 400浏览
  • 应用趋势与客户需求,AI PC的未来展望随着人工智能(AI)技术的日益成熟,AI PC(人工智能个人电脑)逐渐成为消费者和企业工作中的重要工具。这类产品集成了最新的AI处理器,如NPU、CPU和GPU,并具备许多智能化功能,为用户带来更高效且直观的操作体验。AI PC的目标是提升工作和日常生活的效率,通过深度学习与自然语言处理等技术,实现更流畅的多任务处理、实时翻译、语音助手、图像生成等功能,满足现代用户对生产力和娱乐的双重需求。随着各行各业对数字转型需求的增长,AI PC也开始在各个领域中显示
    百佳泰测试实验室 2025-02-27 14:08 255浏览
我要评论
0