尝试在手机上运行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.cppcd gemma.cppcmake -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 devicesList 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.gzadb push gemma_model_2b_cxx_sfp/2b-it-sfp.sbs /data/local/tmpadb 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

相关文章:
尝试在手机上运行google 最新开源的gpt模型 gemma
Gemma介绍 Gemma简介 Gemma是谷歌于2024年2月21日发布的一系列轻量级、最先进的开放语言模型,使用了与创建Gemini模型相同的研究和技术。由Google DeepMind和Google其他团队共同开发。 Gemma提供两种尺寸的模型权重:2B和7B。每种尺寸都带有经过预训练&a…...
56、巴利亚多利德大学、马德里卡洛斯三世研究所:EEG-Inception-多时间尺度与空间卷积巧妙交叉堆叠,终达SOTA!
本次讲解一下于2020年发表在IEEE TRANSACTIONS ON NEURAL SYSTEMS AND REHABILITATION ENGINEERING上的专门处理EEG信号的EEG-Inception模型,该模型与EEGNet、EEG-ITNet、EEGNex、EEGFBCNet等模型均是专门处理EEG的SOTA。 我看到有很多同学刚入门,不太会…...
ORA-00600: internal error code, arguments: [krbcbp_9]
解决方案 1、清理过期 2、control_file_record_keep_time 修改 恢复时间窗口 RMAN (Recovery Manager) 是 Oracle 数据库的备份和恢复工具。在 RMAN 中,可以使用“恢复窗口”的概念来指定数据库可以恢复到的时间点。这个时间点是基于最近的完整备份或增量备份。 …...
uni-app实现分页--(2)分页加载,首页下拉触底加载更多
业务逻辑如下: api函数升级 定义分页参数类型 组件调用api传参...
前端工程化理解 (2024 面试题)
最好介绍远古世界最好随性一点,不要太刻板 ,不然像背书 什么是前端工程化? - 知乎 前端工程化的历史 互联网初期,09 年以前,页面只需要展示一些列表、表格、文章内容以及简单图片即可,其目的是为了传送信…...
10 Php学习:循环
在 PHP 中,提供了下列循环语句: while - 只要指定的条件成立,则循环执行代码块do…while - 首先执行一次代码块,然后在指定的条件成立时重复这个循环for - 循环执行代码块指定的次数foreach - 根据数组中每个元素来循环代码块 当…...
FreeSWITCH 1.10.10 简单图形化界面17 - ubuntu22.04或者debian12 安装FreeSWITCH
FreeSWITCH 1.10.10 简单图形化界面17 - ubuntu22.04或者debian12 安装FreeSWITCH 界面预览00、先看使用手册0、安装操作系统1、下载脚本2、开始安装3、登录网页FreeSWITCH界面安装参考:https://blog.csdn.net/jia198810/article/details/132479324 界面预览 http://myfs.f3…...
ZStack Cloud 5.0.0正式发布——Vhost主存储、隔离PVLAN网络、云平台报警优化、灰度升级增强四大亮点简析
近日,ZStack Cloud 5.0.0正式发布,推出了包含Vhost主存储、隔离PVLAN网络、云平台报警优化、灰度升级增强在内的一系列重要功能。云主机管理、物理机运维、密评合规、灾备服务等诸多使用场景和功能模块均有更新,为您带来更完善的平台服务、更…...
商标没有去注册有哪些不好的影响!
有些商家咨询普推知产老杨,商标没有去注册有哪些不好的影响,其实对企业来说还有许多实际不利的影响,有时代价比注册一个商标要大很多。 想的商标名称没去注册商标,如果别人抢注拿下商标注册证,那就会涉及侵权…...
【小程序】常用方法、知识点汇总1
欢迎来到《小5讲堂》 这是《小程序》系列文章,每篇文章将以博主理解的角度展开讲解, 温馨提示:博主能力有限,理解水平有限,若有不对之处望指正! 目录 前言请求超时Markdown解析逐行显示效果文本变动事件转发…...
AugmentedReality之路-平面检测(5)
本文介绍通过AR检测水平平面和垂直平面,并将检测到的平面转化为Mesh 1、在首页添加功能入口 在首页添加一个按钮,命名为Start World Track 2、自定义ExecStartAREvent 创建ARSessionConfig并取名为ARSessionConfig_World 自定义ExecStartAREvent&…...
MQ:延迟队列
6.1场景: 1.定时发布文章 2.秒杀之后,给30分钟时间进行支付,如果30分钟后,没有支付,订单取消。 3.预约餐厅,提前半个小时发短信通知用户。 A -> 13:00 17:00 16:30 延迟时间: 7*30 * 60 *…...
Element ui 动态展示表格列,动态格式化表格列的值
需求 后台配置前端展示的表格列,遇到比如 文件大小这样的值,如果后台存的是纯数字,需要进行格式化展示,并且能控制显示的小数位数,再比如,部分列值需要加单位等信息,此外还有状态类࿰…...
xxl-job调度任务原理解析
xxljob可以对定时任务进行调度,现在看下定时任务调度的过程。XxlJobAdminConfig实现了InitializingBean接口,spring会调用afterPropertiesSet()进行初始化。大致有以下几个过程: admin服务端初始化 JobTriggerPoolHelper.java#toStart()方法…...
实验2 路由器基本配置
实验2 路由器基本配置 一、 原理描述二、 实验目的三、 实验内容四、 实验步骤1.建立实验拓扑2.基础配置3.配置路由器接口IP地址4.查看路由器配置信息5.连通性测试6.使用抓包工具 一、 原理描述 华为设备支持多种配置方式,操作人员要熟悉使用命令行的方式进行设备管…...
docker部署安装整理
centos下安装部署docker 在CentOS下部署Docker,你需要按照以下步骤进行操作: 更新系统: 首先,确保你的CentOS系统是最新的。打开终端,并运行以下命令来更新你的系统: sudo yum update -y安装所需的软件包…...
为什么你明明拥有5年开发经验,但是依然写不出来一份简历?
前端训练营:1v1私教,终身辅导计划,帮你拿到满意的 offer。 已帮助数百位同学拿到了中大厂 offer。欢迎来撩~~~~~~~~ Hello,大家好,我是 Sunday。 在最近不到一年的时间里,我跟上千位同学进行了沟通&#x…...
【ZZULIOJ】1062: 最大公约数(Java)
目录 题目描述 输入 输出 样例输入 Copy 样例输出 Copy 提示 code 题目描述 输入两个不大于10的9次方的正整数,输出其最大公约数。 输入 输入两个正整数m和n,数据之间用空格隔开。 输出 输出一个整数,表示m和n的最大公约数。 样…...
北斗导航 | ARAIM算法的原理和性能测试
===================================================== github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 ===================================================== ARAIM算法的原理和性能测试 针对高级接收机自主完好性监视(ARAIM)算法…...
elasticsearch7安全配置--最低安全等级,用户名密码
上一篇博客在centos7上安装了elasticsearch7 接下来对elasticsearch进行安全方面的配置 minimal security 最低安全等级,用户名密码 首先开启xpack vim config/elasticsearch.yml xpack.security.enabled: true由于我是单机配置的,还加了如下配置 d…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...
微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
逻辑回归:给不确定性划界的分类大师
想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...
Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
