MNN-LLM-Android : Modélisation multimodale du langage par MNN pour Android
Introduction générale
MNN (Mobile Neural Network) est un cadre d'apprentissage profond efficace et léger développé par Alibaba et optimisé pour les appareils mobiles.MNN permet non seulement une inférence rapide sur les appareils mobiles, mais prend également en charge des tâches multimodales, notamment la génération de texte, la génération d'images et le traitement audio, etc.MNN a été intégré dans plusieurs applications d'Alibaba telles que Taobao, MNN a été intégré dans plusieurs applications d'Alibaba telles que Taobao, Tmall, Youku, Nail et Idle Fish, couvrant plus de 70 scénarios d'utilisation tels que la diffusion en direct, la capture de courtes vidéos, la recommandation de recherche et la recherche d'images de produits.

Liste des fonctions
- soutien multimodalLe logiciel de gestion de l'information : Il prend en charge un large éventail de tâches telles que la génération de textes, la génération d'images et le traitement de l'audio.
- Optimisation de l'inférence par l'unité centraleLe système d'inférence de l'utilisateur : Il permet d'obtenir d'excellentes performances en matière d'inférence sur les appareils mobiles.
- Cadre légerLe cadre est conçu pour être léger et adapté aux contraintes de ressources des appareils mobiles.
- largement utiliséIl est intégré dans plusieurs applications d'Alibaba, couvrant un large éventail de scénarios commerciaux.
- source ouverteLe code source ouvert et la documentation sont fournis pour faciliter l'intégration et le développement secondaire.
Utiliser l'aide
Processus d'installation
- Téléchargement et installationCloner le code d'un projet à partir d'un dépôt GitHub : Cloner le code d'un projet à partir d'un dépôt GitHub.
git clone https://github.com/alibaba/MNN.git cd MNN
2. **编译项目**:根据项目提供的README文档,配置编译环境并编译项目。
```bash
mkdir build
cd build
cmake ..
make -j4
- Intégration dans les applications AndroidLes fichiers de bibliothèque compilés sont intégrés dans le projet Android en modifiant le fichier
build.gradle
pour la configuration.
Utilisation
capacité multimodale
MNN prend en charge une variété de tâches multimodales, y compris la génération de texte, la génération d'images et le traitement audio. Vous trouverez ci-dessous des exemples d'utilisation de ces fonctionnalités :
- Génération de texte: Génération de textes à l'aide de modèles linguistiques pré-entraînés.
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)
- Génération d'images: Génération d'images à l'aide de modèles génératifs pré-entraînés.
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)
- traitement audioGénération ou traitement audio à l'aide de modèles audio pré-entraînés.
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)
Procédure d'utilisation détaillée
- Création d'instances de raisonnementInitialisation du modèle MNN et création d'une session d'inférence.
import MNN interpreter = MNN.Interpreter("model.mnn") session = interpreter.createSession()
- Prétraitement des données d'entréeLes données d'entrée sont prétraitées en fonction du type de modèle.
input_tensor = interpreter.getSessionInput(session) input_data = preprocess_data("输入数据") input_tensor.copyFrom(input_data)
- raisonnement exécutif: Exécutez la session pour le raisonnement.
interpreter.runSession(session)
- Post-traitement des données de sortieLe résultat : Obtenir le résultat et le traiter a posteriori.
output_tensor = interpreter.getSessionOutput(session) output_data = output_tensor.copyToHostTensor() result = postprocess_data(output_data) print(result)
© déclaration de droits d'auteur
L'article est protégé par le droit d'auteur et ne doit pas être reproduit sans autorisation.
Articles connexes
Pas de commentaires...