0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

100%在树莓派上执行的LLM项目

jf_cVC5iyAO 来源:易心Microbit编程 2024-02-29 16:29 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

ChatGPT的人性口语化回复相信许多人已体验过,也因此掀起一波大型语言模型(Large Language Model, LLM)热潮,LLM即ChatGPT背后的主运作技术,但LLM运作需要庞大运算力,因此目前多是在云端(Cloud)上执行。

然而在云端执行也有若干缺点,一是Internet断线时无法使用;二是或多或少会泄漏个资隐私;三是上传的话语内容会被审查,但审查标准难以捉摸,且已有诸多矫枉过正的案例;四是因为模型已放在云端与人共享,也可能已被他人误导,俗称模型被教坏了。

所以有些人也希望LLM能在本地端(Local)、本机端执行,如此就不怕断线、泄漏隐私、内容审查、误导等缺点。但要能在本地端执行,其LLM就不能太大,目前已经有诸多信息技术专家提出各种尝试,期望能将云端的LLM轻量化、减肥减肥,以便能在运算力有限的本机端执行。

全世界最简单的类GPT语音助理

对此已有创客发起项目,项目名就叫World’s Easiest GPT-like Voice Assistant,即世界上最简单的类GPT语音助理,以此实现完全在本机端执行的GPT语音服务,不需要任何Internet联机。

至于具体技术作法,首先是找一片树莓派单板计算机,例如RPi 4,然后装上麦克风与喇叭,成为语音互动对话的输入输出,而后安装Whisper这套软件,可以将麦克风接收到的语音转成文字,文字喂给LLM。

LLM接收输入后进行推论处理,处理后的结果以文字输出,输出的文字则透过另一个安装软件进行转化,即eSpeak,把文字转成语音后,再透过喇叭发声回复。

TinyLlama-1.1B模型来实现类GPT语音助理项目

麦克风与喇叭只是末梢,重点是在LLM,哪来的轻量型、本机端执行的LLM?答案是llamafile项目,这个项目将LLM打包成单一个档案,如此可方便地分发(分发distribute,通俗而言指可以轻易地下载文件、传递分享档案)与执行,项目发起者运用llamafile项目中的TinyLlama-1.1B模型来实现类GPT语音助理。

b27941ae-d6db-11ee-a297-92fbcf53809c.png

图3 llamafile项目官网画面(图片来源:GitHub)

TinyLlama-1.1B确实是一个娇小的LLM,以GPT-3而言就有175B,B即Billion指的是10亿,LLM的大小通常以参数数目为准,1,750亿个参数的LLM已相当庞大,需要对应强大的运算力才能顺畅执行。

其他庞大的LLM还有MT-NLG,有5,300亿个参数,或5,400亿个的PaLM等,都难以下放到本机端执行,本机端很难有对应强大的运算力来跑模型。而TinyLlama-1.1B顾名思义只有11亿个参数,参数大大减少下,本机端是有足够运算力执行该模型。

b29b6400-d6db-11ee-a297-92fbcf53809c.png

图4 llamafile项目提供多种预训练模型,目前以TinyLlama-1.1B最小,仅760MB(图片来源:GitHub)

当然,上述所言均是预训练模型(Pre-Train Model),或近期常称为基础模型(Foundation Model, FM),后续还是可以依据个人需要再行训练与调整,以便有更精准、更切合需求的推论结果。

这个类GPT语音助理项目完成上述后,实际测试的结果是,多数的发话询问后需要15秒左右的时间才能回复,复杂的询问则要更久的时间。有人可以等或觉得这时间还可以,若觉得太慢或许可以改用运算力更强的RPi 5单板计算机,可能可以快一点。

值得注意的是,这个项目不是用语音关键词(如Hey! Siri或OK! Google)来唤醒助理,而是设置一个按钮,按下去后才让树莓派开始接收语音询问。

另外,这整个项目用的都是开放源代码及免授权费的软件与模型,所以实现成本大概只有单板计算机、喇叭、麦克风、按钮等硬件而已。

其他技术细节包含llamafile与Raspberry Pi OS不兼容,所以在树莓派上是改安装Ubuntu Linux,更具体而言是64位的Ubuntu Server 22.04.3 LTS。另外,当然也要安装Python才能操控树莓派的GPIO接脚,从而能读取按钮状态(是否被按下)。

小结

最后,这肯定不是第一个也不是最后一个LLM本地端化的尝试,各种尝试正前仆后继地进行着,有的是提供压缩工具将原本肥大的LLM加以缩小,有的干脆是原生训练出轻量的LLM,现阶段可谓是百家争鸣。

而笔者个人的看法,1.1B的LLM已经很小,或许未来可以更小,但现阶段可能改用更强的硬件会更务实,例如使用有GPU的桌面计算机,或给树莓派加装AI硬件加速器等,以便让类GPT语音助理更快速响应。




审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • GPIO
    +关注

    关注

    16

    文章

    1337

    浏览量

    56588
  • 硬件加速器
    +关注

    关注

    0

    文章

    43

    浏览量

    13556
  • 树莓派
    +关注

    关注

    122

    文章

    2086

    浏览量

    110916
  • LLM
    LLM
    +关注

    关注

    1

    文章

    351

    浏览量

    1408

原文标题:不怕脱机!100%在树莓派上执行的LLM项目

文章出处:【微信号:易心Microbit编程,微信公众号:易心Microbit编程】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于树莓派5+LLM8850 Card的高性能AI加速解决方案

    推广的过程中,树莓派生态客户反馈希望能提供一种兼容原装Raspberry PI HAT的M.2 2242的AI Card版本。经过国内优秀的AIOT硬件设计公司M5Stack长达几个月的反复设计,终于本周正式上架了
    的头像 发表于 10-14 11:25 2986次阅读
    基于<b class='flag-5'>树莓</b>派5+<b class='flag-5'>LLM</b>8850 Card的高性能AI加速解决方案

    基于树莓派(RaspberryPi)构建高效实时监控系统

    及安装 ZeroNews Agent 树莓派(Raspberry Pi)上下载并运行 ZeroNews。 第 2 步:树莓派上安装 Motion 监控 先在
    的头像 发表于 09-22 15:14 1771次阅读
    基于<b class='flag-5'>树莓</b>派(RaspberryPi)构建高效实时监控系统

    如何在树莓派上安装Ubuntu MATE ?

    ,而非GNOME。本文中,我将介绍如何轻松地树莓派上安装它。UbuntuMATE官方支持树莓派,因此每发布一个新版本,都会为
    的头像 发表于 08-12 18:56 3557次阅读
    如何在<b class='flag-5'>树莓</b><b class='flag-5'>派上</b>安装Ubuntu MATE ?

    树莓派上开启业余无线电之旅~

    树莓派和RTL-SDR或HackRF等硬件,你可以接收信号、追踪飞行器和船只、解码传输内容,甚至配备适当硬件并获得许可的情况下进行发射。本指南将指导你如何为业余
    的头像 发表于 08-12 18:56 2331次阅读
    <b class='flag-5'>在</b><b class='flag-5'>树莓</b><b class='flag-5'>派上</b>开启业余无线电之旅~

    技能+1!如何在树莓派上使用C++控制GPIO?

    和PiGPIO等库,C++可用于编程控制树莓派的GPIO引脚。它提供了更好的性能和控制能力,非常适合对速度和精度要求较高的硬件项目树莓派社区中,关于“Python
    的头像 发表于 08-06 15:33 4599次阅读
    技能+1!如何在<b class='flag-5'>树莓</b><b class='flag-5'>派上</b>使用C++控制GPIO?

    这个套件让树莓派5运行几乎所有YOLO模型!Conda 与 Ultralytics!

    如何在树莓派上设置YOLO计算机视觉?Conda与Ultralytics本指南中,我们将学习如何使用Conda树莓
    的头像 发表于 07-31 11:51 6038次阅读
    这个套件让<b class='flag-5'>树莓</b>派5运行几乎所有YOLO模型!Conda 与 Ultralytics!

    初学者指南:树莓派上搭建虚拟环境!

    在这篇简明扼要的指南中,我们将探讨如何在树莓派上设置和使用虚拟环境(或称为Venv)——包括终端和Thonny集成开发环境中。使用Bookworm操作系统或更高版本时,或在尝试安装Python
    的头像 发表于 07-27 13:24 1243次阅读
    初学者指南:<b class='flag-5'>树莓</b><b class='flag-5'>派上</b>搭建虚拟环境!

    如何在树莓派上设置并使用VNC?远程访问完整指南!

    为什么要在树莓派上使用VNC?使用VNC与树莓派的主要优势在于其提供的灵活性。我们可以“无头模式”(无物理显示器)下运行树莓派,同时仍能完
    的头像 发表于 07-26 20:42 6312次阅读
    如何在<b class='flag-5'>树莓</b><b class='flag-5'>派上</b>设置并使用VNC?远程访问完整指南!

    C++ 与 Python:树莓派上哪种语言更优?

    Python是树莓派上的首选编程语言,我们的大部分教程都使用它。然而,C++物联网项目中同样广受欢迎且功能强大。那么,
    的头像 发表于 07-24 15:32 1220次阅读
    C++ 与 Python:<b class='flag-5'>树莓</b><b class='flag-5'>派上</b>哪种语言更优?

    树莓派防火墙完整指南:如何在局域网中配置 IPFire ?

    如果你希望树莓派上配置IPFire,本指南将提供一种简单而有效的方法来加强你的网络安全。日益互联的世界中,保护家庭或小型办公室网络免受外部威胁至关重要。一个有效的解决方案是部署防火
    的头像 发表于 07-21 16:34 1558次阅读
    <b class='flag-5'>树莓</b>派防火墙完整指南:如何在局域网中配置 IPFire ?

    树莓派挖掘5种顶级加密货币!

    加密货币是用于在线交易的数字货币。挖掘这些货币通常需要专门的硬件,如ASIC矿机或高性能GPU。然而,有些加密货币仍可用树莓派来挖掘。本文中,我将为您介绍可在树莓派上挖掘的最佳加密货
    的头像 发表于 07-21 16:34 2008次阅读
    用<b class='flag-5'>树莓</b>派挖掘5种顶级加密货币!

    释放潜力:树莓派上运行安卓系统实现多样化应用!

    为什么要在树莓派上运行安卓系统?安卓系统以其庞大的应用生态系统和用户友好的界面而闻名,它能够将树莓派转变为功能强大的设备,能够处理从媒体消费到轻量级计算和物联网应用等各种任务。优势高度定制化:
    的头像 发表于 07-05 08:33 1832次阅读
    释放潜力:<b class='flag-5'>在</b><b class='flag-5'>树莓</b><b class='flag-5'>派上</b>运行安卓系统实现多样化应用!

    如何在树莓派上安装并运行 Arduino 集成开发环境!

    使用树莓派单板计算机,你可以运行各种应用程序,包括广受欢迎的Arduino集成开发环境(IDE)。这意味着你可以用它轻松地为通过USB连接到树莓派计算机的微控制器编程,以创建交互式电子项目。下面
    的头像 发表于 07-01 17:41 4706次阅读
    如何在<b class='flag-5'>树莓</b><b class='flag-5'>派上</b>安装并运行 Arduino 集成开发环境!

    树莓派复古游戏,你会选哪一个?

    复古游戏与树莓派单板计算机的组合十分常见。树莓项目列表中,几乎都会包含至少一个复古游戏项目。复古游戏发行版让
    的头像 发表于 06-16 16:56 1480次阅读
    <b class='flag-5'>树莓</b>派复古游戏,你会选哪一个?

    树莓派“定居”完全指南:一键设置静态IP,稳定又高效!

    当你为树莓派设置静态IP地址时,实际上是为它分配了一个固定地址,该地址不会改变,而动态IP地址则会在设备每次连接到网络时发生变化。树莓派上设置静态IP地址有诸多好处:稳定访问使用静态
    的头像 发表于 05-25 08:32 1834次阅读
    <b class='flag-5'>树莓</b>派“定居”完全指南:一键设置静态IP,稳定又高效!