Introdução à IA no Windows
A capacidade de criar experiências inteligentes de IA e com o Windows está se desenvolvendo rapidamente. Windows Copilot Runtime oferece recursos com suporte de IA e APIs em computadores Copilot+. Esses recursos estão em desenvolvimento ativo e são executados localmente em segundo plano o tempo todo. Saiba mais sobre Windows Copilot Runtime.
Além de Windows Copilot Runtime, a Microsoft oferece uma variedade de serviços de IA, suporte e diretrizes. Para começar e aprender a integrar com segurança a IA para suas necessidades de negócios, explore as diretrizes em nossa documentação de IA do Windows, incluindo:
- Como você pode usar a IA em seu aplicativo do Windows?
- Escolha entre os serviços de IA locais e baseados em nuvem
- Usar Windows Copilot Runtime
- Use o APIs baseado em nuvem
- usar um modelo personalizado no computador local
- Use práticas responsáveis de IA
- perguntas frequentes
Como você pode usar a IA em seu aplicativo do Windows?
Algumas maneiras pelas quais os aplicativos do Windows podem aproveitar modelos de ML (Machine Learning) para aprimorar sua funcionalidade e experiência do usuário com IA incluem:
- Os aplicativos podem usar modelos de IA generativos para entender tópicos complexos para resumir, reescrever, relatar ou expandir.
- Os aplicativos podem usar modelos que transformam o conteúdo de forma livre em um formato estruturado que seu aplicativo pode entender.
- Os aplicativos podem usar modelos de Pesquisa Semântica que permitem que os usuários pesquisem conteúdo por meio do significado e encontrem rapidamente o conteúdo relacionado.
- Os aplicativos podem usar modelos de processamento de linguagem natural para raciocinar sobre requisitos complexos de linguagem natural e planejar e executar ações para realizar a solicitação do usuário.
- Os aplicativos podem usar modelos de manipulação de imagem para modificar imagens de forma inteligente, apagar ou adicionar elementos, aumentar a resolução ou gerar novo conteúdo.
- Os aplicativos podem usar modelos de diagnóstico preditivo para ajudar a identificar e prever problemas e ajudar a orientar o usuário ou fazer isso por eles.
Escolher entre serviços de IA locais e baseados em nuvem
A integração da IA ao aplicativo do Windows pode ser obtida por meio de dois métodos primários: um modelo local ou um modelo baseado em nuvem. Há vários aspectos a serem considerados ao determinar a opção certa para suas necessidades.
Disponibilidade de Recursos
- Dispositivo Local: a execução de um modelo depende dos recursos disponíveis no dispositivo que está sendo usado, incluindo a capacidade de CPU, GPU, NPU, memória e 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 ideais para uso local em um dispositivo. Os PCs Copilot+ oferecem modelos internos executados por Windows Copilot Runtime com recursos de IA prontos para uso.
- Cloud: plataformas de nuvem, como serviços de IA do Azure, 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.
Privacidade e Segurança de Dados
- Dispositivo Local: Como os dados permanecem no dispositivo, executar um modelo localmente pode oferecer benefícios em relação à segurança e privacidade, com a responsabilidade pela segurança dos dados recaindo sobre o usuário.
- 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.
Acessibilidade e Colaboração
- Dispositivo Local: O modelo e os dados só podem ser acessados 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
- Dispositivo Local: Não há nenhum 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
- Dispositivo Local: 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.
Usar Windows Copilot Runtime
Quando um modelo de IA local é a solução certa, você pode usar os recursos Windows Copilot Runtime para integrar serviços de IA em PCs Copilot+ para os usuários. Alguns desses recursos de IA prontos para uso que você pode acessar no aplicativo do Windows incluem:
- Phi Silica: um modelo de linguagem local pronto para uso.
- Recall: uma API de Atividade do Usuário que usa IA para ajudá-lo a pesquisar suas atividades anteriores, com suporte de Clique para Executar, um recurso que usa o Phi Silica para conectar ações ao conteúdo (texto ou imagens) encontrado por Recall.
- Geração de imagens por IA: dimensionar e aprimorar imagens usando IA (super-resolução de imagem), bem como identificar objetos em uma imagem (segmentação de imagens).
- Windows Studio Effects: para aplicar efeitos de IA à câmera do dispositivo ou ao microfone interno.
Saiba mais sobre os recursos disponíveis na Windows Copilot RuntimeVisão geral do .
Usar APIs baseadas em nuvem
Se uma solução baseada em nuvem funcionar melhor para seu cenário de aplicativo do Windows, talvez você esteja interessado em alguns dos tutoriais abaixo.
Muitos APIs estão disponíveis para acessar modelos baseados em nuvem para alimentar os recursos de IA em seu aplicativo do Windows, 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 baseado em nuvem oferecidos pela Microsoft ou OpenAI incluem:
Adicionar funções de conclusão de chat do OpenAI ao seu aplicativo de área de trabalho do WinUI 3/Windows App SDK: um tutorial sobre como integrar as funções de conclusão baseadas em nuvem do OpenAI ChatGPT em um aplicativo de área de trabalho do WinUI 3/Windows App SDK.
Adicionar DALL-E ao seu aplicativo de área de trabalho do SDK do Aplicativo WinUI 3/Windows: um tutorial sobre como integrar os recursos de geração de imagem do OpenAI baseado em nuvem DALL-E em um aplicativo da área de trabalho do SDK do Aplicativo WinUI 3/Windows.
Criar um aplicativo de recomendação com o .NET MAUI e o ChatGPT: um tutorial sobre como criar um aplicativo de recomendação de exemplo que integra os recursos de conclusão do OpenAI ChatGPT baseados em nuvem em um aplicativo .NET MAUI.
Adicionar DALL-E ao seu aplicativo de área de trabalho do Windows do .NET MAUI: um tutorial sobre como integrar os recursos de geração de imagem do OpenAI DALL-E baseado em nuvem em um aplicativo MAUI do .NET.
serviço Azure OpenAI: se você quiser que seu aplicativo Windows 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 as funcionalidades de segurança e empresa adicionadas do Azure, você pode encontrar diretrizes nesta documentação do Azure OpenAI.
Serviços de IA do Azure: o Azure oferece um pacote completo de serviços de IA disponíveis por meio de APIs REST e SDKs de biblioteca de clientes em linguagens de desenvolvimento conhecidas. 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 modelos APIs predefinidos, prontos para uso e personalizáveis. Aplicativos de exemplo incluem processamento de linguagem natural para conversas, pesquisa, monitoramento, tradução, fala, visão e tomada de decisão.
Usar um modelo personalizado em seu computador local
Se você tiver a capacidade de treinar seu próprio modelo usando seus próprios dados privados com plataformas como TensorFlow ou PyTorch. Você pode integrar esse modelo personalizado ao aplicativo Windows executando-o localmente no hardware do dispositivo usando ONNX Runtime e AI Toolkit para Visual Studio Code.
AI Toolkit do Visual Studio Code é uma extensão do VS Code que permite baixar e executar modelos de IA localmente, incluindo o acesso à aceleração de hardware para melhorar o desempenho e a escala por meio de DirectML. O AI Tookit também pode ajudá-lo com:
- Testando modelos em um playground intuitivo ou em seu aplicativo com uma API REST.
- Ajuste fino seu modelo de IA, localmente ou na nuvem (em uma máquina virtual) para criar novas habilidades, melhorar a confiabilidade das respostas, definir o tom e o formato da resposta.
- Ajuste fino de modelos populares de linguagem pequena (SLMs), como Phi-3 e Mistral.
- Implante o recurso de IA na nuvem ou com um aplicativo executado em um dispositivo.
- Aproveite a aceleração de hardware para melhorar o desempenho com os recursos de IA usando o DirectML. O DirectML é uma API de baixo nível que permite que o hardware do dispositivo Windows acelere o desempenho de modelos de ML usando a GPU ou a NPU do dispositivo. O emparelhamento do DirectML com o ONNX Runtime normalmente é a maneira mais simples para os desenvolvedores levarem a IA acelerada por hardware para seus usuários em escala. Saiba mais: Visão Geral do DirectML.
Talvez você também queira examinar esses conceitos de ajuste fino do modelo para melhorar a adaptação de um modelo pré-treinado aos seus dados.
Localizar modelos de software livre
Você pode encontrar modelos de ML de software livre na Web, alguns dos mais populares incluem:
- Abraçando o Rosto: um hub com mais de 10.000 modelos de ML pré-treinados para processamento de linguagem natural, alimentado pela biblioteca Transformers. Você pode encontrar modelos para classificação de texto, resposta a perguntas, resumo, tradução, geração e muito mais.
- ONNX Model Zoo: uma coleção de modelos de ML pré-treinados no formato ONNX que abrangem uma ampla gama de domínios e tarefas, como pesquisa visual computacional, processamento de linguagem natural, fala e muito mais.
- o Hub de IA da Qualcomm: uma plataforma que fornece acesso a uma variedade de modelos de ML e ferramentas otimizadas para dispositivos Qualcomm Snapdragon. Você pode encontrar modelos para processamento de imagem, vídeo, áudio e sensor, bem como estruturas, bibliotecas e SDKs para compilar e implantar aplicativos ML em dispositivos móveis. O Hub de IA da Qualcomm também oferece tutoriais, guias e suporte à comunidade para desenvolvedores e pesquisadores.
- Hub Pytorch: um repositório de modelos pré-treinado projetado para facilitar a reprodutibilidade da pesquisa e habilitar novas pesquisas. É uma API simples e um fluxo de trabalho que fornece os blocos de construção básicos para melhorar a reprodutibilidade da pesquisa de machine learning. O Hub PyTorch consiste em um repositório de modelos pré-treinado projetado especificamente para facilitar a reprodutibilidade da pesquisa.
- o TensorFlow Hub: um repositório de modelos de ML pré-treinados e componentes reutilizáveis para TensorFlow, que é uma estrutura popular para criar e treinar modelos de ML. Você pode encontrar modelos para processamento de imagem, texto, vídeo e áudio, além de transferir aprendizado e ajuste fino.
- Model Zoo: uma plataforma que faz a curadoria e classifica os melhores modelos de ML de software livre para várias estruturas e tarefas. Você pode procurar modelos por categoria, estrutura, licença e classificação e ver demonstrações, código e documentos para cada modelo.
Algumas bibliotecas de modelos não se destinam a serem personalizadas e distribuídas por meio de um aplicativo, mas são ferramentas úteis para exploração e descoberta práticas como parte do ciclo de vida de desenvolvimento, como:
- Ollama: o Ollama é um marketplace de modelos de ML prontos para uso para várias tarefas, como detecção facial, análise de sentimento ou reconhecimento de fala. Você pode navegar, testar e integrar os modelos ao seu aplicativo com alguns cliques.
- LM Studio: O Lmstudio é uma ferramenta que permite criar modelos de ML personalizados com base em seus próprios dados, usando uma interface de arrastar e soltar. Você pode escolher entre algoritmos de ML diferentes, pré-processar e visualizar seus dados e treinar e avaliar seus modelos.
Usar práticas de IA responsável
Sempre que você for incorporar recursos de IA em seu aplicativo do Windows, recomendamos enfaticamente que siga as diretrizes em Desenvolvendo aplicativos e recursos de IA generativa responsável no Windows.
Essas diretrizes ajudarão você a entender políticas, práticas e processos de governança, identificar riscos, recomendar métodos de teste, utilizar medidas de segurança, como moderadores e filtros, e chamar considerações específicas ao selecionar um modelo seguro e responsável para trabalhar.
Windows Copilot Runtime modelos de IA generativos no dispositivo podem ajudá-lo a aplicar recursos de segurança de conteúdo local, como mecanismos de classificação no dispositivo para conteúdo prejudicial e uma lista padrão de bloqueio. A Microsoft prioriza o suporte aos desenvolvedores para criar experiências de IA seguras e confiáveis com modelos locais no Windows.
Recursos adicionais
Phi Silica, small but mighty on-device SLM (Blogs do Windows)
Galeria de Exemplos de IA no Windows: exemplos que demonstram maneiras de integrar a IA em aplicativos do Windows.
Perguntas frequentes sobre o uso de IA com o Windows: perguntas frequentes sobre terminologia e conceitos relacionados ao uso de IA em um contexto Windows, abrangendo perguntas como "o que é DirectML?", "o que é ONNX?", "o que é ORT?", "o que é uma NPU?", "o que é um SLM?", "o que é inferência?", "o que é ajuste fino?" etc.
ONNX: um padrão aberto para representar e trocar modelos de ML em diferentes estruturas e plataformas. Se você encontrar um modelo de ML pré-treinado no formato ONNX, poderá usar ONNX Runtime (ORT) para carregar e executar o modelo em seu aplicativo do Windows. ORT permite que você acesse os recursos de inferência acelerados por hardware do dispositivo e otimize o desempenho do seu modelo de Aprendizado de Máquina. Se você tiver um modelo de ML pré-treinado em um formato diferente, como PyTorch ou TensorFlow, poderá convertê-lo em ONNX usando uma ferramenta de otimização de modelo como Olive. Para obter ajuda sobre o uso do Olive, consulte Ajustar o SLM com o Microsoft Olive (Série Journey para arquitetura de aplicativos de IA generativa). Para obter tutoriais sobre como criar e usar modelos ONNX, consulte Tutoriais do ONNX no GitHub. Para obter exemplos que demonstram como usar modelos ONNX em um aplicativo do Windows, consulte o IA na Galeria de Exemplos do Windows.
Introdução aos modelos do ONNX no aplicativo do WinUI com o ONNX Runtime
API WebNN para aplicativos Web: um padrão Web para acessar a aceleração de hardware de rede neural em navegadores, com base em WebIDL e JavaScript APIs. Ele permite que os desenvolvedores Web criem e executem modelos de machine learning com eficiência no lado do cliente, sem depender de serviços de nuvem ou bibliotecas nativas. Exemplos de WebNN no GitHub. Exemplos de WebNN usando ONNX Runtime na Galerias de Exemplos de IA no Windows.
PyTorch: uma estrutura de aprendizado profundo de software livre muito popular disponível com uma interface Python e C++. Esse provavelmente será o formato mais comum que você encontrará para modelos de ML. Se você quiser usar modelos PyTorch ML em seu aplicativo Windows (C# ou C++) ou em um aplicativo Web, poderá usar TorchSharp e LibTorch, que são associações .NET e C++ para a biblioteca PyTorch. TorchSharp e LibTorch permitem que você crie, carregue e manipule tensores, crie e execute redes neurais e salve e carregue modelos usando o formato PyTorch. Para obter exemplos, confira Exemplos TorchSharp, TorchScript para Implantação, Exemplos PyTorch C++. Para aplicativos Web, confira Criar um aplicativo Web com o ONNX Runtime. Para obter exemplos de como executar modelos PyTorch com DirectML, consulte a Galeria de Exemplos de IA no Windows.
TensorFlow é outra biblioteca de software popular para aprendizado de máquina e inteligência artificial usada para criar e implantar modelos de machine learning para várias tarefas.