Aprendizagem pessoal com IA
e orientação prática

MNN-LLM-Android: modelagem de linguagem multimodal MNN para Android

Introdução geral

A MNN (Mobile Neural Network) é uma estrutura de aprendizagem profunda leve e eficiente desenvolvida pela Alibaba e otimizada para dispositivos móveis. A MNN não só permite a inferência rápida em dispositivos móveis, mas também suporta tarefas multimodais, incluindo geração de texto, geração de imagens e processamento de áudio, etc. A MNN foi integrada a vários aplicativos da Alibaba, como Taobao, Tmall, Youku, Nail e Idle Fish, abrangendo mais de 70 cenários de uso, como transmissão ao vivo, captura de vídeos curtos, recomendação de pesquisa e pesquisa de imagens de produtos.


 

Lista de funções

  • suporte multimodalSuporte a uma ampla gama de tarefas, como geração de texto, geração de imagens e processamento de áudio.
  • Otimização da inferência da CPUDesempenho de inferência de CPU excelente em dispositivos móveis.
  • Estrutura leveEstrutura: A estrutura foi projetada para ser leve e adequada às restrições de recursos dos dispositivos móveis.
  • amplamente utilizadoIntegração: Está integrado a vários aplicativos do Alibaba, abrangendo uma ampla gama de cenários comerciais.
  • código abertoCódigo-fonte aberto completo e documentação são fornecidos para facilitar a integração e o desenvolvimento secundário.

 

Usando a Ajuda

Processo de instalação

  1. Download e instalaçãoClonar o código do projeto de um repositório do GitHub.
    git clone https://github.com/alibaba/MNN.git
    cd MNN
    

2. **Compilar o projeto**: Configure o ambiente de compilação e compile o projeto de acordo com o arquivo README fornecido pelo projeto.
```bash
mkdir build
cd build
cmake ...
make -j4
  1. Integração em aplicativos AndroidIntegre os arquivos de biblioteca compilados ao projeto Android modificando o arquivobuild.gradlepara configuração.

Uso

capacidade multimodal

O MNN oferece suporte a uma variedade de tarefas multimodais, incluindo geração de texto, geração de imagens e processamento de áudio. A seguir, exemplos de como usar esses recursos:

  • Geração de textoGeração de texto usando modelos de linguagem pré-treinados.
    importar MNN
    Interpreter = MNN.Interpreter("text_model.mnn")
    sessão = interpreter.createSession()
    input_tensor = interpreter.getSessionInput(session)
    # Texto de entrada para pré-processamento
    input_data = preprocess_text("input text")
    input_tensor.copyFrom(input_data)
    interpreter.runSession(session)
    output_tensor = interpreter.getSessionOutput(session)
    output_data = output_tensor.copyToHostTensor()
    result = postprocess_text(output_data)
    print(result)
    
  • Geração de imagensGeração de imagens usando modelos generativos pré-treinados.
    importar MNN
    Interpreter = MNN.Interpreter("image_model.mnn")
    sessão = interpreter.createSession()
    input_tensor = interpreter.getSessionInput(session)
    # Dados de entrada para pré-processamento
    input_data = preprocess_image("imagem de entrada")
    input_tensor.copyFrom(input_data)
    interpreter.runSession(session)
    output_tensor = interpreter.getSessionOutput(session)
    output_data = output_tensor.copyToHostTensor()
    result = postprocess_image(output_data)
    print(result)
    
  • processamento de áudioGeração ou processamento de áudio usando modelos de áudio pré-treinados.
    importar MNN
    Interpreter = MNN.Interpreter("audio_model.mnn")
    sessão = interpreter.createSession()
    input_tensor = interpreter.getSessionInput(session)
    # Dados de áudio de entrada para pré-processamento
    input_data = preprocess_audio("input audio")
    input_tensor.copyFrom(input_data)
    interpretador.runSession(sessão)
    output_tensor = interpreter.getSessionOutput(session)
    output_data = output_tensor.copyToHostTensor()
    result = postprocess_audio(output_data)
    print(result)
    

Procedimento de operação detalhado

  1. Criação de instâncias de raciocínioInicialização do modelo MNN e criação de uma sessão de inferência.
    importar MNN
    Interpreter = MNN.Interpreter("model.mnn")
    sessão = interpreter.createSession()
    
  2. Pré-processamento de dados de entradaPré-processamento dos dados de entrada de acordo com o tipo de modelo.
    input_tensor = interpreter.getSessionInput(session)
    input_data = preprocess_data("input data")
    input_tensor.copyFrom(input_data)
    
  3. raciocínio executivoExecute a sessão para raciocínio.
    interpreter.runSession(session)
    
  4. Pós-processamento de dados de saídaObtenha a saída e faça o pós-processamento.
    output_tensor = interpreter.getSessionOutput(session)
    output_data = output_tensor.copyToHostTensor()
    resultado = postprocess_data(output_data)
    print(result)
    
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " MNN-LLM-Android: modelagem de linguagem multimodal MNN para Android

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil