【论文笔记】Gemma: Open Models Based on Gemini Research and Technology

news2024/11/20 14:38:37

Gemma

日期: March 5, 2024
平台: CSDN, 知乎
状态: Writing

Gemma: Open Models Based on Gemini Research and Technology

谷歌最近放出的Gemma模型【模型名字来源于拉丁文gemma,意为宝石】采用的是与先前Gemini相同的架构。这次谷歌开源了两个规模的模型,分别是2B和7B的版本。【对于个人电脑来说,2B真的要容易运行的多】。在18个基于文本的任务上,有11项胜过其他开源的模型

谷歌在开源社区领域真的做出了巨大的贡献🌼,Transformers, TensorFlow, BERT, T5, JAX, AlphaFold, 以及AlphaCode。每一项对人工智能的发展都起到了推波助澜的作用。

引言

We trained Gemma models on up to 6T tokens of text, using similar architectures, data, and training recipes as the Gemini model family.

分别发布了pre-trained和fine-tuned的checkpoints。

模型架构

在这里插入图片描述

请添加图片描述

其实通过上面第一张表格就大体就可以计算第二张表格的参数具体是怎么来的

model.layers.0.self_attn.q_proj.weight torch.Size([2048, 2048]) = 4,194,304
model.layers.0.self_attn.k_proj.weight torch.Size([256, 2048]) = 524,288
model.layers.0.self_attn.v_proj.weight torch.Size([256, 2048]) = 524,288
model.layers.0.self_attn.o_proj.weight torch.Size([2048, 2048]) = = 4,194,304
model.layers.0.mlp.gate_proj.weight torch.Size([16384, 2048]) = 33,554,432
model.layers.0.mlp.up_proj.weight torch.Size([16384, 2048]) = 33,554,432
model.layers.0.mlp.down_proj.weight torch.Size([2048, 16384]) = 33,554,432
model.layers.0.input_layernorm.weight torch.Size([2048]) = 2048
model.layers.0.post_attention_layernorm.weight torch.Size([2048]) = 2048

model.norm.weight torch.Size([2048])

(4,194,3042+524,2882+33,554,4323+20482)*18+2048=1,981,884,416

下面四种技术,有机会会出单独的文章进行讲解

Multi-Query Attention

对于7B 模型使用的是multi-head attention【transformer中原始的】

对于2B模型则是使用的multi-query attention (with 𝑛𝑢𝑚_𝑘𝑣_ℎ𝑒𝑎𝑑𝑠 = 1)

RoPE Embeddings

位置编码使用的RoPE位置编码,在每一层中使用旋转位置嵌入

GeGLU Activation

标准 ReLU 非线性被 GeGLU 激活函数取代。

Normalizer Location

对输入输出都是用RMSNorm 标准化

模型训练基础设施

用的全是谷歌自己的TPU,说结论吧,训练7B的Gemma用了4096个TPUv5e,训练

B模型用了512个TPUv5e

预训练

训练数据

Gemma 2B 和 7B 分别针对来自网络文档、数学和代码的主要英语数据的 2T 和 6T 标记进行训练。并没有对语言进行优化!!!!

Instruction Tuning

Formatting

请添加图片描述
在这里插入图片描述

结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python--产品篇--游戏-坦克1

文章目录 准备代码效果 准备 下载 代码 5# coding: utf-8# 游戏运行主程序 import sys import pygame import scene import bullet import food import tanks import home from pygame.locals import *# 开始界面显示 def show_start_interface(screen, width, height):tfo…

leetcode10正则表达式匹配

leetcode10正则表达式匹配 思路python 思路 难点1 如何理解特殊字符 ’ * ’ 的作用? 如何正确的利用特殊字符 ’ . ’ 和 ’ * ’ ? * 匹配零个或多个前面的那一个元素 "a*" 可表示的字符为不同数目的 a,包括: "…

漫画手绘视频教程分享

下载地址: 漫画手绘教程: https://url83.ctfile.com/d/45573183-60305653-039aed?p7526 (访问密码: 7526)

Doris实战——银联商务实时数仓构建

目录 前言 一、应用场景 二、OLAP选型 三、实时数仓构建 四、实时数仓体系的建设与实践 4.1 数仓分层的合理规划 4.2 分桶分区策略的合理设置 4.3 多源数据迁移方案 4.4 全量与增量数据的同步 4.5 离线数据加工任务迁移 五、金融级数仓稳定性最佳实践 5.1 多租户资…

DQL语言学习(2024/3/5)one

1.基础查询: select 查询列表 from 表名; 查询列表可以是:①表中的字段、②常量值、③表达式、④函数 ①查询表中的单个字段,多个字段,所有字段 select *from 表名; ③查询表达式: select 100*98; ④…

pip 安装

1、下载pip安装包 pip PyPI-python 2.7的版本 2、解压安装包 在文件路径中输入cmd进行安装配置到第三步骤 3、用python setup.py install 进行命令行安装 显示如下为安装成功 4、安装成功后需要在环境变量进行配置pip的路径 C:\Python27\Scripts 5、测试pip安装是否成功

nginx 根据参数动态代理

一、问题描述 nginx反向代理配置一般都是配置静态地址,比如: server {listen 80;location / {proxy_pass http://myapp1;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;}} 这个反向代理表示访问80端口跳转到 http://myapp1 …

03按键控制LED

上回讲到点亮一个LED     这次我们来实现用按键控制led 不带中断的方式 当然实例来源网络 加上自己整合 先熟悉流程 0.添加一个自己写的驱动库文件 为什么添加 笔者想的是一个项目工程希望能适应很多个应用场景需要什么直接在里面调用分装好的函数就行 1.如何添加文件以及…

C++ 快速排序快速选择OJ

目录 1、75. 颜色分类 2、912. 排序数组 3、 215. 数组中的第K个最大元素 4、LCR 159. 库存管理 III 1、75. 颜色分类 思路:利用快速排序思路,使用三指针分块进行优化。 [0,left]——小于key[left1,right-1]——等于key[right,nums.size()]——大于k…

Day 6.有名信号量(信号灯)、网络的相关概念和发端

有名信号量 1.创建: semget int semget(key_t key, int nsems, int semflg); 功能:创建一组信号量 参数:key:IPC对像的名字 nsems:信号量的数量 semflg:IPC_CREAT 返回值:成功返回信号量ID…

惠普 DsekJet GT 5810/5820常见问题及解决方法

1、HP DeskJet GT 5810/5820机器的屏幕出现“P”时,该如何操作? 当屏幕出现“P”时,放入A4纸,按住“进纸键”3秒即可,打印机会打印出一张校准页。 2、HP DeskJet GT 5810/5820机器的屏幕出现“A”时,该如何…

反射(重点)

1.反射的概述 Java给我们提供了一套API,使用这套API我们可以在运行时动态的获取指定对象所属的类,创建 运行时类的对象,调用指定的结构,(属性,方法)等 API: java.lang.Class:代表一个类 jav…

JSP实现数据传递与保存

1.HTML页面转换JSP页面 直接再HTML页面最顶端添加page指令,修改文件后缀名;反之; 2.JSP内置对象 对象 描述 request 每当客户端请求JSP页面时,JSP引擎会制造一个新的request对象来代表这个请求。 response 当服务器创建req…

keycloak-鉴权springboot

一、环境描述 keycloak鉴权springboot的方式,此处简单介绍,springboot官方也提供了demo https://github.com/keycloak/keycloak-quickstarts/tree/latest/spring/rest-authz-resource-server 以及文档说明 Securing Applications and Services Guide…

ruoyi-nbcio-plus的Vue3前端一些插件使用介绍(二)

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址: http://122.227.135.243:9666 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码: https://gitee.com/nbach…

微信小程序自动化测试——微信小程序云测服务!

MiniTest 微信小程序云测服务是一套由微信测试团队自主研发,联合WeTest云真机能力,共同推出的微信小程序自动化测试服务。 服务基于云真机,支持开发者简单快捷地实现小程序智能化Monkey测试,录制回放,自定义测试和性能…

基于springboot+vue的医疗报销系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

YOLO算法改进Backbone系列之:RepViT

摘要:近年来,与轻量级卷积神经网络(cnn)相比,轻量级视觉变压器(ViTs)在资源受限的移动设备上表现出了更高的性能和更低的延迟。这种改进通常归功于多头自注意模块,它使模型能够学习全局表示。然而,轻量级vit和轻量级cn…

猫咪冻干的价格差别为什么那么大?价格实惠的主食冻干分享

随着养猫科学知识的普及,越来越多的铲屎官选择更符合猫咪饮食天性的主食冻干喂养。尽管有些铲屎官因价格犹豫,但像我这样的资深铲屎官深知其益处。尽管其价格稍高于烘焙粮和膨化粮,但主食冻干为猫咪健康带来的实际好处是无法估量的。 对于像我…

约课小程序有哪些功能

​约课小程序为教育机构、教师和学生提供了便捷的预约和管理服务,有效提升了教学效率和用户体验。在这篇文章中,我们将介绍约课小程序常见的功能,帮助教育机构更好地了解如何利用小程序来提升服务质量和管理效率。 1. **课程预约功能**&…