有了GPT,樹莓派都變高級了

現在還有什麼領域沒有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 接口即可。

大語言模型

添加大語言模型。首先,需要安裝所需的庫:

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

使用了 Llama-2–7b-Chat-GGUF和 TinyLlama-1–1B-Chat-v1-0-GGUF模型。較小的模型運行速度更快,但較大的模型可能會提供更好的結果。

下載模型後,使用它:

使用該模型很簡單,但接下來:需要在 OLED 屏幕上流式地顯示答案。爲此,將使用自定義回調,每當 LLM 生成新令牌時都會執行該回調:

測試

最後,組合所有部分。代碼很簡單:

這裡,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的結合,不僅爲技術愛好者和開發者提供了一個實驗和創造的平臺,也爲我們打開了一扇通往智能世界的大門。

參考文獻

[5]https://www.tomshardware.com/raspberry-pi/this-raspberry-pi-rover-bot-is-named-floyd-and-is-super-sassy-thanks-to-chat-gpt

[6]

[7]

[8]

[9]