简介:学习如何使用MemSQL,这是一个分布式数据库平台,可以在机器学习模型中执行一般计算。
机器学习(ML)是一种分析数据的方法。通常,分析模型是从训练数据中自动构建或“学习”的。这个想法是,当你给它提供更多的数据点时,模型会变得更好,这样你的算法就会随着时间的推移自动变得更好。
机器学习有两个截然不同的步骤:训练和操作。训练需要一个你非常了解的数据集(称为训练集),然后探索数据集,寻找模式,开发你的模型。一旦你开发了模型,你就可以开始运行了。这是将它部署到生产系统的地方,可以运行生产系统来评估新数据,然后系统将结果返回给用户。
如何开始机器学习
要完成这些步骤,通常需要使用几种工具。首先,我们需要一个导入数据的工具,一个清理数据的工具,一个开发计算库和测试算法的平台。一旦您准备好运行模型,您就需要一个兼容的平台来运行您的模型,还需要一个应用程序来处理和显示结果。
使用MemSQL进行机器学习操作
MemSQL是一个分布式数据库平台,擅长机器学习模型中的普通计算。MemSQL是存储训练数据的良好环境,因为用户可以在小型配置中运行它,例如笔记本电脑上的单节点模型。由于MemSQL与MySQL兼容,数据科学家也可以使用MySQL实例进行算法开发。
MemSQL真正的亮点是模型的可操作性。有效运算算法的关键要求如下:
快速数据提取
快速计算
扩大规模以应对增长
与现有库的兼容性
表达算法的强大编程语言
运营管理功能,确保数据的持久性、可用性和可靠性。
MemSQL非常适合这些需求,可以以几种不同的方式在ML解决方案中使用。
用MemSQL操作ML的3种方法
数据库之外的计算
MemSQL可以是一个快速服务层,不仅可以存储原始数据,还可以向客户提供结果。这在使用Spark cluster等现有基础设施创建模型时非常有用。一个真实的例子是一家大型能源公司正在使用MemSQL进行上游生产处理。该公司在全世界有一套石油钻塔。练习很贵,因为零件和人工的成本(因为经常在偏远地区)。保持钻头不间断会大大节约成本。钻机配备了多个传感器(收集热量、振动、方向等。)并不断向Kafka队列发回数据。数据从这个队列中提取到一个Spark簇中,PMML(预测模型标记语言)模型计算钻头的健康状态。然后将结果数据放在MemSQL中,并实时提供给锻炼者。如果有损坏的危险,操作者可以减慢或重新定位钻头。同样非常重要的是,要有一个数据平台,能够以高吞吐量连续接收得分数据,同时仍然允许模型运行。因为MemSQL是一个现代的横向扩展架构和复杂的查询处理器,所以它可以比业内其他数据库更好地处理数据。
摄入量的计算
一些客户不想维护单独的计算集群,但仍然希望利用现有的统计数据或ML库。在这种情况下,他们可以通过使用MemSQL Pipelines函数轻松地将数据提取到数据库中。然后,当数据到达时,客户可以使用管道的转换功能来执行ML评分算法。转换是一种允许客户在数据插入数据库之前执行任何代码的功能。这段代码可以很容易地集成或调用现有的库,比如TensorFlow。然后将计算结果插入数据库。因为MemSQL是一个分布式系统,并且MemSQL管道并行运行,所以工作负载均匀分布在集群资源上。
数据库中的计算
有时,计算分数时尽可能接近数据会更有效,尤其是当需要将新数据与更大的历史数据集进行比较时。在这种情况下,您需要一种语言来对数据库中的算法进行编码。重要的是语言表达能力足够让算法和核心运算更快,让已有数据得到高效查询,并且可以和其他功能结合使用。
成功使用这种方法的组织的一个例子是Thorn,这是一个利用图像识别寻找失踪和被剥削儿童的非营利组织。该应用程序在其系统中保存了一系列被剥削儿童的照片,并将这些儿童的面孔与不断从全国各地的网站中选择的新照片进行匹配。使用深度学习方法,将新图片简化为向量,并与代表基本图片的向量进行匹配。
在使用MemSQL之前,匹配过程需要几个小时或几天。利用MemSQL高性能vector DOT_PRODUCT的内置函数,可以在几分钟或几秒钟内完成对传入图片的处理。另一个图像识别的例子是Nyris.io,它使用类似的技术,使用深度学习和快速数据库点积计算来匹配产品照片。应用程序可以快速将用户提供的图像与参考产品的图像进行匹配,从而实现电子商务交易。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。