Como resolver problemas de acesso a dados de IA? A maneira de adicionar NAS/NFS não é a solução ideal!

Autor deste artigo:

Tarik Bennett, Beinan Wang, Hope Wang

Este artigo discutirá os desafios de acesso a dados em inteligência artificial (IA) e revelará que “NAS/NFS comumente usados ​​podem não ser a melhor escolha ” .


1. Arquitetura inicial de inteligência artificial/aprendizado de máquina

A pesquisa do Gartner mostra que, embora os grandes modelos de linguagem (LLM) tenham atraído muita atenção, a maioria das organizações ainda está nos estágios iniciais de uso de grandes modelos e apenas algumas entraram na fase de produção.


O foco da construção de uma plataforma de IA nos estágios iniciais é colocar o sistema em funcionamento para que os pilotos do projeto e as provas de conceito possam ser conduzidas. Essas arquiteturas iniciais, ou arquiteturas de pré-produção, são projetadas para atender às necessidades básicas de treinamento e implantação de modelos. Atualmente, muitas organizações já estão usando esse tipo de arquitetura inicial de IA para ambientes de produção.


À medida que os dados e os modelos crescem, essas primeiras arquiteturas de IA muitas vezes tornam-se ineficientes. As empresas treinam modelos na nuvem e, à medida que os projetos se expandem, espera-se que o uso de dados e da nuvem aumente significativamente dentro de 12 meses. Muitas organizações começam com volumes de dados que correspondem aos tamanhos atuais de memória, mas estão cientes da necessidade de se prepararem para cargas maiores.


As empresas podem optar por usar uma pilha de tecnologia existente ou uma implantação greenfield. Este artigo se concentrará em como usar sua pilha de tecnologia existente ou adquirir algum hardware adicional para projetar uma pilha de tecnologia mais escalável, ágil e de alto desempenho.


2. Desafios no acesso aos dados


2.1 O acesso aos dados é um fator chave em IA/ML

Com a evolução da arquitetura AI/ML, o tamanho dos conjuntos de dados de treinamento de modelos continua a crescer significativamente, e o poder de computação e a escala das GPUs também estão aumentando rapidamente. Além da computação, do armazenamento e da rede, acreditamos que o acesso aos dados é outro elemento-chave na construção de uma plataforma de IA voltada para o futuro .


O acesso a dados refere-se a tecnologias como serviços de dados, armazenamento de backup (NFS, NAS) e cache de alto desempenho (como Alluxio) que ajudam o mecanismo de computação a obter dados para treinamento e implantação de modelos.

 

O foco do acesso aos dados é o rendimento e a eficiência do carregamento de dados, o que é cada vez mais importante para arquiteturas de IA/ML onde os recursos da GPU são escassos – otimizar o carregamento de dados pode reduzir significativamente o tempo de espera ociosa da GPU e melhorar a utilização da GPU. Portanto, o acesso a dados de alto desempenho deve ser o objetivo principal da implantação da arquitetura.


2.2 Desafios de acesso a dados na arquitetura de pré-produção

À medida que as empresas expandem as tarefas de treinamento de modelos nas primeiras arquiteturas de IA, surgiram alguns desafios comuns de acesso a dados:

1

A eficiência do treinamento do modelo é menor do que o esperado: devido a gargalos no acesso aos dados, o tempo de treinamento é maior do que o estimado com base nos recursos computacionais. Fluxos de dados de baixo rendimento não fornecem dados suficientes para a GPU.

2

Gargalos relacionados à sincronização de dados: copiar ou sincronizar manualmente os dados do armazenamento para um servidor GPU local cria atrasos na construção da fila de dados a ser preparada.

3

Problemas de simultaneidade e metadados: quando trabalhos grandes são lançados em paralelo, pode ocorrer contenção no armazenamento compartilhado. A latência aumenta quando as operações de metadados no armazenamento de back-end são lentas.

4

Desempenho lento ou baixa utilização da GPU: a infraestrutura de GPU de alto desempenho requer um grande investimento e, uma vez que o acesso aos dados seja ineficiente, levará a recursos de GPU ociosos e subutilizados.

Além disso, esses desafios são agravados por uma série de outras questões que as equipes de dados precisam gerenciar. Esses problemas incluem velocidades lentas de E/S de armazenamento que não atendem às necessidades de clusters de GPU de alto desempenho. Depender da cópia e sincronização manual de dados aumenta a latência enquanto a equipe de dados espera que os dados sejam entregues ao servidor GPU. O desafio do acesso a dados também é agravado pela complexidade arquitetônica de vários silos de dados em infraestruturas híbridas ou ambientes multinuvem.

 

Em última análise, esses problemas fazem com que a eficiência ponta a ponta da arquitetura fique aquém das expectativas.


2.3 Soluções existentes

Os desafios relacionados com o acesso a dados têm frequentemente duas soluções comuns.

1

Adquira armazenamento mais rápido: muitas empresas tentam resolver o problema do acesso lento aos dados implantando opções de armazenamento mais rápidas. Os fornecedores de nuvem fornecem armazenamento de alto desempenho, enquanto os fornecedores de hardware profissionais vendem armazenamento HPC para melhorar o desempenho.

2

Adicione NAS/NFS ao armazenamento de objetos: adicionar NAS ou NFS centralizados como backup para armazenamento de objetos como S3, MinIO ou Ceph é uma prática comum e ajuda as equipes a consolidar dados em sistemas de arquivos compartilhados, simplificando a colaboração e o compartilhamento de usuários e cargas de trabalho. Além disso, você também pode aproveitar funções de gerenciamento de dados relacionadas, como consistência de dados, disponibilidade, backup e escalabilidade fornecidas por fornecedores de NAS experientes.


No entanto, essas duas soluções comuns acima podem não resolver o seu problema.


2.4 Problemas com soluções existentes

Embora o armazenamento mais rápido e o NFS/NAS centralizado possam gradualmente alcançar algumas melhorias de desempenho, também existem desvantagens.

1

Armazenamento mais rápido significa migração de dados, o que pode facilmente levar a problemas de confiabilidade dos dados

Para aproveitar o alto desempenho fornecido pelo armazenamento dedicado, os dados devem ser migrados do armazenamento existente para um novo nível de armazenamento de alto desempenho. Isso faz com que os dados sejam migrados em segundo plano. A migração de grandes conjuntos de dados pode resultar em tempos de transferência prolongados e em problemas de confiabilidade dos dados, como corrupção ou perda de dados durante a migração. Enquanto a equipe aguarda a conclusão da sincronização de dados, pausar as operações pode interromper o serviço e retardar o andamento do projeto.


2

NFS/NAS: Manutenção e gargalos

Como camada de armazenamento adicional, os desafios de manutenção, estabilidade e escalabilidade do NFS/NAS permanecem. Copiar dados manualmente do NFS/NAS para um servidor GPU local aumentará a latência e desperdiçará recursos causados ​​por backups repetidos. Picos na demanda de leitura causados ​​por trabalhos paralelos podem agrupar servidores NFS/NAS e serviços interconectados. Além disso, ainda existem problemas de sincronização de dados em clusters de GPU NFS/NAS remotos.


3

E se eu precisar mudar de fornecedor por motivos comerciais?

As empresas podem mudar de fornecedor devido à otimização de custos ou por razões contratuais. A flexibilidade dos ambientes multinuvem exige a capacidade de portar facilmente grandes conjuntos de dados sem dependência de fornecedor. No entanto, mover o armazenamento de dados em escala de petabytes pode causar tempo de inatividade significativo e interrupção no desenvolvimento do modelo.

 

Em suma, as soluções existentes, embora úteis no curto prazo, não podem fornecer uma arquitetura de acesso a dados escalável e otimizada para atender ao crescimento exponencial das necessidades de dados de IA/ML.


3. Soluções fornecidas pela Alluxio

3.1 Implantar Alluxio: camada de acesso a dados de alto desempenho

Alluxio pode ser implantado entre fontes de computação e de dados. Forneça abstração de dados e cache distribuído para melhorar o desempenho e a escalabilidade da arquitetura de IA/ML.


3.2 Que problemas o Alluxio resolve?

Alluxio ajuda a resolver os desafios enfrentados pelas primeiras arquiteturas de IA em escalabilidade, desempenho e gerenciamento de dados à medida que a quantidade de dados, a complexidade do modelo aumentam e os clusters de GPU se expandem.

1

aumentar a capacidade

O Alluxio pode ser dimensionado além do limite de um único nó para acomodar conjuntos de dados de treinamento maiores do que a memória do cluster ou SSDs locais podem acomodar. Ele conecta diferentes sistemas de armazenamento e fornece uma camada unificada de acesso a dados para montar data lakes em nível de petabyte. O Alluxio armazena em cache de forma inteligente arquivos e metadados usados ​​com frequência em camadas de memória e SSD próximas à computação, eliminando a necessidade de copiar todo o conjunto de dados.


2

Reduza o gerenciamento de dados

Alluxio simplifica a movimentação e armazenamento de dados entre clusters GPU por meio de cache distribuído automatizado. As equipes de dados não precisam copiar ou sincronizar manualmente os dados com arquivos de teste locais. O cluster Alluxio pode capturar automaticamente arquivos ou objetos importantes para um local próximo ao nó de computação sem passar por operações complexas de fluxo de trabalho. Alluxio simplifica fluxos de trabalho mesmo com 50 milhões ou mais objetos por nó.


3

Melhorar o desempenho

O Alluxio foi desenvolvido para acelerar cargas de trabalho, eliminando gargalos de E/S no armazenamento tradicional que limitam o rendimento da GPU. O cache distribuído aumenta a velocidade de acesso aos dados em ordens de magnitude. Comparado ao acesso ao armazenamento remoto através da rede, o Alluxio fornece acesso local aos dados nos níveis de memória e SSD, melhorando assim a utilização da GPU.

 

Resumindo, o Alluxio fornece uma camada de acesso a dados escalonável e de alto desempenho que pode maximizar o uso de recursos de GPU em cenários de expansão de dados de IA/ML.


3.3 A posição do Alluxio na arquitetura


O Alluxio pode ser integrado com arquiteturas existentes de três maneiras.

1

与 NAS 并置:Alluxio 作为透明缓存层与现有 NAS并置部署,增强 I/O 性能。Alluxio将NAS中的活跃数据缓存在跨GPU节点的本地 SSD 中。作业将读取请求重新定向到Alluxio上的SSD缓存,绕过NAS,从而消除NAS瓶颈。写入操作通过 Alluxio 对 SSD 进行低延迟写入,然后异步持久化保存到 NAS中。

2

独立数据访问层:Alluxio 作为专用的高性能数据访问层,整合来自 S3、HDFS、NFS 或本地数据湖等多个数据源的数据,为GPU节点提供数据访问服务。Alluxio 将不同的数据孤岛统一在一个命名空间下,并将存储后端挂载为底层存储。经常访问的数据会被缓存在 Alluxio Worker节点的SSD中,从而加速GPU对数据的本地访问。

3

跨GPU存储的虚拟缓存:Alluxio充当跨本地GPU存储的虚拟缓存。S3中的数据会被同步到虚拟 Alluxio存储并在GPU节点之间共享,无需在节点之间手动拷贝数据。


3.4 Alluxio 部署在AWS上 - 参考架构和基准测试结果

1

参考架构


在此参考架构中,训练数据存储在中心化数据存储平台AWS S3中。Alluxio可帮助实现模型训练集群对训练数据的无缝访问。PyTorch、TensorFlow、scikit-learn和XGBoost等ML训练框架都在CPU/GPU/TPU集群上层执行。这些框架利用训练数据生成机器学习模型,模型生成后被存储在中心化模型库中。

 

在模型服务阶段,使用专用服务/推理集群,并采用TorchServe、TensorFlow Serving、Triton 和 KFServing等框架。这些服务集群利用Alluxio从模型存储库中获取模型。模型加载后,服务集群会处理输入的查询、执行必要的推理作业并返回计算结果。

 

训练和服务环境都基于Kubernetes,有助于增强基础设施的可扩展性和可重复性。


2

基准测试结果

在本基准测试中,我们用计算机视觉领域的典型应用场景之一——图片分类任务作为示例,其中我们以ImageNet的数据集作为训练集,通过ResNet来训练图片分类模型。

 

基于Resnet-50上3个epochs性能基准测试的结果,使用Alluxio比使用S3-FUSE的速度快5倍。一般来说,提高数据访问性能可缩短模型训练的总时间。


_

Alluxio

S3 - FUSE

Total training time

(3 epochs)

17 minutes

85 minutes

使用Alluxio后,GPU利用率得到大幅提升。Alluxio将数据加载时间由82%缩短至1%,从而将GPU利用率由17%提升至93%。


四、结论

随着AI/ML学习架构从早期的预生产架构向着可扩展架构发展,数据访问始终是瓶颈。仅靠添加更快的存储硬件或中心化NAS/NFS无法完全消除性能不达标以及影响系统操作的管理问题。

Alluxio提供了一种专为优化AI/ML任务数据流而设计的软件解决方案。与传统存储方案相比,其优势包括:

1

优化数据加载:Alluxio智能地加速训练任务和模型服务的数据访问,从而将GPU利用率最大化。

2

维护需求低:无需在节点或集群之间手动拷贝数据。Alluxio通过其分布式缓存层处理热文件传输。

3

支持扩展:当数据量大到需要扩展更多节点的情况下,Alluxio也能维持性能稳定。Alluxio通过使用SSD扩展内存,可缓存任何大小的文件,避免拷贝全部文件。

4

更快的切换:Alluxio将底层存储抽象化,使得数据团队能够轻松地在云厂商、本地或多云环境中迁移数据。数据迁移无需替换硬件,也不会导致停机。

部署Alluxio后,企业通过针对数据访问进行优化的数据架构,可以构建出性能卓越、可扩展的数据平台,从而加速模型开发,满足不断增长的数据需求。


【近期热门】


【宝典集市】

本文分享自微信公众号 - Alluxio(Alluxio_China)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

《庆余年2》盗版资源被上传到 npm,导致 npmmirror 不得已暂停 unpkg 服务 周鸿祎:留给谷歌的时间不多了,建议把所有的产品都开源 请教各位,此处的 time.sleep(6) 起到了什么作用? Linus “吃狗粮”最积极! 新款 iPad Pro 使用了 12GB 内存颗粒,但却声称是 8GB 内存 人民网评办公软件套娃式收费:积极解“套”,才有未来 Flutter 3.22 和 Dart 3.4 发布 Vue3 开发新范式,不用`ref/reactive`,不用`ref.value` MySQL 8.4 LTS 中文手册发布:助力您掌握数据库管理新境界 通义千问 GPT-4 级主力模型降价 97%,1 块钱 200 万 tokens
{{o.name}}
{{m.name}}

Acho que você gosta

Origin my.oschina.net/u/5904778/blog/10946641
Recomendado
Clasificación