MoshiVis : un modèle open source pour le dialogue vocal en temps réel et la compréhension des images

Introduction générale

MoshiVis est un projet open source développé par Kyutai Labs et hébergé sur GitHub. Il est basé sur le modèle parole-texte Moshi (7B paramètres), avec environ 206 millions de nouveaux paramètres d'adaptation et un encodeur visuel gelé PaliGemma2 (400M paramètres), qui permet au modèle de discuter du contenu de l'image avec l'utilisateur en temps réel en utilisant la parole. Il prend en charge les backends PyTorch, Rust et MLX, et les utilisateurs peuvent télécharger gratuitement le code et les poids du modèle pour les exécuter sur leurs appareils locaux. Le projet s'adresse aux développeurs et aux chercheurs, et convient à l'exploration des interactions avec l'IA ou au développement de nouvelles applications.

MoshiVis:实时语音对话和图像理解的开源模型

 

Liste des fonctions

  • Prise en charge de l'entrée et de la sortie vocales en temps réel, le modèle réagit rapidement à la parole de l'utilisateur.
  • Capacité à analyser le contenu d'une image et à en décrire les détails dans un discours ou un texte.
  • Les backends PyTorch, Rust et MLX sont disponibles pour différents matériels.
  • Code source ouvert et poids des modèles, permettant aux utilisateurs de les modifier librement.
  • Conception à faible latence pour les scénarios de dialogue en temps réel.
  • Prend en charge les formats de quantification (par exemple 4 bits, 8 bits) pour optimiser la mémoire et les performances.
  • Mécanisme d'attention croisée intégré pour fusionner les informations visuelles et vocales.

 

Utiliser l'aide

L'installation et l'utilisation de MoshiVis nécessitent quelques compétences techniques. Des instructions officielles détaillées sont fournies, et ce qui suit est un guide complet d'installation et d'utilisation.

Processus d'installation

MoshiVis prend en charge trois versions de backend, ce qui permet aux utilisateurs de choisir celle qui convient à leur appareil. La configuration minimale requise est Python 3.10+, et suffisamment de RAM (un GPU de 24 Go est recommandé pour la version PyTorch, et la version MLX est adaptée aux Macs).

Installation du backend PyTorch

  1. Installer la dépendance :
pip install -U moshi
  1. Téléchargez les poids du modèle et démarrez le service :
cd kyuteye_pt
python -m moshi.server --hf-repo kyutai/moshika-vis-pytorch-bf16 --port 8088
  1. entretiens https://localhost:8088, entrer dans l'interface web.
  2. Si vous travaillez à distance, vous devez utiliser SSH pour transférer le port :
ssh -L 8088:localhost:8088 user@remote

Installation du backend Rust

  1. Installer la chaîne d'outils Rust (via rustup (Accès).
  2. Configurer la prise en charge du GPU (Metal pour Mac, CUDA pour NVIDIA).
  3. Exécuter le service :
cd kyuteye_rs
cargo run --features metal --bin moshi-backend -r -- --config configs/config-moshika-vis.json standalone --vis
  1. Une fois que vous avez vu "standalone worker listening", visitez la page https://localhost:8088.
  2. Version quantifiée en option :
cargo run --features metal --bin moshi-backend -r -- --config configs/config-moshika-vis-q8.json standalone --vis

Installation du backend MLX (Mac recommandé)

  1. Installer la dépendance MLX :
pip install -U moshi_mlx
  1. Service de démarrage (supporte plusieurs formats de quantification) :
cd kyuteye_mlx
python -m moshi_mlx.server  # 默认 BF16
python -m moshi_mlx.server -q 4  # 4 位量化
python -m moshi_mlx.server -q 8  # 8 位量化
  1. entretiens http://localhost:8008 Utiliser l'interface web.

Installation frontale

  1. Télécharger le client pré-construit :
pip install fire rich huggingface_hub
python scripts/get_static_client.py
  1. Générer un certificat SSL (pour HTTPS) :
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout key.pem -out cert.pem
  1. Le back-end fournit une interface web par défaut, sans aucune opération supplémentaire.

Principales fonctions

dialogue vocal en temps réel (RTV)

  • déplacerAprès avoir démarré le service, ouvrez l'interface web (https://localhost:8088 peut-être http://localhost:8008). Cliquez sur l'icône du microphone pour commencer à parler.
  • exemple typiqueLe modèle répondra par une voix féminine (Moshika) : "Bonjour, comment puis-je vous aider ? .
  • pointLes utilisateurs de l'Internet ont la possibilité d'accéder à l'Internet par l'intermédiaire d'une interface web ou par l'intermédiaire d'un téléphone portable.
  • s'adapterLa version Rust prend en charge une interface de ligne de commande :
cd kyuteye_rs
cargo run --bin moshi-cli -r -- tui --host localhost

compréhension graphique

  • déplacerTélécharger une image dans l'interface web ou spécifier un chemin d'accès à l'aide d'une ligne de commande :
python -m moshi_mlx.server -q 8 --image path/to/image.jpg
  • gréementChargez-la et dites : "Qu'est-ce que c'est ?" Le modèle le décrira phonétiquement, par exemple : "C'est une image d'un ciel bleu avec des nuages blancs".
  • caractérisationLe logiciel PaliGemma : Basé sur l'encodeur PaliGemma2, il reconnaît les objets, les couleurs et les scènes.

Personnalisation du modèle

  • déplacer: Téléchargez d'autres poids de Hugging Face (par ex. kyutai/moshika-vis-mlx-bf16), remplacez le chemin dans le fichier de configuration.
  • gréementModification de la loi sur la protection des données configs/moshika-vis.yaml peut-être config-moshika-vis.jsonredémarrer le service.
  • utiliser: Ajuster le style de la voix ou optimiser la performance.

Procédure de fonctionnement complet

  1. Sélectionner le backendChoisissez PyTorch (GPU), Rust (multiplateforme) ou MLX (Mac) en fonction de votre appareil.
  2. environnement d'installationInstaller les dépendances et les modèles conformément à la commande ci-dessus.
  3. Démarrage des servicesLancer le backend et attendre que le service soit prêt.
  4. Interface de connexion: Accédez au port spécifié à l'aide de votre navigateur.
  5. Voix de testLes élèves ont la possibilité de dire des phrases simples et de vérifier les réponses.
  6. Images testLes services d'aide à l'enfance : Téléchargez des photos et posez des questions à voix haute.
  7. Paramètres d'optimisation: Ajustement des paramètres de quantification (-q 4 peut-être -q 8) ou le numéro de port.

mise en garde

  • HTTPS nécessite un certificat SSL, sinon les navigateurs peuvent restreindre l'accès au microphone.
  • La quantification n'est pas prise en charge par PyTorch et nécessite un GPU très performant.
  • La version Rust prend du temps à compiler, soyez donc patient lorsque vous l'exécutez pour la première fois.
  • Version MLX testée stable sur M3 MacBook Pro, recommandée pour les utilisateurs Mac.

 

scénario d'application

  1. Soutien à l'éducation
    Les élèves téléchargent des images de manuels scolaires et MoshiVis explique le contenu à l'aide d'un son, par exemple : "Ceci est un diagramme de la structure d'une cellule, montrant le noyau et les mitochondries".
  2. Aide à l'accessibilité
    Les utilisateurs malvoyants ont téléchargé quotidiennement des photos de modèles décrivant "ceci est un rayon de supermarché rempli de lait et de pain".
  3. expérience de développement
    Les développeurs l'utilisent pour créer des assistants vocaux qui sont intégrés dans les appareils intelligents pour l'interaction avec les images.

 

QA

  1. MoshiVis permet-il une utilisation hors ligne ?
    Oui. Une fois installées, toutes les fonctions s'exécutent localement, sans qu'il soit nécessaire de disposer d'une connexion internet.
  2. Voice prend-il en charge plusieurs langues ?
    Actuellement, il prend en charge principalement les dialogues et les descriptions en anglais, avec des fonctionnalités limitées dans d'autres langues.
  3. Un ordinateur à profil bas peut-il fonctionner ?
    La version MLX fonctionne sur un Mac normal, et la version PyTorch nécessite 24 Go de mémoire GPU.
© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...