Discorde
Anglais | Chine | 日本語
ModelScope repose sur la notion de « Model-as-a-Service » (MaaS). Il vise à rassembler les modèles d'apprentissage automatique les plus avancés de la communauté de l'IA et à rationaliser le processus d'exploitation des modèles d'IA dans des applications du monde réel. La bibliothèque principale ModelScope open source de ce référentiel fournit les interfaces et les implémentations qui permettent aux développeurs d'effectuer l'inférence, la formation et l'évaluation de modèles.
En particulier, avec de riches couches d'abstraction API, la bibliothèque ModelScope offre une expérience unifiée pour explorer des modèles de pointe couvrant des domaines tels que le CV, la PNL, la parole, la multimodalité et le calcul scientifique. Les contributeurs de modèles de différents domaines peuvent intégrer des modèles dans l'écosystème ModelScope via les API en couches, permettant un accès facile et unifié à leurs modèles. Une fois intégrés, l'inférence, le réglage fin et les évaluations du modèle peuvent être effectués avec seulement quelques lignes de codes. Entre-temps, des flexibilités sont également prévues afin que différents composants des applications modèles puissent être personnalisés si nécessaire.
En plus d'héberger des implémentations d'un large éventail de modèles différents, la bibliothèque ModelScope permet également les interactions nécessaires avec les services backend ModelScope, en particulier avec Model-Hub et Dataset-Hub. De telles interactions facilitent la gestion transparente de diverses entités (modèles et ensembles de données), y compris la recherche d'entités, le contrôle de version, la gestion du cache et bien d'autres.
Des centaines de modèles sont rendus publics sur ModelScope (plus de 700 et plus), couvrant les derniers développements dans des domaines tels que la PNL, le CV, l'audio, la multimodalité et l'IA pour la science, etc. Beaucoup de ces modèles représentent le SOTA dans leur domaines spécifiques et ont fait leurs débuts en open source sur ModelScope. Les utilisateurs peuvent visiter ModelScope (modelscope.cn) et découvrir directement les performances de ces modèles via une expérience en ligne, en quelques clics seulement. Une expérience de développeur immédiate est également possible grâce au ModelScope Notebook, qui s'appuie sur un environnement de développement CPU/GPU prêt à l'emploi dans le cloud - en un seul clic sur ModelScope.
Voici quelques exemples représentatifs :
LLM :
Yi-1.5-34B-Chat
Qwen1.5-110B-Chat
DeepSeek-V2-Chat
Ziya2-13B-Chat
Meta-Llama-3-8B-Instruct
Phi-3-mini-128k-instruct
Multimodal :
Qwen-VL-Chat
Yi-VL-6B
StagiaireVL-Chat-V1-5
deepseek-vl-7b-chat
OuvrirSoraPlan
OuvrirSora
I2VGen-XL
CV :
Modèle de point clé de détection de visage DamoFD - 0,5G
Tapis de portrait BSHM
Caricature de portraits DCT-Net - 3D
Modèle de caricature de portrait DCT-Net - 3D
DuGuang - Reconnaissance de texte - Modèle de reconnaissance de ligne - Chinois et anglais - Domaine général
DuGuang - Reconnaissance de texte - Modèle de reconnaissance de ligne - Chinois et anglais - Domaine général
Peinture d'images LaMa
Audio :
Reconnaissance vocale Paraformer - Chinois - Général - 16k - Hors ligne - Grande - Version audio longue
Détection de point de terminaison vocal FSMN - Chinois - Général - 16k - onnx
Prédiction de l'horodatage de la parole par aligneur monotonique - 16k - Hors ligne
Ponctuation CT-Transformer - Chinois - Général - onnx
Synthèse vocale - Chinois - Domaine d'émotions multiples - 16k - Plusieurs locuteurs
Vérification du haut-parleur CAM++ - Chinois - Général - 200 000 Spkrs
L'IA pour la science :
monomère unifold
multimètre uni-fold
Remarque : La plupart des modèles sur ModelScope sont publics et peuvent être téléchargés sans enregistrement de compte sur le site Web de modelscope (www.modelscope.cn). Veuillez vous référer aux instructions de téléchargement de modèles, pour télécharger des modèles avec l'API fournie par la bibliothèque modelscope ou git.
Nous fournissons une interface unifiée pour l'inférence à l'aide pipeline
, le réglage fin et l'évaluation à l'aide Trainer
pour différentes tâches.
Pour toute tâche donnée avec n'importe quel type d'entrée (image, texte, audio, vidéo...), un pipeline d'inférence peut être implémenté avec seulement quelques lignes de code, qui chargeront automatiquement le modèle sous-jacent pour obtenir le résultat de l'inférence, comme illustré. ci-dessous:
> >> from modelscope . pipelines import pipeline
> >> word_segmentation = pipeline ( 'word-segmentation' , model = 'damo/nlp_structbert_word-segmentation_chinese-base' )
> >> word_segmentation ( '今天天气不错,适合出去游玩' )
{ 'output' : '今天 天气 不错 , 适合 出去 游玩' }
Étant donné une image, le maillage du portrait (c'est-à-dire la suppression de l'arrière-plan) peut être réalisé avec l'extrait de code suivant :
> >> import cv2
> >> from modelscope . pipelines import pipeline
> >> portrait_matting = pipeline ( 'portrait-matting' )
> >> result = portrait_matting ( 'https://modelscope.oss-cn-beijing.aliyuncs.com/test/images/image_matting.png' )
> >> cv2 . imwrite ( 'result.png' , result [ 'output_img' ])
L'image de sortie avec l'arrière-plan supprimé est :
Le réglage fin et l'évaluation peuvent également être effectués avec quelques lignes de code supplémentaires pour configurer l'ensemble de données de formation et le formateur, le gros travail de formation et d'évaluation étant un modèle encapsulé dans l'implémentation de traner.train()
et trainer.evaluate()
interfaces.
Par exemple, le modèle de base gpt3 (1.3B) peut être affiné avec l'ensemble de données de poésie chinoise, ce qui donne un modèle qui peut être utilisé pour la génération de poésie chinoise.
> >> from modelscope . metainfo import Trainers
> >> from modelscope . msdatasets import MsDataset
> >> from modelscope . trainers import build_trainer
> >> train_dataset = MsDataset . load ( 'chinese-poetry-collection' , split = 'train' ). remap_columns ({ 'text1' : 'src_txt' })
> >> eval_dataset = MsDataset . load ( 'chinese-poetry-collection' , split = 'test' ). remap_columns ({ 'text1' : 'src_txt' })
> >> max_epochs = 10
> >> tmp_dir = './gpt3_poetry'
> >> kwargs = dict (
model = 'damo/nlp_gpt3_text-generation_1.3B' ,
train_dataset = train_dataset ,
eval_dataset = eval_dataset ,
max_epochs = max_epochs ,
work_dir = tmp_dir )
> >> trainer = build_trainer ( name = Trainers . gpt3_trainer , default_args = kwargs )
> >> trainer . train ()
Une interface utilisateur unifiée et concise est abstraite pour différentes tâches et différents modèles. Les inférences de modèles et la formation peuvent être mises en œuvre avec seulement 3 et 10 lignes de code, respectivement. Il est pratique pour les utilisateurs d'explorer des modèles dans différents domaines de la communauté ModelScope. Tous les modèles intégrés à ModelScope sont prêts à l’emploi, ce qui facilite l’initiation à l’IA, aussi bien dans un contexte éducatif qu’industriel.
ModelScope offre une expérience de développement et d'application centrée sur le modèle. Il rationalise la prise en charge de la formation, de l'inférence, de l'exportation et du déploiement des modèles, et permet aux utilisateurs de créer leurs propres MLOps basés sur l'écosystème ModelScope.
Pour le processus d'inférence et de formation de modèle, une conception modulaire est mise en place et une multitude d'implémentations de modules fonctionnels sont fournies, ce qui permet aux utilisateurs de personnaliser facilement leur propre inférence de modèle, leur formation et d'autres processus.
Pour la formation de modèles distribués, en particulier pour les grands modèles, il fournit un support riche en stratégies de formation, notamment le parallèle de données, le parallèle de modèle, le parallèle hybride, etc.
ModelScope Library prend actuellement en charge un cadre d'apprentissage en profondeur populaire pour la formation et l'inférence de modèles, notamment PyTorch, TensorFlow et ONNX. Toutes les versions sont testées et exécutées sur Python 3.7+, Pytorch 1.8+, Tensorflow1.15 ou Tensorflow2.0+.
Pour permettre une utilisation prête à l'emploi pour tous les modèles sur ModelScope, des images Docker officielles sont fournies pour toutes les versions. Sur la base de l'image Docker, les développeurs peuvent ignorer toute l'installation et la configuration de l'environnement et l'utiliser directement. Actuellement, la dernière version de l’image CPU et de l’image GPU peut être obtenue à partir de :
Image du menu fixe du processeur
# py37
registry.cn-hangzhou.aliyuncs.com/modelscope-repo/modelscope:ubuntu20.04-py37-torch1.11.0-tf1.15.5-1.6.1
# py38
registry.cn-hangzhou.aliyuncs.com/modelscope-repo/modelscope:ubuntu20.04-py38-torch2.0.1-tf2.13.0-1.9.5
Image du menu Docker GPU
# py37
registry.cn-hangzhou.aliyuncs.com/modelscope-repo/modelscope:ubuntu20.04-cuda11.3.0-py37-torch1.11.0-tf1.15.5-1.6.1
# py38
registry.cn-hangzhou.aliyuncs.com/modelscope-repo/modelscope:ubuntu20.04-cuda11.8.0-py38-torch2.0.1-tf2.13.0-1.9.5
On peut également configurer un environnement ModelScope local en utilisant pip et conda. ModelScope prend en charge python3.7 et supérieur. Nous suggérons Anaconda pour créer un environnement Python local :
conda create -n modelscope python=3.8
conda activate modelscope
PyTorch ou TensorFlow peuvent être installés séparément selon les exigences de chaque modèle.
Après avoir installé le framework d'apprentissage automatique nécessaire, vous pouvez installer la bibliothèque modelscope comme suit :
Si vous souhaitez uniquement jouer avec le framework modelscope, ou essayer le téléchargement de modèles/ensembles de données, vous pouvez installer les composants principaux de modelscope :
pip install modelscope
Si vous souhaitez utiliser des modèles multimodaux :
pip install modelscope[multi-modal]
Si vous souhaitez utiliser des modèles NLP :
pip install modelscope[nlp] -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
Si vous souhaitez utiliser des modèles de CV :
pip install modelscope[cv] -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
Si vous souhaitez utiliser des modèles audio :
pip install modelscope[audio] -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
Si vous souhaitez utiliser des modèles scientifiques :
pip install modelscope[science] -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
Notes
:
Actuellement, certains modèles de tâches audio ne prennent en charge que les environnements Linux python3.7, tensorflow1.15.4. La plupart des autres modèles peuvent être installés et utilisés sous Windows et Mac (x86).
Certains modèles dans le domaine audio utilisent la bibliothèque tierce SoundFile pour le traitement des fichiers wav. Sur le système Linux, les utilisateurs doivent installer manuellement libsndfile de SoundFile (lien doc). Sous Windows et MacOS, il sera installé automatiquement sans intervention de l'utilisateur. Par exemple, sur Ubuntu, vous pouvez utiliser les commandes suivantes :
sudo apt-get update
sudo apt-get install libsndfile1
Certains modèles en vision par ordinateur nécessitent mmcv-full, vous pouvez vous référer au guide d'installation de mmcv, une installation minimale est la suivante :
pip uninstall mmcv # if you have installed mmcv, uninstall it
pip install -U openmim
mim install mmcv-full
Nous fournissons des documentations supplémentaires, notamment :
Ce projet est sous licence Apache (version 2.0).
@Misc{modelscope,
title = {ModelScope: bring the notion of Model-as-a-Service to life.},
author = {The ModelScope Team},
howpublished = {url{https://github.com/modelscope/modelscope}},
year = {2023}
}