Este documento no Well-Architected Framework: perspetiva da IA e ML oferece uma vista geral dos princípios e recomendações para otimizar o custo dos seus sistemas de IA ao longo do ciclo de vida da ML. Ao adotar uma abordagem de gestão de custos proativa e informada, a sua organização pode concretizar todo o potencial dos sistemas de IA e aprendizagem automática, e também manter a disciplina financeira. As recomendações neste documento estão alinhadas com o pilar de otimização de custos da Google Cloud estrutura bem arquitetada.
Os sistemas de IA e ML podem ajudar a desbloquear estatísticas valiosas e capacidades preditivas a partir dos dados. Por exemplo, pode reduzir o atrito nos processos internos, melhorar as experiências do utilizador, e obter estatísticas mais detalhadas dos clientes. A nuvem oferece grandes quantidades de recursos e um rápido tempo de rentabilização sem grandes investimentos iniciais para cargas de trabalho de IA e ML. Para maximizar o valor empresarial e alinhar os gastos com os objetivos da sua empresa, tem de compreender os fatores de custo, otimizar os custos de forma proativa, configurar controlos de gastos e adotar práticas de FinOps.
As recomendações neste documento estão mapeadas para os seguintes princípios fundamentais:
- Defina e meça os custos e os retornos
- Otimize a atribuição de recursos
- Aplique práticas de gestão e administração de dados
- Automatize e simplifique com MLOps
- Use serviços geridos e modelos pré-treinados
Defina e meça os custos e os retornos
Para gerir eficazmente os custos de IA e ML no Google Cloud, tem de definir e medir os custos dos recursos da nuvem e o valor empresarial das suas iniciativas de IA e ML. Para ajudar a acompanhar as despesas detalhadamente, Google Cloud oferece ferramentas abrangentes de faturação e gestão de custos, como as seguintes:
- Relatórios e tabelas do Cloud Billing
- Painéis de controlo, orçamentos e alertas do Looker Studio
- Cloud Monitoring
- Cloud Logging
Para tomar decisões informadas acerca da atribuição e otimização de recursos, considere as seguintes recomendações.
Estabeleça objetivos empresariais e IEDs
Alinhe as escolhas técnicas nos seus projetos de IA e ML com os objetivos empresariais e os indicadores essenciais de desempenho (IEDs).
Defina objetivos estratégicos e IEDs focados no ROI
Certifique-se de que os projetos de IA e ML estão alinhados com objetivos estratégicos, como o crescimento da receita, a redução de custos, a satisfação do cliente e a eficiência. Interagir com as partes interessadas para compreender as prioridades da empresa. Defina objetivos de IA e ML que sejam específicos, mensuráveis, alcançáveis, relevantes e temporizados (SMART). Por exemplo, um objetivo SMART é: "Reduzir o tempo de processamento do chat para o apoio técnico ao cliente em 15% em 6 meses através da utilização de um chatbot de IA".
Para progredir em função dos objetivos da sua empresa e medir o retorno do investimento (ROI), defina IEDs para as seguintes categorias de métricas:
- Custos de preparação, inferência, armazenamento e recursos de rede, incluindo custos unitários específicos (como o custo por inferência, ponto de dados ou tarefa). Estas métricas ajudam a obter estatísticas sobre oportunidades de eficiência e otimização de custos. Pode acompanhar estes custos através dos relatórios de faturação do Google Cloud e dos painéis de controlo do Google Cloud Monitoring.
- Métricas de valor empresarial, como o crescimento da receita, a poupança de custos, a satisfação do cliente, a eficiência, a precisão e a adoção. Pode acompanhar estas métricas através das estatísticas do BigQuery e dos painéis de controlo do Looker.
Métricas específicas da indústria, como as seguintes:
- Indústria de retalho: meça o aumento da receita e a rotatividade
- Setor de cuidados de saúde: meça o tempo e os resultados dos doentes
- Setor financeiro: meça a redução de fraudes
Métricas específicas do projeto. Pode acompanhar estas métricas através das experiências do Vertex AI e da avaliação.
- IA preditiva: meça a exatidão e a precisão
- IA generativa: meça a adoção, a satisfação e a qualidade do conteúdo
- IA de visão computacional: meça a precisão
Promova uma cultura de consciencialização dos custos e otimização contínua
Adote os princípios da FinOps para garantir que cada projeto de IA e AA tem custos estimados e formas de medir e acompanhar os custos reais ao longo do respetivo ciclo de vida. Certifique-se de que os custos e as vantagens empresariais dos seus projetos têm proprietários atribuídos e responsabilidade clara.
Para mais informações, consulte o artigo Promova uma cultura de sensibilização para os custos no pilar de otimização de custos do Google Cloud Well-Architected Framework.
Gere valor e otimização contínua através da iteração e do feedback
Mapeie as suas aplicações de IA e ML diretamente para os objetivos da sua empresa e meça o ROI.
Para validar as suas hipóteses de ROI, comece com projetos-piloto e use o seguinte ciclo de otimização iterativo:
- Monitorize continuamente e analise os dados: monitorize os IEDs e os custos para identificar desvios e oportunidades de otimização.
- Faça ajustes com base em dados: otimize estratégias, modelos, infraestrutura e atribuição de recursos com base em estatísticas de dados.
- Refine iterativamente: adapte os objetivos da empresa e os IEDs com base nas informações que aprendeu e nas necessidades da empresa em evolução. Esta iteração ajuda a manter a relevância e o alinhamento estratégico.
- Estabeleça um ciclo de feedback: reveja o desempenho, os custos e o valor com as partes interessadas para fundamentar a otimização contínua e o planeamento de projetos futuros.
Faça a gestão dos dados de faturação com a Faturação na nuvem e as etiquetas
A otimização de custos eficaz requer visibilidade da origem de cada elemento de custo. As recomendações nesta secção podem ajudar a usar Google Cloud ferramentas para receber estatísticas detalhadas sobre os seus custos de IA e ML. Também pode atribuir custos a projetos, equipas e atividades específicos de IA e ML. Estas estatísticas preparam o terreno para a otimização de custos.
Organize e etiquete Google Cloud recursos
- Estruture os seus projetos e recursos numa hierarquia que reflita a estrutura organizacional e os seus fluxos de trabalho de IA e ML. Para acompanhar e analisar os custos a diferentes níveis, organize os seus recursos usando organizações, pastas e projetos. Google Cloud Para mais informações, consulte o artigo Decida uma hierarquia de recursos para a sua Google Cloud zona de destino.
- Aplique etiquetas significativas aos seus recursos. Pode usar etiquetas que indiquem o projeto, a equipa, o ambiente, o nome do modelo, o conjunto de dados, o exemplo de utilização e os requisitos de desempenho. As etiquetas fornecem contexto valioso para os seus dados de faturação e permitem uma análise detalhada dos custos.
- Manter a consistência nas convenções de etiquetagem em todos os seus projetos de IA e ML. As convenções de etiquetagem consistentes garantem que os seus dados de faturação estão organizados e podem ser analisados facilmente.
Use ferramentas relacionadas com a faturação
- Para facilitar a análise e os relatórios detalhados, exporte os dados de faturação para o BigQuery. O BigQuery tem capacidades de consulta avançadas que lhe permitem analisar os dados de faturação para ajudar a compreender os seus custos.
- Para agregar custos por etiquetas, projetos ou períodos específicos, pode escrever consultas SQL personalizadas no BigQuery. Essas consultas permitem-lhe atribuir custos a atividades específicas de IA e ML, como a preparação de modelos, o ajuste de hiperparâmetros ou a inferência.
- Para identificar anomalias de custos ou picos de gastos inesperados, use as capacidades de análise no BigQuery. Esta abordagem pode ajudar a detetar potenciais problemas ou ineficiências nas suas cargas de trabalho de IA e ML.
- Para identificar e gerir custos inesperados, use o painel de controlo de deteção de anomalias na Faturação na nuvem.
- Para distribuir os custos por diferentes equipas ou departamentos com base na utilização de recursos, use a funcionalidade de Google Cloudatribuição de custos. A atribuição de custos promove a responsabilidade e a transparência.
- Para obter estatísticas sobre os padrões de gastos, explore os relatórios do Cloud Billing pré-criados. Pode filtrar e personalizar estes relatórios para se focar em projetos ou serviços específicos de IA e ML.
Monitorize os recursos continuamente com painéis de controlo, alertas e relatórios
Para criar uma forma escalável e resiliente de acompanhar os custos, precisa de monitorização e relatórios contínuos. Os painéis de controlo, os alertas e os relatórios constituem a base para um acompanhamento de custos eficaz. Esta base permite-lhe manter o acesso constante às informações de custos, identificar áreas de otimização e garantir o alinhamento entre os objetivos de negócio e os custos.
Crie um sistema de denúncias
Criar relatórios agendados e partilhá-los com os intervenientes adequados.
Use o Cloud Monitoring para recolher métricas de várias origens, incluindo as suas aplicações, infraestrutura e Google Cloud serviços como o Compute Engine, o Google Kubernetes Engine (GKE) e as funções do Cloud Run. Para visualizar métricas e registos em tempo real, pode usar o painel de controlo do Cloud Monitoring predefinido ou criar painéis de controlo personalizados. Os painéis de controlo personalizados permitem-lhe definir e adicionar métricas para acompanhar aspetos específicos dos seus sistemas, como o desempenho do modelo, as chamadas API ou os IEDs ao nível da empresa.
Use o Cloud Logging para a recolha e o armazenamento centralizados de registos das suas aplicações, sistemas e Google Cloud serviços. Use os registos para os seguintes fins:
- Monitorize os custos e a utilização de recursos como CPU, memória, armazenamento e rede.
- Identificar casos de aprovisionamento excessivo (em que os recursos não são totalmente usados) e aprovisionamento insuficiente (em que existem recursos insuficientes). O aprovisionamento excessivo resulta em custos desnecessários. O aprovisionamento insuficiente abranda os tempos de preparação e pode causar problemas de desempenho.
- Identifique recursos inativos ou subutilizados, como VMs e GPUs, e tome medidas para os encerrar ou ajustar o tamanho de forma a otimizar os custos.
- Identifique picos de custos para detetar aumentos súbitos e inesperados na utilização de recursos ou nos custos.
Use o Looker ou o Looker Studio para criar painéis de controlo e relatórios interativos. Associar os painéis de controlo e os relatórios a várias origens de dados, incluindo o BigQuery e o Cloud Monitoring.
Defina limites de alerta com base nos IEDs principais
Para os seus IEDs, determine os limites que devem acionar alertas. Os limites de alerta significativos podem ajudar a evitar a fadiga de alertas. Crie políticas de alerta no Cloud Monitoring para receber notificações relacionadas com os seus IEDs. Por exemplo, pode receber notificações quando a precisão desce abaixo de um determinado limite ou quando a latência excede um limite definido. Os alertas baseados em dados de registo podem enviar-lhe notificações sobre potenciais problemas de custos em tempo real. Estes alertas permitem-lhe tomar medidas corretivas rapidamente e evitar mais perdas financeiras.
Otimize a atribuição de recursos
Para alcançar a eficiência de custos para as suas cargas de trabalho de IA e ML no Google Cloud, tem de otimizar a atribuição de recursos. Para ajudar a evitar despesas desnecessárias e garantir que as suas cargas de trabalho têm os recursos de que precisam para um desempenho ideal, alinhe a atribuição de recursos com as necessidades das suas cargas de trabalho.
Para otimizar a atribuição de recursos na nuvem a cargas de trabalho de IA e ML, considere as seguintes recomendações.
Use a escala automática para ajustar dinamicamente os recursos
Use Google Cloud serviços que suportam a escala automática, que ajusta automaticamente a atribuição de recursos para corresponder à procura atual. O dimensionamento automático oferece as seguintes vantagens:
- Otimização de custos e desempenho: evita pagar por recursos inativos. Ao mesmo tempo, o dimensionamento automático garante que os seus sistemas têm os recursos necessários para um desempenho ideal, mesmo com carga máxima.
- Maior eficiência: permite que a sua equipa se concentre noutras tarefas.
- Maior agilidade: pode responder rapidamente às exigências em constante mudança e manter a elevada disponibilidade das suas aplicações.
A tabela seguinte resume as técnicas que pode usar para implementar o dimensionamento automático para diferentes fases dos seus projetos de IA.
Fase | Técnicas de escala automática |
---|---|
Formação |
|
Inferência |
|
Comece com modelos e conjuntos de dados pequenos
Para ajudar a reduzir os custos, teste as hipóteses de ML em pequena escala sempre que possível e use uma abordagem iterativa. Esta abordagem, com modelos e conjuntos de dados mais pequenos, oferece as seguintes vantagens:
- Custos reduzidos desde o início: menos capacidade de computação, armazenamento e tempo de processamento podem resultar em custos mais baixos durante as fases iniciais de experimentação e desenvolvimento.
- Iteração mais rápida: é necessário menos tempo de preparação, o que lhe permite iterar mais rapidamente, explorar abordagens alternativas e identificar direções promissoras de forma mais eficiente.
- Complexidade reduzida: depuração, análise e interpretação mais simples dos resultados, o que leva a ciclos de desenvolvimento mais rápidos.
- Utilização eficiente dos recursos: menor probabilidade de aprovisionamento excessivo de recursos. Aprovisiona apenas os recursos necessários para a carga de trabalho atual.
Considere as seguintes recomendações:
- Use primeiro dados de amostra: prepare os seus modelos num subconjunto representativo dos seus dados. Esta abordagem permite-lhe avaliar o desempenho do modelo e identificar potenciais problemas sem processar o conjunto de dados completo.
- Experimente usando blocos de notas: comece com instâncias mais pequenas e dimensione-as conforme necessário. Pode usar o Vertex AI Workbench, um ambiente de blocos de notas do Jupyter gerido adequado para experimentar diferentes arquiteturas de modelos e conjuntos de dados.
Comece com modelos mais simples ou pré-preparados: use o Vertex AI Model Garden para descobrir e explorar os modelos pré-preparados. Estes modelos requerem menos recursos computacionais. Aumente gradualmente a complexidade conforme necessário com base nos requisitos de desempenho.
- Use modelos pré-preparados para tarefas como classificação de imagens e processamento de linguagem natural. Para poupar nos custos de preparação, pode ajustar os modelos em conjuntos de dados mais pequenos inicialmente.
- Use o BigQuery ML para dados estruturados. O BigQuery ML permite-lhe criar e implementar modelos diretamente no BigQuery. Esta abordagem pode ser rentável para a experimentação inicial, porque pode tirar partido do modelo de preços de pagamento por consulta do BigQuery.
Escalabilidade para otimização de recursos: use a infraestrutura flexível do Google Cloudpara dimensionar os recursos conforme necessário. Comece com instâncias mais pequenas e ajuste o respetivo tamanho ou número quando necessário.
Descubra os requisitos de recursos através de experiências
Os requisitos de recursos para cargas de trabalho de IA e ML podem variar significativamente. Para otimizar a atribuição de recursos e os custos, tem de compreender as necessidades específicas das suas cargas de trabalho através de experiências sistemáticas. Para identificar a configuração mais eficiente para os seus modelos, teste diferentes configurações e analise o respetivo desempenho. Em seguida, com base nos requisitos, ajuste o tamanho dos recursos que usou para a preparação e a publicação.
Recomendamos a seguinte abordagem para a experimentação:
- Comece com uma base: comece com uma configuração de base com base nas suas estimativas iniciais dos requisitos da carga de trabalho. Para criar uma base de referência, pode usar o estimador de custos para novas cargas de trabalho ou usar um relatório de faturação existente. Para mais informações, consulte o artigo Desbloqueie o verdadeiro custo da IA empresarial na Google Cloud.
- Compreenda as suas quotas: antes de iniciar experiências extensivas, familiarize-se com as Google Cloud quotas do seu Google Cloud projeto para os recursos e as APIs que planeia usar. As quotas determinam o intervalo de configurações que pode testar de forma realista. Ao familiarizar-se com as quotas, pode trabalhar dentro dos limites de recursos disponíveis durante a fase de experimentação.
- Experimente sistematicamente: ajuste parâmetros como o número de CPUs, a quantidade de memória, o número e o tipo de GPUs e TPUs, e a capacidade de armazenamento. A preparação do Vertex AI e as previsões do Vertex AI permitem-lhe fazer experiências com diferentes tipos de máquinas e configurações.
Monitorize a utilização, o custo e o desempenho: acompanhe a utilização de recursos, o custo e as principais métricas de desempenho, como o tempo de preparação, a latência de inferência e a precisão do modelo, para cada configuração com a qual experimenta.
- Para acompanhar a utilização de recursos e as métricas de desempenho, pode usar a consola do Vertex AI.
- Para recolher e analisar métricas de desempenho detalhadas, use o Cloud Monitoring.
- Para ver os custos, use os relatórios do Cloud Billing e os painéis de controlo do Cloud Monitoring.
- Para identificar gargalos de desempenho nos seus modelos e otimizar a utilização de recursos, use ferramentas de criação de perfis como o Vertex AI TensorBoard.
Analise os custos: compare o custo e o desempenho de cada configuração para identificar a opção mais rentável.
Estabeleça limites de recursos e alvos de melhoria com base em quotas: Defina limites para quando o dimensionamento começa a gerar retornos decrescentes no desempenho, como uma redução mínima no tempo de preparação ou na latência para um aumento significativo dos custos. Considere as quotas do projeto ao definir estes limites. Determine o ponto em que o custo e as potenciais implicações de quota de uma maior expansão já não são justificados pelos ganhos de desempenho.
Refine iterativamente: repita o processo de experimentação com configurações refinadas com base nas suas conclusões. Certifique-se sempre de que a utilização de recursos permanece dentro das quotas atribuídas e está alinhada com os limites de custo-benefício estabelecidos.
Use MLOps para reduzir as ineficiências
À medida que as organizações usam cada vez mais a aprendizagem automática para impulsionar a inovação e a eficiência, a gestão eficaz do ciclo de vida da aprendizagem automática torna-se fundamental. As operações de ML (MLOps) são um conjunto de práticas que automatizam e simplificam o ciclo de vida da aprendizagem automática, desde o desenvolvimento de modelos à implementação e monitorização.
Alinhe as MLOps com os fatores de custo
Para tirar partido do MLOps em função da eficiência de custos, identifique os principais fatores de custo no ciclo de vida da AA. Em seguida, pode adotar e implementar práticas de MLOps alinhadas com os fatores de custo. Priorize e adote as funcionalidades de MLOps que abordam os fatores de custo com maior impacto. Esta abordagem ajuda a garantir um caminho gerível e bem-sucedido para poupanças de custos significativas.
Implemente MLOps para otimização de custos
Seguem-se práticas comuns de MLOps que ajudam a reduzir os custos:
- Controlo de versões: as ferramentas como o Git podem ajudar a monitorizar as versões de código, dados e modelos. O controlo de versões garante a reprodutibilidade, facilita a colaboração e evita a repetição dispendiosa do trabalho que pode ser causada por problemas de controlo de versões.
- Integração contínua e implementação contínua (CI/CD): o Cloud Build e o Artifact Registry permitem-lhe implementar pipelines de CI/CD para automatizar a criação, os testes e a implementação dos seus modelos de ML. Os pipelines de CI/CD garantem uma utilização eficiente dos recursos e minimizam os custos associados a intervenções manuais.
- Observabilidade: Cloud Monitoring e Cloud Logging permitem-lhe acompanhar o desempenho do modelo em produção, identificar problemas e acionar alertas para intervenção proativa. A observabilidade permite-lhe manter a precisão do modelo, otimizar a atribuição de recursos e evitar tempo de inatividade dispendioso ou degradação do desempenho.
- Retreinamento de modelos: O Vertex AI Pipelines simplifica os processos de retreinamento de modelos periodicamente ou quando o desempenho se degrada. Quando usa o Vertex AI Pipelines para reciclagem, ajuda a garantir que os seus modelos permanecem precisos e eficientes, o que pode evitar o consumo desnecessário de recursos e manter um desempenho ideal.
- Testes e avaliação automatizados: O Vertex AI ajuda a acelerar e padronizar a avaliação de modelos. Implemente testes automatizados ao longo do ciclo de vida da aprendizagem automática para garantir a qualidade e a fiabilidade dos seus modelos. Estes testes podem ajudar a detetar erros antecipadamente, evitar problemas dispendiosos na produção e reduzir a necessidade de testes manuais extensivos.
Para mais informações, consulte o artigo MLOps: pipelines de automatização e entrega contínua na aprendizagem automática.
Aplique práticas de gestão e administração de dados
As práticas eficazes de gestão e governação de dados são essenciais para a otimização de custos. Os dados bem organizados podem incentivar as equipas a reutilizar conjuntos de dados, evitar a duplicação desnecessária e reduzir o esforço para obter dados de alta qualidade. Ao gerir os dados de forma proativa, pode reduzir os custos de armazenamento, melhorar a qualidade dos dados e garantir que os seus modelos de ML são preparados com os dados mais relevantes e valiosos.
Para implementar práticas de gestão e governação de dados, considere as seguintes recomendações.
Estabeleça e adote uma estrutura de administração de dados
A crescente proeminência da IA e da ML tornou os dados o recurso mais valioso para as organizações que estão a passar por uma transformação digital. Uma estrutura robusta para a gestão de dados é um requisito crucial para gerir as cargas de trabalho de IA e ML de forma rentável à escala. Uma estrutura de gestão de dados com políticas, procedimentos e funções claramente definidos oferece uma abordagem estruturada para gerir os dados ao longo do respetivo ciclo de vida. Esta estrutura ajuda a melhorar a qualidade dos dados, aumentar a segurança, melhorar a utilização e reduzir a redundância.
Estabeleça uma estrutura de administração de dados
Existem muitas estruturas pré-existentes para a administração de dados, como as estruturas publicadas pelo EDM Council, com opções disponíveis para diferentes setores e tamanhos de organizações. Escolha e adapte uma estrutura que se alinhe com as suas necessidades e prioridades específicas.
Implemente a framework de gestão de dados
Google Cloud oferece os seguintes serviços e ferramentas para ajudar a implementar uma estrutura de governação de dados robusta:
O catálogo universal do Dataplex é um tecido de dados inteligente que ajuda a unificar os dados distribuídos e automatizar a administração de dados sem ter de consolidar conjuntos de dados num único local. Isto ajuda a reduzir o custo de distribuição e manutenção dos dados, facilitar a descoberta de dados e promover a reutilização.
- Para organizar os dados, use as abstrações do catálogo universal do Dataplex e configure zonas e data lakes lógicos.
- Para administrar o acesso a data lakes e zonas, use os Grupos Google e as funções do catálogo universal do Dataplex.
- Para simplificar os processos de qualidade de dados, ative a qualidade de dados automática.
O Dataplex Universal Catalog também é um serviço de gestão de metadados totalmente gerido e escalável. O catálogo oferece uma base que garante que os recursos de dados são acessíveis e reutilizáveis.
- Os metadados das origens suportadas Google Cloud são carregados automaticamente no catálogo universal. Para origens de dados fora do Google Cloud, crie entradas personalizadas.
- Para melhorar a capacidade de deteção e a gestão de recursos de dados, enriqueça os metadados técnicos com metadados empresariais através dos aspetos.
- Certifique-se de que os cientistas de dados e os profissionais de aprendizagem automática têm autorizações suficientes para aceder ao catálogo universal do Dataplex e usar a função de pesquisa.
A partilha do BigQuery permite-lhe trocar recursos de dados de forma eficiente e segura entre as suas organizações para resolver os desafios de fiabilidade e custo dos dados.
- Configure as trocas de dados e certifique-se de que os recursos de dados organizados podem ser vistos como fichas.
- Use salas limpas de dados para gerir o acesso a dados confidenciais de forma segura e colaborar de forma eficiente com equipas e organizações externas em projetos de IA e ML.
- Certifique-se de que os cientistas de dados e os profissionais de ML têm autorizações suficientes para ver e publicar conjuntos de dados na partilha do BigQuery.
Torne os conjuntos de dados e as funcionalidades reutilizáveis ao longo do ciclo de vida da aprendizagem automática
Para obter vantagens significativas em termos de eficiência e custos, reutilize conjuntos de dados e funcionalidades em vários projetos de AA. Quando evita esforços redundantes de engenharia de dados e desenvolvimento de funcionalidades, a sua organização pode acelerar a programação de modelos, reduzir os custos de infraestrutura e libertar recursos valiosos para outras tarefas críticas.
OGoogle Cloud oferece os seguintes serviços e ferramentas para ajudar a reutilizar conjuntos de dados e funcionalidades:
- Os profissionais de dados e ML podem publicar produtos de dados para maximizar a reutilização em todas as equipas. Os produtos de dados podem ser descobertos e usados através do catálogo universal do Dataplex e da partilha do BigQuery.
- Para conjuntos de dados tabulares e estruturados, pode usar o Vertex AI Feature Store para promover a reutilização e simplificar a gestão de caraterísticas através do BigQuery.
- Pode armazenar dados não estruturados no Cloud Storage e reger os dados através das tabelas de objetos do BigQuery e dos URLs assinados.
- Pode gerir as incorporações vetoriais incluindo metadados nos seus índices de pesquisa vetorial.
Automatize e simplifique com MLOps
Uma das principais vantagens da adoção de práticas de MLOps é a redução dos custos de tecnologia e pessoal. A automatização ajuda a evitar a duplicação de atividades de ML e a reduzir a carga de trabalho dos cientistas de dados e dos engenheiros de ML.
Para automatizar e simplificar o desenvolvimento de AA com MLOps, considere as seguintes recomendações.
Automatize e padronize a recolha e o processamento de dados
Para ajudar a reduzir o esforço e o tempo de programação de ML, automatize e padronize as suas tecnologias de recolha e processamento de dados.
Automatize a recolha e o processamento de dados
Esta secção resume os produtos, as ferramentas e as técnicas que pode usar para automatizar a recolha e o processamento de dados.
Identifique e escolha as origens de dados relevantes para as suas tarefas de IA e ML:
- Opções de base de dados, como o Cloud SQL, Spanner, AlloyDB para PostgreSQL, Firestore, e o BigQuery. A sua escolha depende dos seus requisitos, como a latência no acesso de escrita (estático ou dinâmico), o volume de dados (alto ou baixo) e o formato dos dados (estruturados, não estruturados ou semiestruturados). Para mais informações, consulte as Google Cloud bases de dados.
- Lagos de dados, como o Cloud Storage, com o BigLake.
- Catálogo universal do Dataplex para governar dados em várias origens.
- Plataformas de eventos de streaming, como o Pub/Sub, Dataflow, ou o Apache Kafka.
- APIs externas.
Para cada uma das suas origens de dados, escolha uma ferramenta de carregamento:
- Dataflow: para o processamento em lote e por stream de dados de várias origens, com integração de componentes de ML. Para uma arquitetura orientada por eventos, pode combinar o Dataflow com o Eventarc para processar dados de forma eficiente para ML. Para melhorar a eficiência das tarefas de ML e MLOps, use as capacidades de GPU e de ajuste adequado.
- Funções do Cloud Run: Para a ingestão de dados orientada por eventos que é acionada por alterações nas origens de dados para aplicações em tempo real.
- BigQuery: para carregamento de dados tabulares clássicos com acesso frequente.
Escolha ferramentas para a transformação e o carregamento de dados:
- Use ferramentas como o Dataflow ou o Dataform para automatizar transformações de dados, como o dimensionamento de caraterísticas, a codificação de variáveis categóricas e a criação de novas caraterísticas em lote, por streaming ou em tempo real. As ferramentas que selecionar dependem dos seus requisitos e dos serviços escolhidos.
- Use o Vertex AI Feature Store para automatizar a criação e a gestão de funcionalidades. Pode centralizar funcionalidades para reutilização em diferentes modelos e projetos.
Padronize a recolha e o processamento de dados
Para descobrir, compreender e gerir recursos de dados, use serviços de gestão de metadados, como o catálogo universal do Dataplex. Ajuda a padronizar as definições de dados e garantir a consistência em toda a sua organização.
Para aplicar a normalização e evitar o custo de manutenção de várias implementações personalizadas, use pipelines de preparação e orquestração automatizados. Para mais informações, consulte a secção seguinte.
Automatize pipelines de preparação e reutilize recursos existentes
Para aumentar a eficiência e a produtividade nas MLOps, os pipelines de preparação automatizados são cruciais.O Google Cloud oferece um conjunto robusto de ferramentas e serviços para criar e implementar pipelines de preparação, com uma forte ênfase na reutilização de recursos existentes. Os pipelines de preparação automatizados ajudam a acelerar o desenvolvimento de modelos, garantir a consistência e reduzir o esforço redundante.
Automatize pipelines de preparação
A tabela seguinte descreve os Google Cloud serviços e as funcionalidades que pode usar para automatizar as diferentes funções de um pipeline de preparação.
Função | Google Cloud serviços e funcionalidades |
---|---|
Orquestração: defina fluxos de trabalho de ML complexos com vários passos e dependências. Pode definir cada passo como uma tarefa contentorizada separada, o que ajuda a gerir e dimensionar tarefas individuais com facilidade. |
|
Controlo de versões: acompanhe e controle diferentes versões de pipelines e componentes para garantir a capacidade de reprodução e a auditabilidade. | Armazenar modelos de pipelines do Kubeflow num repositório de pipelines do Kubeflow no Artifact Registry. |
Reutilização: reutilize componentes e artefactos de pipelines existentes, como conjuntos de dados preparados e modelos preparados, para acelerar o desenvolvimento. | Armazene os modelos de pipelines no Cloud Storage e partilhe-os com a sua organização. |
Monitorização: monitorize a execução do pipeline para identificar e resolver quaisquer problemas. | Use o Cloud Logging e o Cloud Monitoring. Para mais informações, consulte o artigo Monitorize os recursos continuamente com painéis de controlo, alertas e relatórios. |
Expanda a reutilização para além dos pipelines
Procure oportunidades para expandir a reutilização para além dos pipelines de preparação. Seguem-se exemplos de Google Cloud capacidades que lhe permitem reutilizar funcionalidades, conjuntos de dados, modelos e código de ML.
- O Vertex AI Feature Store oferece um repositório centralizado para organizar, armazenar e apresentar funcionalidades de ML. Permite-lhe reutilizar funcionalidades em diferentes projetos e modelos, o que pode melhorar a consistência e reduzir o esforço de engenharia de funcionalidades. Pode armazenar, partilhar e aceder a funcionalidades para exemplos de utilização online e offline.
- Os conjuntos de dados da Vertex AI permitem que as equipas criem e geram conjuntos de dados de forma centralizada, para que a sua organização possa maximizar a reutilização e reduzir a duplicação de dados. As suas equipas podem pesquisar e descobrir os conjuntos de dados através do catálogo universal do Dataplex.
- O Registo de modelos Vertex AI permite-lhe armazenar, gerir e implementar os seus modelos preparados. O Model Registry permite-lhe reutilizar os modelos em pipelines subsequentes ou para previsão online, o que ajuda a tirar partido dos esforços de preparação anteriores.
- Os contentores personalizados permitem-lhe agrupar o código de preparação e as dependências em contentores e armazenar os contentores no Artifact Registry. Os contentores personalizados permitem-lhe fornecer ambientes de preparação consistentes e reproduzíveis em diferentes pipelines e projetos.
Use os Google Cloud serviços para avaliação e otimização de modelos
Google Cloud oferece um conjunto de ferramentas e serviços poderosos para simplificar e automatizar a avaliação e o ajuste dos modelos. Estas ferramentas e serviços podem ajudar a reduzir o tempo de produção e os recursos necessários para a monitorização e a formação contínuas. Ao usar estes serviços, as suas equipas de IA e AA podem melhorar o desempenho dos modelos com menos iterações dispendiosas, alcançar resultados mais rápidos e minimizar os recursos de computação desperdiçados.
Use a avaliação e a experimentação de modelos eficientes em termos de recursos
Comece um projeto de IA com experiências antes de dimensionar a sua solução. Nas suas experiências, acompanhe vários metadados, como a versão do conjunto de dados, os parâmetros do modelo e o tipo de modelo. Para uma maior reprodutibilidade e comparação dos resultados, use o acompanhamento de metadados, além do controlo de versões do código, semelhante às capacidades do Git. Para evitar a falta de informações ou a implementação da versão errada em produção, use experiências do Vertex AI antes de implementar trabalhos de implementação ou preparação em grande escala.
O Vertex AI Experiments permite-lhe fazer o seguinte:
- Simplifique e automatize a monitorização e a descoberta de metadados através de uma IU e uma API fáceis de usar para cargas de trabalho prontas para produção.
- Analise as métricas de desempenho do modelo e compare as métricas em vários modelos.
Após a preparação do modelo, monitorize continuamente o desempenho e a variação dos dados ao longo do tempo para os dados recebidos. Para simplificar este processo, use o Vertex AI Model Monitoring para aceder diretamente aos modelos criados no Registo de modelos. A monitorização de modelos também automatiza a monitorização de dados e resultados através de previsões online e em lote. Pode exportar os resultados para o BigQuery para análise e acompanhamento adicionais.
Escolha estratégias ideais para automatizar a preparação
Para o ajuste de hiperparâmetros, recomendamos as seguintes abordagens:
- Para automatizar o processo de encontrar os hiperparâmetros ideais para os seus modelos, use o aperfeiçoamento de hiperparâmetros do Vertex AI. A Vertex AI usa algoritmos avançados para explorar o espaço de hiperparâmetros e identificar a melhor configuração.
- Para uma otimização de hiperparâmetros eficiente, considere usar técnicas de otimização bayesiana, especialmente quando trabalha com modelos complexos e grandes conjuntos de dados.
Para a preparação distribuída, recomendamos as seguintes abordagens:
Para conjuntos de dados grandes e modelos complexos, use a infraestrutura de preparação distribuída do Vertex AI. Esta abordagem permite-lhe formar os seus modelos em várias máquinas, o que ajuda a reduzir significativamente o tempo de formação e os custos associados. Use ferramentas como as seguintes:
- Ajuste do Vertex AI para realizar o ajuste fino supervisionado do Gemini, do Imagen e de outros modelos.
- Vertex AI Training ou Ray no Vertex AI para preparação distribuída personalizada.
Escolha frameworks de ML otimizados, como o Keras e o PyTorch, que suportam a preparação distribuída e a utilização eficiente de recursos.
Use IA explicável
É fundamental compreender por que motivo um modelo toma determinadas decisões e identificar potenciais parcialidades ou áreas de melhoria. Use a IA explicável do Vertex para obter estatísticas sobre as previsões do seu modelo. O Vertex Explainable AI oferece uma forma de automatizar explicações baseadas em caraterísticas e exemplos que estão associadas às suas experiências do Vertex AI.
- Baseada em caraterísticas: para compreender que caraterísticas são mais influentes nas previsões do seu modelo, analise as atribuições de caraterísticas. Esta compreensão pode orientar os esforços de engenharia de funcionalidades e melhorar a interpretabilidade do modelo.
- Baseado em exemplos: Para devolver uma lista de exemplos (normalmente do conjunto de preparação) que são mais semelhantes à entrada, o Vertex AI usa a pesquisa do vizinho mais próximo. Uma vez que as entradas semelhantes geram geralmente previsões semelhantes, pode usar estas explicações para explorar e explicar o comportamento de um modelo.
Use serviços geridos e modelos pré-preparados
Adote uma abordagem incremental à seleção e ao desenvolvimento de modelos. Esta abordagem ajuda a evitar custos excessivos associados ao recomeço de cada vez. Para controlar os custos, use frameworks de AA, serviços geridos e modelos pré-formados.
Para obter o valor máximo dos serviços geridos e dos modelos pré-formados, considere as seguintes recomendações.
Use notebooks para exploração e experiências
Os ambientes de notebook são essenciais para a experimentação de ML rentável. Um bloco de notas oferece um espaço interativo e colaborativo para os cientistas de dados e os engenheiros explorarem dados, desenvolverem modelos, partilharem conhecimentos e iterarem de forma eficiente. A colaboração e a partilha de conhecimentos através de notebooks aceleram significativamente o desenvolvimento, as revisões de código e a transferência de conhecimentos. Os blocos de notas ajudam a simplificar os fluxos de trabalho e a reduzir o esforço duplicado.
Em vez de adquirir e gerir hardware dispendioso para o seu ambiente de desenvolvimento, pode usar a infraestrutura escalável e a pedido do Vertex AI Workbench e do Colab Enterprise.
O Vertex AI Workbench é um ambiente de desenvolvimento de blocos de notas Jupyter para todo o fluxo de trabalho de ciência de dados. Pode interagir com a Vertex AI e outros Google Cloud serviços a partir do bloco de notas Jupyter de uma instância. As integrações e as funcionalidades do Vertex AI Workbench ajudam a fazer o seguinte:
- Aceda e explore dados a partir de um bloco de notas do Jupyter usando as integrações do BigQuery e do Cloud Storage.
- Automatize as atualizações recorrentes de um modelo através de execuções agendadas de código que é executado na Vertex AI.
- Processe dados rapidamente executando um bloco de notas num cluster do Dataproc.
- Execute um bloco de notas como um passo num pipeline através dos Vertex AI Pipelines.
O Colab Enterprise é um ambiente de blocos de notas colaborativo e gerido que tem as capacidades de segurança e conformidade do Google Cloud. O Colab Enterprise é ideal se as prioridades do seu projeto incluírem o desenvolvimento colaborativo e a redução do esforço de gestão da infraestrutura. O Colab Enterprise integra-se com Google Cloud serviços e assistência baseada em IA que usa o Gemini. O Colab Enterprise permite-lhe fazer o seguinte:
- Trabalhe em blocos de notas sem ter de gerir a infraestrutura.
- Partilhe um notebook com um único utilizador, um grupo Google ou um domínio do Google Workspace. Pode controlar o acesso aos notebooks através da gestão de identidade e de acesso (IAM).
- Interagir com funcionalidades incorporadas no Vertex AI e no BigQuery.
Para acompanhar as alterações e reverter para versões anteriores quando necessário, pode integrar os seus blocos de notas com ferramentas de controlo de versões, como o Git.
Comece com modelos existentes e pré-formados
A preparação de modelos complexos a partir do zero, especialmente modelos de aprendizagem profunda, requer recursos computacionais e tempo significativos. Para acelerar a seleção de modelos e o processo de desenvolvimento, comece com modelos existentes e pré-preparados. Estes modelos, que são preparados em grandes conjuntos de dados, eliminam a necessidade de preparar modelos desde o início e reduzem significativamente o custo e o tempo de desenvolvimento.
Reduza os custos de formação e desenvolvimento
Selecione um modelo ou uma API adequados para cada tarefa de ML e combine-os para criar um processo de desenvolvimento de ML completo.
O Vertex AI Model Garden oferece uma vasta coleção de modelos pré-preparados para tarefas como classificação de imagens, deteção de objetos e processamento de linguagem natural. Os modelos estão agrupados nas seguintes categorias:
- Modelos Google como a família de modelos Gemini e o Imagen para geração de imagens.
- Modelos de código aberto como o Gemma e o Llama.
- Modelos de terceiros de parceiros como a Anthropic e a Mistral AI.
Google Cloud oferece APIs de IA e ML que permitem aos programadores integrar capacidades de IA avançadas em aplicações sem ter de criar modelos de raiz.
- A Cloud Vision API permite-lhe obter informações a partir de imagens. Esta API é valiosa para aplicações como análise de imagens, moderação de conteúdo e introdução de dados automatizada.
- A API Cloud Natural Language permite-lhe analisar texto para compreender a respetiva estrutura e significado. Esta API é útil para tarefas como a análise do feedback dos clientes, a categorização de conteúdo e a compreensão das tendências das redes sociais.
- A API Speech-to-Text converte áudio em texto. Esta API é compatível com uma grande variedade de idiomas e dialetos.
- A API Video Intelligence analisa o conteúdo de vídeo para identificar objetos, cenas e ações. Use esta API para análise de conteúdo de vídeo, moderação de conteúdo e pesquisa de vídeos.
- A API Document AI processa documentos para extrair, classificar e compreender dados. Esta API ajuda a automatizar os fluxos de trabalho de processamento de documentos.
- A API Dialogflow permite a criação de interfaces de conversação, como bots de chat e assistentes de voz. Pode usar esta API para criar bots de serviço de apoio ao cliente e assistentes virtuais.
- A API Gemini na Vertex AI oferece acesso ao modelo de IA mais avançado e de uso geral da Google.
Reduza os custos de otimização
Para ajudar a reduzir a necessidade de dados extensos e tempo de computação, ajuste os seus modelos pré-formados em conjuntos de dados específicos. Recomendamos as seguintes abordagens:
- Transferência de aprendizagem: use o conhecimento de um modelo pré-preparado para uma nova tarefa, em vez de começar do zero. Esta abordagem requer menos dados e tempo de computação, o que ajuda a reduzir os custos.
- Aperfeiçoamento do adaptador (aperfeiçoamento eficiente em termos de parâmetros): Adapte os modelos a novas tarefas ou domínios sem um ajuste fino completo. Esta abordagem requer recursos computacionais significativamente mais baixos e um conjunto de dados mais pequeno.
- Ajuste preciso supervisionado: Adapte o comportamento do modelo com um conjunto de dados etiquetado. Esta abordagem simplifica a gestão da infraestrutura subjacente e o esforço de desenvolvimento necessário para uma tarefa de preparação personalizada.
Explore e experimente usando o Vertex AI Studio
O Vertex AI Studio permite-lhe testar, criar protótipos e implementar rapidamente aplicações de IA generativa.
- Integração com o Model Garden: oferece acesso rápido aos modelos mais recentes e permite implementar os modelos de forma eficiente para poupar tempo e custos.
- Acesso unificado a modelos especializados: consolida o acesso a uma vasta gama de modelos pré-preparados e APIs, incluindo os de chat, texto, multimédia, tradução e voz. Este acesso unificado pode ajudar a reduzir o tempo gasto na pesquisa e integração de serviços individuais.
Use serviços geridos para preparar ou publicar modelos
Os serviços geridos podem ajudar a reduzir o custo da preparação de modelos e simplificar a gestão da infraestrutura, o que lhe permite focar-se no desenvolvimento e na otimização de modelos. Esta abordagem pode resultar em vantagens significativas em termos de custos e maior eficiência.
Reduza a sobrecarga operacional
Para reduzir a complexidade e o custo da gestão da infraestrutura, use serviços geridos, como os seguintes:
- A preparação do Vertex AI oferece um ambiente totalmente gerido para preparar os seus modelos à escala. Pode escolher entre vários contentores pré-criados com frameworks de ML populares ou usar os seus próprios contentores personalizados.O Google Cloud trata do aprovisionamento, da escalabilidade e da manutenção da infraestrutura, pelo que incorre numa sobrecarga operacional inferior.
- As previsões do Vertex AI gerem a escalabilidade da infraestrutura, o equilíbrio de carga e o encaminhamento de pedidos. Tem alta disponibilidade e desempenho sem intervenção manual.
- O Ray no Vertex AI oferece um cluster do Ray totalmente gerido. Pode usar o cluster para executar cargas de trabalho de IA personalizadas complexas que realizam muitos cálculos (ajuste preciso de hiperparâmetros, ajuste preciso de modelos, preparação de modelos distribuídos e aprendizagem reforçada pelo feedback humano) sem ter de gerir a sua própria infraestrutura.
Use serviços geridos para otimizar a utilização de recursos
Para ver detalhes sobre a utilização eficiente de recursos, consulte o artigo Otimize a utilização de recursos.
Colaboradores
Autores:
- Isaac Lo | Gestor de desenvolvimento empresarial de IA
- Anastasia Prokaeva | Field Solutions Architect, IA generativa
- Amy Southwood | Technical Solutions Consultant, Data Analytics & AI
Outros colaboradores:
- Filipe Gracio, PhD | Engenheiro de clientes, especialista em IA/AA
- Kumar Dhanagopal | Cross-Product Solution Developer
- Marwan Al Shawi | Partner Customer Engineer
- Nicolas Pintaux | Customer Engineer, Application Modernization Specialist