」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 在 Android 上運行 Llama:使用 Ollama 的逐步指南

在 Android 上運行 Llama:使用 Ollama 的逐步指南

發佈於2024-11-09
瀏覽:648

Running Llama  on Android: A Step-by-Step Guide Using Ollama

Llama 3.2 最近在 Meta 開發者大會上推出,展示了令人印象深刻的多模式功能以及針對使用高通和聯發科技硬體的行動裝置進行最佳化的版本。這項突破使開發人員能夠在行動裝置上運行 Llama 3.2 等強大的 AI 模型,為更高效、私密和響應迅速的 AI 應用程式鋪平道路。

Meta 發布了 Llama 3.2 的四個變體:

  • 多模式模型具有 110 億 (11B) 和 900 億 (90B) 參數。
  • 純文字模型 具有 10 億 (1B) 和 30 億 (3B) 參數。

較大的模型,尤其是11B 和90B 變體,在圖像理解和圖表推理等任務中表現出色,通常優於Claude 3 Haiku 等其他模型,甚至在某些情況下與GPT-4o-mini競爭。另一方面,輕量級 1B 和 3B 模型專為文字生成和多語言功能而設計,使其成為一個在註重隱私和效率的裝置上應用程式的理想選擇。

在本指南中,我們將向您展示如何使用 Termux 和 Ollama 在 Android 裝置上運行 Llama 3.2。 Termux 在 Android 上提供 Linux 環境,Ollama 協助在本地管理和運行大型模型。

為什麼在本地運行 Llama 3.2?

在本地運行人工智慧模式有兩大好處:

  1. 瞬時處理因為一切都在設備上處理。
  2. 增強隱私性,因為無需將資料傳送到雲端進行處理。

儘管目前支援行動裝置流暢運行Llama 3.2這樣的模型的產品還不多,但我們仍然可以在Android上使用Linux環境來探索它。


在 Android 上運行 Llama 3.2 的步驟

1.在Android上安裝Termux

Termux 是一個終端模擬器,可讓 Android 裝置無需 root 存取即可運行 Linux 環境。它是免費的,可以從 Termux GitHub 頁面下載。

對於本指南,請下載 termux-app_v0.119.0-beta.1 apt-android-7-github-debug_arm64-v8a.apk 並將其安裝在您的 Android 裝置上。

2. 設定 Termux

啟動 Termux 後,請依照下列步驟設定環境:

  1. 授予儲存存取權限:
   termux-setup-storage

此指令可讓 Termux 存取 Android 裝置的儲存空間,從而更輕鬆地管理檔案。

  1. 更新包:
   pkg upgrade

當提示更新 Termux 和所有已安裝的軟體套件時,輸入 Y

  1. 安裝基本工具:
   pkg install git cmake golang

這些軟體包包括用於版本控制的 Git、用於建立軟體的 CMake 以及編寫 Ollama 的程式語言 Go。

3.安裝並編譯Ollama

Ollama 是一個在本地運行大型模型的平台。安裝與設定方法如下:

  1. 複製 Ollama 的 GitHub 儲存庫:
   git clone --depth 1 https://github.com/ollama/ollama.git
  1. 導覽至 Ollama 目錄:
   cd ollama
  1. 產生Go代碼:
   go generate ./...
  1. 建構奧拉瑪:
   go build .
  1. 啟動 Ollama 伺服器:
   ./ollama serve &

現在 Ollama 伺服器將在背景運行,允許您與模型互動。

4. 運行 Llama 3.2 模型

要在 Android 裝置上執行 Llama 3.2 模型,請依照下列步驟操作:

  1. 選擇型號:

    • llama3.2:3b(30億個參數)這樣的模型可供測試。為了提高效率,這些模型被量化。您可以在 Ollama 的網站上找到可用型號的清單。
  2. 下載並運行 Llama 3.2 模型:

   ./ollama run llama3.2:3b --verbose

--verbose 標誌是可選的,並提供詳細的日誌。下載完成後,您可以開始與模型互動。

5. 績效管理

在 Samsung S21 Ultra 等設備上測試 Llama 3.2 時,1B 型號的性能很流暢,3B 型號的性能易於管理,儘管您可能會注意到舊硬體上的延遲。如果效能太慢,切換到較小的 1B 模型可以顯著提高反應能力。


可選清理

使用Ollama後,您可能需要清理系統:

  1. 刪除不需要的檔案:
   chmod -R 700 ~/go
   rm -r ~/go
  1. 將 Ollama 二進位檔案移至全域路徑:
   cp ollama/ollama /data/data/com.termux/files/usr/bin/

現在,您可以直接從終端運行ollama


結論

Llama 3.2 代表了人工智慧技術的重大飛躍,為行動裝置帶來了強大的多模式模型。透過使用 Termux 和 Ollama 在本地運行這些模型,開發人員可以探索不依賴雲端基礎架構的隱私優先、裝置上 AI 應用程式的潛力。有了像 Llama 3.2 這樣的模型,行動 AI 的未來看起來很光明,可以為各個行業提供更快、更安全的 AI 解決方案。

版本聲明 本文轉載於:https://dev.to/koolkamalkishor/running-llama-32-on-android-a-step-by-step-guide-using-ollama-54ig?1如​​有侵犯,請聯絡study_golang@163 .com刪除
最新教學 更多>
  • 為什麼 useState 在嚴格模式下渲染元件兩次?
    為什麼 useState 在嚴格模式下渲染元件兩次?
    理解useState中的雙重渲染在React中,useState鉤子通常用於管理元件狀態。但是,在某些條件下,您可能會注意到使用 useState 呈現的元件對於每次狀態更新都會呈現兩次。這種行為讓許多未啟用嚴格模式的開發人員感到困惑。為什麼會出現這種情況? 嚴格模式的作用與未啟用嚴格模式的假設相反...
    程式設計 發佈於2024-11-09
  • 混淆技術如何保護PHP智慧財產權?
    混淆技術如何保護PHP智慧財產權?
    混淆PHP 代碼以保護知識產權作為軟體開發人員,保護原始碼至關重要,尤其是在計劃出售您的作品時。混淆技術為增強 PHP 程式碼的機密性提供了一個有價值的解決方案。 混淆方法混淆涉及將 PHP 程式碼轉換為混亂版本,該版本保留功能但妨礙人類可讀性。有幾種工具和技術可以實現此目的:1。 PHP 加速器這...
    程式設計 發佈於2024-11-09
  • 如何使用 JavaScript 修改外部樣式表中定義的 CSS 值?
    如何使用 JavaScript 修改外部樣式表中定義的 CSS 值?
    使用 JavaScript 修改 CSS 值JavaScript 提供了一種設定內聯 CSS 值的簡單方法。然而,當修改非內聯樣式表中定義的 CSS 值時,此方法可能會帶來挑戰。 從樣式表中擷取 CSS 值要擷取非內聯樣式表中的 CSS 值非內聯,JavaScript 允許透過 document.s...
    程式設計 發佈於2024-11-09
  • 如何在 PHP 中計算日期之間的小時差?
    如何在 PHP 中計算日期之間的小時差?
    確定 PHP 中日期之間的小時差您希望計算兩個日期之間的小時差,其格式為 " Y-m-d H:i:s."要實現這一點PHP:要實現這一點PHP:$timestamp1 = strtotime($date1); $timestamp2 = strtotime($date2);時間戳...
    程式設計 發佈於2024-11-09
  • 反應受控/不受控組件
    反應受控/不受控組件
    在 React 中,處理表單輸入主要有兩種方法: 受控組件 不受控制的組件 受控組件提供更多控制和驗證,而不受控組件更簡單,對於間歇性值存取的基本形式有用。 受控組件 這些是表單輸入,其值由 React State 控制。每當輸入的值發生變化時,狀態變數就會更新,並且輸入的值是透過...
    程式設計 發佈於2024-11-09
  • 如何處理 Selenium 中的「過時元素引用」異常?
    如何處理 Selenium 中的「過時元素引用」異常?
    陳舊元素引用:揭示原因並尋找解決方案在Selenium 中,遇到“陳舊元素引用”異常可能會令人沮喪,因為它表明被引用的元素不再附加到頁面文件。當 DOM 發生重大變更(例如動態載入或頁面導覽)時,通常會發生此錯誤。 要解決此問題,確定觸發異常的確切程式碼行至關重要。在提供的程式碼中,導致錯誤的行似乎...
    程式設計 發佈於2024-11-09
  • 如何有效率地在嵌套的 JavaScript 物件中尋找特定物件?
    如何有效率地在嵌套的 JavaScript 物件中尋找特定物件?
    迭代嵌套的JavaScript 物件迭代嵌套的JavaScript 物件可能具有挑戰性,特別是當您需要基於屬性檢索特定對象時價值。讓我們考慮以下範例:var cars = { label: 'Autos', subs: [ { label: 'SUVs', s...
    程式設計 發佈於2024-11-09
  • 最簡單的狀態教程
    最簡單的狀態教程
    Zustand 是一個小型、快速且可擴展的 React 狀態管理庫,可作為 Redux 等更複雜解決方案的替代方案。 Zustand 獲得如此大關注的主要原因是與 Redux 相比,它的體積小且語法簡單。 了解 Zustand 設置 首先,如果您還沒有安裝 Zustand 和 Ty...
    程式設計 發佈於2024-11-09
  • MongoDB 伺服器:概述
    MongoDB 伺服器:概述
    MongoDB 是一种流行的 NoSQL 数据库,提供高性能、可扩展且灵活的数据存储解决方案。与使用表和行的传统关系数据库不同,MongoDB 使用灵活的、类似 JSON 的结构(称为 BSON(二进制 JSON))将数据存储在文档中。这使得 MongoDB 能够轻松处理复杂的数据类型和层次关系。...
    程式設計 發佈於2024-11-09
  • 如何在 MySQL DELETE 語句中使用 LIMIT 刪除一定範圍的行?
    如何在 MySQL DELETE 語句中使用 LIMIT 刪除一定範圍的行?
    更正帶有LIMIT 的MySQL DELETE 語句的語法嘗試使用帶有LIMIT 的DELETE 語句從MySQL時LIMIT 子句,如果語法不正確,您可能會遇到錯誤。此錯誤通常表示用於指定限制的語法有問題。 所提供的查詢中的問題是您無法在 DELETE 語句的 LIMIT 子句中指定偏移量。在 D...
    程式設計 發佈於2024-11-09
  • 如何使用 os.walk() 在 Python 中建立帶有深度指示器的結構化目錄清單?
    如何使用 os.walk() 在 Python 中建立帶有深度指示器的結構化目錄清單?
    在Python 中使用os.walk() 遞歸地導航目錄為了創建更結構化的目錄列表,開發人員嘗試修改他們的程式碼將目錄顯示為大寫標題,並用虛線指示深度和目錄下的檔案。然而,他們最初的方法產生了不完整的結果。 為了解決這個挑戰,我們可以利用 Python 的 os.sep 屬性來正確描述路徑元件。這是...
    程式設計 發佈於2024-11-09
  • Java 中的設計模式及其範例
    Java 中的設計模式及其範例
    Java 中的設計模式是什麼? 設計模式是軟體設計中常見問題的可重複使用解決方案。它們代表了可應用於軟體開發中各種情況的最佳實踐,特別是像 Java 這樣的物件導向程式設計。 設計模式的類型 創建模式: 處理物件創建機制。 結構模式: 關注類別與物件的組成方...
    程式設計 發佈於2024-11-09
  • NestJS 與 Encore.ts:為您的 TypeScript 微服務選擇正確的框架
    NestJS 與 Encore.ts:為您的 TypeScript 微服務選擇正確的框架
    Introduction When web applications grow larger, so does the complexity in developing and maintaining the system. A common way to solve this i...
    程式設計 發佈於2024-11-09
  • 如何在 Python 中重置生成器物件?
    如何在 Python 中重置生成器物件?
    在Python 中重置生成器物件:探索替代方案產生器提供了一種迭代值序列的有效方法,而無需在記憶中。然而,一旦生成器產生了所有值,它就會耗盡並且不能直接重複使用。這就提出瞭如何在 Python 中重置生成器物件的問題。 不幸的是,生成器沒有內建的重置方法。要重複使用生成器,您有多種選擇:再次運行生成...
    程式設計 發佈於2024-11-09
  • 如何有效率地檢索MySQL中最後插入的行?
    如何有效率地檢索MySQL中最後插入的行?
    檢索 MySQL 中最後插入的行:高效方法高效檢索 MySQL 中最後插入的行是資料庫程式設計中的常見任務。以下是實現此目的的兩種有效方法:1。時間戳列:理想的解決方案是建立一個 TIMESTAMP 列,在行插入時自動捕獲當前時間戳記。這提供了一種可靠且準確的方法來確定最近的記錄。 2。 ORDER...
    程式設計 發佈於2024-11-09

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3