月之暗面Kimi大模型海量数据预处理实践

简介: 加速大模型的训练迭代,在模型数据预处理方面,需要高性价比、弹性灵活的 CPU 和 GPU 算力满足模型迭代的业务实践。

【阅读原文】戳:月之暗面Kimi大模型海量数据预处理实践

一、前言

 

 

月之暗面是一家专注于人工智能技术研发与应用的创新型企业,其核心产品Kimi依托自研的大语言模型,为用户提供了高效、精准的AI智能助手服务。Kimi凭借多轮对话、长文本理解、跨领域推理等能力,广泛应用于AI搜索、数据分析、内容生成等场景,受到海量专业用户和企业的欢迎。

 

月之暗面作为基础模型创业公司,为了加速大模型的训练迭代,在模型数据预处理方面,需要高性价比、弹性灵活的CPU和GPU算力满足模型迭代的业务需求。

 

 

二、需求背景及痛点

 

 

数据作为大模型训练过程中的重要素材,对于提升模型性能、优化模型效果有着重要作用,高质量的数据对于月之暗面这样的大模型公司来说至关重要。模型数据预处理需要对海量的文本和多模态数据清洗,数据类型包括了文本、图片、音频及视频等多种格式。在用户原有的架构下,数据预处理任务均基于自建的Ray和Spark框架开展,经过一段时间的验证和运行,遇到了如下痛点问题及挑战:

 

1. 大规模集群的稳定性挑战:大规模Spark/Ray集群稳定性较差,难以保障TB级数据预处理任务的稳定执行。

 

2. 资源弹性效率低:在面对突发任务或数据量波动时,计算资源无法快速按需扩缩,导致计算资源浪费或任务延迟。例如,在处理小规模数据时,集群资源可能过度分配;而在大规模任务突发时,又无法及时扩容,严重影响处理任务的及时性。因此,月之暗面团队希望具备短任务按需极致弹性的能力,以更好地适应动态变化的工作负载。

 

3. 缺少可观测体系和灵活调度机制:使用数据的业务方涉及不同方向的团队或小组,需要进行资源分配和任务优先级配置,以保证高优先级任务的稳定运行。但由于缺少任务级别的监控能力,难以实时观测任务进度、资源使用情况,导致无法及时调整调度策略,进一步影响了集群整体运行效率。

 


 

三、阿里云Ray/Spark on ACK整体解决方案

 

 

针对月之暗面在大规模集群稳定性、资源弹性效率、可观测与灵活调度等方面的痛点需求,阿里云给出了以阿里云容器服务Kubernetes版(ACK)为核心,对Ray和Spark任务进行深度优化的解决方案。

 

通过ACK的全托管免运维,解决了大规模集群的稳定性问题。同时充分发挥ACK在极致弹性和多样算力方面的关键能力,实现了任务的按需极致弹性伸缩。此外,借助ACK集成的可观测工具和灵活调度机制,月之暗面实现了任务级别的监控和资源动态分配,满足了不同业务团队对任务优先级的灵活调度需求。该方案为月之暗面带来了显著的效率提升,并大幅优化了成本投入。

 

 

1. Ray/Spark on ACK稳定免运维

 

a. KubeRay托管方案


 

阿里云ACK服务提供了托管的KubeRay组件, 并在开源社区版本的基础上进行了稳定性优化。 用户无需自己安装和维护开源的KubeRay,只需要关心如何使用RayCluster,RayJob等CRD资源与自己的业务或者工作流引擎结合即可,极大简化了用户维护的工作投入。KubeRay在ACK集群中快速部署能力,也广泛服务于各类数据科学家,ML工程师,平台工程师及开发人员等。

 

image.png

 

b. Spark-Operator托管方案

 

Spark Operator基于K8s中常见的Operator模式,定义了SparkApplication和SchedulerSparkApplication两种CRD(自定义资源),允许用户通过编写YAML资源清单来提交Spark作业,而无需手动构造冗长的spark-submit提交命令,因此广泛应用于各类数据预处理任务中。

 

image.png

 

为了满足用户对Spark on容器集群的需求,阿里云ACK应用市场提供了ack-spark-operator组件。用户无需自行维护Spark Operator,即可快速构建起Spark计算集群。此外,ack-spark-operator组件相比于开源spark-opreator,还具备了以下多项优势:

 

添加了对阿里云其他组件的集成,例如ack-kube-queue作业排队功能。

 

Spark Operator通过webhook补足了原生Spark不支持的K8s 特性,包括:driver/executor的tolerations、nodeSelector、数据卷挂载等能力。

 

集成了airflow/argo等工作流编排框架。

 

方便使用Git等版本控制系统对Spark作业YAML清单文件进行版本化管理。

 

c. 使用Zeppelin进行交互式Spark作业开发

 

随着数据开发工作的持续进行,数据处理的范围和团队成员也迎来了快速增长。数据探索效率差、开发作业交互性缺失等问题开始逐一显现。为了解决这些问题,阿里云提供Zeppelin在ACK中一键部署的能力,支持月之暗面持续高效的处理数据。

 

Apache Zeppelin是一款大数据交互式分析和可视化的Notebook工具,可以用于实现数据的接入、发现、转换、分析和可视化等能力。其前端提供了丰富的可视化图形库,后端以解释器(Interpreter)这种插件结构扩展的方式,集成了Spark、Flink、JDBC、Markdown、Shell等各种常见的解释器。这使得数据分析人员可以很方便地使用SQL在Zeppelin Notebook中做数据开发。

 

image.png

 

 

2. 大规模弹性最佳实践

 

a. 使用ACS弹性资源及BestEffort,实现经济高效运行Spark

 

在处理大规模数据时,合理调配计算资源至关重要。在月之暗面数据团队日常的Spark作业中,计算资源涵盖了ECS固定实例、ACS弹性资源以及ACS BestEffort算力,可以根据需求灵活选择。

 

阿里云容器计算服务ACS(Alibaba Cloud Container Compute Service,ACS)为Kubernetes提供了基础的容器Pod运行环境,通过将Spark作业中的driver和executor pod动态调度至ACS,实现了Serverless Spark作业执行。同时,每个ACS容器实例依托轻量级虚拟化安全沙箱技术进行完全隔离,确保容器实例间互不干扰。

 

在部分任务场景中,月之暗面大量采用了ACS BestEffort算力,不仅确保了任务的高效执行,还有效的节省了计算成本。BestEffort算力是一种灵活的资源调度策略,特别适合短时间运行的Job任务以及具备高扩展性和容错率的无状态应用。

 

将Spark作业部署在ACS上还具有以下显著优势:

 

超大容量:集群无需额外配置即可获得最多5万Pod容量,无需提前规划。

 

秒级弹性:可在极短时间内创建出数千个Pod以交付大量算力,无需担心业务高峰期间Pod创建时延受到影响。

 

节约成本:Pod按需创建,按量计费,不会由于资源闲置造成资源浪费,并且能够支持Spot实例,充分节省成本。

 

image.png

 

b. 使用对象存储OSS助力大规模数据处理

 

海量算力需要与高效的数据存储和读取能力相匹配,才能真正实现大规模数据处理的高效执行。阿里云OSS凭借卓越的高性能、高可用和稳定性优势,在月之暗面的大规模数据预处理场景中,为海量数据的存储与快速处理提供了可靠的保障。

 

在实际任务中,OSS支持了极高的并发处理能力和带宽需求,QPS最高可达数十万、OSS内网Tbps级读写带宽,有力地应对了海量数据高并发的读写请求,确保数据处理流程顺畅无阻。

 

月之暗面团队使用阿里云OSS的资源池流控组能力,实现了Bucket级别带宽调整,通过对不同请求者按需灵活调配带宽,保障在高负载时段,关键服务与计算密集型任务优先获取充足资源。此外,通过配置流控事件,在触及预设阈值时,会迅速向任务管理员发送通知,全方位守护了数据处理任务的稳定运行。

 

在数据的安全保障方面,依赖阿里云OSS的多版本控制功能,月之暗面团队还实现了对文件内容变化的追溯,避免数据丢失问题。通过开启OSS文件版本控制能力,针对数据文件的覆盖和删除操作将会以历史版本的形式保存下来。在遇到数据误删除或文件被覆盖的情况时,OSS的多版本控制功能支持将存储在Bucket中的对象恢复至任意时刻的历史版本,从而有效地保障数据的完整性和可用性。

 

 

3. 完善的可观测体系

 

a. ACK深度集成Prometheus监控能力

 

在实际应用场景中,用户通过提交RayJob来创建RayCluster,以完成对数据集的处理任务。在此过程中,对RayCluster的性能监测至关重要。原生RayCluster虽然提供了用于查看指标(metric)信息的dashboard,但用户需要手动部署开源的Prometheus和Grafana,这种方式难以确保组件的稳定性,并且缺乏专业运维人员的支持。

 

Ray on ACK方案深度集成了阿里云Prometheus的监控能力,为RayCluster量身定制了监控大盘。用户只需安装ack-prometheus组件以及相应的ACK Pod Monitor和Service Monitor资源,便可迅速收集RayCluster的Metric数据,并通过专门的RayCluster监控大盘进行直观展示。

 

image.png

 

借助于云产品的紧密集成,Ray on ACK方案为用户提供了高可用的RayCluster监控能力,极大地简化了运维流程,提升了生产环境中的稳定性和可靠性。

 

b. ACK Spark/Ray History Server构建作业监控能力

 

Spark/Ray均提供了功能丰富的Web UI用于对作业的执行情况进行监控展示,用户可以通过Web UI很方便地查看作业的运行情况,包括了正在运行和已经完成的Jobs、每个Job的提交时间、执行时间和详细进度等关键信息。

 

ACK应用市场提供了ack-spark/ray-history-server组件,支持HDFS、OSS、OSS-HDFS作为日志存储后端。月之暗面团队在各类作业中将事件日志写入到OSS,再通过在History Server中配置相同的OSS路径,就可以快速实现解析该日志并在Web UI中呈现。

 

image.png

 

c. 日志服务SLS统一ECS/ACS Pod日志收集

 

在容器集群运行Spark作业时,日志分散在不同Pods中,导致日志管理复杂。月之暗面团队借助阿里云日志服务(SLS),充分发挥其一站式日志采集、加工及查询分析能力,实现了对Spark日志的高效管理。

 

Spark业务日志分为事件日志、引擎日志和业务日志。事件日志通过特定SDK写入OSS,供Spark History Server解析渲染;引擎日志和业务日志则同时输出至控制台和指定文件,用于后续查询分析。

 

由于Spark作业同时使用ECS和ACS资源,而两者日志收集方式不同,通过创建SLS提供的AliyunConfig资源,可以轻松统一ECS/ACS Pod的日志收集配置,进一步提升了日志管理的便捷性和效率。

 

月之暗面通过这一系列方案,极大地简化了日志收集和分析流程,使得开发人员能够专注于业务逻辑的优化,而无需花费大量时间在日志管理上。统一的日志收集配置提高了月之暗面的系统稳定性和可靠性,为海量数据的预处理提供了坚实基础。

 

 

 

四、业务收益及展望

 

 

通过阿里云全托管容器化方案的实施,月之暗面在数据处理能力、资源利用效率和运维管理维度实现了全方位升级:

 

稳定性跃升:基于ACK全托管的Ray/Spark组件,单任务TB级数据处理稳定性达到99.95%,故障定位时效提升60%,保障了模型训练数据供给的连续性。

 

大幅提升弹性效率:通过ECS+ACS混合弹性架构,短任务资源供给时间缩短至秒级,突发性任务资源利用率提升3倍,综合计算成本降低45%。

 

资源管理精细化:结合OSS的资源池流控能力与优先级调度策略,高优先级任务SLA达标率提升至99%+,资源冲突率下降95%。

 

全链路可观测:Prometheus+SLS的云原生监控体系,实现全链路指标可视化,异常检测响应速度提升50%,日志分析效率提高40%。

 

 

 

五、客户原声

 

 

阿里云ACK+ACS的容器解决方案为我们的大模型数据预处理带来了质的飞跃。稳定性大幅提升,资源弹性高效,成本显著降低,运维管理也更加轻松。期待未来与阿里云继续深入合作,共同探索更高效、低成本的数据处理方案,推动大模型技术的持续进步。

-- 月之暗面技术专家James Wang





我们是阿里巴巴云计算和大数据技术幕后的核心技术输出者。

欢迎关注 “阿里云基础设施”同名微信微博知乎

获取关于我们的更多信息~

相关文章
|
3月前
|
人工智能 JSON API
LongDocURL:中科院联合阿里推出多模态长文档理解基准数据集,用于评估模型对复杂文档分析与推理的能力
LongDocURL 是由中科院与淘天集团联合推出的多模态长文档理解基准数据集,涵盖 2,325 个问答对,支持复杂文档的理解、推理和定位任务。
262 77
LongDocURL:中科院联合阿里推出多模态长文档理解基准数据集,用于评估模型对复杂文档分析与推理的能力
|
1月前
|
人工智能 自然语言处理 算法
HippoRAG 2:开源RAG框架革新知识检索,多跳推理+持续学习全搞定
HippoRAG 2 是俄亥俄州立大学推出的检索增强生成框架,通过个性化PageRank算法和知识图谱技术,显著提升了RAG系统在复杂问答任务中的表现。
289 2
HippoRAG 2:开源RAG框架革新知识检索,多跳推理+持续学习全搞定
|
6月前
|
数据采集 自然语言处理 数据挖掘
利用ChatGPT进行数据分析——如何提出一个好的prompt
利用ChatGPT进行数据分析——如何提出一个好的prompt
259 0
|
4月前
|
人工智能 安全 测试技术
EXAONE 3.5:LG 推出的开源 AI 模型,采用 RAG 和多步推理能力降低模型的幻觉问题
EXAONE 3.5 是 LG AI 研究院推出的开源 AI 模型,擅长长文本处理,能够有效降低模型幻觉问题。该模型提供 24 亿、78 亿和 320 亿参数的三个版本,支持多步推理和检索增强生成技术,适用于多种应用场景。
178 9
EXAONE 3.5:LG 推出的开源 AI 模型,采用 RAG 和多步推理能力降低模型的幻觉问题
|
5月前
|
自然语言处理 算法
RAG真能提升LLM推理能力?人大最新研究:数据有噪声,RAG性能不升反降
随着大型语言模型(LLM)在自然语言处理领域的广泛应用,检索增强生成(RAG)技术因能引入新知识和减少幻觉而受到关注。然而,RAG对LLM推理能力的实际提升效果仍存争议。中国人民大学的一项研究表明,RAG虽能辅助LLM推理,但在处理含噪信息和深度推理时面临挑战。为此,研究团队提出了DPrompt tuning方法,旨在解决噪声问题并提升RAG性能。
124 12
|
5月前
|
编解码 人工智能 自然语言处理
迈向多语言医疗大模型:大规模预训练语料、开源模型与全面基准测试
【10月更文挑战第23天】Oryx 是一种新型多模态架构,能够灵活处理各种分辨率的图像和视频数据,无需标准化。其核心创新包括任意分辨率编码和动态压缩器模块,适用于从微小图标到长时间视频的多种应用场景。Oryx 在长上下文检索和空间感知数据方面表现出色,并且已开源,为多模态研究提供了强大工具。然而,选择合适的分辨率和压缩率仍需谨慎,以平衡处理效率和识别精度。论文地址:https://www.nature.com/articles/s41467-024-52417-z
97 2
|
7月前
|
数据可视化 Swift
小钢炮进化,MiniCPM 3.0 开源!4B参数超GPT3.5性能,无限长文本,超强RAG三件套!模型推理、微调实战来啦!
旗舰端侧模型面壁「小钢炮」系列进化为全新 MiniCPM 3.0 基座模型,再次以小博大,以 4B 参数,带来超越 GPT-3.5 的性能。并且,量化后仅 2GB 内存,端侧友好。
小钢炮进化,MiniCPM 3.0 开源!4B参数超GPT3.5性能,无限长文本,超强RAG三件套!模型推理、微调实战来啦!
|
7月前
|
编解码 定位技术 计算机视觉
多模态LLM视觉推理能力堪忧,浙大领衔用GPT-4合成数据构建多模态基准
【9月更文挑战第2天】浙江大学领衔的研究团队针对多模态大型模型(MLLM)在抽象图像理解和视觉推理上的不足,提出了一种利用GPT-4合成数据构建多模态基准的方法。该研究通过合成数据提高了MLLM处理图表、文档等复杂图像的能力,并构建了一个包含11,193条指令的基准,涵盖8种视觉场景。实验表明,这种方法能显著提升模型性能,但依赖闭源模型和高计算成本是其局限。论文详细内容见:https://arxiv.org/pdf/2407.07053
178 10
|
8月前
|
自然语言处理 数据挖掘 BI
ChatGPT 等相关大模型问题之将现有的数据分析平台与大模型结合如何解决
ChatGPT 等相关大模型问题之将现有的数据分析平台与大模型结合如何解决
|
8月前
|
存储 人工智能 自然语言处理