尝试在手机上运行google 最新开源的gpt模型 gemma

Gemma介绍

Gemma简介

Gemma是谷歌于2024年2月21日发布的一系列轻量级、最先进的开放语言模型,使用了与创建Gemini模型相同的研究和技术。由Google DeepMind和Google其他团队共同开发。
Gemma提供两种尺寸的模型权重:2B和7B。每种尺寸都带有经过预训练(pre-trained)和经过指令调制(instruction-tuned)的变体。旨在为开发人员和研究者提供一个“轻量级、最先进的开源模型系列”Gemma提供了2B和7B两种不同规模的版本,每种都包含了预训练基础版本和经过指令优化的版本,并且无需数据量化处理,拥有高达8K tokens的处理能力。

  • 预训练模型可以用于各种自然语言处理任务,例如文本生成、翻译、问答和摘要。
  • 指令调制模型经过微调,可以执行特定任务,例如编写代码、撰写不同类型的创意内容、回答开放式问题等。

Gemma模型可以在您的笔记本电脑、工作站或Google Cloud上运行,并可轻松部署到Vertex AI和Google Kubernetes Engine(GKE)。

Gemma优势

Gemma具有以下优势:

  • 性能领先:Gemma在多个基准测试中都取得了最先进的成果,都优于Meta的Llama 2。
  • 易于使用:Gemma提供简单易用的API,可轻松集成到您的应用程序中。
  • 可扩展性:Gemma可以根据您的需要进行扩展,以满足各种规模的需求。
  • 开放性:Gemma是开源的,您可以自由使用和修改。
  • 模型较小:尽管其参数数量较少,但在关键基准测试中表现出色,并且超过了一些更大的模型。
  • *适用范围广:拥有独特的运行环境,可以在各种类型的设备上工作,包括笔记本电脑、台式机、物联网设备、移动设备以及云端平台等。
  • 与Hugging Face平台无缝集成:可以让AIGC爱好者更好的去使用。

Gemma应用

Gemma可以应用于各种自然语言处理任务,包括:

  • 文本生成
  • 翻译
  • 问答
  • 摘要
  • 代码生成
  • 撰写创意内容
  • 回答开放式问题

总结

Gemma是谷歌发布的一系列轻量级、最先进的开放语言模型,具有性能领先、易于使用、可扩展性和开放性等优势。Gemma可以应用于各种自然语言处理任务,具有广阔的应用前景。

以下是一些Gemma的应用案例:

  • 新闻写作:Gemma可以用于自动生成新闻报道,例如体育比赛的赛况报道、公司财报的分析报道等。
  • 产品描述生成:Gemma可以用于自动生成产品描述,例如电商网站上的商品详情页。
  • 聊天机器人:Gemma可以用于构建聊天机器人,为用户提供个性化的服务。
  • 教育:Gemma可以用于开发教育应用程序,例如帮助学生学习语言或编写代码。

测试环境

  • 硬件环境
    • 小米 11 ultra
    • rk3588 测试板
  • 软件环境
    • 小米11 android 13
    • rk3588 android 13

环境准备

  • 安装最新版 android studio,下载android sdk 需要包含ndk-bundle
    *下载gemma.cpp
  • 设置ANDROID_NDK 路径

模型下载准备

available on kaggle
我下载的是2b-it-sfp模型,选择gemma.cpp可运行版本模型

编译

    git clone --recursive https://github.com/google/gemma.cpp
    cd gemma.cpp
    cmake -G Ninja -Bbuild_ninja_arm64 -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake \
-DANDROID_ABI=arm64-v8a -DANDROID_PLATFORM=android-21 -DANDROID_ARM_NEON=ON -DCMAKE_INSTALL_PREFIX=`pwd`/build_ninja_arm64/android_install -DHWY_ENABLE_TESTS=OFF .
 cmake --build build_ninja_arm64

拷贝到设备运行

  • 用usb链接计算机,或者使用无线链接到手机
  • 列出设备
adb devices

List of devices attached
172.16.0.89:5555        device
  • 拷贝执行程序和模型
    # 拷贝执行程序
    adb push ./build_ninja_arm64/gemma /data/local/tmp 
    # 拷贝库
    adb push build_ninja_arm64/3rdparty/sentencepiece/src/libsentencepiece.so /data/local/tmp
    # 先解压再拷贝模型
    tar -xvf gemma_model_2b_cxx_sfp.tar.gz
    adb push gemma_model_2b_cxx_sfp/2b-it-sfp.sbs /data/local/tmp
    adb push gemma_model_2b_cxx_sfp/tokenizer.spm /data/local/tmp
  • 运行
    export LD_LIBRARY_PATH=/data/local/tmp/
    ./gemma --tokenizer tokenizer.spm --compressed_weights ./2b-it-sfp.sbs --model 2b-it

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/528610.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

大话设计模式——18.策略模式(Strategy Pattern)

简介 是一系列算法的封装,即做的事情相同(方法名称相同)但是实现的方式不同,以相同方式调用所有的算法,减少算法与使用算法的耦合。直接调用方法。 UML图 应用场景 Java AWT中的LayoutManager(布局管理器&…

蓝桥杯简单模板

目录 最大公约数 两个数的最大公约数 多个数的最大公约数 最小公倍数 两个数的最小公倍数 多个数的最小公倍数 素数 ​编辑 位数分离 正写 ​编辑 反写 闰年 最大公约数 两个数的最大公约数 之前看见的是辗转相除法,例如现在让算一个49,21…

Three.js--》实现2D转3D的元素周期表

今天简单实现一个three.js的小Demo,加强自己对three知识的掌握与学习,只有在项目中才能灵活将所学知识运用起来,话不多说直接开始。 目录 项目搭建 平铺元素周期表 螺旋元素周期表 网格元素周期表 球状元素周期表 加底部交互按钮 项目…

OpenHarmony实战:瑞芯微RK3568移植案例

本文章是基于瑞芯微RK3568芯片的DAYU200开发板,进行标准系统相关功能的移植,主要包括产品配置添加,内核启动、升级,音频ADM化,Camera,TP,LCD,WIFI,BT,vibrato…

每日一题(力扣)---插入区间

官方网址:. - 力扣(LeetCode) 题目: 给你一个 无重叠的 ,按照区间起始端点排序的区间列表 intervals,其中 intervals[i] [starti, endi] 表示第 i 个区间的开始和结束,并且 intervals按照 st…

【鸿蒙开发】@State装饰器:组件内状态

1. 概述 State装饰的变量,与声明式范式中的其他被装饰变量一样,是私有的,只能从组件内部访问,在声明时必须指定其类型和本地初始化。 2. 装饰器使用规则说明 State变量装饰器 说明 装饰器参数 无 同步类型 不与父组件中任何…

蚁群(ACO)算法简介

蚁群(ACO)算法简介 前言一、 ACO简介1. 起源2. 思想3. 基本概念3.1 并行3.2 禁忌表3.3 启发式信息 4. 流程 前言 生活中我们总能看到一群蚂蚁按照一条非常有规律的路线搬运食物回到巢穴,而且每只蚂蚁的路线都是近似相同且较优的,…

7-11 分段计算居民水费

题目链接&#xff1a;7-11 分段计算居民水费 一. 题目 1. 题目 2. 输入输出格式 3. 输入输出样例 4. 限制 二、代码 1. 代码实现 #include <stdio.h>static float money (unsigned int water) {if (water < 15) { // 不超过15吨时if (water) { // 不为0return wat…

教师必备工具?了解一下国产电路仿真软件的教学应用吧!

在当今信息化时代&#xff0c;科技的不断发展为教学提供了更多可能性。特别是在电子工程领域&#xff0c;教师们需要寻找更有效的方式来教授复杂的电路知识。在这个背景下&#xff0c;国产电路仿真软件的教学应用成为了备受关注的话题。本文将探讨教师使用电路仿真软件的必要性…

【MySQL学习】MySQL的慢查询日志和错误日志

꒰˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好&#xff0c;我是xiaoxie.希望你看完之后,有不足之处请多多谅解&#xff0c;让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN …

SpringCloudAlibaba基础使用(2024最全、最新)

一、简介二、服务注册配置Nacos2.1 下载启动2.2 服务注册2.3 服务配置2.3.1 NameSpace-GroupID-DataId 三、熔断限流 Sentinel3.1 介绍3.2 下载安装3.3 如何使用3.3.1 流控规则流控模式流控效果 3.3.2 熔断规则慢调用比例异常比例异常数 3.3.3 SentinelResource3.3.4 热点规则3…

铁山靠之数学建模-基础篇

小黑子的数模基础篇 一、什么是数学建模1.1 数学模型分类1.2 备战准备什么1.3 组队学习路线1.4 赛前准备1.5 赛题选择1.5.1 赛题类型1.5.2 ABC赛题建议 1.6 学会查询1.6.1 百度搜索技巧1.6.2 查文献1.6.3 数据预处理 1.7 建模全过程 二、数模论文2.1 论文排版2.2 标题怎么写2.3…

UE4 避免布料模拟重置后抖动

问题&#xff1a;每次设置带布料模拟的布料新位置&#xff0c;就会发生突然的抖动 解决办法&#xff1a;给“布料混合权重”或“布料最大距离缩放”K帧&#xff0c;参考数值为0.2—1&#xff08;红框内的值都试过无法解决&#xff09;

Swift 异步序列 AsyncStream 新“玩法”以及内存泄漏、死循环那些事儿(上)

概览 异步序列&#xff08;Async Sequence&#xff09;是 Swift 5.5 新并发模型中的一员“悍将”&#xff0c;系统标准库中很多类都做了重构以支持异步序列。我们还可以用 AsyncStream 辅助结构非常方便的创建自己的异步序列。 这里我们就来一起聊聊 AsyncStream 结构&#xf…

领鸡蛋游戏养鸡游戏淘宝客源码广告联盟

用户中心 用户信息&#xff1a;显示用户名、头像、鸡蛋数量、足迹等基本信息。我的足迹&#xff1a;展示用户的饲料获取记录明细&#xff0c;包括来源、数量和时间。我的好友&#xff1a;展示邀请的好友列表&#xff0c;支持好友间互动&#xff0c;如串门、偷取/赠送饲料&#…

贪心算法|135.分发糖果

力扣题目链接 class Solution { public:int candy(vector<int>& ratings) {vector<int> candyVec(ratings.size(), 1);// 从前向后for (int i 1; i < ratings.size(); i) {if (ratings[i] > ratings[i - 1]) candyVec[i] candyVec[i - 1] 1;}// 从后…

【科东软件】鸿道Intewell-Lin_V2.2.0 软件版本发布

鸿道操作系统 Intewell-Lin_V2.2.0 软件版本发布 Intewell-Lin_V2.2.0 版本号&#xff1a;V2.2.0 版本或修改说明 增加功能&#xff1a; 1、增加T3板级支持 支持硬件列表

AI绘画工具的兴起与应用:热门AI绘画生成器推荐及使用指南

文章目录 一、AI绘画工具概述二、热门AI绘画生成器推荐2.1、DALL-E22.2、DeepDreamGenerator2.3、Artbreeder2.4、BigSleep2.5、NightCafe2.6、DeepAI2.7、触站AI2.8、美术加AI2.9、文心一格 三、如何使用AI绘画生成器3.1、选择AI绘画生成器3.2、描述画面内容3.3、选择绘画风格…

【Spring Cloud】服务容错中间件Sentinel入门

文章目录 什么是 SentinelSentinel 具有以下特征&#xff1a;Sentinel分为两个部分: 安装 Sentinel 控制台下载jar包&#xff0c;解压到文件夹启动控制台访问了解控制台的使用原理 微服务集成 Sentinel添加依赖增加配置测试用例编写启动程序 实现接口限流总结 欢迎来到阿Q社区 …

为什么 C/C++ 的库很喜欢缩写?

一、正如很多回答已经提到的&#xff0c;早期的有效标识符长度有限制&#xff0c;所以缩写用得比较多。也主要是在 C 里&#xff08;Unix 的传统&#xff09;。C 里的标识符用缩写的不多。如 C98&#xff08;毕竟比 C89 晚了 9 年么&#xff09;里我们就已经有了很多挺长的名字…