xAI开发的一款巨大型语言模型(HLM)--Grok 1

在xAI发布Grok的权重和架构之后,很明显大型语言模型(LLM)的时代已经过去,现在是巨大型语言模型(HLM)的时代。这个混合专家模型发布了3140亿个参数,并且在Apache 2.0许可下发布。这个模型没有针对任何特定应用进行微调。

The cover image was generated using Midjourney based on the following prompt proposed by Grok: A 3D illustration of a neural network, with transparent nodes and glowing connections, showcasing the varying weights as different thicknesses and colors of the connecting lines.

什么是Grok?

Grok-1拥有3140亿个参数,是目前为止市场上最大的开源模型。与OpenAI的GPT-3相比,Grok的参数大小是GPT-3的三倍多。
Grok 旨在以机智的方式回应,并在其回答中加入一些幽默元素。与其他大型语言模型(LLMs)不同,Grok 拥有来自 X 平台的实时世界知识。它还能回答大多数大型语言模型所拒绝的问题。
Grok仍处于测试阶段,因为仅训练了2个月。但它的性能将日益提高。

Grok的特性

  1. 混合专家(MoE)架构:MoE架构是一种设计神经网络的方法,它由多个专门的“专家”组成,这些专家结合起来进行预测。在这个案例中,Grok有8个专家,但同时只有2个是活跃的。这种方法允许模型有效地扩展到大量参数,通过在多个专家之间分配工作负载来实现。
  2. 旋转位置嵌入(RoPE):RoPE是一种技术,使模型能够有效地处理序列位置信息。传统的位置嵌入在计算上可能较为昂贵,但RoPE旨在更高效地实现位置信息的优点。
  3. 上下文大小:Grok的上下文大小为8192个标记。这指的是模型一次可以处理的标记(通常是词或子词)的最大数量。更大的上下文大小允许模型处理更长的序列,这对于翻译、摘要或其他任何需要远距离上下文的序列基础任务来说是有益的。
  4. 词汇量:Grok的词汇量为131072。这是模型可以表示或预测的独特标记(例如,词或子词)的数量。更大的词汇量允许模型处理更广泛的输入。
  5. 许可:Grok是开源的,并遵循Apache 2.0许可。这个许可允许自由使用、修改和分发软件,只要对任何派生作品也授予相同的自由。
  6. 量化权重:为了提高存储和计算效率,Grok使用了量化权重。量化是一个减少权重精度的过程,以减小模型大小和加快推理速度。在将深度学习模型部署到生产环境时,这是一种常见的做法,因为资源可能受限。
  7. 训练数据:模型在大量文本数据上进行训练,但没有针对任何特定任务进行微调。这意味着Grok可能是一个通用的NLP模型,能够执行广泛的NLP任务,而不需要进行特定任务的调整,尽管不进行特定任务的微调可能会导致在没有进一步训练的情况下模型在某些NLP任务上性能不佳。

Grok评测

Grok 的 MMLU 得分为 73%,超过了 Llama 2 70B 的 68.9% 和 Mixtral 8x7B 的 70.6%。

Grok安装

有关加载和运行 Grok-1 的说明在此 GitHub (GitHub - xai-org/grok-1: Grok open release)中进行了解释。将代码隆到本地即可,其中包含用于加载和运行 Grok-1 开放权重模型的 JAX 示例代码。

确保下载检查点并将 ckpt-0 目录放入checkpoints :

测试运行代码:
pip install -r requirements.txt
python run.py

该脚本在测试输入上加载模型中的检查点和样本。
由于模型规模较大(314B参数),需要有足够GPU内存的机器才能使用示例代码测试模型。该存储库中 MoE 层的实现效率不高。选择该实现是为了避免需要自定义内核来验证模型的正确性。

权重下载

1. 可以使用 torrent 客户端和此磁力链接下载权重:

magnet:?xt=urn:btih:5f96d43576e3d386c9ba65b883210a393b68210e&tr=https%3A%2F%2Facademictorrents.com%2Fannounce.php&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce

 2. 或者从HuggingFace 🤗 Hub下载:

git clone https://github.com/xai-org/grok-1.git && cd grok-1
pip install huggingface_hub[hf_transfer]
huggingface-cli download xai-org/grok-1 --repo-type model --include ckpt-0/* --local-dir checkpoints --local-dir-use-symlinks False

模型总结

Grok-1 目前设计有以下规格:
参数:314B
架构:8 名专家的组合 (MoE)
专家利用率:每个代币使用 2 名专家
层数:64
注意头:48 个用于查询,8 个用于键/值
嵌入大小:6,144
标记化:具有 131,072 个标记的 SentencePiece 标记生成器
附加功能:
旋转嵌入 (RoPE)
支持激活分片和8位量化
最大序列长度(上下文):8,192 个标记

参考

  • 论文: Open Release of Grok-1
  • 代码: GitHub - xai-org/grok-1: Grok open release
  • https://huggingface.co/xai-org/grok-1
  • https://huggingface.co/Xenova/grok-1-tokenizer

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

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

相关文章

C++关于类和对象的基础语法

前言: 介绍c中类和对象的基础语法和注意事项,这里是c入门的第一道坎,细节很多,在后面的更深的学习中还会反复提到。 目录 前言: 1.OO语言 2.类的定义 3.类的访问限定符与封装的引入 4.类的实例化 5.关键字this指…

Magic Copy:一键AI抠图,在浏览器中获得任何图像素材

Magic Copy:轻松一点,精准抠图,让创意无限放大! - 精选真开源,释放新价值。 概览 Magic Copy(AI智能抠图插件)是一个创新型的浏览器扩展工具,其独特之处在于能够无缝集成于用户的网…

项目配置之道:优化Scrapy参数提升爬虫效率

前言 在当今信息时代,数据是无处不在且无比重要的资源。为了获取有效数据,网络爬虫成为了一项至关重要的技术。Scrapy作为Python中最强大的网络爬虫框架之一,提供了丰富的功能和灵活的操作,让数据采集变得高效而简单。本文将以爬…

Kafka安装配置

#安装启动之前必须配置好zookeeper 可以参考zookeeper安装配置-CSDN博客 一、下载安装包,并解压 #创建目录 mkdir -p /kafka/{install,data} #进入/kafka/install目录下 cd /kafka/install #下载kafka wget https://archive.apache.org/dist/kafka/3.7.0/kafka_2…

JSONP 实现跨域请求案例

后端使用 express 搭建,案例代码如下: const express require(express)const app express() const PORT 3000app.get(/data, (req, res) > {const jsonData {name: Alan,age: 666,city: GD}const callback req.query.callback // 获取前端中的回…

【Linux】Linux开发工具-vim / 编译器-gcc/g++ / 调试器-gdb / git操作 / 项目自动化构建工具-make/Makefile

主页:醋溜马桶圈-CSDN博客 专栏:Linux_醋溜马桶圈的博客-CSDN博客 gitee:mnxcc (mnxcc) - Gitee.com 目录 1.在Linux写自己的第一个程序 1.1 nano指令 1.2 nano指令的使用 1.2.1 介绍 1.2.2 演示 1.2.2.1 创建.c文件 1.2.2.2 nano cod…

值迭代和策略迭代【强化学习】

强化学习笔记 主要基于b站西湖大学赵世钰老师的【强化学习的数学原理】课程,个人觉得赵老师的课件深入浅出,很适合入门. 第一章 强化学习基本概念 第二章 贝尔曼方程 第三章 贝尔曼最优方程 第四章 值迭代和策略迭代 文章目录 强化学习笔记一、Value It…

基于Docker的JMeter分布式压测!

一个JMeter实例可能无法产生足够的负载来对你的应用程序进行压力测试。如本网站所示,一个JMeter实例将能够控制许多其他的远程JMeter实例,并对你的应用程序产生更大的负载。JMeter使用Java RMI[远程方法调用]来与分布式网络中的对象进行交互。JMeter主站…

【运放】LM358和LM324

🚩 WRITE IN FRONT 🚩 🔎 介绍:"謓泽"正在路上朝着"攻城狮"方向"前进四" 🔎🏅 荣誉:2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评…

一个python实现的Kline框架

起因是想研究量化交易,然后核查算法的落角点,比如哪些指标的组合可以入场做单,没有一个形象化的工具算法写起来总是感觉差强人意。 初步想法是需要一个数据串,里面记录一组开高低收量,然后打开程序后可以将这个基础数…

【基于skyent的热更思考】

基于skyent的热更思考 skynet-inject热更原理关键源码分析热更方式拓扑图注意事项 skynet-inject热更原理 inject是一个用于动态加载 Lua 代码文件并执行其中定义的函数的功能。可以在运行时动态加载 Lua 代码文件,然后调用其中定义的函数,通过修改模块…

【小米汽车SU7实测】 小米汽车su7到底行不行?小米新能源轿车体验感怎么样?

小米汽车SU7是小米汽车的首款车型,定位“C级高性能生态科技轿车”,也是小米迈入新能源赛道的首次成果落地。 首先,让我们来谈谈它的性能。试驾过程中,小米SU7展现出了惊人的加速能力,0-100km/h加速仅需2.78秒&#xf…

射频前端架构之Phase8简介

Phase8系列方案有三种,分别是Phase8、Phase8M、Phase8M。 Phase8与Phase8M方案采用的是低频及中高频两颗L-PAMiD构成完成方案,目标是高端及旗舰手机,方案强调强大的射频能力,以及完整的CA、EN-DC支持,当然这两个方案的…

C++读取文本文件中的汉字出现乱码的原因及解决措施

大家好! 作者今天在写代码时遇到了读取文本文件中的汉字时出现乱码的情况,所以本文介绍Windows操作系统中,C读取文本文件中的汉字出现乱码情况原因及解决措施。 下面代码可以读取Stu.txt中的内容并输出: ifstream ifs; ifs.open(…

Python编程—Ajax数据爬取

Python编程—Ajax数据爬取 ​ 在浏览器中可以看到正常显示的页面数据,而使用requests得到的结果中并没有这些数据。这是因为requests获取的都是原始HTML文档,而浏览器中的页面是JavaScript处理数据后生成的结果,这些数据有多种来源&#xff…

模糊PID模糊化(三角隶属度函数SCL代码)

模糊PID系列文章大家可以查看PID专栏,这里我们再次对模糊化进行细分,为大家呈现不同的程序写法。 1、模糊控制模糊PID学习笔记 https://rxxw-control.blog.csdn.net/article/details/124380674https://rxxw-control.blog.csdn.net/article/details/1243806742、模糊PID(三角…

25.8 MySQL 数据处理之增删改

1. 数据完整性问题 数据完整性问题: 数据的插入, 更新, 删除等操作都需要满足数据库表的完整性约束条件, 否则这些操作将会失败. 完整性约束在数据库设计中起到了至关重要的作用, 它们确保了数据库中数据的准确性和一致性.约束条件的全称通常被称为完整性约束条件(Integrity Co…

物理查询优化(二):两表连接算法(附具体案例及代码分析)

前言 关系代数的一项重要操作是连接运算,多个表连接是建立在两表之间连接的基础上的。研究两表连接的方式,对连接效率的提高有着直接的影响。 连接方式是一个什么样的概念,或者说我们为何要有而且有好几种,对于不太了解数据库的人…

Sentry(Android)源码解析

本文字数:16030字 预计阅读时间:40分钟 01 前言 Sentry是一个日志记录、错误上报、性能监控的开源框架,支持众多平台: 其使用方式在本文不进行说明了,大家可参照官方文档:https://docs.sentry.io/platforms…

2000-2022年上市公司客户、供应商集中度数据

2000-2022年上市公司客户、供应商集中度数据 1、时间:2000-2022年 2、来源:上市公司年报 3、指标:年份、股票代码、股票简称、行业代码、省份、城市、省份代码、城市代码、上市状态、前五名客户产生的营业收入_亿元、占全年营业收入的比例…