Windows

Use modelos de Machine Studying em seu aplicativo Home windows

Este guia ajudará os desenvolvedores de aplicativos novos no trabalho com modelos de inteligência synthetic (IA) e aprendizado de máquina (ML), abordando questões comuns, compartilhando conceitos e recursos básicos e oferecendo recomendações sobre como usar modelos de IA e ML em um aplicativo do Home windows.

Aprendizado de máquina (ML) é um ramo da Inteligência Synthetic (IA) que permite aos computadores aprender com os dados e fazer previsões ou decisões.

Modelos de ML são algoritmos que podem ser treinados em dados e então implantados para executar diversas tarefas, como geração de conteúdo, raciocínio sobre conteúdo, reconhecimento de imagem, processamento de linguagem pure, análise de sentimentos e muito mais.

Como os aplicativos Home windows podem aproveitar os modelos de ML?

Algumas maneiras pelas quais os aplicativos Home windows podem aproveitar os modelos de ML para aprimorar sua funcionalidade e experiência do usuário incluem:

  • Os aplicativos podem usar modelos de IA generativa para compreender tópicos complexos para resumir, reescrever, relatar ou expandir.
  • Os aplicativos podem usar modelos que transformam conteúdo de formato livre em um formato estruturado que seu aplicativo possa entender.
  • Os aplicativos podem usar modelos de pesquisa semântica que permitem aos usuários pesquisar conteúdo por significado e encontrar rapidamente conteúdo relacionado.
  • Os aplicativos podem usar modelos de processamento de linguagem pure para raciocinar sobre requisitos complexos de linguagem pure e planejar e executar ações para atender às solicitações do usuário.
  • Os aplicativos podem usar modelos de manipulação de imagens para modificar imagens de forma inteligente, apagar ou adicionar assuntos, aprimorar 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 ele.

Modelos de ML em APIs apoiadas por IA

O Tempo de execução do Home windows Copilot reúne várias maneiras de interagir com o sistema operacional que utiliza IA. Isso inclui recursos e APIs apoiados por IA prontos para uso, que chamamos de Biblioteca Copiloto do Home windows. Consulte Começar a usar APIs apoiadas por IA em seu aplicativo Home windows para obter orientação sobre esses recursos e APIs prontos para uso que dão suporte a alguns dos cenários listados acima.

Os modelos da Biblioteca Copilot do Home windows são executados localmente, diretamente no dispositivo Home windows, embora você também possa optar por usar um modelo baseado em nuvem por meio de uma API pronta para uso. Quer estejam executando localmente ou na nuvem, essas APIs abstraem o modelo de ML subjacente para que você não exact fazer nenhuma otimização, formatação ou ajuste fino.

No entanto, você pode querer encontrar seu próprio modelo de ML para usar localmente no Home windows. Talvez seja necessário otimizar esse modelo para que ele seja executado corretamente em dispositivos Home windows ou ajustar um modelo para que ele seja treinado com seus próprios dados personalizados específicos para seu caso de uso ou empresa específica. Este artigo abordará alguns dos conceitos, ferramentas e bibliotecas de código aberto para ajudar a orientá-lo nesse processo.

Executando um modelo de linguagem pequena localmente versus um modelo de linguagem grande na nuvem

Modelos de Pequenas Linguagens (SLMs) são projetados para serem compactos e eficientes, geralmente treinados para tarefas ou domínios específicos em conjuntos de dados menores para permitir o armazenamento e a execução do modelo localmente com um tempo de desempenho de inferência mais rápido. Os SLMs são restritos na quantidade de dados usados ​​para treiná-los, não fornecendo conhecimento tão extenso ou raciocínio complexo como um Massive Language Mannequin (LLM). No entanto, os SLMs podem fornecer uma alternativa mais segura e econômica aos LLMs quando usados ​​localmente, porque exigem menos poder computacional para serem executados e melhor privacidade dos dados, mantendo suas informações de bate-papo locais seguras em seu dispositivo.

SLMs são mais ideais para uso native, pois executar um modelo de ML em um dispositivo significa que o tamanho não deve exceder a capacidade de armazenamento e processamento do dispositivo que o executa. A maioria dos LLMs seria demasiado grande para ser executada localmente.

Os modelos Microsoft Phi-2 e Phi-3 são exemplos de SLMs.

Grandes Modelos de Linguagem (LLMs) foram treinados em grandes quantidades de dados com um número maior de parâmetros, tornando-os mais complexos e maiores em tamanho para armazenamento. Devido ao seu tamanho, os LLMs podem ser mais capazes de compreender padrões mais sutis e complexos nos dados, cobrindo um espectro mais amplo de conhecimento com a capacidade de trabalhar com padrões mais complexos. Eles também exigem recursos computacionais mais significativos tanto para treinamento quanto para inferência. A maioria dos LLMs não seria capaz de ser executada em um dispositivo native.

Os modelos de linguagem OpenAI GPT-4o, GPT-4 Turbo, GPT-3.5 Turbo, DALL-E e Whisper são exemplos de LLMs.

Para obter mais orientações sobre a diferença entre usar um SLM localmente e um LLM na nuvem, consulte Considerações sobre o uso de APIs baseadas em IA locais versus baseadas em nuvem em seu aplicativo Home windows.

Encontre modelos de ML de código aberto na net

Modelos de ML de código aberto que estão prontos para uso e Pode ser personalizado com seus próprios dados ou preferências, estão disponíveis em vários lugares, alguns dos mais populares incluem:

  • Hugging Face: um centro de mais de 10.000 modelos de ML pré-treinados para processamento de linguagem pure, 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 Mannequin Zoo: uma coleção de modelos de ML pré-treinados no formato ONNX que cobre uma ampla variedade de domínios e tarefas, como visão computacional, processamento de linguagem pure, fala e muito mais.
  • Qualcomm AI Hub: uma plataforma que fornece acesso a uma variedade de modelos e ferramentas de ML otimizados para dispositivos Qualcomm Snapdragon. Você pode encontrar modelos para processamento de imagem, vídeo, áudio e sensor, 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 comunitário 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 e um fluxo de trabalho simples que fornece os blocos de construção básicos para melhorar a reprodutibilidade da pesquisa de aprendizado de máquina. PyTorch Hub consiste em um repositório de modelos pré-treinados, projetado especificamente para facilitar a reprodutibilidade da pesquisa.
  • TensorFlow Hub: um repositório de modelos de ML pré-treinados e componentes reutilizáveis ​​para TensorFlow, que é uma estrutura common para criar e treinar modelos de ML. Você pode encontrar modelos para processamento de imagem, texto, vídeo e áudio, bem como transferência de aprendizagem e ajuste fino.
  • Mannequin Zoo: uma plataforma que seleciona e classifica os melhores modelos de ML de código aberto para várias estruturas e tarefas. Você pode navegar pelos modelos por categoria, estrutura, licença e classificação e ver demonstrações, códigos e documentos de cada modelo.

Algumas bibliotecas de modelos são não se destina a ser personalizado e distribuídos por meio de um aplicativo, mas são ferramentas úteis para exploração e descoberta prática como parte do ciclo de vida de desenvolvimento, como:

  • Ollama: Ollama é um mercado de modelos de ML prontos para uso para diversas tarefas, como detecção de rosto, análise de sentimento ou reconhecimento de fala. Você pode navegar, testar e integrar os modelos ao seu aplicativo 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.

Sempre que você encontrar um modelo de ML com o objetivo de usá-lo em seu aplicativo Home windows, nós altamente recomendamos seguir as orientações Desenvolvendo aplicativos e recursos de IA generativos responsáveis ​​no Home windows. Esta orientação o ajudará a compreender 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 apresentar considerações específicas ao selecionar um modelo que seja seguro e responsável para trabalhar.

Como otimizo um modelo de ML para execução no Home windows?

Existem diferentes maneiras de usar modelos de ML em aplicativos do Home windows, dependendo do tipo, da origem e do formato dos modelos e do tipo de aplicativo.

Alguns dos formatos em que você encontrará modelos de ML incluem:

  • 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 o ONNX Runtime (ORT) para carregar e executar o modelo em seu aplicativo Home windows. ORT permite que você acesse os recursos de inferência acelerados 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, poderá convertê-lo para 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 (Journey Collection for Generative AI Software Structure). Para tutoriais sobre como criar e usar modelos ONNX, consulte Tutoriais ONNX no GitHub. Para obter exemplos que demonstram como usar modelos ONNX em um aplicativo do Home windows, consulte a Galeria de exemplos de IA no Home windows.

  • PyTorch: uma estrutura de aprendizado profundo de código aberto muito common, disponível com interface Python e C++. Este provavelmente será o formato mais comum que você encontrará para modelos de ML. Se quiser usar modelos PyTorch ML em seu aplicativo Home windows (C# ou C++) ou em um aplicativo Internet, 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 obter exemplos, verifique Exemplos de TorchSharp, TorchScript for Deployment, Exemplos de PyTorch C++. Para aplicativos net, confira Construir um aplicativo net com ONNX Runtime. Para obter exemplos de como executar modelos PyTorch com DirectML, consulte a Galeria de exemplos de IA no Home windows.

  • TensorFlow é outra biblioteca common de software program de código aberto para aprendizado de máquina e inteligência synthetic usada para construir e implantar modelos de aprendizado de máquina para diversas tarefas.

  • API WebNN para aplicativos da net: Um padrão da net para acessar aceleração de {hardware} de rede neural em navegadores, baseado nas APIs WebIDL e JavaScript. Ele permite que os desenvolvedores net criem e executem modelos de aprendizado de máquina com eficiência no lado do cliente, sem depender de serviços em nuvem ou bibliotecas nativas. Amostras WebNN no GitHub. Amostras WebNN usando ONNX Runtime na Galeria de Amostras do AI no Home windows.

Como faço o ajuste fino de um modelo de ML com meus dados personalizados para execução no Home windows?

AI Toolkit for Visible Studio Code é uma extensão do VS Code que permite baixar e executar modelos de IA localmente. O AI Toolkit também pode ajudá-lo com:

  • Testando modelos em um playground intuitivo ou em seu aplicativo com uma API REST.
  • Ajustar seu modelo de IA, tanto localmente quanto na nuvem (em uma máquina digital) para criar novas habilidades, melhorar a confiabilidade das respostas e definir o tom e o formato da resposta.
  • Ajustando 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.

Como posso aproveitar a aceleração de {hardware} para obter melhor desempenho com recursos de IA

DirectML é uma API de baixo nível que permite que o {hardware} do dispositivo Home 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 direta para os desenvolvedores levarem IA acelerada por {hardware} para seus usuários em escala. Saiba mais: Visão geral do DirectML.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button