chatgpt,神经网络与拥塞控制

chatgpt 是一个巨大的带答案的完形填空题库,它可以回答几乎所有的文字类问题,不保证完全正确,但大致正确。它是怎么做到的?

它怎么知道我要问什么,如果它知道我要问什么,那么问题的不同表达形式它也一定知道是同一个意思,比如 “TCP 是什么?”,“TCP 是什么协议?”,“TCP 如何工作?”,… 多一个字,少一个修饰语,即使问题非常简单,问法也是海量,总要有个地方存放这些问题及问题的答案,这个地方在哪?

很遗憾,没有这个地方。因为 chatgpt 采用人的方式而不是计算机的方式被构建。

将数据作为输入,经过数据无关的算法加工,获得输出,这是如今通用的冯诺依曼存储执行计算机的方式,背后的模型就是图灵机。但显然人不是这样思考问题的。

“猫” 这个概念保存在我们大脑的哪个位置,如果确实有这个位置,把这个位置用挖耳勺挖掉,我们就不认识猫了,是这样吗?显然不是。人更像是将信息编码进了大脑结构本身:

  • 猫的外观,叫声第一次通过视觉,听觉进入大脑,激发大脑产生某些结构性变化,当再次看到同样的外观,或听到同样叫声时,这些信息经过结构固化的大脑后会得到一个输出,“这是一只猫”。

人自出生就通过视觉,听觉,触觉不停接收信息,这些信息不停对大脑神经元结构进行塑造,触发它们不停发生变化,所有的记忆由所有神经元状态的集合决定,记忆不是在某处保存了某数据,记忆只是一个状态集。

chatgpt 是一个类似大脑的结构,由数(千)亿神经元组成,每个神经元输出连接其它神经元输入,携若干参数作为输入权重。chatgpt 主动阅读互联网上的文字信息,这些信息触发神经元的权重发生改变,以获取更合理输出。比如当它读到 “浙江温州皮鞋湿” 这句名诗时,它会尝试改变某些神经元权重,使接下来获得 “下雨进水不会胖” 的概率更高,这是个不停 “学习” 的过程。某个时刻,chatgpt 就摆在那里,除错综复杂的神经元结构之外,不存在任何存储数据的地方,此时你问它 “皮鞋没有蹬上” 的下句是什么,它会回答 “露着白袜子”,因为前面那些字经过 chatgpt 的神经元网络后,指向 “露着白袜子” 的概率更高,没有为什么,只因它曾经读到过这句完整的话,它的神经元结构记住了这句话。

所有这一切都是神经元结构决定的。chatgpt 神经元参数的数量与所有文字,词,短语,长句的数量在一个量级,神经元网络规模与训练数据规模如此相似,恰好说明内容被分布式编码在结构中。

这种方式好处多多。

明显的好处是它天然并行化,整个结构没有通路互斥,没有全局变量,不存在某个地方只能有一条执行流通过的情况,因为根本就没有执行流,逻辑全在结构本身。

以此为背景,我觉得 chatgpt 的方式(不仅仅指 chatgpt 本身)非常适合 “记忆调取” 而不是作为工具被使用。拥塞控制就是这类场景的实例。

同一对端之间数据传输是一件屡次发生的事,昨天发生过,前天发生过,且发生时刻就在今天的此时刻。结合人类行为学,背后的事实是网络流量很大程度上相对固定且有规律。比如每个人每天固定时间会有固定行为(比如每晚 10 点 10 分会刷B站),这给了 “学习” 以依据,只要有足够数据训练模型,整个互联网流量画像就能被刻画出来。

传输大模型只需调出曾经生效过的记忆中的传输配置,而不是生成一个新的配置,这与作为工具对数据的加工方式完全不同。人没必要把四则混合运算的结果记在脑子里,但却有必要把尽可能多的动植物的外观气味记在脑子里,大致就是这个意思。拥塞只能避免不能对抗,记住疯猫,野狗,毒虫的外观和气味就是想要避开它们,而不是用 “算法” 对抗它们。

拥塞信号只是通知你善后,不是征求你的处理意见。一旦拥塞实际发生,额外的动作只会弄巧成拙,传输大模型的目标是不让拥塞发生,不产生拥塞信号,也就不需要善后(比如 AIMD 等内生反应式算法,而反应式算法的代价也是内置的,比如周期锯齿,即使 bbr 也有 probertt 锯齿)了。初到一个城市最容易遭遇堵车,随着时间流逝,就不会堵车了,没什么高尚的 “算法”,只是你记住了堵车的时间或路段,绕开了而已。

读书读得多了,遣词造句水平自然就高,自然就会写了,并不是人变聪明了,而是读书使你 “学会了” 很多字词句的固定搭配,段落自然就流出来了。当一个数据传输系统 “学会了” 一小时,一天,一周,… 的每个时刻的链路画像时,它自然就知道使用什么配置参数进行拥塞避免了。

与此相对,别指望启发式闭环算法,滞后反馈的本质决定了这种算法的精度和上限,当未来注定无法预测时,能利用的只有历史。

简单说一下神经网络原理。

神经网络由大量神经元连接而成,每个神经元的输出对应下一个神经元的输入,一个简单的神经元如下:
在这里插入图片描述

它可将一条直线分割为若干部分,每个部分表示一种元特征展现或不展现。

更多的神经元便可刻画多个元特征组合,比如识别平面上某点位于 a,b,…i 中的哪个区域内,如下图所示:
在这里插入图片描述

如果这些区域之间的边界是模糊的,那么输出将会携带概率。

所谓训练就是不断用真实 case 供上述结构来学习,比如 (1,2)->b,(5,1)->e,(1,3.5)->80%b + 20%a,在获得输出的过程中调节神经元激发条件,使其最终获得越来越正确的输出。 学习过程是个对神经元激发条件硬编码的过程。

当完成足够的训练,所有神经元的激发条件均被调节到 “恰到好处”,当你用 (5,1) 作为输入,这个结构会输出 e,虽然这个结构里没有任何地方保存 “(5,1) 对应的区域是 e” 这种信息,但它确实得到了正确答案,就像它亲眼看到了一样。它确实亲眼看过,并记住了。

由简入繁,所有概念,记忆,文字都可抽象成上述对特定区域的识别,比如 “浙江温州皮鞋湿” 对应点 A,那么 “下雨进水不会胖” 这个点就在离 A 非常近的位置,于是 chatgpt 就把这句话拎出来接话了,这并不意味着 chatgpt 理解这两句名诗前后的逻辑联系,事实上作者本人也不理解。

实际操作中,chatgpt 是结合初始上下文一个字一个字递归往外崩的:

  • 输入问题:“浙江温州皮鞋湿”
  • chatgpt 获得了一个可能的 “下一个字”:“抱”,新的输入为:“浙江温州皮鞋湿 抱”
  • chatgpt 获得了一个可能的 “下一个字”:“歉”,新的输入为:“浙江温州皮鞋湿 抱歉”
  • chatgpt 获得了一个可能的 “下一个字”:“,我”,新的输入为:“浙江温州皮鞋湿 抱歉,我”

  • 在这里插入图片描述

“获得一个可能的‘下一个字’” 的方法类似于 “在一个平面上找一个距离已知点最近的点”,如果每一个字,每一个词,每一个常见词组或句子都被表示成平面上的点,chatgpt 的训练过程就是确定所有这些点的位置,让有意义的组合距离更近:
在这里插入图片描述

当 chatgpt 遇到 “浙江温州皮” 时,显然距离它最近的点就是 “鞋”,紧接着距离 “浙江温州皮鞋” 最近的点就是一个字 “湿”,于是就连起来了。当 chatgpt 爬遍了整个互联网,它获得的 “知识” 是巨量的,这一切不能说被保存在一张巨大的神经网络中,而要说这一切就是这张网络本身。

无论多么复杂的概念,都能用不停的一般疑问句二分拆解,每个一般疑问句均可以对应一个神经元,每个回答改变一个神经元,类比雕塑,就是 “刻一刀”,对概念进行 “理解” 和 “记忆” 的过程是一个雕刻的过程,整座雕塑完成了,理解和记忆就完成了,而整个神经网络就是这座雕塑本身。

谈谈大模型的训练,模型是已完成的雕塑,一共需要刻多少刀决定模型的规模。但任何类比都比不上模型训练的数学描述。模型就是确定了参数系数的数学方程,而模型的训练就是待定系数的过程。

我们在小学时就接触过模型的训练,即 “待定系数法求方程”。

L: y = a*x + b

已知 A(1,2),B(3,4) 在直线 L 上,请确定该直线。我们用 A 和 B 两点训练该模型,即可求解 a,b 两个参数,L 就确定了。

如果把直线 L 换成一只猫呢?虽然猫不是直线,但它可用直线画出来,素描就这么干。这无非是一道更复杂的待定系数法的题目:

Cat: y = a1*(a2*(…) + b2) + b1 + an*x + bn…

用猫足够多的特征训练上述方程,即可求解出 a1,a2,…an,…bn 等所有参数,Cat 的方程就确定了。现在拿一组数据喂给这个方程问这是不是一只猫,这个方程根据这些数据和 Cat 方程的拟合程度便可给出答案,就像它见过一样,它确实见过。

一只猫的方程,将每一个 f(x) = a*x + b 看作一个神经元,需要多少神经元?100 个?1000 个?还是 1 亿个?需要待定的系数的个数决定了模型的规模,模型规模越大越精确。

所谓大模型,说的就是需要待定的系数数量非常多,动辄以亿记。像 chatpgt 这类描述字词句搭配的文字信息模型,大概有数千亿需要调节的系数。

还是秀一下秀了很多次的代码:

int get_cwnd(...) 
{...if (src = inet_addr("123.100.10.19")) {cwnd = 12073; pacing = 0;} else if (src = inet_addr("80.12.3.40") && time < 9_PM) {cwnd = 1000;pacing = 1;}...
}

这些数据哪来的?学来的。

这种方式和闭环算法之间有本质差异,没有任何算法能解释为什么是 12073,就算有这个算法也没有找到它的必要,只要知道 12073 曾经使用过,效果还不错就够了,背后没什么原理,大量数据佐证,便可量大出奇迹。

仍以 chatgpt 为例,它的内部结构绝不是文字信息简单堆砌塑造而成,而是表现出一定的结构,训练数据较少时,这种结构不明显,看起来就是堆砌的噪声,随着训练数据增多,好看的结构便涌现出来,这可能是语言本身的结构,也可能是人类逻辑的本质展现,但没人能解释这种涌现到底是什么,就像没人能解释意识是什么一样,它就在那里。

“没人能解释,但它就在那里”,这句话总让人觉得不负责任,特别是对那些研究拥塞控制算法的人而言,AI 驱动的拥塞避免总不被看好,被认为是噱头,但我认为恰恰相反,拥塞控制本就不属于公理体系和逻辑范畴,它恰恰就是 “就在那里”,换句话说,策略不是推导出来的,而是尝试出来的。好像生活本身,它是由大量经验塑造出来的,没人会论证生活本身的内在逻辑,这样做也是无益的。

当你已经知道链路只有 100Mbps,当你知道当前带宽已经 99Mbps,明知道继续 additive-increase 很快就会 multiplicative-decrease,你还会继续 cwnd ++ 吗?明明你有足够多的信息,可你就是不用,偏偏选择吃三堑长一智。

皮鞋没有蹬上,露着白袜子。

浙江温州皮鞋湿,下雨进水不会胖。

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

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

相关文章

CentOS 7 安装 Docker 的详细步骤

文章目录 Docker简介1.更新2.安装必要的软件包3.添加Docker仓库4.安装5.安装后的一些常规设置及常用的命令5.1 启动 Docker5.2 Docker 在系统启动时自动运行5.3 运行一个 Hello World 镜像5.4 查看docker运行状态5.5 docker ps5.6 查看docker版本 6.安装种常见的错误错误1:yum-…

win10默认浏览器改不了怎么办,解决方法详解

win10默认浏览器改不了怎么办&#xff0c;解决方法详解_蓝天网络 在使用Windows 10操作系统时&#xff0c;你可能会遇到无法更改默认浏览器的情况。这可能是因为其他程序或设置正在干扰更改。如果你也遇到了这个问题&#xff0c;不要担心&#xff0c;本文将为你提供详细的解决…

Spring实例化源码解析之ComponentScanAnnotationParser(四)

上一章我们分析了ConfigurationClassParser&#xff0c;配置类的解析源码分析。在ComponentScans和ComponentScan注解修饰的候选配置类的解析过程中&#xff0c;我们需要深入的了解一下ComponentScanAnnotationParser的parse执行流程&#xff0c;SpringBoot启动类为什么这么写&…

多叉树+图实现简单业务流程

文章目录 场景整体架构流程业务界面技术细节小结 场景 这次遇到一个需求,大致就是任务组织成方案,方案组织成预案,预案可裁剪调整.预案关联事件等级配置,告警触发预案产生事件.然后任务执行是有先后的,也就是有流程概念. 整体架构流程 方案管理、预案管理构成任务流程的基础条…

如何用WiFi实现无线定位

一、WiFi主从模块设置 1. 实验器材 2. 实验步骤 ① 给控制板刷一套空的程序。 ② 将Esp8266模块连接到Bigfish扩展板上&#xff0c;并将扩展板插到控制板上。 ③ 在arduino的Seiral Monitor中&#xff0c;输入AT指令集&#xff0c;观察模块的相应应答。 3. 常用指令 ① 基础A…

华为智能企业远程办公安全解决方案(1)

华为智能企业远程办公安全解决方案&#xff08;1&#xff09; 课程地址方案背景需求分析企业远程办公业务概述企业远程办公安全风险分析企业远程办公环境搭建需求分析 方案设计组网架构设备选型方案亮点 课程地址 本方案相关课程资源已在华为O3社区发布&#xff0c;可按照以下…

【dbeaver】win环境的kerberos认证和Clouders集群中Kerberos认证使用Dbeaver连接Hive和Phoenix

一、下载驱动 cloudera官网 1.1 官网页面下载 下载页面 的Database Drivers 挑选比较新的版本即可。 1.2 集群下载 Hive可能集群没有驱动包。驱动包名称&#xff1a;HiveJDBC42.jar。41结尾的包也可以使用的。注意Jar包的大小一定是十几MB的。几百KB的是thin包不可用。 …

Dev C++安装与运行

参考: https://blog.csdn.net/Keven_11/article/details/126388791 https://www.cnblogs.com/-Wallace-/p/cpp-stl.html 2021年真题要求 2022年真题要求 河南省的考试环境 IDE环境 Dev C 安装 下载 安装 点击OK&#xff0c;选择我接受 修改安装路径为D盘d:\Program Fi…

IOTE 2023盛况回顾,美格智能聚连接之力促数字新生长

9月20~22日&#xff0c;IOTE国际物联网展深圳站在深圳国际会展中心正式召开。本届展会以“IoT构建数字经济底座”为主题&#xff0c;聚焦物联网技术助推数字经济发展的核心动力。美格智能携前沿技术成果亮相展会&#xff0c;与参展观众深入交流。 展会上&#xff0c;美格智能带…

【自学记录】深度学习入门——基于Python的理论与实现(第3章 神经网络)

3.4.3 3层神经网络Python实现 实现的是这个网络 **init_network()**函数会进行权重和偏置的初始化&#xff0c;并将它们保存在字典变量network中。这个字典变量network中保存了每一层所需的参数(权重和偏置)。 **forward()**函数中则封装了将输入信号转换为输出信号的处理过程…

【python】anaconda使用指南

安装anaconda 访问官方 官网链接注册并登陆安装 无脑下一步即可配置path D:\ProgramData\anaconda3D:\ProgramData\anaconda3\ScriptsD:\ProgramData\anaconda3\Library\binD:\ProgramData\anaconda3\Library\mingw-w64\bin 进入anaconda环境 # 查询版本 conda --version# …

Uni-app 调用微信地图导航功能【有图】

前言 我们在使用uni-app时&#xff0c;有时候会遇到需要开发地图和导航的功能&#xff0c;这些方法其实微信小程序的API已经帮我们封装好了 详见&#xff1a;微信小程序开发文档 接下来我们就演示如何用uni-app来使用他们 使用 <template><view><button type…

【C++入门到精通】C++入门 —— map multimap (STL)

阅读导航 前言一、map简介二、std::map1. std::map简介2. std::map使用- 基本使用- map模板参数说明⭕std::pair<const Key, T> - map的构造函数- map的迭代器- map的容量与元素访问函数&#x1f341;容量函数&#x1f341;元素访问函数 3. map的所有函数&#xff08;表&…

OpenAI ChatGPT API 文档之 Embedding

译者注&#xff1a; Embedding 直接翻译为嵌入似乎不太恰当&#xff0c;于是问了一下 ChatGPT&#xff0c;它的回复如下&#xff1a; 在自然语言处理和机器学习领域&#xff0c;"embeddings" 是指将单词、短语或文本转换成连续向量空间的过程。这个向量空间通常被称…

数字孪生:降低现代船舶水声设备研制风险与成本的关键要素

声波是海洋中唯一能够有效传递远距离信息的载体&#xff0c;1000Hz的声波在海水中的每公里吸收衰减仅为0.067分贝&#xff0c;而在陆地上大显神通的电磁波由于受到海水高介电常数和高导电率的影响&#xff0c;因传播衰减量太大而无法通信。 声波在海洋中的传播也并非一帆风顺。…

Python绘图系统22:实现系统菜单

文章目录 文件菜单子部件开关 Python绘图系统&#xff1a; 前置源码&#xff1a; Python打造动态绘图系统&#x1f4c8;一 三维绘图系统 &#x1f4c8;二 多图绘制系统&#x1f4c8;三 坐 标 轴 定 制&#x1f4c8;四 定制绘图风格 &#x1f4c8;五 数据生成导入&#x1f4c8;…

人工智能安全-2-非平衡数据处理(2)

5 算法层面 代价敏感&#xff1a;设置损失函数的权重&#xff0c;使得少数类判别错误的损失大于多数类判别错误的损失&#xff1b; 单类分类器方法&#xff1a;仅对少数类进行训练&#xff0c;例如运用SVM算法&#xff1b; 集成学习方法&#xff1a;即多个分类器&#xff0c;然…

【OpenSSL】单向散列函数

什么是单向散列函数 任意长度数据生成固定长度是散列快速计算消息变化散列变化单向不可逆&#xff0c;抗碰撞 应用场景 文件完整性口令加密消息认证伪随机数配合非对称加密做数字签名比特币工作量证明 单向hash抗碰撞 弱抗碰撞 给定X和hash值的情况下&#xff0c;找到另外…

怎么使用 Go 语言操作 Apache Doris

Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库&#xff0c;以极速易用的特点被人们所熟知&#xff0c;仅需亚秒级响应时间即可返回海量数据下的查询结果&#xff0c;不仅可以支持高并发的点查询场景&#xff0c;也能支持高吞吐的复杂分析场景。基于此&#xf…

buuctf-[网鼎杯 2020 朱雀组]phpweb

1.打开网站&#xff0c;吓我一跳 2.查看源代码&#xff0c;主要看到timezone&#xff0c;然后这个页面是五秒就会刷新一次 一开始去搜了这个&#xff0c;但是没什么用 3.使用bp抓包 会发现有两个参数&#xff0c;应该是用func来执行p 4.修改func和p file_get_contents&#…