Introdução à IA no Windows
A capacidade de criar experiências inteligentes de IA no e com o Windows está a desenvolver-se rapidamente. Windows Copilot Runtime oferece recursos e APIs apoiados por IA em PCs 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 Windows Copilot Runtime, a Microsoft oferece uma variedade de serviços, suporte e orientação de IA. Para começar e saber como integrar com segurança a IA para suas necessidades de negócios, explore as orientações em nossa documentação de IA do Windows, incluindo:
- Como você pode usar a IA em seu aplicativo do Windows?
- Escolha entre serviços de IA locais e baseados na nuvem
- Utilização Q#
- Usar APIs baseados em nuvem
- Use um modelo personalizado em sua máquina local
- Use práticas de IA responsável
- Perguntas frequentes
Como você pode usar a IA em seu aplicativo do Windows?
Algumas maneiras pelas quais os aplicativos do Windows podem aproveitar os modelos de Machine Learning (ML) para aprimorar sua funcionalidade e experiência do usuário com IA incluem:
- Os aplicativos podem usar modelos de IA generativa para entender tópicos complexos para resumir, reescrever, relatar ou expandir.
- Os aplicativos podem usar modelos que transformam 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 significado e encontrem rapidamente 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 atender à solicitação do usuário.
- Os aplicativos podem usar modelos de manipulação de imagem para modificar imagens de forma inteligente, apagar ou adicionar assuntos, escalonar ou gerar novos conteúdos.
- Os aplicativos podem usar modelos de diagnóstico preditivos para ajudar a identificar e prever problemas e ajudar a orientar o usuário ou fazer isso por ele.
Escolha entre serviços de IA locais e baseados na nuvem
A integração da IA em seu aplicativo do Windows pode ser alcançada por meio de dois métodos principais: um modelo local ou um modelo baseado em nuvem. Há vários aspetos a considerar ao determinar a opção certa para as 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 CPU, GPU, NPU, memória e capacidade de armazenamento. Isso pode ser limitante se o dispositivo não tiver alto poder computacional ou armazenamento suficiente. Os Small Language Models (SLMs), como Phi, são mais ideais para uso local em um dispositivo. Os Copilot+ PCs oferecem modelos integrados executados por Windows Copilot Runtime com recursos de IA prontos para uso.
- Cloud: plataformas Cloud, como Azure AI Services, oferecem recursos escaláveis. Você pode usar tanto poder computacional ou armazenamento quanto precisar e pagar apenas pelo que usar. Os modelos de linguagem grande (LLMs), 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, 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.
- Cloud: provedores de serviços de nuvem oferecem medidas de segurança robustas, mas os dados precisam ser transferidos para a nuvem, o que pode levantar preocupações de privacidade de dados para a empresa ou responsável pelo serviço de aplicação em alguns casos.
Acessibilidade e Colaboração
- Dispositivo local: O modelo e os dados são acessíveis apenas 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 à internet. Isso pode ser melhor para cenários de colaboração.
Custo
- Dispositivo local: Não há custo adicional além do investimento inicial no hardware do dispositivo.
- Cloud: Embora as plataformas de nuvem operem em um modelo de pagamento 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 pela manutenção do sistema e instalação de 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.
Utilize Windows Copilot Runtime
Quando um modelo de IA local é a solução certa, pode-se usar os recursos Windows Copilot Runtime para integrar serviços de IA para utilizadores em PCs Copilot+. Alguns desses recursos de IA prontos para uso que você pode aproveitar em seu aplicativo do Windows incluem:
- Phi Silica: um modelo de linguagem local pronto para uso.
- Recall: uma API UserActivity que usa IA para ajudá-lo a pesquisar através de sua atividade passada, suportada pelo Click to Do, um recurso que usa Phi Silica para conectar ações ao conteúdo (texto ou imagens) encontrado por Recall.
- AI Imaging: para dimensionar e afiar imagens usando IA (Image Super Resolution), bem como identificar objetos dentro de uma imagem (Image Segmentation).
- Windows Studio Effects: para aplicar efeitos de IA à câmera do dispositivo ou microfone embutido.
Saiba mais sobre os recursos disponíveis no Windows Copilot Runtime Oveview.
Usar APIs baseados na nuvem
Se uma solução baseada na nuvem funcionar melhor para o seu cenário de aplicativo do Windows, você pode estar interessado em alguns dos tutoriais abaixo.
Muitas APIs estão disponíveis para acessar modelos baseados em nuvem para potencializar recursos de IA em seu aplicativo do Windows, sejam esses modelos personalizados ou prontos para uso. O uso de um modelo baseado em nuvem pode permitir que seu aplicativo permaneça simplificado delegando tarefas que consomem muitos recursos à nuvem. Alguns recursos para ajudá-lo a adicionar APIs em nuvem com suporte de IA oferecidos pela Microsoft ou OpenAI incluem:
Adicionar finalizações de bate-papo OpenAI ao seu aplicativo de desktop WinUI 3 / Windows App SDK: Um tutorial sobre como integrar os recursos de conclusão do OpenAI ChatGPT baseados em nuvem em um aplicativo de desktop WinUI 3 / Windows App SDK.
Adicione DALL-E ao seu aplicativo de desktop WinUI 3 / Windows App SDK: Um tutorial sobre como integrar os recursos de geração de imagens OpenAI DALL-E baseados em nuvem em um aplicativo de desktop WinUI 3 / Windows App SDK.
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 .NET MAUI: Um tutorial sobre como integrar os recursos de geração de imagens OpenAI DALL-E baseados em nuvem em um aplicativo .NET MAUI.
do Serviço OpenAI do Azure: Se você quiser que seu aplicativo do 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 os recursos corporativos e de segurança adicionais do Azure, você pode encontrar orientação nesta documentação do Azure OpenAI.
Serviços de IA do Azure: o Azure oferece um conjunto completo de serviços de IA disponíveis por meio de APIs REST e SDKs de biblioteca de cliente 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 aplicações inteligentes, responsáveis, de ponta e prontas para o mercado, com APIs e modelos prontos para uso, pré-construídos e personalizáveis. Exemplos de aplicações incluem processamento de linguagem natural para conversas, pesquisa, monitoramento, tradução, fala, visão e tomada de decisões.
Use um modelo personalizado em sua máquina local
Se você tem 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 em seu aplicativo do Windows executando-o localmente no hardware do dispositivo usando ONNX Runtime e AI Toolkit para Visual Studio Code.
AI Toolkit para Visual Studio Code é uma extensão do Visual Studio Code que permite baixar e executar modelos de IA localmente, incluindo o acesso à aceleração de hardware para um melhor desempenho e dimensionamento através 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.
- Ajustando seu modelo de IA, tanto localmente quanto na nuvem (em uma máquina virtual) para criar novas habilidades, melhorar a confiabilidade das respostas, definir o tom e o formato da resposta.
- Ajustamento fino de modelos populares de linguagem pequena (SLMs), como Phi-3 e Mistral.
- Implante seu recurso de IA na nuvem ou com um aplicativo executado em um dispositivo.
- Aproveite a aceleração de hardware para obter um melhor desempenho com recursos de IA usando 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 NPU do dispositivo. Emparelhar o DirectML com o ONNX Runtime é normalmente a maneira mais simples para os desenvolvedores trazerem IA acelerada por hardware para seus usuários em escala. Saiba mais: Visão geral do DirectML.
Você também pode querer examinar esses conceitos de ajuste fino de modelo ajustar um modelo pré-treinado para melhor se adequar aos seus dados.
Encontre modelos de código aberto
Você pode encontrar modelos de ML de código aberto na web, alguns dos mais populares incluem:
- Hugging Face: Uma central de mais de 10.000 modelos pré-treinados de Aprendizagem de Máquina (ML) para processamento de linguagem natural, alimentada 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 visão computacional, processamento de linguagem natural, fala e muito mais.
- Qualcomm AI Hub: 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 sensores, bem como estruturas, bibliotecas e SDKs para criar e implantar aplicativos de ML em dispositivos móveis. O Qualcomm AI Hub também oferece tutoriais, guias e suporte da comunidade para desenvolvedores e pesquisadores.
- Pytorch Hub: Um repositório de modelos pré-treinados projetado para facilitar a reprodutibilidade da pesquisa e permitir 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 aprendizado de máquina. O PyTorch Hub consiste em um repositório de modelos pré-treinado projetado especificamente para facilitar a reprodutibilidade da pesquisa.
- TensorFlow Hub: Um repositório de modelos de ML pré-treinados e componentes reutilizáveis para o 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, bem como aprendizagem de transferência e ajuste fino.
- Model Zoo: Uma plataforma que seleciona e classifica os melhores modelos de ML de código aberto 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 ser personalizadas e distribuídas por meio de um aplicativo, mas são ferramentas úteis para exploração prática e descoberta como parte do ciclo de vida do desenvolvimento, como:
- Ollama: Ollama é um mercado de modelos de ML prontos para uso para várias tarefas, como deteção de rosto, análise de sentimento ou reconhecimento de fala. Pode navegar, testar e integrar os modelos na sua aplicação com apenas alguns cliques.
- LM Studio: Lmstudio é uma ferramenta que permite criar modelos de ML personalizados a partir de seus próprios dados, usando uma interface de arrastar e soltar. Você pode escolher entre diferentes algoritmos de ML, pré-processar e visualizar seus dados e treinar e avaliar seus modelos.
Use práticas de IA responsável
Sempre que você estiver incorporando recursos de IA em seu aplicativo do Windows, altamente recomendamos seguir as orientações Developing Responsible Generative AI Applications and Features on Windows (Desenvolvendo aplicativos e recursos de IA generativa responsável no Windows).
Esta orientação irá ajudá-lo a entender as 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 chama a atenção para considerações específicas ao selecionar um modelo que seja seguro e responsável para trabalhar.
Windows Copilot Runtime modelos de IA generativa 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 de bloqueio padrão. A Microsoft prioriza o suporte a desenvolvedores para criar experiências de IA seguras e confiáveis com modelos locais no Windows.
Recursos adicionais
Phi Silica, pequena mas poderosa SLM em dispositivos (Blogs do Windows)
AI na Galeria de Exemplos do Windows: Exemplos que demonstram formas de integrar a IA em aplicações do Windows.
Perguntas frequentes sobre o uso da IA com o Windows: Perguntas frequentes sobre terminologia e conceitos relacionados ao uso da IA em um contexto do 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. O ORT permite que você acesse os recursos de inferência acelerada por hardware do seu dispositivo e otimize o desempenho do seu modelo de ML. Se você tiver um modelo de ML pré-treinado em um formato diferente, como PyTorch ou TensorFlow, você pode convertê-lo para ONNX usando uma ferramenta de otimização de modelo como Olive. Para obter ajuda sobre como usar o Olive, consulte Ajustar o SLM com o Microsoft Olive (Journey Series for Generative AI Application Architecture). Para obter tutoriais sobre como criar e usar modelos ONNX, consulte Tutoriais ONNX no GitHub. Para obter exemplos que demonstrem como usar modelos ONNX em um aplicativo do Windows, consulte o AI na Galeria de Exemplos do Windows.
Introdução aos modelos ONNX na sua aplicação WinUI com o ONNX Runtime
API WebNN para aplicações Web: Um padrão web para aceder à aceleração de hardware de rede neural em browsers, com base no WebIDL e JavaScript APIs. Ele permite que os desenvolvedores da Web criem e executem modelos de aprendizado de máquina de forma eficiente no lado do cliente, sem depender de serviços em nuvem ou bibliotecas nativas. Exemplos WebNN no GitHub. exemplos de WebNN usando ONNX Runtime na Galeria de Exemplos de IA no Windows.
PyTorch: Um framework de aprendizagem profunda de código aberto muito popular disponível com uma interface Python e C++. Este 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, você pode usar TorchSharp e LibTorch, que são ligações .NET e C++ para a biblioteca PyTorch. TorchSharp e LibTorch permitem criar, carregar e manipular tensores, construir e executar redes neurais e salvar e carregar modelos usando o formato PyTorch. Para exemplos, veja TorchSharp Examples, TorchScript for Deployment, PyTorch C++ Examples. Para aplicações web, confira Construa uma aplicação web com ONNX Runtime. Para obter exemplos de como executar modelos PyTorch com DirectML, consulte a AI na Galeria de Exemplos do Windows.
TensorFlow é outra biblioteca de software de código aberto popular para aprendizado de máquina e inteligência artificial usada para construir e implantar modelos de aprendizado de máquina para várias tarefas.