Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Para desenvolvedores de aplicativos que buscam integrar recursos de IA, a Microsoft Windows oferece uma plataforma abrangente e flexível que dá suporte ao processamento local, no dispositivo e a soluções escalonáveis baseadas em nuvem.
Escolher entre modelos de IA locais e baseados em nuvem depende de suas necessidades e prioridades específicas. Muitos aplicativos de produção usam uma estratégia híbrida: tentam primeiro uma API de IA local Windows ou um modelo local e depois recorrem a um endpoint na nuvem quando o modelo não está instalado, o dispositivo não é compatível, o usuário não consente com o download do modelo ou a tarefa exige um modelo maior.
Os fatores a serem considerados incluem:
- Privacidade, conformidade e segurança de dados
- Disponibilidade de recursos
- Acessibilidade e colaboração
- Custo
- Manutenção e atualizações
- Desempenho e latência
- Escalabilidade
- Requisitos de conectividade
- Tamanho e complexidade do modelo
- Ferramentas e o ecossistema associado
- Personalização e controlo
Principais fatores de decisão para desenvolvedores de aplicativos
Privacidade, conformidade e segurança de dados
Local, no local: Como os dados permanecem no dispositivo, a execução de um modelo localmente pode oferecer benefícios em relação à segurança e à privacidade, com a responsabilidade da segurança dos dados recaindo sobre o usuário. O desenvolvedor é responsável por gerenciar atualizações, garantir compatibilidade e monitorar vulnerabilidades de segurança.
Cloud: os provedores de nuvem oferecem medidas de segurança robustas, mas os dados precisam ser transferidos para a nuvem, o que pode gerar preocupações de privacidade de dados para o mantenedor de serviços de aplicativos ou de negócios em alguns casos. O envio de dados para a nuvem também deve estar em conformidade com as regulamentações de proteção de dados, como GDPR ou HIPAA, dependendo da natureza dos dados e da região em que o aplicativo opera. Os provedores de nuvem normalmente lidam com atualizações de segurança e manutenção, mas os usuários devem garantir que eles estejam usando APIs seguras e seguindo as práticas recomendadas para tratamento de dados.
Disponibilidade de recursos
Local, no local: A execução de um modelo depende dos recursos disponíveis no dispositivo que está sendo usado, incluindo a CPU, a GPU, a NPU, a memória e a capacidade de armazenamento. Isso pode ser limitador se o dispositivo não tiver alta potência computacional ou armazenamento suficiente. Os SLMs (Modelos de Linguagem Pequenos), como Phi, são mais adequados para uso local em um dispositivo. Copilot+ PCs oferecem modelos internos com recursos de IA prontos para uso compatíveis com Microsoft Foundry on Windows.
Nuvem: Plataformas de nuvem, como Azure os Serviços de IA, oferecem recursos escalonáveis. Você pode usar o máximo de energia computacional ou armazenamento necessário e pagar apenas pelo que usa. Os LLMs (Modelos de Linguagem Grandes), como os modelos de linguagem OpenAI, exigem mais recursos, mas também são mais poderosos.
Acessibilidade e colaboração
Local, on-premises: O modelo e os dados são acessíveis somente no dispositivo, a menos que sejam compartilhados manualmente. Isso tem o potencial de tornar a colaboração em dados de modelo mais desafiadora.
Cloud: O modelo e os dados podem ser acessados de qualquer lugar com conectividade com a Internet. Isso pode ser melhor para cenários de colaboração.
Custo
Local, no local: não há custo adicional além do investimento inicial no hardware do dispositivo.
Cloud: Enquanto as plataformas de nuvem operam em um modelo pago conforme o uso, os custos podem se acumular com base nos recursos usados e na duração do uso.
Manutenção e Atualizações
Local, no local da empresa: O usuário é responsável por manter o sistema e instalar atualizações.
Cloud: Manutenção, atualizações do sistema e novas atualizações de recursos são tratadas pelo provedor de serviços de nuvem, reduzindo a sobrecarga de manutenção para o usuário.
Desempenho &latência
Local, local: Executar um modelo localmente pode reduzir a latência, pois os dados não precisam ser enviados pela rede. No entanto, o desempenho é limitado pelos recursos de hardware do dispositivo.
Nuvem: Modelos baseados em nuvem podem aproveitar hardware avançado, mas podem introduzir latência devido à comunicação de rede. O desempenho pode variar com base na conexão com a Internet do usuário e no tempo de resposta do serviço de nuvem.
Escalabilidade
No local, nas instalações: Escalonar um modelo em um dispositivo local pode exigir atualizações de hardware significativas ou a adição de mais dispositivos, o que pode ser caro e demorado.
Nuvem: As plataformas de nuvem oferecem escalabilidade fácil, permitindo que você ajuste rapidamente os recursos com base na demanda sem a necessidade de alterações de hardware físico.
Requisitos de Conectividade
Local, no local: Um dispositivo local não requer uma conexão de internet para executar um modelo, o que pode ser benéfico em ambientes com conectividade limitada.
Nuvem: Os modelos baseados em nuvem exigem uma conexão de Internet estável para acesso e podem ser afetados por problemas de rede.
Disponibilidade do runtime e fallback
Local, no local: os recursos de IA locais podem depender do hardware, Windows da versão, Windows da versão do SDK do aplicativo, da região e se há um modelo opcional instalado. Antes de invocar um recurso de IA local, verifique seu estado de preparação e guie o usuário por meio de qualquer fluxo de consentimento ou download de modelo necessário. Para Windows APIs de IA, use o padrão de preparação específico da API documentado em Introdução às Windows APIs de IA e às páginas de API individuais.
Nuvem: Um endpoint na nuvem pode servir como alternativa quando um modelo local não estiver pronto ou não for compatível com o dispositivo atual. Decida se o fallback é automático, controlado pelo usuário ou desabilitado para cenários sensíveis à privacidade. Verifique se a interface do usuário explica quando os dados saem do dispositivo.
Tamanho e complexidade do modelo
Local, no local: os dispositivos locais podem ter limitações sobre o tamanho e a complexidade de modelos que podem ser executados por causa das restrições de hardware. Modelos menores, como Phi, são mais adequados para execução local.
Nuvem: As plataformas de nuvem podem lidar com modelos maiores e mais complexos, como os fornecidos pelo OpenAI, devido à infraestrutura escalonável.
Ferramentas e o ecossistema associado
local, no local: soluções de IA locais, como Microsoft FoundryMicrosoft Foundry on Windows, Windows ML e Foundry Local, integram-se ao Windows SDK do aplicativo e ao ONNX Runtime, permitindo aos desenvolvedores inserir modelos diretamente em aplicativos desktop ou de borda com dependências externas mínimas.
Nuvem: Soluções de IA de nuvem, como Microsoft Foundryserviços Azure de IA e Azure OpenAI, fornecem um conjunto abrangente de APIs e SDKs para a criação de aplicativos de IA. Esses serviços foram projetados para se integrar perfeitamente ao DevOps, GitHub, Kernel Semântico e outros serviços, permitindo a orquestração de ponta a ponta, a implantação de modelos e o monitoramento em escala.
Personalização e controle
Local, no local: modelos locais podem ser usados prontos para uso, sem a necessidade de um alto nível de experiência. Microsoft Foundry on Windows oferece modelos como Phi Silica que estão prontos para uso. Como alternativa, Windows o ML permite que os desenvolvedores executem modelos personalizados, como aqueles treinados com o ONNX Runtime, diretamente em Windows dispositivos. Isso fornece um alto nível de controle sobre o modelo e seu comportamento, permitindo ajuste fino e otimização com base em casos de uso específicos. Foundry Local também permite que os desenvolvedores executem modelos localmente em Windows dispositivos, fornecendo um alto nível de controle sobre o modelo e seu comportamento.
Nuvem: Os modelos baseados em nuvem também oferecem opções prontas para uso e personalizáveis, permitindo que os desenvolvedores aproveitem os recursos pré-treinados enquanto ainda adaptam o modelo às suas necessidades específicas. Microsoft Foundry é uma oferta unificada Azure de plataforma como serviço para operações de IA corporativa, construtores de modelos e desenvolvimento de aplicativos. Essa base combina a infraestrutura de nível de produção com interfaces amigáveis, permitindo que os desenvolvedores se concentrem na criação de aplicativos em vez de gerenciar a infraestrutura.
Exemplos de IA de nuvem
Se uma solução baseada em nuvem funcionar melhor para seu Windows cenário de aplicativo, talvez você esteja interessado em alguns dos tutoriais abaixo.
Muitas APIs estão disponíveis para acessar modelos baseados em nuvem para alimentar recursos de IA em seu Windows aplicativo, sejam eles personalizados ou prontos para uso. O uso de um modelo baseado em nuvem pode permitir que seu aplicativo permaneça simplificado delegando tarefas com uso intensivo de recursos para a nuvem. Alguns recursos para ajudá-lo a adicionar APIs com suporte de IA baseadas em nuvem oferecidas pela Microsoft ou OpenAI incluem:
Adicionar conclusões de chat da OpenAI a WinUI 3/Windows Aplicativo desktop SDK do App: um tutorial sobre como integrar os recursos de conclusão em nuvem do OpenAI ChatGPT a um aplicativo desktop do WinUI 3/Windows SDK do App.
Adicionar DALL-E ao WinUI 3/Windows Aplicativo desktop SDK do App: um tutorial sobre como integrar os recursos de geração da imagem DALL-E da OpenAI baseados em nuvem a um aplicativo da área de trabalho do WinUI 3/Windows SDK do App.
Azure Serviço OpenAI: se você quiser que seu Windows aplicativo acesse modelos OpenAI, como GPT-4, GPT-4 Turbo com Visão, GPT-3.5-Turbo, DALLE-3 ou a série de modelos Embeddings, com os recursos de segurança e empresa adicionados, Azurevocê pode encontrar diretrizes nesta Azure documentação do OpenAI.
Azure Serviços de IA: Azure oferece um conjunto inteiro de serviços de IA disponíveis por meio de APIs REST e SDKs da biblioteca de clientes em linguagens de desenvolvimento populares. Para obter mais informações, consulte a documentação de cada serviço. Esses serviços baseados em nuvem ajudam desenvolvedores e organizações a criar rapidamente aplicativos inteligentes, de ponta, prontos para o mercado e responsáveis com APIs e modelos prontos para uso e predefinidos e personalizáveis. Os aplicativos de exemplo incluem processamento de idioma natural para conversas, pesquisa, monitoramento, tradução, fala, visão e tomada de decisão.
Criar um caminho local/de nuvem híbrido
Use um caminho híbrido quando seu aplicativo deve aproveitar a inferência local quando disponível, mas ainda fornecer uma experiência útil em dispositivos sem suporte ou antes que um modelo local esteja pronto.
- Escolha a funcionalidade local primeiro. Comece com uma Windows API de IA quando corresponder ao seu cenário ou use Windows ML/ Foundry Local quando precisar executar um modelo específico.
- Verifique a preparação antes do uso. Na inicialização ou antes de o recurso ser mostrado, consulte o estado de preparação do recurso local. Se a API informa que o recurso não tem suporte, não está instalado ou precisa de um download, não o invoque cegamente.
- Solicite consentimento quando um modelo local deve ser baixado. Alguns modelos locais são opcionais e podem ter vários GB. Explique o tamanho do download, por que o modelo é necessário e se o aplicativo pode continuar sem ele.
- Defina um fallback de nuvem. Se o modelo local não estiver pronto, chame um endpoint na nuvem somente quando o usuário e a organização permitirem que os dados saiam do dispositivo. Mantenha os caminhos locais e de nuvem por trás da mesma abstração no nível do aplicativo para que o restante do aplicativo não dependa de onde a inferência é executada.
- Mantenha o comportamento observável. Registre qual caminho foi usado, falhas de preparação, resultados de download de modelo e erros de fallback na nuvem sem registrar prompts, tokens ou conteúdo confidencial, a menos que sua organização tenha aprovado esse tratamento de dados.
Fluxo de decisão de fallback híbrido
Use esse fluxo como ponto de partida:
- Quando o usuário iniciar um recurso de IA, verifique se um recurso de IA local se encaixa na tarefa.
- Se nenhum recurso local se ajustar à tarefa, use a IA de nuvem ou outro serviço.
- Se um recurso local se ajustar à tarefa, verifique se o recurso está pronto no dispositivo atual.
- Se o recurso local estiver pronto, execute a inferência local.
- Se o recurso local precisar de um download de modelo, solicite o consentimento do usuário antes de iniciar o download.
- Se o usuário der consentimento, faça o download ou prepare o modelo e tente novamente a inferência local.
- Se o usuário não consentir ou se o recurso local não tiver suporte, verifique se o fallback de nuvem é permitido para o cenário.
- Se o fallback de nuvem for permitido, use o caminho da nuvem.
- Se o fallback na nuvem não for permitido, explique o requisito de dispositivo, modelo ou política e desabilite ou oculte o recurso.
Para obter detalhes de preparação local, consulte Windows APIs de IA, Introdução às Windows APIsFoundry Local de IA e Windows ML.