使用ollama分別在我的window、mac、小米手機上部署體驗llama3-8b

aehyok發表於2024-04-22

1、ollama到底是個什麼玩意

一句話來說, Ollama 是一個基於 Go 語言開發的簡單易用的本地大模型執行框架。可以將其類比為 docker(有類似docker中的一些常規命令list,pull,push,run 等等),事實上確實也制定了類似 docker 的一種模型應用標準,在後邊的內容中,你能更加真切體會到這一點。

在管理模型的同時,它還基於 Go 語言中的 Web 框架 gin 提供了一些 Api 介面,讓你能夠像跟 OpenAI 提供的介面那樣進行互動。

2、來看看ollama的幾個命令

ollama 安裝之後,其同時還是一個命令,與模型互動就是透過命令來進行的。

  • ollama list:顯示模型列表
  • ollama show:顯示模型的資訊
  • ollama pull:拉取模型
  • ollama push:推送模型
  • ollama cp:複製一個模型
  • ollama rm:刪除一個模型
  • ollama run:執行一個模型

透過在命令列執行 ollama即可檢視到相關命令

89805f908c29784f7d7a0f9100c80a3

如果你用過 docker 的話,那簡直就是so easy。
接下來我就在我的window、mac、以及小米手機上分別體驗一下。

3、window上下載及體驗

  • https://ollama.com/
    官網首頁一進來就可以看到下載按鈕,客戶端可以在window、mac、linux等進行安裝,跨平臺的,真的nice啊。

並且上面已經把llama3整合進來了,這速度是真的快。
我這裡下載的是window版本,目前213MB,很快就下載下來了。下載完畢即可安裝

安裝完畢之後你可以在命令列中輸入檢視版本

image

我們可以檢視文件:https://github.com/ollama/ollama/blob/main/README.md#quickstart

image

如上圖所示,可以用最簡單的方式就可以來啟動llama3-8b,不過它可能還要等一會兒,因為模型大小有4.7G左右,需要下載一會兒喲。
甚至你的配置夠高,也可以使用70b的模型來嘗試,不過我的電腦配置一般估計跑起來太慢。
image
看這裡下載速度還算可以,四分鐘下載完畢,好了,那就先來測試一下吧。

動畫
整個體驗下來,這可能是我本機測試感覺速度上最快的離線大模型了,真的表現非常棒。按照目前應該很快會有最佳化版本出來的,到時候繼續進行評測一下。

破除了之前有人說沒有上下文的問題,中文語料可能確實有點少。但是寫程式碼的體驗還算不錯的,雖然上面的程式碼可能是不對的。

image
上下文長度過長時確實有幻覺的問題。

這個回答速度真的再最佳化一下,很多小公司自己來部署大模型並進行創造就很近了。
但是它畢竟是小模型,引數相對較少,執行時所需要的資源就少很多。就像我本地執行的,其實我的電腦配置可以看一下如下圖所示

image
從開發的角度來看還算不錯了。另外對翻譯的要求不高的話,效果也還過得去的。

同樣的你也可以直接進行呼叫API

image

4、mac 上安裝以及體驗

同樣還是在官網首頁可以點選直接下載即可,下載下來會是一個壓縮包

5038fd4c5fc4fe2ca719fd7f23078c7

解壓然後安裝就可以使用了,然後在命令列中可以檢視是否安裝成功

b7a6417698460d4d517478ffb0a6235

透過 ollama -v 來檢視安裝的版本,如果列印出來也就說明安裝成功了
然後再透過 ollama serve 開啟 ollama 的服務,注意當前這個命令列視窗暫時不要關閉,關閉了則代表 ollama 服務也暫時停止了,可以開啟另外一個命令列視窗進行下載和使用大模型
同樣的命令

4a985e90e1e5b3471aae674672f5d2c

哇塞,這會的下載速度簡直起飛了
跑起來之後,測試就可以跟上面window類似了,這個就不在此多說了

5、小米手機再來體驗一波

android手機要想體驗一波,就需要先按照依稀Termux,這裡我之前有寫過一篇手把手來教你在手機上安裝大模型llama2,這篇文章中我主要使用的是 huggingface 來執行大模型,那麼現在用到的是ollama。

於是我在Termux中執行如下命令進行安裝ollama
···
curl -fsSL https://ollama.com/install.sh | sh
···
發現我的手機沒有root,ollama是使用不起來的,必須要先root。

簡單搜尋發現一個不錯的方法:
https://gitlab.com/st42/termux-sudo

6ba6dbd6d9b597c744663c0b62ea92f

但是點進去發現是五年前的,不知道能不能用,於是我就又搜尋了一下

https://github.com/termux/proot-distro

proot-distro 是一個用於在 Termux 應用程式中管理和使用 Linux 發行版的專案。Termux 是一個 Android 終端模擬器和 Linux 環境應用,它不需要裝置的 root 許可權就可以執行。
proot-distro 允許使用者在 Termux 中安裝、解除安裝和執行各種 Linux 發行版,包括 Ubuntu、Debian、Arch Linux 等。這樣,使用者就可以在他們的 Android 裝置上使用完整的 Linux 環境,包括安裝和執行 Linux 軟體包。

接下來要先在手機上開啟termux

// 先來安裝proot-distro
pkg install proot-distro

//使用proot-distro安裝一個debian
proot-distro install debian

// 安裝成功後透過login命令就直接進入debian
proot-distro login debian

//進入之後再來安裝ollama
curl -fsSL https://ollama.com/install.sh | sh

// 安裝完畢可以檢視ollama版本進行驗證
ollama -v

// 出現版本號之後就可以使用ollama
// 開啟ollama服務
ollama serve
// 此時這個命令列的視窗不要關閉,關閉之後ollama服務就停止了

然後再termux左上角向右滑動

23dec3e012ccd1b72faf78b4cdd3cd9

點選NEW SESSION,這樣就新開了一個命令列,在這裡命令列中就可以使用ollama其他命令了

// 這是一個新的命令列,,記得要先進入debian
proot-distro login debian

//下載並執行大模型
ollama run llama3

進行測試就跟上面一樣了,這裡相當於單獨安裝了一個模擬執行環境debian,會有一部分效能的消耗吧。有興趣或者手機效能不錯的到時候可以玩玩,感覺小模型在未來的某個時刻還是會有更廣泛的應用場景,引數不用那麼多,那麼大,但是針對特定領域進行微調訓練的。

6、總結

應該說llama3給與了開源模型更廣闊的思考空間,期待開源模型更大的進步讓我們拭目以待。同時希望Meta在接下來的時候能將llama3-400的釋出。

就在實驗此文章的過程中也發現了:

高通與Meta宣佈合作,最佳化Meta新推出的Llama 3大語言模型在驍龍終端上的執行。Llama 3有兩種版本,分別為80億和700億引數,旨在為智慧手機、PC、VR/AR頭顯和汽車等裝置提供強大的開源語言模型支援。合作將使開發者能夠利用高通AI Hub的資源和工具,最佳化Llama 3在驍龍平臺上的執行,以縮短產品上市時間,並提升終端側AI的效能,包括響應能力、隱私性、可靠性和個性化體驗。

這才幾天過去,在huggingface平臺就發現了8箇中文微調模型,不得不說社群的力量真的太強大了,全民共享大模型。

f9038b109618b5dbb5bba41943c2318

從 Llama 3 的釋出能看到,好而全的資料,對模型訓練的重要性! HuggingFaceFW 開源的 FineWeb,有 15T tokens 的高質量網路資料,以英文為主,由 CommonCrawl 獲取的 2013-2024 年資料。

image

ollama和huggingface 給與了像我這樣的普通人,就能很方便的瞭解AI大模型,並且在本地執行大模型,真的太高興了,接下來有機會會繼續嘗試其他的可能性。

相關文章