• [精选单品] 紫荆云视-视频云会议整体解决方案
    一、公司介绍北京紫荆云视科技有限公司致力于提升企业的连接和通信方式,让企业沟通和协作更容易、更高效!紫荆云视提供引领市场的视频云和网络云服务,我们是中国首先把网络云和视频云有机结合的云服务提供商。二、服务介绍云视频整体架构应用服务介绍用户在任何时间、任何地点,只要连上互联网即可通过云视频通信平台进行─  点对点视频通信─  多点视频通信          使用任何设备─  会议室视频终端(只要支持标准 SIP 或 H.323)─  PC 机 (Windows 或 Mac)─  手机或移动终端(Android 或 IOS)并很容易的使用和控制视频通信同时能分享桌面、图像、PPT等文件1、虚拟会议室云端永远在线,无需预约的视频会议室唯一会议室地址─       会议号短号:   一串数字便于输入使用方式与主流的电话会议模式一样─       参会方使用视频终端(硬/软)直接呼入会议室地址/会议号─       使用支持 WebRTC/RTMP 的浏览器入会─       可设置主持人/参会人密码视频会议和数据共享会议同时存在(双流)方便的会议管理功能外呼、静音、踢人、轮询、焦点、锁定会议、结束会议等2、虚拟MCU虚拟MCU是在云上隔离出来的虚拟MCU资源池使用方式和传统MCU一样,客户可灵活自定义会议室以及最大方数,可以自由组会。自定义的会议室功能和使用方式与虚拟会议室产品一样具备随时增加或减少端口、随时随地接入等特点使客户不仅拥有传统模式的自定义组会能力,又可享受到云所带来的优势使用简便免维护,低 TCO弹性容量三、服务解决的问题Capex一次性投入大交付后配置繁琐维护成本高部署在企业内网中外网访问不便需要企业运维团队管理维护部署、上线周期长、扩容不便四、服务价值开放性:与所有主流终端(SIP/H.323)互通,提供用户广泛的选择以及web、APP、H5等多种类型终端的接入高质量:整体的视频通信和协作服务体验低成本:将视频通信和协作的使用门槛和成本大幅度降低易使用:简单易用,自助管理五、应用场景(不同客户类型可提供相对应的整体解决方案)大型政企:提供本地化、定制化独立部署模式,支持与原视频会议系统的对接,可实现原系统的利旧使用,同时提供运营能力以及对其他应用通过API&SDK的整合中小企业:公有云服务模式(saas),直接在线提供用户账号,快速使用“云端大事件、华为云市场”
  • [其他] 智能会议场景
    面临的问题:传统的会议中的与会者通过电声设备获取信息,进行会议讨论的时候,你讲一句,我插一句,会议的组织很难有秩序的进行,基本上是在一种无序状态下进行的。在人类的交流过程中,有效性的信息 55%~60% 依赖于视觉效果, 33%~38% 依赖于声音,只有 7% 依赖于内容,单纯声音的表现,远远不能满足现代会议的要求。现代会议要的是简洁明快的表达自己的意思,生动清晰的画面及图像展示自己的产品,还要易于控制多变的现场环境等。诉求:•能够对语音进行实时、精准的识别,用在会议记录、字幕生成。•支持声纹识别,识别不同人的不同语音信息,弹上屏幕实时展示。•能够进行语义理解,结合其他服务(如搜索)获取语音关键内容,并大屏展示。•能够进行实时编辑,对录入的错误内容可以直接通过语音进行修改。•语言唤醒和命令词识别,能够对会议室中的智能设备进行语音控制。•智能助手(命令控制),交互式多轮对话。语义理解。
  • [热门活动] 喊你来报名|企业通信线上直播,参加赢荣耀9手机!
    报名有奖哦,☞点击立即报名☜!!了解我们1、来自一位云会议体验者的使用笔记2、您有一份云会议设备安装激活秘籍待接收3、隔壁老王推荐的TE10/TE20激活指南3、隔壁老王极力推荐的TEX0系列激活指南,表辜负4、会议使用说明书 ▏web端几个简单的会议技巧,让你快速入会☞☞☞点击此处立即抢先体验酷炫会议
  • 陈老师告诉你:核心业务上公有云,妥妥的
    周六公司加班 “下周一会议必须给出确切的方案!”挂完老大电话,阿乐赶紧求助陈老师听完陈老师一席话,阿乐十分激动,开始准备下周的会议(所以陈老师到底说了啥??)周一公司会议老大:“阿乐,部署方案落实没有?”阿乐:“核心业务部署到公有云上,没问题。”老大:“公有云??咱们做的可是理财产品!“阿乐:“华为云新上线的专属存储服务,核心业务性能SLA保证、数据安全合规统统搞定。”老大:“哦?快带我详细了解下!”何为存储专属服务通俗点讲,专属存储服务就是VIP级别的存储服务,它为用户提供独享的、物理隔离的存储资源。目前,华为云针对不同业务场景需求提供了两款存储专属服务:专属存储服务DSS(Dedicated Storage Service)以及专属企业存储服务DESS(Dedicated Enterprise Storage Service)。专属存储服务有4大特点:1. 存储专享用户专享存储资源,读写性能、数据安全与合规性均有保证。2. 特性全面DSS支持共享云硬盘、加密、备份、快照等功能,满足各种业务场景需求。3. 场景丰富DESS可对接裸金属服务(BMS),支撑Oracle RAC、SAP HANA等企业核心数据库平滑上云;DSS可对接弹性云服务(ECS)、裸金属服务(BMS)以及专属云(DeC),适用于HPC、OLAP以及多负载等高并发、大带宽应用场景。4. 性能卓越DESS提供0.5ms的稳定低时延,双活特性保证6个9的业务可用性;DSS采用分布式存储架构,具有高吞吐、高并发的特点,且可平滑扩展,性能线性增长。公司庆功宴老大:“我们的理财app昨天日活过万,专属存储确实给力!”阿乐:“听说华为云前两天刚办云存储技术沙龙,专属存储方案做了详细解析,咱们可以到网上学习下,看看公司其他业务场景是否匹配。” 所以说了半天,陈老师到底是谁??点击阅读原文,华为云技术私享会12月2日云存储专场,听陈老师讲专属存储!http://cloud.51cto.com/act/hwcloudsalon/201711
  • [视频直播] 视频直播、视频会议、视频点播三者有何区别?
    视频直播系统实现三种形式的直播:第一种现场活动、会议的实时直播。通过摄像机,采集设备(摄像)将现场的活动采集成数据流传给直播软件(ffmpeg),直播软件进行采集压缩转码推送到服务器,发布到互联网。用户这是通过互联网即时没有在活动现场也可以观看到哪怕是千里之外的直播情况,如临其境;第二种是电视信号直播(有线电视,卫星电视等)。将各种信号(有限、数字、卫星等多种视频信号或数据内容)自动批量编解码,实现无人自守的7*24小时(或者更长时间)直播录播并自动上传发布;第三种是虚拟直播/轮播,即把已有的文件以一定的顺序循环播放。可以自制节目单,实时信号和已有视频文件做混合编排直播。如下图视频点播,是对以往的视频文件进行回放。视频点播系统最重要的功能就是可以将各种不同格式(如VCD/DVD/WAV/AVI/MPG/MP3)的视频文件批量转码为网络上支持观看的流媒体格式(ASF/WMA/FLV等),从而实现视音频内容的统一管理和共享利用。 当然在数据格式的转码过程中可以对视频进行加密,视频的分内管理,以及观看权限的设置等。视频会议,采用的是mpg-2技术和流媒体的技术是完全不一样的。是通过视频的交互,让参与者一对一的交流,更注重于交互方面,应用面而言也是针对用户群体极小的内部,具有保密性的。没法对交流的过程进行录制和回顾观看保存。而且交流的参与者必须每个人都安装客户端,必须有足够的带宽和专业的硬件作支撑。投入大但是使用的人数却又受到限制。无法做到整个企业内资源的共享和利用。 视频直播系统可以与单位已有视频会议系统、OA等系统结合使用,有效支持内部会议交流,极大限度地扩展了已有系统的应用价值。
  • [改进建议] 有关华为云会议,使用的建议
    您好 我的之前的试用华为云会议的会议的时候,有些功能设计不够简单直接,建议简化操作。谢谢
  • [技术干货] 学习索引结构的一些案例——Jeff Dean在SystemML会议上发布的论文(上)
    作者:钟成 华为云PaaS领域专家,对kubernetes及etcd比较了解,从2014年开始设计实现PaaS平台及容器集群产品摘要: 原文: https://www.arxiv-vanity.com/papers/1712.01208/ 视频:https://www.youtube.com/watch?v=PWv4ROEvqmk 本文是Google的Fellow,Jeff Dean,把机器学习应用到系统设计的论文,原文发布在SystemML会议上,我做了翻译。学习索引结构的一些案例The Case for Learned Index StructuresTim Kraska1 MIT Cambridge, MA kraska@mit.edu   Alex Beutel Google, Inc. Mountain View, CA alexbeutel@google.com   Ed H. Chi Google, Inc. Mountain View, CA edchi@google.com   Jeffrey Dean Google, Inc. Mountain View, CA jeff@google.com   Neoklis Polyzotis Google, Inc. Mountain View, CA npolyzotis@google.com0. 摘要 索引是模型:B树索引可以被看作是一个模型,用于将键(Key)映射到排序数组中的值记录(Value)位置,Hash索引作为模型将键(Key)映射到未排序数组的值记录(Value)位置,BitMap索引作为模型来指示值记录(Value)是否存在。 在这个探索性研究论文中,我们从这个前提开始,并假定所有现有的索引结构都可以用其他类型的模型取代,包括我们称为学习索引的深度学习模型。关键(Key)的想法是,模型可以学习查找键(Key)的排序顺序或结构,并使用这个信息来有效地预测值记录(Value)的位置或存在。 我们从理论上分析了在哪些条件下,学习索引优于传统索引结构,并描述了设计一个好的学习索引的主要挑战。 我们的初步结果表明,通过使用神经网络,学习索引能达到比高速缓存优化的B-Tree快70%的速度,并且节省几个数量级的内存,来索引几个真实世界的数据集。 更重要的是,我们相信通过深度学习模型取代数据管理系统的核心组件对于未来的系统设计有着深远的影响,而且这项工作只是提供了一些可能的一瞥。1. 介绍 无论何时需要有效的数据访问,索引结构都是答案,并且存在各种各样的选择来满足各种访问模式的不同需求。 例如,B树是范围查找的最佳选择(例如,在特定时间范围内检索一段值记录(Value)); HashMap在单Key查找这个领域是无敌的; 而Bloom-filter通常用于检查值记录(Value)是否存在。 由于数据库和许多其他应用的索引非常重要,因此在过去的几十年里,它们已经得到了广泛的优化,以获得更高的内存、缓存和CPU效率[ 28,48,22,11]。 然而,所有这些索引仍然是通用数据结构,假设数据的最坏情况分布,并没有利用现实世界数据中存在的更常见模式。 例如,如果目标是建立高度特定的系统,用来存储和查询具有连续整数键(Key)(Key)的固定长度值记录(Value)(例如,键(Key)(Key)从1到100M),那么设计者就不会使用常规的B树索引,因为键(Key)(Key)本身可以用作偏移量来作查找或者范围查询,达到O(1)而不是O(long n)的时间复杂度。 而且,索引内存大小将从O(n) 减小到O(1) 。也许令人惊讶的是,对于其他数据结构,相同的优化仍然是可能的。 换句话说,了解确切的数据分布可以高度优化数据库系统使用的几乎所有索引。 当然,在大多数现实世界的用例中,数据并不完全遵循已知的模式,为每个用例构建专门解决方案的代价都太高了。 然而,我们认为机器学习为挖掘数据里面的模式和相关性提供了一个机会,从而能够以低工程成本,自动合成我们称为学习索引的索引结构。 在本文中,我们探讨了学习模型(包括神经网络)在多大程度上可以用来代替传统的B树到Bloom-filter的索引结构。 这似乎与直觉相反,因为机器学习并不提供传统的索引数据结构的输入输出,并且因为最强大的机器学习模型,神经网络的计算一般认为是非常昂贵的。 然而,我们认为,这些明显的障碍都不像它们看起来那么坑爹。 相反,我们使用学习模型的方式可能会带来巨大的好处,特别是在下一代硬件上。 就输入输出的语义来说,索引在很大程度上已经是学习模型,使得用神经网络等其他类型的模型取代它们变得非常简单。 例如,B树可以被看作是一个模型,它将一个键(Key)字作为输入并预测数据值记录(Value)的位置。 Bloom-Filter是一个二元分类器,它基于一个键(Key)来预测键(Key)是否存在于一个集合中。 显然,这就存在微妙但重要的差异。 例如,Bloom-filter可能有假阳性(false positives),但没有假阴性(false negatives)。然而,正如我们将在本文中展示的那样,可以通过新颖的学习技术和/或简单的辅助数据结构解决这些差异。 在性能方面,我们观察到每个CPU都具有强大的SIMD功能,并且我们推测许多笔记本电脑和手机很快将拥有图形处理单元(GPU)或张量处理单元(TPU)。 推测CPU-SIMD / GPU / TPU的功能将越来越强大,这是合理的,因为比通用指令集更容易扩展神经网络使用的有限的(并行)数学运算。 这样,今后执行神经网络的高成本在未来可能实际上可以忽略不计。例如,Nvidia和Google的TPU已经能够在单个指令周期中执行数千次(如果不是数万次)神经网络操作[ 3 ] 。 此外,有人表示,到2025年,GPU的性能将提高1000 倍 ,而CPU发展已经停滞,不**尔定律发展[ 5 ] 。通过用神经网络取代重分支的索引结构,数据库可以从这些硬件趋势中受益。 重要的是要指出,我们并不主张用学习索引结构来完全取代传统的索引结构。 相反,我们概述了一种建立索引的新方法,它补充了现有的工作,并且可以说为一个有数十年历史的领域开辟了一个全新的研究方向。 虽然我们专注于分析只读工作负载,但我们还概述了如何将这种想法扩展到对写入频繁工作负载的索引做加速。 此外,我们简要概述如何使用相同的原则来替换数据库及其他组件的操作,包括排序和联表(join)。 如果成功,这可能导致未来数据库的开发方式和现在彻底不同。 本文的其余部分概述如下:在下一节中,我们以B树为例介绍学习索引的总体思路。 在第4节中,我们将这个想法扩展到Hash索引,并在第5节中扩展到Bloom-Filters。 所有部分都包含单独的评估和列出未解决的挑战。最后在第6部分我们讨论相关的工作,并在第7部分结束。图1:为什么B树是模型2. 范围索引 索引结构已经是模型,因为它们可以“预测”给定键(Key)的值的位置。 要看到这一点,请在主键(Key)已排序的分析内存数据库(即只读)中考虑一个B树索引,如图[1](a)所示。 在这种情况下,B-Tree提供从查找键(Key)到排序的值记录(Value)阵列内的位置的映射,并保证值记录(Value)位置大于等于查找到的位置。 请注意,必须对数据进行排序以允许范围请求。 还要注意,这个相同的一般概念适用于次级索引,其中底层将是对的列表,其中键(Key)是索引属性的值,指针是对值记录(Value)的引用。 出于效率的原因,通常不会对已排序值记录(Value)的每个关键(Key)字进行索引,而只是每个n个值记录(Value)的一个键(Key),即每页面的第一个键(Key)。 [2] 这有助于显着减少索引必须存储的键(Key)数量,而不会有任何显着的性能损失。 因此,B树是一个模型,在ML术语中是回归树:它将键(Key)映射到具有最小和最大误差的位置之间(最小误差0,最大误差页面大小)并保证可以在该地区找到该键(Key)锁对应的值记录(Value)(如果存在)。 因此,我们可以用其他类型的机器学习模型(包括深度学习模型)取代B树索引,只要它们也能够提供类似的有关最小误差和最大误差的有力保证。 乍一看,可能很难为其他类型的ML模型提供相同的错误保证,但它实际上非常简单。 B-Tree仅为存储的数据提供这种保证,而不是针对所有可能的数据。 对于新数据,B树需要重新平衡,或者在机器学习的术语里面叫重新训练,通过训练来提供相同的误差保证。 这就极大地简化了问题:最小误差和最大误差是经过训练的(即存储的)数据的最大误差。 也就是说,我们唯一需要做的就是对每个键(Key)执行训练,并记住一个位置的最好和最差的位置预测。 给定一个键(Key),该模型预测哪里能找到相应的值记录(Value); 如果键(Key)存在,则保证处于由最小和最大误差定义的预测范围内。 因此,我们能够用任何其他类型的回归模型(包括线性回归或神经网络)代替B树(见图[1](b))。 现在,我们需要解决其他技术挑战,然后才能使用学习好的索引替代B树。 例如,B树具有**和查找的有限成本,并且在利用缓存方面特别好。 此外,B树可以将键(Key)映射到未连续映射到内存或磁盘的页面。 此外,如果查找关键(Key)字不存在于集合中,某些模型可能会返回最小/最大错误范围之外的位置,如果它们不是单调递增的模型。所有这些都是有趣的挑战/研究问题,会在本节中与潜在解决方案一起详细解释。 同时,使用其他类型的模型,特别是深度学习模型作为索引可以提供巨大的好处。 最重要的是,它有可能把B树log n查找成本为一个常数。 例如,假定数据集具有1M个唯一键(Key),大小在1M和2M之间(因此1,000,009存储在第10个位置上)。 在这种情况下,一个简单的线性模型,由一个单一的乘法和加法组成,可以完美地预测任何键(Key)的位置,而B树会需要做一个log n操作。 机器学习,尤其是神经网络的优点在于,他们能够学习各种各样的数据分布/混合和其他数据特征和模式。 显然,挑战在于平衡模型的复杂性与准确性。2.1 我们可以承受模型有多复杂? 来做个估算吧 为了更好地理解模型的复杂性,需要知道同样的一段时间内,遍历B树可以执行多少操作,以及学习索引需要达到什么样的精度来超过B树的精度。 考虑一个B树索引100M值记录(Value),页面大小为100(译注:也就是单个节点的子节点数量,国内有翻译为阶的)。我们可以将每个B-Tree节点视为划分空间的一种方式,减少“误差”并缩小区域以查找数据。 因此,我们说B-Tree的页面大小为100,每个节点的查找精度为1/100 ,所以我们需要遍历log(100, N)个节点。 因此,第一个节点将查找空间从100 M缩小到100 M / 100 = 1 M ,第二个节点从1 M到1 M / 100 = 10 k等等,直到找到值记录(Value)为止。 同时,遍历单个B-Tree页面需要大约50个时钟周期(我们测量了对超过100个缓存驻留记录的二分查找与遍历查找具有大致相同的性能),并且非常难以并行化 [3]。 相比之下,现代CPU可以在每个周期执行8-16个SIMD操作。 因此,只要学习索引模型的 查找精度/运算数 超过 (1/100) / 50 * 8 = 400个算术运算,学习索引模型就会更快(译注:这里隐含了一个公式,查找速度 = 查找精度/运算数,也就是单位时间内的 查找概率)。 请注意,这个估算仍假定所有B数的页都在缓存中。 单个缓存未命中花费50-100个额外的周期,因此可以允许更复杂一些的模型。 此外,机器学习的快速发展正在彻底改变游戏。 它们允许在相同的时间内运行更复杂的模型,并从CPU中卸载计算(到GPU或TPU上)。 例如,NVIDIA最新的Tesla V100 GPU能够实现120 TeraFlops的低精度的深度学习算术运算(每个时钟周期≈60,000次运算) [ 7 ]。 假设整个学习索引都载入了GPU的内存(我们在3.6节中展示这是一个非常合理的假设),在30个时钟周期内,我们可以执行100万次神经网络操作。 当然,传输输入和从GPU获取结果的延迟仍然明显较高,大约为2微秒或数千个时钟周期,但这个问题并非不可克服,可以通过批处理方式,或者更加紧密的集成CPU/ GPU / TPU [ 4 ] 。 最后,可以预期,GPU / TPU每秒的浮点/整型操作的能力和数量将继续增加,而提高CPU执行if语句性能的进展基本上停滞不前[ 5 ]。 尽管我们认为GPU / TPU是实践中采用学习索引的主要原因,但本文中我们将重点放在有限的CPU能力上,以便更好地研究通过机器学习取代/增强索引的影响,排除硬件更改的因素。图2:作为CDF的索引2.2范围索引模型是CDF模型 正如本节开头所述,索引是一个模型,它将一个键(Key)字作为输入并预测值记录(Value)的位置。 而对于单点查询,值记录(Value)的顺序并不重要,对于范围查询,必须根据查找关键(Key)字对数据进行排序,以便可以有效地检索范围内(例如,时间范围内)的所有数据项。 这导致了一个有趣的观察:预测给定排序数组内键(Key)的位置的模型有效地近似于累积分布函数(CDF)。 我们可以建模数据的CDF来预测位置: 其中p是位置估计, F (Key)是小于或等于查找键(Key) 的数据出现的概率,也就是累积分布函数(CDF, estimated cumulative distribution function, 详见这篇),N是键(Key)的总数量(另见图[2])。 这个观察开辟了一套全新的有趣方向:首先,它意味着任何一种索引字面上都需要学习数据分布。 B树通过构建回归树来“学习”数据分布。 线性回归模型将通过最小化线性函数的(平方)误差来学习数据分布。 其次,估计数据集的分布是一个众所周知的问题,学习索引可以从之前数十年的研究中受益。 第三,学习CDF对优化其他类型的索引结构和潜在算法也起着关键作用,我们将在本文后面概述。2.3 第一个,粗糙的学习索引 为了更好地理解用学习索引取代传统B树有哪些技术要求,我们使用了200M Web服务器日志值记录,目标是使用Tensorflow [ 9 ]在时间戳上建立二级索引。 我们使用ReLU激活函数训练了每层32个神经元(即32个宽度)的双层全连接神经网络; 时间戳是输入要素,位置是标签。之后,我们使用Tensorflow和Python作为前端,测量随机选择的键的查找时间(排除一开始跑的一些数据)。 在这种情况下,我们实现了每秒≈1250次预测,即,使用Tensorflow执行模型需要≈80,000纳秒(ns),甚至没算搜索时间。 预测对全量遍历几乎没有什么帮助。 作为比较,B树遍历同样数据只需要≈300 ns, 小两个数量级,搜索键(Key)空间时,并且快2-3 倍 。 其原因是多方面的: [*]Tensorflow旨在有效地运行较大的模型,而不是小型模型,因此具有显着的调用开销,尤其是在Python作为前端时。[*]一般来说,B树,或者一般意义上的决策树,使用少量的操作就能过拟合数据,因为它们使用简单的if语句递归地分割空间。 相比之下,其他模型可以更有效地估计CDF的总体形状,但在单个数据实例级别的精确定位上有障碍。 要看到这个,请再次看看图[2] 。 该图表明,从大的视图看,CDF 函数看起来非常平滑和规则。 但是,如果放大单个值记录(Value),越来越多的非规律显示出来; 一个众所周知的统计效应。 许多数据集恰恰具有这种行为:从大局看,数据分布显得非常平滑,而越放大越难接近CDF,由于个体层面上的“随机性”。 因此,像神经网络,多项式回归等模型可能需要更多的CPU和空间从整个数据集缩小到到数千项中选择单个(译注,这里也就是在上文中指的预测误差,min/max error),单个神经网络通常需要更多的空间和CPU时间为“最后一公里”减少从数千到数百的误差。[*]典型的ML优化目标是最小化平均误差。 但是,对于索引,我们不仅需要猜测项目的最佳位置,而且还需要实际找到它,但前面讨论的最小和最大误差率更重要。[*]B-树的缓存效率非常高,因为它们始终将顶层节点保存在缓存中,并在需要时访问其他页面。 但是,其他模型并不像缓存和操作高效。 例如,标准神经网络需要所有权重参数来做预测,这种预测需要大量的乘法和权重参数,必须从内存中读入到缓存(译注,这里和上面的缓存都是指CPU高速缓存)。文章较长,特分成上下两篇发送,下篇请参看:第二部分:学习索引结构的一些案例——Jeff Dean在SystemML会议上发布的论文(下)
  • [技术干货] 学习索引结构的一些案例——Jeff Dean在SystemML会议上发布的论文(下)
    作者:钟成 华为云PaaS领域专家,对kubernetes及etcd比较了解,从2014年开始设计实现PaaS平台及容器集群产品文章较长,特分成上下两篇发送,上篇请参看:第一部分:学习索引结构的一些案例——Jeff Dean在SystemML会议上发布的论文(上)3. RM索引(Recursive-model,递归模型) 为了克服挑战并探索模型作为索引替代或丰富的潜力,我们开发了学习索引框架 (LIF),递归模型索引(RMI)和基于标准误差的搜索策略。 我们主要关注简单的全连接神经网络,因为它们的简单性,但其他许多类型模型也是可能的。3.1 学习索引框架(LIF) LIF可以看作是一个索引合成系统或者说索引工厂; 给定一个索引规范, LIF生成不同的索引配置,优化它们并自动化测试它们。 虽然LIF可以即时学习简单模型(例如,线性回归模型),但它依赖于更复杂模型(例如NN)的Tensorflow。 但是,它从不使用Tensorflow进行推理。 相反,给定一个经过训练的Tensorflow模型, LIF会自动从模型中提取所有权重,并根据模型规范在C ++中生成高效的索引结构。 虽然使用XLA的Tensorflow已经支持代码编译,但其重点主要放在大规模计算上,其中模型的执行时间量级是微秒或毫秒。 相比之下,我们的代码生成专注于小型模型,因此必须消除Tensorflow管理大模型的开销。 这里我们利用来自[ 21 ]的想法,它已经展示了如何避免Spark运行时不必要的开销。 因此,我们能够执行30纳秒级的简单模型。3.2 递归模型索引 如第2.3节所述,构建替代B树的替代学习模型的关键挑战之一是最后一英里的准确性。 例如,使用单个模型把误差从100M减少到几百这个数量级是非常困难的。 同时,将误差从100M降低到10K,例如100 * 100 = 10000的精度实现起来还简单些,这样就可以用简单模型替换B-Tree的前两层。 同样的,将误差从10k降低到100是一个更简单的问题,因为模型只需要关注数据的一个子集。 基于这种观察并受到专家们的共同努力[ 51]的启发,我们提出了递归回归模型(参见图[3])。 也就是说,我们构建了一个模型层次结构,其中模型的每个阶段都将键(Key)作为输入,并基于它选择另一个模型,直到最终预测到位置。 更正式地说,对于我们的模型f(x) ,其中x是键, y∈ [ 0 , N )位置,我们假设在阶段ℓ有M个模型。 我们在阶段0训练模型, $$f_0(x) ≈y$$ 。 因此,阶段ℓ中的模型k,可以写成由$$f_ℓ^{(k)}$$表示 ,并且被损失地训练,整个误差可以表示为如下公式:注意,我们在这里使用这里的符号$$f_{ℓ-1}(x)$$递归执行,这样总而言之,我们用迭代地训练每个阶段,误差为$$L_ℓ$$,以建立完整的模型。图3:分阶段模型 理解多个不同模型的一种方法是,每个模型都会对关键位置进行一定的预测误差,并使用预测来选择下一个模型,该模型负责将键(Key)空间的某个区域以较低的误差做出更好的预测。 然而,要注意,递归模型索引不是树 。 如图[ 3 ]所示,一个阶段的不同模型可能会在下面的阶段选择相同的模型。 此外,每个模型并不一定像B-Tree那样包括同样数量的记录(即页面大小为100的B树覆盖100个或更少的记录)。 4 最后,取决于所使用的模型,不同阶段之间的预测不一定会被解释为位置估计,而应该被视为挑选对某些键有更多认知的专家(另见[ 51 ] )。 这种模型体系结构有几个好处:(1)它利用了这一事实,即易于学习数据分布的整体形状。(2)它的体系结构有效地将空间划分为更小的子空间,就像B树/决策树那样,通过更少的操作更容易地实现所需的“最后一英里”精度。 (3)在阶段之间不需要搜索过程。 例如, 模型1.1的输出y是一个偏移量,它可以直接用于在下一阶段中选择模型。 这不仅减少了管理数据结构的指令数量,而且还允许将整个索引表示为稀疏矩阵乘法跑到TPU / GPU上。3.3 混合索引 递归模型索引的另一个优点是,我们能够建立模型的混合。 例如,在顶层,一个小的ReLU神经网络可能是最好的选择,因为它们通常能够学习大范围的复杂数据分布,模型层次结构底部的模型可能有数千个简单的线性回归模型,因为它们在空间和执行时间都不贵。 此外,如果数据特别难以学习,我们甚至可以在最后阶段使用传统的B树。 对于本文,我们只关注2种模型,简单的神经网络,具有0到2个完全连接的隐藏层和ReLU激活函数,以及多达32个神经元和B树(也就是决策树)的层宽度。 给定一个索引配置,它指定阶段的数量和每个阶段的模型数量作为一个数组,混合索引的端到端训练按照算法1完成 从整个数据集(第3行)开始,它首先训练顶级节点模型。 根据这个顶级节点模型的预测,它会从下一阶段(第9行和第10行)中选取模型,并添加属于该模型的所有键(第10行)。 最后,在混合指标的情况下,如果绝对最小/最大误差高于预定义阈值(第11-14行),则通过用B树代替NN模型来优化指数。 请注意,我们在最后阶段为每个模型存储标准误差和最小误差和最大误差。 这样做的好处是,我们可以根据每个键(Key)的使用模型单独限制搜索空间。 此外,人们可能会想知道具体如何设置混合端到端训练的各种参数,包括阶段的数量和宽度,神经网络配置(即隐藏层数和宽度)以及何时替换节点的阈值为一棵B树。 通常,这些参数可以使用简单的网格搜索进行优化。 此外,可以根据时间来限制搜索空间(找到这些参数)。 例如,我们发现阈值为128或256(B树的典型页面大小)效果很好。 此外,对于CPU,我们基本负担不起1或2个完全连接的隐藏层以及每层8至128个神经元的神经网络。 最后,考虑到模型的容量较低,可以用较小的数据样本训练较高层的阶段的模型,这显然加快了培训过程。 请注意,混合索引允许我们将学习索引的最差情况性能与B树的性能相关联。 也就是说,在学习不到数据分布的情况下,所有模型都会被B-Trees自动替换,实际上是一个完整的B-Tree(阶段之间有一些额外的开销等等,但是性能是总体相似)。3.4 搜索策略 要在叶页中查找实际记录,对于小数据量,无论是二进制搜索还是全量扫描通常都是最快的策略; 尽管(业内)作出了许多尝试,但反复的结果表明, 其他搜索策略由于其额外的复杂性而没有提供什么(如果有的话)益处[ 8 ]) ] 。 再一次,学习索引在这里也可能具有优势:模型实际上预测了键(Key)的位置,这可能更接近值记录(Value)的实际位置,而用最小/最大误差会差的更远些。 这就是说,如果我们可以利用这样一个事实,即在位置估计最小误差和最大误差范围内,我们对位置进行了良好估计,那么我们可能能够找到记录(或 n设置$$x_i = 0$$ 。 为了提高效率,我们通常采用与我们针对数据特征相似的建模方法。 我们学习了一个相对较小的前馈神经网络的层次结构。 一个区别是输入不是一个单一的实数值x,而是一个向量x 。 线性模型w⋅x + b随着输入长度N线性地增加乘法和加法的计算数量。 前馈神经网络,带有一个宽度为h的隐藏层,也会扩展到O(hN)乘法和加法计算数量。(在与N无关的更深层网络中可能会有额外的复杂性)。 这种方法有一些有趣的特性,表明了设计字符串CDF的一般ML模型的困难。 如果我们考虑长度为三的八个字符串,字符串里面的字符是[0,8) ,那么我们可以容易地对位置建模为 $$4 x_0 + 2 x_1 + x _2^5$$ 。 但是,如果我们看看Unix字典的编码,我们会发现数据更加的复杂。 以“s”以“e”开头的单词是其他单词的三倍,这样甚至对单词里面的第一个字符就没法线性建模。 此外,字符之间存在相互作用 - 大约10%以“s”开头的单词以“sh”开头,而以“e”开头的单词只有0.1%以“eh”开头. DNN算法,如果足够宽或足够深,可以成功地对这些相互作用进行建模,更常见的是,递归神经网络(RNN)在建模文本中显示出非常成功。 最终,我们相信未来会有相当好的研究可以优化字符串的学习索引。 例如,我们可以轻松想象其他标记化算法。 在字符串标记化的自然语言处理方面有大量研究将字符串分解为ML模型中更有用的部分,例如机器翻译中的字词[ 59] 。 此外,还有大量关于特征选择的研究选择最有用的特征子集,从而限制模型需要处理的特征的数量。 此外,GPU和TPU需要相对较大的模型,因此可以无缝扩展字符串长度增加的场景,及许多更复杂的模型体系结构(例如递归和卷积神经网络)中。3.6结果 为了将学习指标与B树进行比较,我们在3个实际数据集上创建了4个二级索引:(1)Weblogs,(2)地图数据集[ 46]和(3)web文档以及1个合成数据集(4)正态对数。 Weblogs数据集包含200 M日志条目,是多年来对主要大学网站的每个web请求,并对唯一时间戳进行主索引。 该数据集对于学习索引来说几乎是一种最坏的情况,因为它包含由课程安排,周末假期,午餐休息,部门活动,学期休息等引起的非常复杂的时间模式,这是众所周知的难以学习的。 对于地图数据集,我们将世界各地≈200M用户维护特征(例如道路,博物馆,咖啡店)的经度编入索引。 不出所料,位置的经度相对线性,并且比weblog数据集的不规则性更少。 web文档数据集由大型互联网公司的真实产品组成部分的大型网络索引的10 M个非连续文档ID组成。 最后,为了测试索引如何处理重尾分布,我们生成了一个从μ = 0和σ = 2的对数正态分布中抽取的190M独特值的综合数据集。 这些值被放大到整数1Billon。 这些数据当然是高度非线性的,这使得CDF使用神经网络学习更加困难。 对于所有数据集,我们使用不同页面大小的B树和不同的第二阶段大小(即10k,50k,100k和200k模型数量)的RMI学习索引进行比较。 我们的B树实现类似于stx :: btree,但做了进一步的行缓存优化,在一个针对FAST的微基准[ 36]对比测试中性能很强,在这个测试中把我们的B-树和一个把SIMD优化用的出神入化的B树作比较,跑起来差不多。我们使用简单的网格搜索,基于简单模型来调整两阶段模型。 也就是说,我们只尝试了具有零到两个隐藏层的神经网络和层数为4到32个节点的神经网络。 一般而言,我们发现,对于第一阶段而言,简单的(0隐藏层)到半复杂(2隐藏层,8或16宽)模型效果最好。 对于第二阶段来说,它变成了我们的简单(0隐藏层),它们基本上是线性模型,具有最佳性能。 这并不令人惊讶,因为对于最后一英里来说,执行复杂模型往往是不值得的,线性模型可以被最优学习。最后,我们所有学习的索引模型都使用LIF进行编译,并且我们只显示具有32GB RAM的Intel-E5 CPU上性能最佳的模型的数字, 而不使用 GPU / TPU,进行超过30M次的查找,重复4次。 加载时间:虽然本文的重点不在加载或**时间,但应该注意的是,大多数模型可以训练得相当快。 例如,如果在C ++中实现,那么无需隐藏层的模型可以在几秒钟内在超过200M条记录上进行训练。 但是,对于更复杂的模型,我们选择使用Tensorflow,由于其开销,花费了更长的时间。然而,我们相信我们可以相对较快地对超参数空间进行网格搜索,大约需要分钟数量级跑简单模型。 此外,可以使用诸如[ 52 ]之类的自动调整技术来进一步缩短查找最佳索引配置所需的时间。3.6.1 整数数据集图4:地图数据:学习索引与B-Tree图5: Web日志数据:学习索引与B-Tree图6:正态分布的对数数据集:学习索引与B-Tree 图[4],图[5]和图[6]分别显示了两个真实世界整数数据集(地图和博客)和合成数据(对数正态数据)的结果。 作为主要指标,我们将总查找时间分解为模型执行(B树遍历或ML模型)和本地搜索时间(例如,在B树叶子页面中查找键(Key))。 另外,我们记录了索引结构的大小(不包括排序数组的大小),空间节省和模型误差及其误差方差。 模型误差是最后阶段所有模型的平均标准误差,而误差方差则表明这些标准误差在模型之间有多大变化。 请注意,对于B-Tree而言,由于没有阶段,所以它始终是一个取决于页面大小的固定误差。 加速和大小列中的颜色编码指示索引相对于页面大小为128的高速缓存优化的B树索引的基线有多快或多慢(更大或更小)。 可以看出,在几乎所有配置中,学习索引比B树要快,速度提高了3 倍 ,并且达到了数量级的更小。 当然,B树可以以CPU时间为代价进一步压缩以进行解压缩。 然而,大多数优化不仅是正交的(可以用在神经网络上),而且对于神经网络来说,存在更多的压缩潜力。 例如,神经网络可以通过使用4或8位整数而不是32或64位浮点值来表示模型参数(一种称为量化的过程)进行压缩。 与B树压缩技术相反,这实际上可以进一步加速计算。 有趣的是,四元搜索仅对某些数据集有帮助。 例如,它对weblog和log-normal数据集有一点帮助,但对地图数据集没有帮助。 我们没有报告偏见搜索和B树,或者不同搜索策略的结果差异,因为它们没有为数字数据集提供任何好处。 值得注意的是,模型的准确性也有很大差异。 对于合成数据集和博客数据的来说,误差要高得多,这会影响搜索时间。 作为比较,我们搞了一个学习索引,有更复杂的第一阶段模型(“学习索引复合体”),该索引有2层完全连通的隐藏层和每层16个神经元,可以大幅的减少误差。 然而,在CPU上,模型的复杂性并没有得到回报(例如,模型执行时间太长,无法证明搜索时间较短)。 然而,正如前面提到了GPU / TPU的发展,这种trade-off会被改变,我们推测下一代硬件对更复杂的模型有利。 可以观察到,第二阶段大小(模型数量)对索引大小和查找性能具有显着影响。 这并不奇怪,因为第二阶段决定了需要存储多少个模型。 值得注意的是,我们的第二阶段使用了10,000或更多的模型。 这在第[2.1]节的分析中特别令人印象深刻,因为它表明我们的第一阶段模型可以比B树中的单个节点在精度上有更大的提高。 最后,我们没有提到整数数据集的上跑任何混合模型,因为它们像偏见搜索一样没有提供任何好处。3.6.2 字符串数据集图7:字符串数据:学习索引与B-Tree图8:使用不同搜索策略的学习字符串索引 图[7]显示了不同的搜索策略。 但是,我们确实在表格中看到最佳模型是一个非混合RMI模型索引,使用四元搜索策略,名为“Learned QS”(表格底部)。 所有RMI索引在第二阶段使用10,000个模型,对于混合索引,我们使用两个阈值128和64,作为模型在用B-Tree替换自己之前的最大容许绝对误差。 可以看出,用于字符串的B-Trees学习索引的加速不再那么突出。 这因为一个事实——模型执行相当昂贵,这是GPU / TPU可以解决的问题。 此外,搜索字符串要昂贵得多,因此更高的精确度通常会得到更好的结果。 这就导致了混合索引通过B树取代表现不佳的模型,有助于提高性能。 最后,由于搜索成本的不同,如图[8]所示,对于具有一个或两个隐藏层的2级神经网络模型,不同的搜索策略会产生更大的差异。 请注意,我们没有为B树显示不同的搜索策略,因为它们没有提高性能。 偏见搜索和四元搜索性能更好的原因是他们可以将标准误差考虑在内。3.7未来的研究挑战 到目前为止,我们的结果集中在只读内存数据库系统的索引结构上。 正如我们已经指出的那样,即使没有任何重大修改,当前的设计已经可以替代数据仓库中使用的索引结构,这些索引结构可能每天只更新一次,或者BigTable [ 18 ] ,其中创建B树批量作为SStable合并过程的一部分。 在本节中,我们将概述如何将学习型索引结构的概念扩展到频繁**的工作负载场景下。3.7.1 **和更新 初看起来,由于学习模型潜在的高成本,**似乎是学习索引的致命弱点,但是再次,学习索引对于某些工作负载可能具有显着的优势。 一般来说,我们可以区分两种类型的**:(1)appends 和(2) inserts in the middle,例如在订单表上更新客户id上的二级索引。 现在我们关注后者,并考虑在我们的已排序数据集中引入额外空间的方法,类似于B树通过其每个页面的最小和最大填充因子在已有页面中引入额外空间。 但是,与B树相反,假设我们不会均匀地分散空间,而是依赖于学习的累积密度函数。 最后,假设插页大致遵循与学习的CDF相似的模式; 这并不是一个不合理的假设,就像在顾客id的二级索引的例子中,顾客大致会保持购物行为。在这些假设下,模型可能根本不需要再培训。 这样,对新项目的**,学习索引可以“概括”成为O(1) 操作,因为它们可以直接放入可用空间中,并且空间可用于最常用位置。 相反,B-树需要O (log n)用于查找和重新平衡树的**操作(特别是**某个区域比其他区域更普遍)。 类似的,对于追加**,如果模型能够学习新数据的关键趋势,模型也可能不需要重新学习。 显然,这一观察结果也提出了几个问题。 首先,模型的普遍性和“最后一英里”表现似乎有一个有趣的折衷; “最后一英里”预测越好,可以说,模型过度拟合的能力越强,而且对新数据项的适应能力也越低。 其次,如果分布发生变化会发生什么? 它是否可以被检测到,并且是否有可能提供与B树一样的强力保证,它总是能够保证O(log n) 的查找和**成本? 虽然回答这个问题已经超出了本文的范围,但我们相信某些模型有可能实现它。 考虑一个简单的线性模型:在这种情况下,**的项目绝不会将误差增加超过max_abs_error + 1 。 此外,重新训练线性模型的成本为$$O(K_{M + 1})$$ ,其中$$K_{M + 1}$$是模型在数据中覆盖的项目数。如果线性模型不足以实现可接受的误差,我们可以将范围分成两个模型,并在上层的那个阶段重新训练模型。 这个模型可能需要重新训练$$O(K_{M})$$,其中$$K_{M}$$是在重新训练第一个模型之后的最后一个阶段的模型数M等等。因此,基于第一个模型的再训练,容易限制绝对误差。 但是,为了给第一个模型提供一个很好的误差,我们可能需要增加模型的容量,例如通过添加一个多项式或一个额外的隐藏层。 这里有可能通过诸如VC维度的技术再次限制所需的复杂度增加。 研究这些影响,尤其是对于其他类型的模型,包括神经网络,留待未来的人们的工作。 处理**的另一种更简单的方法是构建一个增量索引[ 49 ]和许多其他系统中,并且还具有如下优点:对于大型再训练操作,可以使用诸如GPU / TPU的专用硬件,这将显着加速,即使需要对整个模型重新训练也是如此。 最后,通过使用先前的解决方案作为起点,可以对每个模型的训练进行热启动。 特别是依赖梯度下降优化的模型可以从这种优化中获益[ 33 ] 。3.7.2 分页 在本节中,我们假定数据(实际记录或对)存储在一个连续的块中。 但是,特别是对于存储在磁盘上的数据的索引,将数据分区为存储在磁盘上的不同区域中的较大页面是相当常见的。 为此,我们观察到一个模型学习CDF不再成立,因为$$p = F ( X < Key ) * N$$被违反。 下面我们概述几个可以解决这个问题的方法: 利用RMI结构:RMI结构已经将空间划分为区域。 通过对学习过程的小修改,我们可以最大限度地减少它们覆盖的区域中模型的重叠程度。 此外,可能会复制任何可能被多个模型访问的记录。 这样我们可以简单地将偏移量存储到模型中,也就是数据存储在磁盘上的位置。 另一种选择是以的形式提供额外的转换表。 通过转换表,索引结构的其余部分保持不变。 但是,这个想法只有在磁盘页面非常大的情况下才会起作用,如果不是千兆字节,则可能在几百兆字节,翻译表格就会太大。 同时,可以使用带有最小和最大错误的预测位置来减少必须从大页面读取的字节数,这样页面大小的影响可以忽略不计。 使用更复杂的模型,实际上可以学习页面的实际指针位置。 特别是如果使用文件系统来确定磁盘上的页面,并且在磁盘上有系统编号的块(例如, block1,...,block100 ),则学习过程可以保持不变。 显然,需要更多的研究来更好地理解基于磁盘的系统的学习索引的影响。与此同时,节省的大量空间以及速度优势,会让这个工作的未来很有趣。4. 点索引 除了范围索引之外,点查找的Hash Map在DBMS中起着类似或更重要的作用。 从概念上讲,Hash Map使用Hash函数来确定性地将键映射到数组内的随机位置(参见图[9 ],只有4位开销,但速度降低3-7倍。图9:传统Hash图与学习Hash图 类似于B树,机器学习模型可能会提供解决方案。 例如,如果我们可以学习一个将每个键唯一映射到数组内的唯一位置的模型,我们可以避免冲突(参见图[9] (b))。 尽管将模型学习为散列函数的想法并不新鲜,但现有工作主要集中在学习更好的散列函数以将对象从较高维空间映射到较低维空间以进行相似性搜索(即类似的对象具有相似的散列- 值) [55,57,32 ] 。 据我们所知,怎么通过学习产生更有效的点索引结构的模型,还没有被探索过。 虽然第一眼看起来似乎不可能使用机器学习模型来加速Hash Map,但如果内存空间是一个重大问题,它实际上可能是一种选择。 正如我们的实验所显示的,传统技术想达到高利用率(每个记录的小开销浪费空间小于20%)非常难以实现,而且会导致显着的性能损失。 相比之下,学习模型能够根据数据分布实现更高的利用率。 此外,还有可能将模型卸载到GPU / TPU,这可能会减轻通过散列函数执行模型的额外成本。4.1 Hash模型索引 令人惊讶的是,学习键(Key)的CDF分布是一种潜在的得到更好散列函数的办法。 然而,与范围索引相比,我们并不打算将记录紧凑或按严格排序顺序存储。 相反,我们可以通过Hash Map的目标大小M来缩放CDF,并使用h(K) = F(K) * M ,其中的Key K作为我们的Hash函数。 如果模型F完美地学习了CDF,则不存在冲突。 此外,学习得到Hash函数与实际的Hash Map实现不冲突,并且可以与链表或任何其他方法结合使用。 对于模型体系结构,我们可以再次利用上一节中的递归模型体系结构。 很明显,和以前一样,在索引大小和性能之间存在一个折衷,这受到模型架构和数据集的影响。 请注意,Hash模型索引的**操作与正常Hash表的**方式相同:使用h(k)对密钥进行Hash处理,并将项**返回的位置。 如果该位置已被采用,则用普通Hash Map的实现确定如何处理冲突。 这意味着,只要**数据的特征与现有数据类似,散列函数就会保持其效率。 但是,如果数据分布发生变化,则可能需要按照前面所述重新训练模型。 再次,这超出了本文的范围。4.2 结果图10:模型vs随机Hash Map 为了测试使用机器学习模型的Hash索引的可行性,我们徒手实现了基于链表的Hash Map; 记录(Value)直接存储在Hash表中,并且只有在冲突的情况下记录才会附加到链表。 没有冲突,最多只会发生一次缓存未命中。 只有在几个键(Key)映射到相同位置的情况下,可能会发生额外的缓存未命中。 我们选择该设计,因为它可以实现最佳查找性能。 例如,我们还测试了商业级密集Hash图,,使用桶策略和就地溢出(即,Hash Map被分成桶以最小化开销,并在桶满时使用就地溢出[ 2 ] ) 。 虽然使用这种技术可以实现更小的内存占用,但我们发现它比链表方式慢两倍。 此外,在8 %或更多的内存利用率下,密集的Hash-map在性能上进一步降低。 当然,许多进一步的(正交)优化是可能的,并且我们绝不会声称这是Hash Map的最大内存或CPU高效实现。 相反,我们的目标是展示学习Hash函数的一般潜力。 作为本实验的基准,我们使用Hash Map实现和随机Hash函数,该函数只使用两次乘法,3次移位和3次异或,这比加密Hash函数快得多。 作为我们的模型散列函数,我们在第二阶段使用了与前一节中的100k模型相同的2阶段RMI模型,没有任何隐藏层。 我们没有尝试任何其他模型,因为我们特别关注快速查找速度。 我们使用了与前一节相同的三个int数据集,并且对于所有实验,我们改变了可用插槽的数量,从75 %到125 %数据数量。 也就是说, 75 %的Hash表中的插槽比数据记录少25 % 。 强制槽数量小于数据数量,可减少Hash表中的空位,但会增加链接列表的长度。 结果如图[10] 的平均查找时间,空槽数量(GB单位)以及可用槽位总数的百分比和空间j节约的改进。 请注意,与上一节相比,我们确实包含了数据大小 。 主要原因是,为了启用1次缓存未命中查找,数据本身必须包含在Hash Map中,而在上一节中,我们只计算了除排序数组本身之外的额外索引开销。 从图中可以看出,模型Hash函数的索引总体上具有相似的性能,同时更好地利用内存。 例如,如果有100 %的插槽数(即Hash表中的插槽数与数据大小相匹配),随机Hash总会经历大约35 %的冲突(理论值为33.3 %)并浪费1.5G B的主存,而学习索引的散列函数更好地分散了密钥空间,因此能够将未使用的内存空间减少到高达80 % ,具体取决于数据集。 显然,当我们增加Hash表的大小以增加25 %的插槽时,节省量不会很大,因为Hash表也可以更好地分散键(Key)。 令人惊讶的是,如果我们将空间减少到键的数量的75 % ,由于仍然起作用的生日悖论,学习的Hash图仍然具有优势。 我们也做过更小尺寸的实验,观察到大约50 %的大小插槽数在随机和学习Hash函数之间没有明显差异。 但是,将Hash Map大小减少为仅包含数据大小的一半时隙,链表变长,查找时间也会变长。4.3 替代方法和未来工作 除了使用CDF作为更好的散列函数外,还可以开发其他类型的模型。 虽然不在本文的范围内,但我们在某种程度上探讨了共同优化数据放置和查找数据的功能。 然而,在许多情况下,事实证明,混合模型专家模式们对于许多数据集的表现最好。 此外,也可以像混合索引一样将Hash-map与模型更紧密地结合起来。 也就是说,我们可以学习模型的几个阶段,并用简单的随机Hash函数替换性能较差的模型(即那些产生比随机Hash更多冲突的模型)。 这样,最坏的情况下的性能将与随机Hash相似。 但是,如果数据具有可以学习的模式,则可以实现更高的内存利用率。5. 存在索引图11: Bloom filter作为分类问题 DBMS的最后一种通用索引类型是存在索引,最重要的是Bloom-Filters,它是一种空间高效的概率数据结构,用于测试某个元素是否为集合的成员。 它们通常用于确定低温存储中是否存在键(Key)。 例如,BigTable使用它们来确定一个密钥是否包含在SSTable [ 18 ]中 。 在内部,Bloom filter使用大小为m的位数组和k个哈希函数,每个函数将一个关键字映射到m个数组位置中的一个(参见图[12]。 虽然Bloom filter非常节省空间,但它们仍可占用大量内存。 例如,想达到具有0.1 %的假阳性率(FPR)的100M记录,需要比记录大约多14 倍的位。 因此,对于十亿个记录,大约需要大约1.76 Gigabyte个字节(十亿 = $$10^9$$ bit , 位数 = $$14 * 10^9$$ bit ≈ 1.76GB Byte )。 对于0.01 %的FPR,我们需要≈2.23 Gigabyte。 有几次尝试来提高Bloom filters的效率[ 43 ] ,但一般的开销依然存在。 然而,如果存在一些结构特性来确定什么是内部或外部的,用于学习,那么就可以构建更有效的表示。 有趣的是,对于数据库系统的存在索引,延迟和空间要求通常与我们之前看到的两种完全不同。 考虑到访问低温存储(例如磁盘甚至磁带)的高延迟,我们可以承担更复杂的模型,而主要目标是最小化索引的空间和误报的数量。 下面我们概述使用学习模型建立生存指数的两种潜在方法。图12:具有学习散列函数的Bloom filter5.1 学习索引版Bloom filter 虽然范围和点索引都知道键的分布,但存在索引需要学习将键和其他所有内容分开的函数。 换言之,针对点索引的良好hash函数是密钥间几乎没有碰撞的散列函数,而Bloom filter的良好hash函数将是键(Key)间有很多冲突同时 非键(Non-Key)间也发生大量冲突的良好散列函数,但很少有键(Key)和非键(Non-Key)之间的冲突。 我们在下面考虑如何学习这样一个函数f以及如何将它合并到一个存在索引中。 传统上,存在指标不会猜测键(Key)的分布,也不会猜测键(Key)与非键(Non-Key)有什么不同。 例如,如果我们的数据库包含0≤x
  • [精选单品] 【云端大事件】云视频会议原来可以这么简单!
    近日,深圳华兆科技有限公司入驻华为云市场,在华为云市场发布了企业自主研发的智能管控系统,满足了企业远程诊断、远程管理设备、设备故障分析等功能,为最终用户节省了大量的成本,颇受企业和用户的好评。这款产品有哪些功能,又如何使用呢?一起来了解一下。 由于会议室功能越来越来复杂,设备也越来越多,控制复杂、编程技术等问题,我们针对这些问题进行自主研发,开发了智能管控系统,不仅有效帮助企业管理设备,还提升工作效率,减少沟通成本。​
  • [精选单品] 【容联易通】容联有会云电话会议
    今天为大家介绍容联易通新通讯生态群的第二款产品:容联有会云电话会议1、产品介绍1.1、三种使用方式会议底层SDK会议插件会议APP1.2、产品亮点线路稳定、质量有保障语音检测精确定位呼叫状态精准反馈成员变动语音提示全新的语音混音技术2、产品功能详尽的会议列表多渠道分享信息会议预约、到点自动呼起有好的会议控制3、产品应用于哪些行业轻量级企业电话会议系统。4、产品能够解决什么问题企业私有化部署为企业自有APP整合电话会议功能简洁的会管会控,摆脱昂贵的人工服务
  • [精选单品] 【容联易通】容联有会云视频会议
    今天为大家介绍容联易通新通讯生态群的第三款产品:容联有会云视频会议1、产品介绍1.1 多种形态的会议产品即买即用,且与现有业务系统高度融合:应用插件移动客户端,web会议解决方案,pc/mac客户端1.2 与第三方系统互通的完整的会议系统对于购置传统会议系统的客户,通过打通突破了传统会议系统的诸多限制,让会议上云,对于经常需要与第三方会议系统进行会议的客户提供了一站式的解决方案,相当于只购置了一套会议系统。1.3 不仅是沟通,还是内容的运营通过议题、纪要、会议资料、云录像、帮助会议生产内容,随时都可以回顾,可能分享给没有参加会议的人通过图文视频等内容,由浅入深学习会议内容,提升会议能效。1.4 低使用成本,低学习成本的web会议最大限度降低了参会门槛,使客户服务场景的用户享受到多方音视频沟通和多媒体演示的能力,提升客服体验。2、产品功能2.1 会议主体功能多方式加入会议,即时会议,预约会议,企业会议,会议事件管理,会议事件助手,接听会议呼叫,pstn呼入,pstn呼出,接入号,lvr交互系统推送消息,会议室密码,多渠道邀请参与者2.2 会中基础功能会中本地设备控制,主持人权限,主持人权限转移,离线重新入会保留身份,智能视窗,多人视频信号流,状态提示,参会人管理2.3 会议辅助功能个人通讯录,好友推荐,群组,个人信息设置与管理,IM,个人开会偏好设置,个人参会偏好设置2.4 企业管理功能会议室管理系统,会议报表,企业通讯录2.5 扩展功能文件共享,白板,屏幕共享,屏幕标注,扩展功能锁,云盘,会中查看议题设定及完成情况,会议纪要,公开会议纪要云记录,历史会议事件浏览与分享,会中IM3、产品应用于哪些行业3.1 完整的Web解决方案最大限度降低参会成本,突破设备壁垒,更贴近客户服务场景提供有资料有纪要有录像的会议记录功能,帮助会议生产内容、可随时回顾,可分享给参会人进行培训,为会议场景提升效率。3.2 插件化的saas产品无需改变自身业务系统使用习惯,即插即用,与业务系统高度融合4、产品能够解决什么问题4.1 传统视频会议系统限制多与企业内部业务系统融合困难;成本高、部署周期长;维护及扩展困难;4.2 使用体验不好培训、协作、应急事件沟通等场景化的会议体验不佳;添加参会人、预约会议、多媒体共享操作复杂,学习和操作成本高4.3 互通困难自身的会议系统与其他的会议系统互通困难;
  • [精选单品] 【云端大事件】淘客滔滔:团队沟通与协作APP入驻华为去市场!
    【导语】2018年6月1日,淘客科技公司入驻华为云市场,在华为云市场发布了淘客滔滔(Toc**)-基于LBS的企业协作与沟通APP产品,产品将有效沟通、高效协作、柔性管理、正向激励、看板管理等多种管理最佳实践融入到产品及解决方案中,为企业用户快速赋能。这款产品有哪些功能,又如何使用呢?一起来了解一下。 【标签】华为云市场、云端大事件、移动OA、任务协作、企业头条 一、 产品介绍“淘客滔滔 - 基于LBS的企业级有效沟通管理软件”是针对广大中小型企业沟通管理沟通的现状,设计研发的一款定位于提升企业内部的沟通效率、协作效率的APP。为企业管理者提供全方位的效率分析工具,为员工提供高效协作与个人成长平台。淘客滔滔由即时通讯(IM)、企业级通讯录、滔小秘(私人助手)、考勤管理、微审批、工作汇报、任务管理、通知、头条、、会议、同事圈、福利券、企业看板等功能构成。二、 产品功能(有哪些特点)【即时通讯(IM)】:团队成员可以建立点对点、群组及针对特定事件的即时通讯,可以传输入照片、位置、语音等信息。【企业级通讯录】:管理员可以一次性导入团队成员通讯录,每个团队成员可以随时更新自己的通讯信息、职业信息等。使通讯录管理更方便、高效!【滔小秘】:每天早上为您整理新一天的工作,让您第一时间汇总工作事项,效率加倍!【信息催阅】:对于企业的重要信息,通过滔滔可以实时看到阅读的人数,并对未阅读的成员进行信息催阅。【考勤管理】:实现团队的移动签到、签退、出行及请假管理,轻松管理多个办公地点的考勤,支持自定义排班管理(三班倒、一天多次上下班等)。【定制流程】:用户可以为出行、请假等事件建立固定审批流程,也可以启动自定义流程。【微审批】:通过自定义审批和业务模板,轻松实现审批移动化管理,审批过程实时微信提醒,网页版微审批可批量打印存档。【工作汇报】:公司根据自身需求自定义汇报模板。员工可随时随地在线填写汇报,管理者通过汇报随时了解员工的工作状况,使团队的工作尽在掌握。【头条及通知管理】:管理员可以第一时间用手机发送信息致指定团队成员,并可随时查看信息阅读反馈,使得信息传达更加高速、高效!【同事圈】:让员工实时了解公司及同事动态,随时知道公司发生了什么,同事都在做什么,正向激发员工创新工作。只晒工作不晒隐私的同事圈,团队专属的社交平台。【会议】:淘客滔滔会议,能够快速实现会议室预定、会议通知、人员签到、分享会议纪要、会议后评论等,实现会议的全过程管理。【任务管理】:管理者可以实时了解下达的工作的进展情况及分解情况,了解每一个员工的工作状态。【福利券】:基于正向激励和柔性管理的理念,根据工作数据指标发放福利,更精准,更有效。【企业看板】:管理者通过企业看板直接了解团队使用数据、团队考勤分析、审批效率分析、工作汇报分析等数据,帮助管理者进行有效的员工管理。三、 产品应用于哪些行业科技型中小企业、行业协会商会四、 产品能够解决什么问题 产品能够帮助团队内部完成信息共享、使团队成员随时随地掌握公司公告、帮助团队降低沟通成本,提供多样化的全程沟通方式。结束语:产品的价值点产品将有效沟通、高效协作、柔性管理、正向激励、看板管理等多种管理最佳实践融入到产品及解决方案中,为企业用户团队管理效率快速赋能。详细内容请参考产品官网:www.toc**.com.cn
  • [精选单品] 百年保温杯企业“膳魔师”牵手云翌通信为客户提供高效服务
    膳魔师(中国)简介 膳魔师(中国)家庭制品有限公司 ,系享誉国际已百年的全球最大知名高真空系列产品品牌THERMOS(膳魔师)家族的一员。于1995 年由港、日合资,进入中国市场。膳魔师(中国)家庭制品有限公司产品主要有高真空不锈钢保温杯、保温瓶、保温壶、保温罐、焖烧锅等高品质保温系列产品以及以高TCC科技太空技术研发的各式复合金炒菜锅、汤锅锅具系列等等之家庭厨房系列用品。膳魔师中国总部位于江苏昆山,经过几年的耕耘,各分公司及办事处也遍布全国各省市,包括:北京、上海、广州、深圳、成都5个分公司和南京、重庆、武汉、哈尔滨、沈阳、天津6个办事处,近年来销售额均以数倍跨级成长。 随着销量的跨级增长,用户满意度以及服务是膳魔师首要任务,原有的电话系统是传统的模拟线路,每个员工都是直线,内部无法互联互通且无法做到统一管理,内部信息流通、跨部门跨地域间协作缓慢,导致用户满意度下降。云翌通信根据其现状设计了“统一通信系统”解决方案,有效解决了膳魔师互联互通协作问题,提高工作效率和客户满意度! 云翌通信统一通信系统让膳魔师服务更便捷,效率更高异地之间沟通就像在一个办公室膳魔师工作员工众多,跨部门跨地域沟通协作必不可少,电话沟通也成为了他们最享受的一种方式,所有员工都在一个系统里边,找远在天边的你,只需要拿起近在咫尺的电话,拨通你的分机号,OK,沟通协调搞定!全员无线wifi电话办公通话稳定膳魔师摒弃传统电话模式,全部员工采用无线wifi话机办公,云翌通信统一通信平台支持wifi话机直接注册,通话稳定,满足了膳魔师提倡办公区无线办公的要求。总机来电无缝转接到技术专家组问题都不是事客服小姐姐在日常服务解答中,需要技术售后专家组帮忙,解答资深用户的专业问题,靠吼传达不是小姐姐的作风,轻轻一个按键,直达技术组,技术小哥哥立马上线解答用户困惑~完美一个电话会议能解决的事绝不让你离开工位高效率协调沟通是膳魔师的工作宗旨,需要协调多个部门或者异地同事参与讨论,云翌通信电话会议功能一分钟让远在天涯海角的人,加入会议,开会决策效率高。实时通话录音,保障多方权益云翌通信统一通信系统具有电话录音功能,所有通话录音以及通话记录都有据可查,企业管理层可根据通话录音规范服务话术,关键时刻可调取录音取证! 成立于1904年的膳魔师是一个有温度的企业,《Centery Makers》一书中曾写道“膳魔师真空保温壶是过去百年内一百件改变人类生活的聪明产品之一”膳魔师真空保温系列产品一直不间断的为每一个家庭带去安全和放心的使用服务,云翌通信也将坚持用工匠精神共同与膳魔师守护每一个用户,保证系统安全稳定,时刻解答每一位用户的疑惑! 关于云翌上海云翌通信科技有限公司总部位于上海市浦东新区世博软件园,致力于向社会企事业单位提供自主研发的VoIP全系列语音/视频产品和企业通信,IP呼叫中心等解决方案。是上海市重点高新技术企业和专利试点企业。公司核心管理与研发团队均为通信行业内从业十年以上的资深人士,在呼叫中心、IP语音通信、虚拟运营、软交换、融合通信等领域有着丰富的专业经验。公司产品充分利用Internet和全球IP互连的环境,提供比传统业务更全面、更专业的服务解决方案。2017年7月,公司在南昌成立研发中心,为上海总部研发的有效补充及创新研发基地,主要职责为通信云平台的持续开发与创新。 为客户提供易用、功能齐全、节省成本的通信云平台!
  • [精选单品] [青岛卓思越]打破传统视频会议壁垒,打造”云+端“的极致视讯体验
    【导语:】2018年7月20日,青岛卓思越信息技术有限公司入驻华为云市场,在华为云市场发布了“卓智云(OIM)视频会议协作平台”提供了智能云视频会议的解决方案,可以帮助企业和用户快速便捷解决协作问题。这款产品有哪些功能,又如何使用呢?一起来了解一下。 【标签】 “华为云市场、云端大事件、智能会议、云视讯” 【摘要】全生态数字化协作视频会议平台,构建“云+端”的整体解决方案,与各场景视频终端深度融合,整体调优,实现自动部署、联系人同步、一键入会等功能为企业带来安全可靠、便捷高效、低门槛、易用易部署的极致视讯体验。会议生命周期完整的会议生命周期管理系统,从会前、会中、会后三个板块入手,识别会议室管理、会议认为管理、会议资源管理等多块管理领域,将视频会议系统以saas模式运营的企业云端会议管理平台,为组织内会议的筹备、管理总结、分析而服务,实现会议管控的同时改进、固化会议行业,助力组织搭建会议生态,提升参与者的认同感与凝聚力,并根据会议数量、时间、场所、结果等指标进行大数据分析,协助领导者发现问题、调整决策。 产品介绍 卓智云(OIM)视频会议协作平台构建“云+端”的整体解决方案,云平台与各场景视频终端深度融合,整体调优,实现自动部署、练习题同步、一键入会等功能,整合企业管理、人员管理、会议设置及会议管理等多种功能,在实现会议管控的同时改进和固化会议行为,主力组织搭建会议生态,提升参与者的认同感与凝聚力。同时可以针对于门禁系统,计费系统、中控系统,域名系统,SSO登陆系统,短信、邮箱、微信、音视频会议系统等第三方系统及功能开发,打造独有的全智能会议协作平台。  融合:本地会议、云视频、协作的完美融合简单:繁琐的后台资源设置,无技术人员参与值守,自主预约使用兼容:兼容多种云会议,实现预约、管理等功能拓展:解决传统视频会议系统与SaaS云服务的完美融合,延伸参会范围,节约投资定制化:结合用户需求进行深度定制化开发集成 过程管理 更有序、更系统统计管理使用分析、环比分析、同比分析、大数据分析、智能会议分析,财务数据集成分析 会议管理平台的会议报表分析,可形成真实有说服力的数据,辅助企业降低差旅、管理成本 安全的云会议平台网络安全核心数据加密保存,包括会议信息、资料、会议记录等采用加密技术层敏感数据传输,全站采用https加密,保所有数据在网络传输过程中安全。 访问安全            采用华为云多层安全防护,保证SaaS平台的安全可靠,完善的用户登录日志及异常登录报警机制。数据安全           利用高可用服务器集群保障服务高性能运转及数据的实时备份。保密会议的所有数据只能在线查看,不能下载、离线、分享,确保保密会议的数据安全。认证安全   对重要业务采用短信验证、人脸识别、门禁认证等方式,确认操作者身份,采用用户、租户、平台三级权限隔离管理方式,提高授权系统的安全性。卓智云(OIM)视频会议协作平台适合与全行业卓智云(OIM)视频会议协作平台方案优势节约会议的经费和时间实现跨地域协作,节省差旅成本;减少路上时间,缩短会议准备时间节约时间成本提高工作效率利用碎片时间,促使参会者节省时间,提高工作效率;会议更灵活、沟通更顺畅随时随时可以召开,排除了地域、环境等外在影响,打开了会议室的壁垒,使得会议更灵活,沟通更顺畅;会议成像,跟踪有据全面的会议存档、会议纪要、会议视频、会议任务的管理等会议标签完整立体的呈现了会议的全貌,使得会议图像清晰可见,会议资源真实有据。 卓智云(OIM)视频会议协作平台是一个以互联网为基础的云端网络会议,集视频、音频、电话会议、会议资源管理为一体,改变了传统的面对面的沟通模式,打破了传统视频会议的壁垒,补充了云视讯的短板,为企业和用户提供了一套“云+端”的极致云视频会议系统。
  • [精选单品] 花儿为什么这样红--云翌通信助力香朵呼叫中心系统新升级
    农家乐、亲子游、慢生活……上海有一个别致的新去处——香朵开心农场,位于「全国美丽宜居乡村」的上海崇明庙镇合中村,这里不仅有大片的草坪供你和孩子或漫步或手牵手奔跑,还有新鲜的蔬果可以采摘玩乐,不仅有小鸡、小鹅供观赏,还可以与小羊亲密接触,喂喂草,是不是有一种重拾童真,跟孩子更近一步的感觉。除此之外,农场还有垂钓区,户外活动区,儿童游戏区......大家各得其所,动静皆宜。宜人的风景、健康的食物、舒适的别墅,是否惹得你蠢蠢欲动想要去体验一把呢?但是面对美景美食诱惑,小翌我自岿然不动,专心致志的把香朵的呼叫中心系统升级完毕了!根据香朵的需要,小翌为其量身定制,选择了IPPBX-EPX系列产品,轻松实现分机互打、语音导航、电话会议等功能。呼叫中心升级之后,香朵的各分机可轻松免费互打且可出差或在家办公时使用,小姐姐之间的沟通既方便又高效,笑容便如开心农场上盛开的花朵,格外芬芳灿烂!另外,小翌帮香朵家呼叫中心开通了语音导航,支持分时段多层次嵌套,根据香朵的业务需求自定义编辑不同的IVR流程,使得香朵客服专业高档,欢迎致电哦!再者,该呼叫中心支持召开电话会议,多个会议桥同时开会。会议中可邀请内线和外线,并可全程录音。无论是在如火的枫林间驻足还是在碧波的水池旁守护,无论是在醇香的厨房忙绿还是在精致的别墅服务,随时随地加入会议,工作更高效,旅客更满意!香朵开心农场呼叫中心升级之后,不仅旅客的脸上笑容洋溢,香朵的工作人员及管理者的心中也绽放出香气袭人的花朵。用户满意的笑容,便是小翌不懈努力的动力!伙伴们,随小翌到香朵一游吧!关于云翌 上海云翌通信科技有限公司总部位于上海市浦东新区世博软件园,致力于向社会企事业单位提供自主研发的VoIP全系列语音/视频产品和企业通信,IP呼叫中心等解决方案。是上海市重点高新技术企业和专利试点企业。公司核心管理与研发团队均为通信行业内从业十年以上的资深人士,在呼叫中心、IP语音通信、虚拟运营、软交换、融合通信等领域有着丰富的专业经验。公司产品充分利用Internet和全球IP互连的环境,提供比传统业务更全面、更专业的服务解决方案。2017年7月,公司在南昌成立研发中心,为上海总部研发的有效补充及创新研发基地,主要职责为通信云平台的持续开发与创新。 为客户提供易用、功能齐全、节省成本的通信云平台!
总条数:647 到第
上滑加载中