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

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大模型,並且在本地運行大模型,真的太高興了,接下來有機會會繼續嘗試其他的可能性。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章