LLM之llm-viz:llm-viz(3D可视化GPT风格LLM)的简介、安装和使用方法、案例应用之详细攻略

LLM之llm-viz:llm-viz(3D可视化GPT风格LLM)的简介、安装和使用方法、案例应用之详细攻略

目录

llm-viz的简介

1、LLM可视化

2、CPU模拟(WIP;尚未公开!)

llm-viz的安装和使用方法

llm-viz的案例应用

1、三维可视化nano-GPT进而理解Transformer内在机制


llm-viz的简介

2023年3月,软件工程师Brendan Bycroft开发了llm-viz,这是一个3D可视化GPT风格LLM的项目。为了方便部署和共享一些在其他情况下难以共享的js工具,它们被保存在一个单一的存储库中。项目主要包括:
>> LLM可视化:GPT风格的LLM网络运行推理的3D交互模型。
>> [WIP] CPU模拟:带有完整执行模型的2D数字原理图编辑器,展示基于简单的RISC-V CPU的模型。

GitHub地址:https://github.com/bbycroft/llm-viz

在线体验地址:LLM Visualization

1、LLM可视化

该项目展示了一个GPT风格网络的工作实现的3D模型。也就是说,这是OpenAI的GPT-2GPT-3(以及可能的GPT-4)中使用的网络拓扑结构

显示的第一个具有工作权重的网络是一个微小的网络,用于对字母A、B和C的小列表进行排序。这是Andrej Karpathy的minGPT实现的演示示例模型。

渲染器还支持可视化任意大小的网络,并与较小的gpt2大小一起工作,尽管权重没有被下载(因为它是数百MB)。

2、CPU模拟(WIP;尚未公开!)

该项目运行2D原理数字电路,带有完整的编辑器。其目的是添加一些演练,展示诸如:
>> 如何构建简单的RISC-V CPU;
>> 构建到门级别的组成部分:指令解码、ALU、加法等;
>> 更高级的CPU思想,如各种级别的流水线、缓存等;

llm-viz的安装和使用方法

本地运行
安装依赖项:yarn
启动开发服务器:yarn dev

llm-viz的案例应用

在线体验地址:LLM Visualization

1、三维可视化nano-GPT进而理解Transformer内在机制

欢迎来到GPT大型语言模型的演练!在这里,我们将探索模型nano-gpt,它只有85,000个参数。
它的目标很简单:接收一个包含六个字母的序列:
C B A B B C
并将它们按字母顺序排序,即变成"ABBBCC"。
我们称这些字母中的每一个为一个标记(token),模型的不同标记集合组成了它的词汇表:
标记    A    B    C
索引    0    1    2
从这个表格中,每个标记都被分配一个数字,即它的标记索引。现在我们可以将这个数字序列输入模型中:
2 1 0 1 1 2
在3D视图中,每个绿色单元格代表一个正在处理的数字,每个蓝色单元格是一个权重。
-0.7
0.4
0.8
正在处理
-0.7
0.7
-0.1
权重
序列中的每个数字首先被转换为一个48元素向量(为这个特定模型选择的大小)。这被称为嵌入(embedding)。
然后,嵌入通过模型传递,经过一系列层,称为变换器(transformers),最终到达底部。

那么输出是什么呢?是序列中下一个标记的预测。因此,在第6个条目,我们得到了下一个标记是'A'、'B'或'C'的概率。
在这种情况下,模型非常确信下一个标记将是'A'。现在,我们可以将这个预测反馈到模型的顶部,并重复整个过程。
在我们深入算法的复杂性之前,让我们先退后一步。
这个指南专注于推理,而不是训练,因此只是整个机器学习过程的一小部分。在我们的情况下,模型的权重已经被预先训练,我们使用推理过程生成输出。这直接在您的浏览器中运行。
这里展示的模型是GPT(生成式预训练Transformer)家族的一部分,可以描述为“基于上下文的标记预测器”。OpenAI于2018年推出了这个家族,其中有一些显著的成员,如GPT-2、GPT-3和GPT-3.5 Turbo,后者是广泛使用的ChatGPT的基础。它可能也与GPT-4有关,但具体细节仍然未知。
这个指南受到了minGPT GitHub项目的启发,这是由Andrej Karpathy创建的一个在PyTorch中实现的极简GPT。他的YouTube系列《Neural Networks: Zero to Hero 》和minGPT项目对本指南的制作提供了宝贵的资源。这里展示的玩具模型基于minGPT项目中的一个模型。

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

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

相关文章

智慧文旅:未来旅游业的数字化转型

随着科技的快速发展,数字化转型已经成为各行各业的必然趋势。旅游业作为全球经济的重要组成部分,也正经历着前所未有的变革。智慧文旅作为数字化转型的重要领域,正逐渐改变着旅游业的传统模式,为游客带来更加便捷、个性化的旅游体…

使用signal中止阻塞的socket函数的应用实例

在 socket 编程中,有一些函数是阻塞的,为了使程序高效运行,有一些办法可以把这些阻塞函数变成非阻塞的,本文介绍一种使用定时器信号中断阻塞函数的方法,同时介绍了一些信号处理和定时器设置的编程方法,本文…

【IM】如何保证消息可用性(一)

目录 1. 基本概念1.1 长连接 和 短连接1.2 PUSH模式和PULL模式 2. 背景介绍2.1 理解端到端的思想 3. 方案选型3.1 技术挑战3.2 技术目标 1. 基本概念 在讲解消息可用性之前,需要理解几个通信领域的基本概念。 1.1 长连接 和 短连接 什么是长连接,短连接…

MQ面试题之Kafka

前言 前文介绍了消息队列相关知识,并未针对某个具体的产品,所以略显抽象。本人毕业到现在使用的都是公司内部产品,对于通用产品无实际经验,但是各种消息中间件大差不差,故而本次选择一个相对较熟悉的Kafka进行详细介绍…

YoloV8改进策略:BackBone改进|DCNv4最新实践|高效涨点|多种改进教程|完整论文翻译

摘要 涨点效果:在我自己的数据集上,mAP50 由0.986涨到了0.993,mAP50-95由0.737涨到0.77,涨点明显! DCNv4是可变形卷积的第四版,速度和v3相比有了大幅度的提升,但是环境搭建有一定的难度,对新手不太友好。如果在使用过程遇到编译的问题,请严格按照我写的环境配置。 …

RBD —— Fracture SOP

目录 Assemble —— 清理破碎操作并生成碎片 Boolean Fracture —— 使用切割面破碎输入的几何体 Convex Decomposition —— 将输入几何体分解为凸线段 Glue Cluster —— 构建cluster值想glue约束添加强度 RBD Material Fracture —— 基于材质类型预破碎 Concrete Gl…

C++ 之LeetCode刷题记录(二十)

😄😊😆😃😄😊😆😃 开始cpp刷题之旅。 依旧是追求耗时0s的一天。 110. 平衡二叉树 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二…

RK3588平台开发系列讲解(视频篇)RKMedia框架

文章目录 一、 RKMedia框架介绍二、 RKMedia框架API三、 视频处理流程四、venc 测试案例沉淀、分享、成长,让自己和他人都能有所收获!😄 📢RKMedia是RK提供的一种多媒体处理方案,可实现音视频捕获、音视频输出、音视频编解码等功能。 一、 RKMedia框架介绍 功能: VI(输…

【牛客刷题】笔试选择题整理(day1-day2)

每天都在进步呀 文章目录 1. 小数求模运算2. 进程的分区,这里说的不是JVM的分区。进程中,方法存放在方法区。3. 访问权限控制4. 继承与多态5. 与equals()6. 类加载顺序7. super()与this()7.1 super7.1.1 super调用父类构造方法7.1.2 super调用父类属性和…

私人漫画图书馆:分类管理,一目了然 | 开源日报 No.157

tachiyomiorg/tachiyomi Stars: 26.9k License: Apache-2.0 tachiyomi 是一个免费开源的安卓漫画阅读器。 该项目的主要功能、关键特性、核心优势包括: 从多种来源在线阅读本地阅读已下载内容可配置的阅读器,具有多个查看器、翻页方向和其他设置支持追…

什么叫高斯分布?

高斯分布,也称为正态分布,是统计学中最常见的概率分布之一。它具有钟形曲线的形态,对称分布在均值周围,且由均值和标准差两个参数完全描述。 高斯分布的概率密度函数(Probability Density Function, PDF)可…

[设计模式Java实现附plantuml源码~创建型] 复杂对象的组装与创建——建造者模式

前言: 为什么之前写过Golang 版的设计模式,还在重新写Java 版? 答:因为对于我而言,当然也希望对正在学习的大伙有帮助。Java作为一门纯面向对象的语言,更适合用于学习设计模式。 为什么类图要附上uml 因为很…

DevOps系列文章之 GitLabCI汇总

GitlabCI环境搭建 前提 先安装 docker Docker容器化安装 docker pull gitlab/gitlab-ee:12.4.0-ee.0 创建挂载目录 mkdir -p /srv/gitlab mkdir -p /srv/gitlab/config # 映射到 Glitlab 容器中的配置目录 mkdir -p /srv/gitlab/logs # 映射到 Glitlab 容器中的日志目录 m…

mac裁剪图片

今天第一次用mac裁剪图片,记录一下过程,差点我还以为我要下载photoshop了, 首先准备好图片 裁剪的目的是把图片的标题给去掉,但是不能降低分辨率,否则直接截图就可以了 解决办法 打开原始图片(不要使用预览&#xf…

Python环境下基于机器学习的NASA涡轮风扇发动机剩余使用寿命RUL预测

本例所用的数据集为C-MAPSS数据集,C-MAPSS数据集是美国NASA发布的涡轮风扇发动机数据集,其中包含不同工作条件和故障模式下涡轮风扇发动机多源性能的退化数据,共有 4 个子数据集,每个子集又可分为训练集、 测试集和RUL标签。其中&…

【开源】基于JAVA语言的二手车交易系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 二手车档案管理模块2.3 车辆预约管理模块2.4 车辆预定管理模块2.5 车辆留言板管理模块2.6 车辆资讯管理模块 三、系统设计3.1 E-R图设计3.2 可行性分析3.2.1 技术可行性分析3.2.2 操作可行性3.2.3 经济…

Java入门——数据类型、自动类型转换、强制类型转换

目录 数据类型 基本数据类型 自动类型转换 表达式的自动类型转换 强制类型转换 计算机中表示数据的最小单元 计算机中表示数据的最小单元:一个字节(byte,简称B,是使用8个二进制位组成的)字节中的每个二进制位就称…

Python进阶第一篇(Python的面向对象)

文章目录 一、初识对象1.案例代码2.读出结果 二、类的成员方法三、类和对象四、构造方法六、其他内置方法1.魔术方法案例代码2.读出结果 七、封装1.封装案例代码2.读出结果 八、继承1.复写与调用2.类型注解 九、多态 在这个探索和学习的旅程中,我们将深入理解一些编…

基于DataKit迁移MySQL到openGauss

📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】!😜&am…

网络防御保护——防火墙子接口配置

一.实验拓扑图 二.实验要求 1.生产区在工作时间内可以访问服务区,仅可以访问http服务器。 2.办公区全天可以访问服务区,其中,10.0.2.20可以访问FTP服务器和HTTP服务器,10.0.2.10仅可以ping通10.0.3.10。 3.办公区在访问服务区时采…