Perguntas frequentes sobre o uso de IA em aplicativos do Home windows

Em geral

Como posso integrar IA ao meu aplicativo cliente Home windows?

A integração de IA em seu aplicativo Home windows pode ser obtida por meio de dois métodos principais: um modelo native ou um modelo baseado em nuvem. Para a opção de modelo native, você tem a capacidade de utilizar um modelo pré-existente ou treinar o seu próprio usando plataformas como TensorFlow ou PyTorch e, em seguida, incorporá-lo ao seu aplicativo through OnnxRuntime. O Home windows Copilot Runtime oferece APIs para várias funções, incluindo OCR ou utilização do modelo Phi Silica. Por outro lado, hospedar seu modelo na nuvem e acessá-lo por meio de uma API REST permite que seu aplicativo permaneça simplificado delegando tarefas que exigem muitos recursos para a nuvem. Consulte Usar modelos de Machine Studying em seu aplicativo Home windows para obter mais informações.

Quais linguagens de programação são melhores para desenvolver IA em aplicativos cliente Home windows?

Você pode usar qualquer linguagem de programação que preferir. Por exemplo, C# é amplamente usado para criar aplicativos de cliente do Home windows. Se você precisar de mais controle sobre detalhes de baixo nível, C++ é uma excelente opção. Como alternativa, você pode considerar usar Python. Você também pode usar o Home windows Subsystem for Linux (WSL) para executar ferramentas de IA baseadas em Linux no Home windows.

Quais são as melhores estruturas de IA para aplicativos cliente Home windows?

Recomendamos usar o OnnxRuntime.

Como devo lidar com a privacidade e a segurança dos dados ao usar IA em aplicativos cliente do Home windows?

Respeitar a privacidade e a segurança dos dados do usuário é essencial ao desenvolver aplicativos com tecnologia de IA. Você deve seguir as melhores práticas para o tratamento de dados, como criptografar dados confidenciais, usar conexões seguras e obter o consentimento do usuário antes de coletar dados. Você também deve ser transparente sobre como está usando os dados e dar aos usuários controle sobre seus dados. Certifique-se de ler Creating Accountable Generative AI Functions and Options on Home windows também.

Quais são os requisitos de sistema para executar IA em aplicativos cliente do Home windows?

Os requisitos do sistema para aplicativos do Home windows que usam IA dependem da complexidade do modelo de IA e da aceleração de {hardware} usada. Para modelos simples, uma CPU moderna pode ser suficiente, mas para modelos mais complexos, uma GPU ou NPU pode ser necessária. Você também deve considerar os requisitos de memória e armazenamento do seu aplicativo, bem como a largura de banda de rede necessária para serviços de IA baseados em nuvem.

Como otimizar o desempenho da IA ​​em aplicativos cliente do Home windows?

Para otimizar o desempenho da IA ​​em aplicativos do Home windows, você deve considerar usar aceleração de {hardware}, como GPUs ou NPUs, para acelerar a inferência do modelo. Os laptops Home windows Copilot+ são otimizados para cargas de trabalho de IA e podem fornecer um aumento significativo no desempenho para tarefas de IA. Veja também a visão geral do AI Toolkit for Visible Studio Code.

Posso usar modelos de IA pré-treinados no meu aplicativo cliente Home windows?

Sim, você pode usar modelos de IA pré-treinados no seu aplicativo do Home windows. Você pode baixar modelos pré-treinados da web ou usar um serviço de IA baseado em nuvem para acessar modelos pré-treinados. Você pode então integrar esses modelos ao seu aplicativo usando uma estrutura como OnnxRuntime.

O que é DirectML?

DirectML é uma API de baixo nível para aprendizado de máquina que fornece aceleração de GPU para tarefas comuns de aprendizado de máquina em uma ampla variedade de {hardware} e drivers suportados, incluindo todas as GPUs compatíveis com DirectX 12 de fornecedores como AMD, Intel, NVIDIA e Qualcomm.

O que é ONNX?

Open Community Neural Change, ou ONNX, é um formato padrão aberto para representar modelos de ML. Frameworks de modelos de ML populares, como PyTorch, TensorFlow, SciKit-Be taught, Keras, Chainer, MATLAB, and so on., podem ser exportados ou convertidos para o formato ONNX padrão. Uma vez no formato ONNX, o modelo pode ser executado em uma variedade de plataformas e dispositivos. ONNX é bom para usar um modelo de ML em um formato diferente daquele em que foi treinado.

O que é TRO?

OnnxRuntime, ou ORT, é uma ferramenta de tempo de execução unificada para executar modelos em diferentes estruturas (PyTorch, TensorFlow, and so on.) que oferece suporte a aceleradores de {hardware} (CPUs, GPUs ou NPUs de dispositivos).

Como o ONNX se diferencia de outras estruturas de ML, como PyTorch ou TensorFlow?

PyTorch e TensorFlow são usados ​​para desenvolver, treinar e executar modelos de aprendizado profundo usados ​​em aplicativos de IA. PyTorch é frequentemente usado para pesquisa, TensorFlow é frequentemente usado para implantação na indústria e ONNX é um modelo padronizado formato de troca de modelo que preenche a lacuna, permitindo que você alterne entre estruturas conforme necessário e seja compatível entre plataformas.

O que é uma NPU? Qual a diferença entre uma CPU ou GPU?

Uma Unidade de Processamento Neural, ou NPU, é um chip de IA dedicado projetado especificamente para executar tarefas de IA. O foco de uma NPU difere daquele de uma CPU ou GPU. Uma Unidade de Processamento Central, ou CPU, é o processador primário em um computador, responsável por executar instruções e cálculos de propósito geral. Uma Unidade de Processamento Gráfico, ou GPU, é um processador especializado projetado para renderizar gráficos e otimizado para processamento paralelo. Ele é capaz de renderizar imagens complexas para tarefas de edição de vídeo e jogos.

As NPUs são projetadas para acelerar algoritmos de aprendizado profundo e podem remover parte do trabalho da CPU ou GPU de um computador, para que o dispositivo possa funcionar de forma mais eficiente. As NPUs são construídas especificamente para acelerar tarefas de rede neural. Elas se destacam no processamento de grandes quantidades de dados em paralelo, tornando-as ideais para tarefas comuns de IA, como reconhecimento de imagem ou processamento de linguagem pure. Por exemplo, durante uma tarefa de reconhecimento de imagem, a NPU pode ser responsável pela detecção de objetos ou aceleração de imagem, enquanto a GPU assume a responsabilidade pela renderização de imagem.

Como posso descobrir que tipo de CPU, GPU ou NPU meu dispositivo tem?

Para verificar o tipo de CPU, GPU ou NPU no seu dispositivo Home windows e seu desempenho, abra o Gerenciador de Tarefas (Ctrl + Alt + Delete) e selecione Desempenho aba e você poderá ver a CPU, memória, Wi-Fi, GPU e/ou NPU da sua máquina listados, juntamente com informações sobre sua velocidade, taxa de utilização e outros dados.

O que é WinML?

WinML, ou Home windows Machine Studying, é uma API de alto nível para implementar modelos de machine studying (ML) acelerados por {hardware} em dispositivos Home windows que permite que os desenvolvedores utilizem os recursos do dispositivo para executar inferência de modelo. O foco está no carregamento, vinculação e avaliação do modelo. WinML utiliza o formato de modelo ONNX.

Conceitos úteis de IA

O que é um Giant Language Mannequin (LLM)?

Um LLM é um tipo de modelo de Machine Studying (ML) conhecido pela capacidade de atingir geração e compreensão de linguagem de propósito geral. LLMs são redes neurais artificiais que adquirem capacidades aprendendo relações estatísticas de grandes quantidades de documentos de texto durante um processo de treinamento autossupervisionado e semissupervisionado computacionalmente intensivo. LLMs são frequentemente usados ​​para geração de texto, uma forma de IA generativa que, dado algum texto de entrada, gera palavras (ou “tokens”) que têm mais probabilidade de criar frases coerentes e contextualmente relevantes em troca. Existem também Small Language Fashions (SLMs) que têm menos parâmetros e capacidade mais limitada, mas podem ser mais eficientes (exigindo menos recursos computacionais), econômicos e ideais para domínios específicos.

O que é treinamento de modelo de ML?

Em Machine Studying, o treinamento de modelo envolve alimentar um conjunto de dados em um modelo (um LLM ou SLM), permitindo que ele aprenda com os dados para que o modelo possa fazer previsões ou decisões com base nesses dados, reconhecendo padrões. Também pode envolver o ajuste dos parâmetros do modelo iterativamente para otimizar seu desempenho.

O que é inferência?

O processo de usar um modelo de aprendizado de máquina treinado para fazer previsões ou classificações em dados novos e não vistos é chamado de “Inferência”. Uma vez que um modelo de linguagem foi treinado em um conjunto de dados, aprendendo seus padrões e relacionamentos subjacentes, ele está pronto para aplicar esse conhecimento a cenários do mundo actual. A inferência é o momento da verdade de um modelo de IA, um teste de quão bem ele pode aplicar as informações aprendidas durante o treinamento para fazer uma previsão ou resolver uma tarefa. O processo de usar um modelo existente para inferência é diferente da fase de treinamento, que requer o uso de dados de treinamento e validação para desenvolver o modelo e ajustar seus parâmetros.

O que é ajuste fino do modelo de ML?

O ajuste fino é uma etapa essential no aprendizado de máquina, onde um modelo pré-treinado é adaptado para executar uma tarefa específica. Em vez de treinar um modelo do zero, o ajuste fino começa com um modelo existente (geralmente treinado em um grande conjunto de dados) e ajusta seus parâmetros usando um conjunto de dados menor e específico da tarefa. Com o ajuste fino, o modelo aprende recursos específicos da tarefa, mantendo o conhecimento geral adquirido durante o pré-treinamento, resultando em desempenho aprimorado para aplicativos específicos.

O que é engenharia rápida?

Engenharia de immediate é uma abordagem estratégica usada com IA generativa para moldar o comportamento e as respostas de um modelo de linguagem. Ela envolve elaborar cuidadosamente prompts de entrada ou consultas para atingir o resultado desejado de um modelo de linguagem (como GPT-3 ou GPT-4). Ao projetar um immediate eficaz, você pode orientar um modelo de ML para produzir o tipo de resposta que deseja. As técnicas incluem ajustar a redação, especificar o contexto ou usar códigos de controle para influenciar a saída do modelo.

O que é aceleração de {hardware} (em relação ao treinamento de modelos de ML)?

Aceleração de {hardware} refere-se ao uso de {hardware} de computador especializado projetado para acelerar aplicativos de IA além do que é possível com CPUs de uso geral. A aceleração de {hardware} melhora a velocidade, a eficiência energética e o desempenho geral de tarefas de aprendizado de máquina, como modelos de treinamento, fazer previsões ou descarregar computação para componentes de {hardware} dedicados que se destacam no processamento paralelo para cargas de trabalho de aprendizado profundo. GPUs e NPUs são exemplos de aceleradores de {hardware}.

Quais são as diferenças entre um cientista de dados, um engenheiro de ML e um desenvolvedor de aplicativos que deseja aplicar recursos de IA em seu aplicativo?

O processo de criação e uso de modelos de ML envolve três funções principais: Cientistas de Dados: Responsável por definir o problema, coletar e analisar os dados, escolher e treinar o algoritmo de ML e avaliar e interpretar os resultados. Eles usam ferramentas como Python, R, Jupyter Pocket book, TensorFlow, PyTorch e scikit-learn para executar essas tarefas. Engenheiros de ML: Responsável por implantar, monitorar e manter os modelos de ML em ambientes de produção. Eles usam ferramentas como Docker, Kubernetes, Azure ML, AWS SageMaker e Google Cloud AI Platform para garantir a escalabilidade, confiabilidade e segurança dos modelos de ML. Desenvolvedores de aplicativos: Responsável por integrar os modelos de ML na lógica do aplicativo, UI e UX. Eles usam ferramentas como Home windows Copilot Runtime, OnnxRuntime ou REST APIs e processam a entrada do usuário e a saída do modelo. Cada função envolve diferentes responsabilidades e habilidades, mas a colaboração e a comunicação entre essas funções são necessárias para atingir os melhores resultados. Dependendo do tamanho e da complexidade do projeto, essas funções podem ser desempenhadas pela mesma pessoa ou por equipes diferentes.

Exit mobile version