两个案例:展现高效的压缩的重要性

简介:

0?wx_fmt=png

在开发智能实时应用时,你可能经常会通过数据平台来分析和解密大数据中的模式和洞察。这些应用所依赖的后端架构常常会是分布式、可容错和可横向扩展的大数据处理技术。但也有一些情况下,压缩表现形式也是有用的,甚至是必须的。移动设备和(物联网里的)传感器的兴起带来了把计算从云顶移向边缘的软件和设备。另外内存计算也趋向于更快,造成很多流行的(分布式)系统也把数据缓存起来进行运算操作。


为了能更好地说明这一观点,让我来介绍两个最近的案例。通过它们来展现高效的压缩表现形式的重要性。一个案例是移动计算领域的,另外一个则是来自于目前非常流行的分布式计算框架。

 ◆ 

深度神经网络和智能移动应用


斯坦福大学CVA(并发的极大系统集成架构)研究组的韩松(Song Han)在他最近的一次报告里介绍了一个帮助在移动设备上优化深度神经网络的研究。深度神经网络在最近取得了长足的进步,并在计算机视觉、语音识别和机器翻译等领域取得了非常好的效果。同时移动计算平台的流行也意味着很多移动应用也希望获得这一能力(深度神经网络)。但挑战是深度学习的模型一般都很大,从而很难成为移动应用(因为要被下载到移动设备上,还要经常更新)。如果是采用基于云的解决方案,则对于特定的应用和行业,网络延迟和隐私又会成为问题。


一种解决方案就是显著地降低深度学习模型的大小。CVA的研究人员最近提出了一个由三个步骤组成的压缩深度神经网络的通用模式:


  • 裁剪不重要的连接;

  • 量化网络并对权重进行强化;

  • 最后使用哈夫曼编码进行编码。

 

0?wx_fmt=jpeg

 
 

图1:压缩神经网络尺寸的模式比较样图。本·骆易家授权使用


初期试验的结果显示他们的压缩模式可把神经网络的大小减少35到50倍,而压缩后的神经网络的准确度和最初的网络的准确度差不多。CVA的研究人员还为压缩深度神经网络设计了配套的高能效的ASIC加速器,这也预示着为未来的智能移动应用所特别设计的下一代软硬件。

 ◆ 

Succinct:在Apache Spark里搜索和点查询压缩过的数据



Succinct是一个“压缩”的数据存储方式。可以让很多点查询方法(搜索、计数、求范围、随机查询)直接对输入数据的压缩模式进行操作。Succinct使用的压缩技术在实际应用中可以获得和gzip差不多的压缩率,同时不需要二级索引、数据扫描或解压缩等技术来支持上述的操作。Succinct并不保存数据文件本身,仅仅是压缩后的形式。通过让用户直接对压缩过的数据直接进行操作,Succinct同时具有低延迟和第存储空间两大优点。

 

 
 

0?wx_fmt=jpeg图2:定量比较数据扫描、数据索引和Succinct。因为Succinct是用压缩方式存储数据,并直接对压缩后的形式进行操作,它可以在内存里存放并使用大的多的数据。


作为斯坦福AMPLab实验室的一个研究项目,Succinct已经在2015年年底作为Apache Spark的一部分发布了。这意味着Spark的使用者可以利用Succinct来对文件进行压缩,并可以直接使用搜索查询(包括对压缩的RDD进行正则表达式查询)、计数和范围查询。另外,已经基于Succinct的文件(非结构化)应用接口开发了新的抽象,这就可以把Spark作为文本或键值对型的存储,并使用现有的DataFrame的API来做搜索、计数、范围查询以及随机查询。


拥有了这些新的能力放大了Apache Spark的软件栈,从而可以开发出很多有趣的数据应用。


初步和ElasticSearch的比较结果显示了很大的希望。同时对用户更重要的是Succinct是一个活跃的项目。Succinct团队已经计划在未来的版本中添加很多新的增强功能,包括Succinct Graphs(支持查询压缩的图)、在压缩的数据上支持SQL,以及对于数据预处理和压缩的改进(目前是每核每小时压缩4GB数据)。他们还正在进行一个研究性质的项目,叫做Succinct Encryption(Succinct加密,支持对压缩和加密的数据的查询)。


 ◆ 

0?wx_fmt=jpeg

本·罗瑞卡(Ben Lorica)

作者:本·罗瑞卡是O'Reilly的首席数据科学家和关于数据方面的内容策略主管。在多个领域里(包括直销市场、消费者和市场研究、精准广告、文本挖掘和金融工程),他曾经进行了商业智能、数据挖掘、机器学习和统计分析的工作。他层效力于投资管理公司、互联网创业企业和金融服务公司。

原文发布时间为:2016-07-17

本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“BigDataDigest”微信公众号

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
6月前
|
机器学习/深度学习 人工智能 算法
深度探索数据聚合算法:提高文档管理软件整理效率的秘诀
在这个数字时代,文档管理软件成为了我们日常生活和工作中的强力伙伴。然而,随着文档数量的爆炸增长,文档的整理和分类变得越来越令人头疼。幸运的是,有了新一代的数据聚合算法,我们能够轻松摆脱繁琐的整理工作,使文档管理变得轻松愉快。接下来,让我们深入探讨一下数据聚合算法如何提高文档管理软件中的文档整理效率。
160 0
|
8天前
|
存储 缓存 前端开发
前端如何利用indexDB进行数据优化
使用IndexedDB作为浏览器内置的客户端数据库,用于存储大量数据和实现离线支持。它能缓存常用数据,减少服务器请求,提高用户体验。IndexedDB支持数据索引、复杂查询及版本管理,允许离线操作并同步到服务器。但需熟悉其异步API,可借助Dexie.js、localForage等库简化使用。
|
5月前
|
缓存 搜索推荐 NoSQL
150 混合推荐系统案例(项目开发)
150 混合推荐系统案例(项目开发)
44 0
|
3月前
|
监控 安全 定位技术
技术写作概述:内容分析、平台和转化追踪以及内容老化
内容分析是一种技术作家用来解释和量化文本数据的研究方法。它涉及从不同来源的文本中编码和识别主题或模式的系统过程,这些来源包括书籍、博客、文章或其他文档类型。其主要目标是提供主观解释的、但有效且可重复的、从数据中得出的推论。这种技术有助于确定所讨论的内容是否有效地传达了所需的交流,或者是否存在需要改进的领域。例如,您可以进行内容分析来衡量软件手册的用户友好性或教学指南的清晰性和易懂性。
40 0
|
5月前
|
数据采集 SQL 数据可视化
79 网站点击流数据分析案例(整体技术流程及架构)
79 网站点击流数据分析案例(整体技术流程及架构)
56 0
|
存储 分布式计算 监控
OushuDB 小课堂丨描述性分析如何利用数据做出更好的决策
OushuDB 小课堂丨描述性分析如何利用数据做出更好的决策
83 0
|
JSON 缓存 监控
【翻译】结构化日志的价值 - 更好地理解系统
一种比较可行的克服这些困难的方案是以一种一致的、明确的和机器可读的格式来记录系统中最有价值的信息。这种方法称为结构化日志记录。在配套工具的支持下,这些追踪数据有助于更深入地了解你的系统的运行活动,使你能够理解组件之间的相互作用。
97 0
|
机器学习/深度学习 人工智能 算法
谈谈从分析到行动看数据驱动和数据信息的区别
近年来,“数据驱动”这个术语已经被广泛使用,很多人谈论要成为一个数据驱动的组织。
谈谈从分析到行动看数据驱动和数据信息的区别
|
搜索推荐 前端开发 数据可视化
|
搜索推荐 数据可视化 机器人