主要观点总结
文章介绍了产业AI素材库的建设过程,包括图片素材的导入、处理、索引和使用等。文章详细描述了如何解决图片素材导入过程中的问题,如使用聚簇表提高并行效率、数据分片和key生成算法的选择等。同时,文章还介绍了任务调度框架和图像感知哈希算法的python实现。
关键观点总结
关键观点1: 产业AI素材库的建设过程
文章介绍了一套完整的产业AI素材库的建设过程,包括图片素材的导入、处理、索引和使用等环节。
关键观点2: 使用聚簇表提高并行效率
为了解决图片素材导入过程中的效率问题,引入了聚簇表技术,通过创建聚簇表,可以并行处理数据,提高处理速度。
关键观点3: 数据分片
为了提高导入工作的容错性和并行度,引入了数据分片技术,将大任务拆分为多个小任务,每个小任务处理的数据量大大减少,从而提高处理速度和效率。
关键观点4: key生成算法的选择
对于图片key的生成,介绍了多种算法的选择和对比,包括感知哈希算法、均值哈希算法、差值感知算法和图像MD5等。
关键观点5: 任务调度框架
介绍了基于open-api的任务调度框架的设计和实现,通过触发记录来调度任务,实现任务的细粒度控制。
关键观点6: 图像感知哈希算法的python实现
提供了图像感知哈希算法的python实现示例,帮助读者对图像hash的生成和通过汉明距离计算相似度有更直观的理解。
文章预览
因为业务需要,笔者有幸参与设计和开发了涉及数十亿量级的图片素材调度、处理和索引使用的平台-产业AI素材库,在平台的建设落地过程中,踩了许多坑,也有了一些工程落地上的实践总结,希望分享给大家。 导入实践总结 素材库建设之初,涉及的图片素材单次导入不过百万,不过随着算法侧针对图片素材训练的模型的“胃口”急速增长,单次图片素材导入的需求直接突破到了数十亿级。在实践中发现,最开始完全借助于dataworks平台节点调度能力的那套架构,面对如此海量的数据导入已经捉襟见肘:数据的导入和处理已无法在24小时内完成,甚至超过一周(超过24小时会触发dataworks session 超时的异常),成为了图片素材快速投入训练和使用的阻碍。于是,我们重新设计了一套导入链路,以解决这个问题。简化的导入框架设计如下: ▐ 1.
………………………………