AI Personal Learning
und praktische Anleitung
Sitzsack Marscode1

MNN-LLM-Android: MNN Multimodale Sprachmodellierung für Android

Allgemeine Einführung

MNN (Mobile Neural Network) ist ein effizientes, leichtgewichtiges Deep-Learning-Framework, das von Alibaba entwickelt und für mobile Geräte optimiert wurde. MNN ermöglicht nicht nur schnelle Inferenzen auf mobilen Geräten, sondern unterstützt auch multimodale Aufgaben wie Texterzeugung, Bilderzeugung und Audioverarbeitung usw. MNN wurde in mehrere Alibaba-Anwendungen wie Taobao, Tmall, Youku, Nail und Idle Fish integriert und deckt mehr als 70 Nutzungsszenarien wie Live-Streaming, kurze Videoaufnahmen, Suchempfehlungen und Produktbildsuche ab.


 

Funktionsliste

  • multimodale UnterstützungUnterstützt eine Vielzahl von Aufgaben wie Texterstellung, Bilderzeugung und Audioverarbeitung.
  • Optimierung der CPU-InferenzHervorragende CPU-Inferenzleistung auf mobilen Geräten.
  • Leichtgewichtiger RahmenDas Framework ist so konzipiert, dass es leichtgewichtig ist und sich an die Ressourcenbeschränkungen mobiler Geräte anpasst.
  • weit verbreitetEs ist in mehrere Anwendungen von Alibaba integriert und deckt ein breites Spektrum von Geschäftsszenarien ab.
  • offene QuelleVollständiger Open-Source-Code und Dokumentation werden zur einfachen Integration und Weiterentwicklung bereitgestellt.

 

Hilfe verwenden

Einbauverfahren

  1. Herunterladen & InstallierenKlonen von Projektcode aus einem GitHub-Repository.
    git clone https://github.com/alibaba/MNN.git
    cd MNN
    

2. **编译项目**:根据项目提供的README文档,配置编译环境并编译项目。
```bash
mkdir build
cd build
cmake ..
make -j4
  1. Integration in Android-Anwendungen: Integrieren Sie die kompilierten Bibliotheksdateien in das Android-Projekt, indem Sie diebuild.gradleDatei für die Konfiguration.

Verwendung

multimodale Fähigkeit

MNN unterstützt eine Vielzahl von multimodalen Aufgaben, einschließlich Texterzeugung, Bilderzeugung und Audioverarbeitung. Im Folgenden finden Sie Beispiele für die Verwendung dieser Funktionen:

  • TextgenerierungTextgenerierung mit Hilfe von vortrainierten Sprachmodellen.
    import MNN
    interpreter = MNN.Interpreter("text_model.mnn")
    session = interpreter.createSession()
    input_tensor = interpreter.getSessionInput(session)
    # 输入文本进行预处理
    input_data = preprocess_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)
    
  • Bilderzeugung: Bilderzeugung mit vortrainierten generativen Modellen.
    import MNN
    interpreter = MNN.Interpreter("image_model.mnn")
    session = interpreter.createSession()
    input_tensor = interpreter.getSessionInput(session)
    # 输入数据进行预处理
    input_data = preprocess_image("输入图像")
    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)
    
  • AudioverarbeitungAudio-Generierung oder -Verarbeitung unter Verwendung vorher trainierter Audiomodelle.
    import MNN
    interpreter = MNN.Interpreter("audio_model.mnn")
    session = interpreter.createSession()
    input_tensor = interpreter.getSessionInput(session)
    # 输入音频数据进行预处理
    input_data = preprocess_audio("输入音频")
    input_tensor.copyFrom(input_data)
    interpreter.runSession(session)
    output_tensor = interpreter.getSessionOutput(session)
    output_data = output_tensor.copyToHostTensor()
    result = postprocess_audio(output_data)
    print(result)
    

Detaillierte Vorgehensweise

  1. Erstellen von Reasoning-InstanzenInitialisieren des MNN-Modells und Erstellen einer Inferenzsitzung.
    import MNN
    interpreter = MNN.Interpreter("model.mnn")
    session = interpreter.createSession()
    
  2. Vorverarbeitung der EingangsdatenVorverarbeitung der Eingabedaten entsprechend dem Modelltyp.
    input_tensor = interpreter.getSessionInput(session)
    input_data = preprocess_data("输入数据")
    input_tensor.copyFrom(input_data)
    
  3. exekutive Argumentation: Führen Sie die Sitzung zur Argumentation durch.
    interpreter.runSession(session)
    
  4. Nachbearbeitung der AusgabedatenAbrufen und Nachbearbeiten der Ausgabe.
    output_tensor = interpreter.getSessionOutput(session)
    output_data = output_tensor.copyToHostTensor()
    result = postprocess_data(output_data)
    print(result)
    
Darf nicht ohne Genehmigung vervielfältigt werden:Leiter des AI-Austauschkreises " MNN-LLM-Android: MNN Multimodale Sprachmodellierung für Android
de_DEDeutsch