LLMs之Gemma:Gemma(Google开发的新一代领先的开源模型)的简介、安装、使用方法之详细攻略

LLMs之Gemma:Gemma(Google开发的新一代领先的开源模型)的简介、安装、使用方法之详细攻略

导读:此文章介绍了Google推出的新一代开源模型Gemma,旨在帮助研发人员负责任地开发AI。

背景

>> Google长期致力于为开发者和研究人员提供各种开放模型,如Transformers、TensorFlow、BERT、T5等,以推动AI的负责任开发

核心要点

>> Gemma是基于同样技术与架构研发的Gemini模型开发出来的轻量级开放模型家族,它是一系列体积较小但性能领先的开源模型。

>> Gemma有2B和7B两种规模,均搭载了预训练和指令调优版本,可以直接在笔记本电脑上运行。与其它同类开源模型相比,Gemma模型规模相对较小但性能表现更好。

>> 同时推出"可责任生成AI工具包",提供安全开发指南和辅助工具,以帮助研发人员安全开发应用。

>> Gemma支持各主流框架进行推理和监督调优,如JAX、PyTorch、TensorFlow Keras,可以在不同设备与平台上应用。

>> 针对开发者提供多设备兼容性,如笔记本、服务器、 IoT、手机以及云平台。

>> 与NVIDIA合作,使Gemma在GPU上实现最优性能。同时支持Google Cloud平台。

>> Google提供300美元Google Cloud试用证和高达50万美元研究资助,支持开发者研究。

优势

>>比同规模模型在多项基准上表现更优。

>>安全性能出色,预训练模型过滤敏感信息,指令训练强调責任感。

>>可在开发者本地设备上运行,极低成本。

>>生态系统完善,支持多框架和设备,助推AI成果在多个场景的应用。

总之,Gemma旨在通过提供强大且低成本的开放模型,推动负责任的AI研发和应用。Gemma模型系列体现了谷歌长期开源AI领域贡献的精神,它旨在通过提供小体积高性能的开源模型,结合提供的安全工具,帮助研发人员以更负责任的方式开发应用AI能力。

目录

Gemma的简介

1、关键细节

2、尺寸上的领先性能

显示Gemma在常见基准测试中的性能,与Llama-2 7B和13B进行比较的图表

3、负责的设计

4、跨框架、工具和硬件的优化

5、用于研究和开发的免费信用额

Gemma的安装

0、系统要求

1、安装

2、下载模型

3、运行单元测试

4、示例

Gemma的使用方法

1、Colab笔记本教程:


Gemma的简介

2024年2月21日,Gemma是由Google DeepMind推出的一系列开源的大型语言模型(LLM),基于Gemini研究和技术。该存储库包含一个基于Flax和JAX的推理实现和示例。

Gemma是使用与Gemini模型相同的研究和技术构建的,旨在推动负责任的人工智能发展。同时,Google长期以来一直致力于为开放社区贡献创新,例如Transformers、TensorFlow、BERT、T5、JAX、AlphaFold和AlphaCode。今天,Google向开发者和研究人员开源了新一代开放模型,以帮助他们负责任地构建人工智能。从今天开始,Gemma全球可用。

Gemma是一系列轻量级、领先的开放模型,它们是由Google DeepMind和Google其他团队开发的,受到了Gemini的启发,名称反映了拉丁语"gemma"的含义,即"宝石"。除了模型权重外,还发布了支持开发者创新、促进合作并引导负责任使用Gemma模型的工具。

官网地址:https://ai.google.dev/gemma

GitHub地址:GitHub - google-deepmind/gemma: Open weights LLM from Google DeepMind.
官方文章地址:Gemma: Google introduces new state-of-the-art open models

1、关键细节

>> Google发布了两个尺寸的模型权重:Gemma 2B和Gemma 7B。每个尺寸都发布了经过预训练和指导调整的变体。

>> 新的负责任生成AI工具包提供了使用Gemma创建更安全人工智能应用程序的指导和基本工具。

>> 我们为推断和监督微调(SFT)提供了工具链,涵盖所有主要框架:JAX、PyTorch和TensorFlow通过本地Keras 3.0。

>> 准备就绪的Colab和Kaggle笔记本,以及与Hugging Face、MaxText、NVIDIA NeMo和TensorRT-LLM等流行工具的集成,使得开始使用Gemma变得轻而易举。

>> 经过预训练和指导调整的Gemma模型可以在您的笔记本电脑、工作站或Google Cloud上运行,并可轻松部署到Vertex AI和Google Kubernetes Engine(GKE)上。

>>  跨多个AI硬件平台的优化确保了行业领先的性能,包括NVIDIA GPU和Google Cloud TPU。 使用条款允许所有组织在尺寸上不受限制地进行负责任的商业使用和分发。

2、尺寸上的领先性能

Gemma模型与今天广泛可用的我们最大、最功能强大的AI模型Gemini共享技术和基础架构组件。这使得与其他开放模型相比,Gemma 2B和7B在其尺寸上实现了最佳性能。并且Gemma模型能够直接在开发者的笔记本电脑或台式电脑上运行。值得注意的是,Gemma在关键基准测试上明显优于更大的模型,同时符合我们对安全和负责任输出的严格标准。有关性能、数据集组成和建模方法的详细信息,请参阅技术报告。

显示Gemma在常见基准测试中的性能,与Llama-2 7B和13B进行比较的图表

3、负责的设计

Gemma是根据我们的AI原则设计的。作为使Gemma预训练模型安全可靠的一部分,我们使用自动化技术从训练集中过滤出某些个人信息和其他敏感数据。此外,我们使用了广泛的微调和人类反馈的强化学习(RLHF),以使我们的指导调整模型与负责任的行为保持一致。为了了解和减少Gemma模型的风险概况,我们进行了强大的评估,包括手动红队测试、自动对抗测试以及对模型进行危险活动能力的评估。这些评估在我们的模型卡中概述。

我们还将一个新的负责任生成AI工具包与Gemma一起发布,以帮助开发者和研究人员优先考虑构建安全和负责任的人工智能应用程序。该工具包包括:

>> 安全分类:我们提供了一种新颖的方法,用于使用最少的示例构建健壮的安全分类器。

>> 调试:模型调试工具可帮助您调查Gemma的行为并解决潜在问题。

>> 指导:您可以根据Google在开发和部署大型语言模型方面的经验,获取模型构建者的最佳实践。

4、跨框架、工具和硬件的优化

您可以根据自己的数据微调Gemma模型,以适应特定的应用需求,例如摘要或检索增强生成(RAG)。Gemma支持各种工具和系统:

>> 多框架工具:使用多框架Keras 3.0、本地PyTorch、JAX和Hugging Face Transformers的推理和微调的参考实现,带上您喜爱的框架。

>> 跨设备兼容性:Gemma模型可以在各种流行设备类型上运行,包括笔记本电脑、台式电脑、物联网、移动和云,实现广泛可访问的人工智能功能。

>> 尖端硬件平台:我们与NVIDIA合作,优化Gemma以适用于NVIDIA GPU,从数据中心到云端再到本地RTX AI个人电脑,确保行业领先的性能和与尖端技术的集成。

>> 为Google Cloud优化:Vertex AI提供了广泛的MLOps工具集,具有一系列调优选项,并使用内置的推理优化进行一键部署。使用完全托管的Vertex AI工具或自管理的GKE,包括从任一平台的成本效益高的基础设施部署。

5、用于研究和开发的免费信用额

Gemma是为驱动AI创新的开放开发者和研究人员社区构建的。您可以通过Kaggle的免费访问、Colab笔记本的免费套餐以及首次使用Google Cloud用户的300美元信用额来开始使用Gemma。研究人员还可以申请高达50万美元的Google Cloud信用额来加速他们的项目。

Gemma的安装

0、系统要求

Gemma可以在CPU、GPU和TPU上运行。对于GPU,我们建议在2B检查点上使用8GB+ GPU RAM,在7B检查点上使用24GB+ GPU RAM。

1、安装

要安装Gemma,您需要使用Python 3.10或更高版本。

安装用于CPU、GPU或TPU的JAX。请按照JAX网站上的说明操作。

运行

python -m venv gemma-demo
. gemma-demo/bin/activate
pip install git+https://github.com/google-deepmind/gemma.git

2、下载模型

模型检查点可通过Kaggle上的http://kaggle.com/models/google/gemma获取。选择其中一个Flax模型变体,单击⤓按钮下载模型存档,然后将内容提取到本地目录。存档包含模型权重和标记器,例如2b Flax变体包含:

2b/ # 包含模型权重的目录

tokenizer.model # 标记器

3、运行单元测试

要运行单元测试,请安装可选的[test]依赖项(例如,在源树的根目录下使用pip install -e .[test]),然后:

pytest .

请注意,默认情况下会跳过sampler_test.py中的测试,因为Gemma源代码中未包含标记器。要运行这些测试,请按照上述说明下载标记器,并在sampler_test.py中的_VOCAB常量中更新路径。

4、示例

要运行示例抽样脚本,请传递权重目录和标记器的路径:

python examples/sampling.py --
--path_checkpoint=/path/to/archive/contents/2b/
--path_tokenizer=/path/to/archive/contents/tokenizer.model

Gemma的使用方法

1、Colab笔记本教程:

colabs/sampling_tutorial.ipynb 包含一个带有抽样示例的Colab笔记本。

colabs/fine_tuning_tutorial.ipynb 包含一个简单的教程,介绍了如何对Gemma进行微调,例如将英语翻译成法语。

colabs/gsm8k_eval.ipynb 是一个带有参考GSM8K评估实现的Colab。

要运行这些笔记本,您需要下载权重和标记器的本地副本(参见上文),并将ckpt_path和vocab_path变量更新为相应的路径。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android中Transition过渡动画的简单使用

前些天发现了一个蛮有意思的人工智能学习网站,8个字形容一下"通俗易懂&#xff0c;风趣幽默"&#xff0c;感觉非常有意思,忍不住分享一下给大家。 &#x1f449;点击跳转到教程 一、布局xml文件代码如下&#xff1a; <?xml version"1.0" encoding&quo…

alist修改密码(docker版)

rootarmbian:~# docker exec -it [docker名称] ./alist admin set abcd123456 INFO[2024-02-20 11:06:29] reading config file: data/config.json INFO[2024-02-20 11:06:29] load config from env with prefix: ALIST_ INFO[2024-02-20 11:06:29] init logrus..…

SpringBoot+WebSocket实现即时通讯(四)

前言 紧接着上文《SpringBootWebSocket实现即时通讯&#xff08;三&#xff09;》 本博客姊妹篇 SpringBootWebSocket实现即时通讯&#xff08;一&#xff09;SpringBootWebSocket实现即时通讯&#xff08;二&#xff09;SpringBootWebSocket实现即时通讯&#xff08;三&…

第3部分 原理篇2去中心化数字身份标识符(DID)(3)

3.2.2.4. DID文档 (DID Document) 本聪老师&#xff1a;DID标识符和DID URL还都只是ID&#xff0c;必须为它附加一个基本属性才可以证明是该主体独有的。这个就是我们下面介绍的DID文档。 本聪老师&#xff1a;每个DID标识符都唯一对应一个DID文档&#xff0c;也可以说&#x…

kubernetes负载均衡部署

目录 1.新master节点的搭建 对master02进行初始化配置&#xff08;192.168.88.31&#xff09; 将master01的配置移植到master02 修改master02配置文件 2.负载均衡的部署 两台负载均衡器配置nginx 部署keepalived服务 所有node节点操作 总结 实验准备&#xff1a; k8s…

LangChain Agent v0.2.0简明教程 (上)

快速入门指南 – LangChain中文网 langchain源码剖析系列课程 九天玩转Langchain! 1. LangChain是什么2. LangChain Expression Language (LCEL)Runnable 接口3. Model I/O3.1 Prompt Templates3.2 Language Model3.3 Output ParsersUse case(Q&A with RAG)1. LangChain…

C++多线程同步(上)

多线程同步 引言总述详情互斥锁示例运行结果分析条件变量示例一实现分析优化运行结果示例二实现代码运行结果示例三实现代码运行结果读写锁示例实现代码注意分析运行结果附言实现运行结果运行结果个人心得引言 项目中使用多线程,会遇到两种问题,一种是对共享资源的访问时需要…

《高效使用Redis》- 由面试题“Redis是否为单线程”引发的思考

由面试题“Redis是否为单线程”引发的思考 很多人都遇到过这么一道面试题&#xff1a;Redis是单线程还是多线程&#xff1f;这个问题既简单又复杂。说他简单是因为大多数人都知道Redis是单线程&#xff0c;说复杂是因为这个答案其实并不准确。 难道Redis不是单线程&#xff1f…

redis哨兵机制

目录 前言 1.基本概念 2.安装部署(基于docker) 3.重新选举 4.选举原理 5.总结 前言 Redis的主从复制模式下&#xff0c;一旦主节点由于故障不能提供服务&#xff0c;需要人工进行主从切换&#xff0c;同时大量的客户端需要被通知切换到新的主节点上&#xff0c;对于上了一…

MATLAB:数组与矩阵

2.1 数组运算 数组运算时MATLAB计算的基础。由于MATLAB面向对象的特性&#xff0c;这种数值数组称为MATLAN最重要的一种内建数据类型&#xff0c;而数组运算就是定义这种数据结果的方法。 2.1.1 数组的创建和操作 在MATLAB中一般使用方括号“[]”、逗号“,”、空格和分号“;…

详解 CSS 选择器

详解 CSS 选择器 选择器的功能 选中页面中指定的标签元素。 要先选中元素&#xff0c;才能设置元素的属性&#xff0c;就好比策略类指挥游戏&#xff0c;比如海岛奇兵这类的, 需要先选中单位, 再指挥该单位行动。 CSS 选择器的种类 注&#xff1a;以下介绍的选择器只是CSS2标…

Redis分布式锁的正确使用姿势

前言 分布式锁在日常开发中&#xff0c;用处非常的多。包括但不限于抢红包&#xff0c;秒杀&#xff0c;支付下单&#xff0c;幂等&#xff0c;等等场景。 分布式锁的实现方式有多种&#xff0c;包括redis实现&#xff0c;mysql实现&#xff0c;zookeeper实现等等。而其中redis…

【生活】浅浅记录

各位小伙伴们好鸭&#xff0c;今天不是技术文章&#xff0c;浅浅记录一下最近几个月的收获&#x1f60a; 新的一年&#xff0c;一起努力&#xff0c;加油加油&#xff01;

解决IDEA搜不到插件

File -> Settings -> Plugins https://plugins.jetbrains.com/ 完成以上操作即可搜到插件

R cox回归 ggDCA报错

临床预测模型的决策曲线分析&#xff08;DCA&#xff09;&#xff1a;基于ggDCA包 决策曲线分析法&#xff08;decision curve analysis&#xff0c;DCA&#xff09;是一种评估临床预测模型、诊断试验和分子标记物的简单方法。 我们在传统的诊断试验指标如&#xff1a;敏感性&a…

OpenGL ES (OpenGL) Compute Shader 计算着色器是怎么用的?

OpenGL ES (OpenGL) Compute Shader 是怎么用的? Compute Shader 是 OpenGL ES(以及 OpenGL )中的一种 Shader 程序类型,用于在GPU上执行通用计算任务。与传统的顶点着色器和片段着色器不同,Compute Shader 被设计用于在 GPU 上执行各种通用计算任务,而不是仅仅处理图形…

压缩感知常用的测量矩阵

测量矩阵的基本概念 在压缩感知&#xff08;Compressed Sensing&#xff0c;CS&#xff09;理论中&#xff0c;测量矩阵&#xff08;也称为采样矩阵&#xff09;是实现信号压缩采样的关键工具。它是一个通常为非方阵的矩阵&#xff0c;用于将信号从高维空间映射到低维空间&…

二蛋赠书十六期:《高效使用Redis:一书学透数据存储与高可用集群》

很多人都遇到过这么一道面试题&#xff1a;Redis是单线程还是多线程&#xff1f;这个问题既简单又复杂。说他简单是因为大多数人都知道Redis是单线程&#xff0c;说复杂是因为这个答案其实并不准确。 难道Redis不是单线程&#xff1f;我们启动一个Redis实例&#xff0c;验证一…

深度学习系列59:文字识别

1. 简单文本&#xff1a; 使用google加的tesseract&#xff0c;效果不错。 首先安装tesseract&#xff0c;在mac直接brew install即可。 python调用代码&#xff1a; import pytesseract from PIL import Image img Image.open(1.png) pytesseract.image_to_string(img, lan…

【算法与数据结构】1971、LeetCode寻找图中是否存在路径

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析&#xff1a;本题应用并查集的理论直接就可以解决&#xff1a;【算法与数据结构】回溯算法、贪心算法、动态规划、图…