絕區叁--如何在移動設備上本地運行LLM

隨著大型語言模型 (LLM)(例如Llama 2和Llama 3)不斷突破人工智能的界限,它們正在改變我們與周圍技術的互動方式。這些模型早已集成到我們的手機中,但到目前為止,它們理解和處理請求的能力還非常有限。然而,這些新型LLM人工智能模型可以理解和生成類似人類的文本,使它們成為增強語音助手、聊天機器人和其他自然語言處理任務等應用程序的理想選擇。

然而,這些 AI 模型的一個主要限制是它們需要大量資源才能運行計算。雖然桌面應用程序可以利用強大的CPUs 和GPUs,但手機的硬件卻有限得多。更困難的是,由于我們的移動設備幾乎一直伴隨著我們,隱私也是一個更大的問題。網絡連接也是一個問題,因為快速可靠的信號并不能保證。因此,為了最大限度地利用Llama 3Android 設備上的東西,我們必須在設備上離線運行它。

我們在 Android 手機上沒有太多這樣的選擇。話雖如此,也有些工具可讓您在 Android 設備上本地下載和運行 LLM 模型。您可以下載小型 AI 模型(2B 到 8B),如Llama 3、Gemma、Phi-2、Mistral 等。就此而言,讓我們開始吧。

在本文中,我們將探討如何在 Android 設備上運行小型輕量級模型,例如 Gemma-2B、Phi-2 和 StableLM-3B 。

具體操作

克隆此repo以訪問并使用作為示例提供的演示 Android 應用程序git clone https://github.com/googlesamples/mediapipe
cd mediapipe
git sparse-checkout init --cone
git sparse-checkout set examples/llm_inference/android

接下來,下載您選擇的量化 LLM 模型。目前,文檔僅支持四種模型:Gemma 2B、Phi-2、Falcon-RW-1B 和 StableLM-3B。

為了避免兼容性問題,請在下載過程中使用此 Colab 筆記本:LLM 轉換筆記本。

現在您已經下載了 model.bin 文件,您需要將其傳輸到您的 Android 設備。您可以使用命令adb shell推送文件,如文檔中所述

有關使用 Android 調試橋 (ADB) 的更多詳細信息,請參閱本文:了解 Android 調試橋 (ADB)。

傳輸模型后,導航到InferenceModel.kt位于以下位置的文件:mediapipe/examples/llm_inference/android/app/ src / main /java/com/google/mediapipe/examples/llminference

在此文件中,修改generateResponseAsync函數以更新模型路徑,以反映您在手機上存儲模型的位置


接下來,將 Android 應用程序構建為 APK 文件,并將其安裝在 Android 手機上


演示

為了演示,我在搭載驍龍 778 芯片的 Android 手機上測試了 Gemma-2B 4 位模型并檢查了結果。


結論

在 Android 手機上運行小型輕量級模型效果很好 。在演示中,我們使用了搭載驍龍 芯片的手機。響應需要幾秒鐘,結果并不完美,可能是因為使用了量化模型

然而,關鍵的一點是在設備上運行輕量級 LLM 相當令人印象深刻,表明這些模型變得更加高效👍。


歡迎你分享你的作品到我們的平臺上. http://www.shxcj.com 或者 www.2img.ai 讓更多的人看到你的才華。

創作不易,覺得不錯的話,點個贊吧!!!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/42002.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/42002.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/42002.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

手寫實現一個ORM框架

手寫實現一個ORM框架 什么是ORM框架、ORM框架的作用效果演示框架設計代碼細節SqlBuilderSqlExecutorStatementHandlerParameterHandlerResultSetHandler逆序生成實體類 大家好,本人最近寫了一個ORM框架,想在這里分享給大家,讓大家來學習學習。…

leetcode力扣_排序問題

215.數組中的第K個最大元素 鑒于已經將之前學的排序算法忘得差不多了,只會一個冒泡排序法了,就寫了一個冒牌排序法,將給的數組按照降序排列,然后取nums[k-1]就是題目要求的,但是提交之后對于有的示例顯示”超出時間限制…

JavaWeb開發之環境準備-大合集

本文博客地址 JavaWeb開發 || 環境準備 1. 前言2. JDK8安裝2.1 下載地址2.2 安裝配置圖示2.2.1 JDK安裝2.2.2 配置系統環境變量 3. Maven安裝3.1 Maven下載3.2 Maven解壓及系統變量配置 4. Tomcat安裝4.1 Tomcat下載4.2 Tomcat解壓及系統變量配置 5. Redis安裝5.1 Redis下載5.…

記錄一次麒麟V10 安裝sysbench各種報錯(關于MySQL)處理過程

sysbench手工下載: https://github.com/akopytov/sysbench 下載.zip文件,上傳到服務器上 解壓、安裝: unzip sysbench-master.zipcd sysbench-master/sh autogen.sh./configure 報錯:沒有mysql驅動 configure: error: mysql_c…

Marin說PCB之CAM350的軟件使用知多少?

今天上海的氣溫那叫一個高啊,溫度都達到了39左右了都,我都嚴重懷疑我不是在魔都上班而是在火焰山板磚去了。這么燥熱的天氣真的是嚴重影響了小編我的工作效率,沒有心情工作啊,要去泳池避避暑,沖個涼也行啊。這種天氣只…

WebKit 的結構、工作流程、技術細節和高級特性

WebKit 是一個開源的瀏覽器引擎,主要負責解析和渲染網頁,執行 JavaScript 代碼以及處理用戶交互。它最初由蘋果公司開發,用于 Safari 瀏覽器,但后來 Google 和其他公司也基于 WebKit 開發了自己的瀏覽器,如早期版本的 …

SQL Server時間轉換

第一種:format --轉化成年月日 select format( GETDATE(),yyyy-MM-dd) --轉化年月日,時分秒,這里的HH指24小時的,hh是12小時的 select format( GETDATE(),yyyy-MM-dd HH:mm:ss) --轉化成時分秒的,這里就不一樣的&…

力扣5----最長回文子串

給你一個字符串 s,找到 s 中最長的回文子串 示例 1: 輸入:s "babad" 輸出:"bab" 解釋:"aba" 同樣是符合題意的答案。示例 2: 輸入:s "cbbd" 輸出…

Feign-未完成

Feign Java中如何實現接口調用?即如何發起http請求 前三種方式比較麻煩,在發起請求前,需要將Java對象進行序列化轉為json格式的數據,才能發送,然后進行響應時,還需要把json數據進行反序列化成java對象。 …

G2.【C語言】EasyX繪制顏色窗口

1.窗口 窗口&#xff1a;寬度*高度&#xff08;單位都是像素&#xff09; #include <stdio.h> #include <easyx.h> int main() {initgraph(640, 480);getchar();return 0; } 640是寬&#xff0c;480是高 2.操作窗口的三個按鈕 #include <stdio.h> #incl…

go語言day10 接口interface 類型斷言 type關鍵字

接口&#xff1a; 空接口類型&#xff1a; 要實現一個接口&#xff0c;就要實現該接口中的所有方法。因為空接口中沒有方法&#xff0c;所以自然所有類型都實現了空接口。那么就可以使用空接口類型變量去接受所有類型對象。 類比java&#xff0c;有點像Object類型的概念&#x…

免費去馬賽克軟件,親測支持視頻和圖片,這AI功能逆天了!

有小伙伴私信問阿星有什么去除馬賽克的免費軟件&#xff0c;求推薦好用的去馬賽克軟件。 市面上去馬賽克的軟件多如牛毛&#xff0c;但真正好用的真不多&#xff0c;而免費的是更少。今天阿星就分享一款 AI智能去馬賽克軟件&#xff0c;免費使用。軟件支持去除圖片和視頻的馬賽…

51單片機STC89C52RC——15.1 AD/DA(模數數模)

目的/效果 1 LCD1602 顯示 可調電阻、光敏電阻、熱敏電阻值&#xff08;AD&#xff09; 2 模擬信號控制LED明暗&#xff08;DA&#xff09; 一&#xff0c;STC單片機模塊 二&#xff0c;AD/DA 2.1 AD/DA 介紹 AD&#xff08;Analog to Digital&#xff09;&#xff1a;模擬…

第1章 項目背景(學成在線),項目介紹,環境搭建

1.項目背景 1.1 在線教育市場環境 以下內容摘自https://report.iresearch.cn/content/2021/01/358854.shtml 在線教育行業是一個有著極強的廣度和深度的行業&#xff0c;從校內到校外&#xff1b;從早幼教到職業培訓&#xff1b;從教育工具到全信息化平臺等等。 2020年的新…

用Excel處理數據圖像,出現交叉怎么辦?

一、問題描述 用excel制作X-Y散點圖&#xff0c;意外的出現了4個交叉點&#xff0c;而實際上的圖表數據是沒有交叉的。 二、模擬圖表 模擬部分數據&#xff0c;并創建X-Y散點圖&#xff0c;數據區域&#xff0c;X軸數據是依次增加的&#xff0c;因此散點圖應該是沒有交叉的。…

linux centos 安裝niginx并且添加ssl(https)模塊

文章目錄 前言一、nginx安裝教程1.流程步驟 總結 前言 一、nginx安裝教程 1.流程步驟 代碼如下&#xff08;示例&#xff09;&#xff1a; 1.先下載linux安裝包 2.解壓安裝命令 sudo tar -zxvf nginx-1.20.1.tar.gz3.進入解壓后的目錄 sudo cd nginx-1.20.14.安裝 sudo y…

歡迎加入國家智能網聯汽車創新中心OS開發訓練營大家庭

歡迎加入國家智能網聯汽車創新中心OS開發訓練營大家庭。&#x1f680; 導學階段啟動 在正式開營之前&#xff0c;我們特別設置了導學階段&#xff0c;旨在幫助大家更好地迎接頗具挑戰性的項目實戰。導學階段包括一系列精心準備的視頻課程和配套習題。github鏈接&#xff1a;htt…

使用c++進行大規模的矩陣運算

算法通過分塊矩陣乘法和多線程并行計算實現了大規模矩陣乘法的高效計算 #include <iostream> #include <vector> #include <thread> #include <cmath>class LargeMatrixMultiplier { private:const int BLOCK_SIZE 64; // 分塊大小// 輔助函數&…

vue偵聽器watch()

偵聽器watch&#xff08;&#xff09; 偵聽器偵聽數據變化&#xff0c;我們可以使用watch 選項在每次響應式屬性變化時觸發一個函數。 <template><h3>偵聽器watch</h3><hr> <p>{{nessage}}</p> <button click"exchage">…

基于YOLOv10+YOLOP+PYQT的可視化系統,實現多類別目標檢測+可行駛區域分割+車道線分割【附代碼】

文章目錄 前言視頻效果必要環境一、代碼結構1、 訓練參數解析2、 核心代碼解析1.初始化Detector類2. torch.no_grad()3. 復制輸入圖像并初始化計數器4. 調用YOLOv10模型進行目標檢測5. 提取檢測結果信息6. 遍歷檢測結果并在圖像上繪制邊界框和標簽7. 準備輸入圖像以適應End-to-…