Zwietracht
Englisch | 中文 | 日本語
ModelScope basiert auf dem Konzept „Model-as-a-Service“ (MaaS). Ziel ist es, die fortschrittlichsten Modelle für maschinelles Lernen aus der KI-Community zusammenzuführen und den Prozess der Nutzung von KI-Modellen in realen Anwendungen zu optimieren. Die in diesem Repository als Open-Source bereitgestellte ModelScope-Kernbibliothek stellt die Schnittstellen und Implementierungen bereit, die es Entwicklern ermöglichen, Modellinferenzen, -schulungen und -bewertungen durchzuführen.
Insbesondere mit umfangreichen Ebenen der API-Abstraktion bietet die ModelScope-Bibliothek eine einheitliche Erfahrung zur Erforschung modernster Modelle, die sich über Bereiche wie Lebenslauf, NLP, Sprache, Multimodalität und wissenschaftliche Berechnungen erstrecken. Modellmitwirkende aus verschiedenen Bereichen können Modelle über die Layered-APIs in das ModelScope-Ökosystem integrieren und so einen einfachen und einheitlichen Zugriff auf ihre Modelle ermöglichen. Nach der Integration können Modellinferenz, Feinabstimmung und Auswertungen mit nur wenigen Codezeilen durchgeführt werden. Mittlerweile sind auch Flexibilitäten gegeben, so dass unterschiedliche Komponenten in den Modellanwendungen bei Bedarf individuell angepasst werden können.
Die ModelScope-Bibliothek beherbergt nicht nur Implementierungen einer Vielzahl unterschiedlicher Modelle, sondern ermöglicht auch die notwendigen Interaktionen mit ModelScope-Backend-Diensten, insbesondere mit Model-Hub und Dataset-Hub. Solche Interaktionen erleichtern die nahtlose Verwaltung verschiedener Entitäten (Modelle und Datensätze), einschließlich Entitätssuche, Versionskontrolle, Cache-Verwaltung und vielem mehr.
Hunderte von Modellen sind auf ModelScope öffentlich verfügbar (mehr als 700) und decken die neuesten Entwicklungen in Bereichen wie NLP, CV, Audio, Multimodalität und KI für die Wissenschaft usw. ab. Viele dieser Modelle repräsentieren die SOTA in ihrem bestimmte Bereiche und feierten ihr Open-Source-Debüt auf ModelScope. Benutzer können ModelScope (modelscope.cn) besuchen und mit nur wenigen Klicks online aus erster Hand erleben, wie diese Modelle funktionieren. Eine unmittelbare Entwicklererfahrung ist auch über das ModelScope Notebook möglich, das durch eine gebrauchsfertige CPU/GPU-Entwicklungsumgebung in der Cloud unterstützt wird – nur einen Klick von ModelScope entfernt.
Einige repräsentative Beispiele sind:
LLM:
Yi-1,5-34B-Chat
Qwen1.5-110B-Chat
DeepSeek-V2-Chat
Ziya2-13B-Chat
Meta-Llama-3-8B-Anleitung
Phi-3-mini-128k-instruct
Multimodal:
Qwen-VL-Chat
Yi-VL-6B
InternVL-Chat-V1-5
deepseek-vl-7b-chat
OpenSoraPlan
OpenSora
I2VGen-XL
Lebenslauf:
DamoFD-Gesichtserkennungs-Schlüsselpunktmodell – 0,5 G
BSHM-Porträtmattierung
DCT-Net Portrait-Cartoonisierung – 3D
DCT-Net Portrait-Cartoonisierungsmodell – 3D
DuGuang – Texterkennung – Linienerkennungsmodell – Chinesisch und Englisch – Allgemeiner Bereich
DuGuang – Texterkennung – Linienerkennungsmodell – Chinesisch und Englisch – Allgemeiner Bereich
LaMa-Bild-Inpainting
Audio:
Paraformer-Spracherkennung – Chinesisch – Allgemein – 16 KB – Offline – Groß – Lange Audioversion
FSMN Voice Endpoint Detection – Chinesisch – Allgemein – 16k – onnx
Monotonic-Aligner-Sprachzeitstempelvorhersage – 16k – Offline
CT-Transformer-Interpunktion – Chinesisch – Allgemein – onnx
Sprachsynthese – Chinesisch – Domäne mehrerer Emotionen – 16k – mehrere Sprecher
CAM++-Sprecherverifizierung – Chinesisch – Allgemein – 200.000 Sprecher
KI für die Wissenschaft:
uni-fold-monomer
Uni-Fold-Multimer
Hinweis: Die meisten Modelle auf ModelScope sind öffentlich und können ohne Kontoregistrierung auf der Modelscope-Website (www.modelscope.cn) heruntergeladen werden. Bitte lesen Sie die Anweisungen zum Herunterladen von Modellen und zum Herunterladen von Modellen mit einer API, die von der Modelscope-Bibliothek oder Git bereitgestellt wird.
Wir bieten eine einheitliche Schnittstelle für Inferenz mithilfe pipeline
, Feinabstimmung und Auswertung mithilfe Trainer
für verschiedene Aufgaben.
Für jede gegebene Aufgabe mit jeder Art von Eingabe (Bild, Text, Audio, Video ...) kann die Inferenzpipeline mit nur wenigen Codezeilen implementiert werden, die automatisch das zugrunde liegende Modell lädt, um Inferenzergebnisse zu erhalten, wie am Beispiel gezeigt unten:
> >> from modelscope . pipelines import pipeline
> >> word_segmentation = pipeline ( 'word-segmentation' , model = 'damo/nlp_structbert_word-segmentation_chinese-base' )
> >> word_segmentation ( '今天天气不错,适合出去游玩' )
{ 'output' : '今天 天气 不错 , 适合 出去 游玩' }
Bei einem gegebenen Bild kann die Porträtmattierung (auch Hintergrundentfernung genannt) mit dem folgenden Codeausschnitt durchgeführt werden:
> >> 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' ])
Das Ausgabebild ohne Hintergrund ist:
Die Feinabstimmung und Bewertung kann auch mit ein paar weiteren Codezeilen zum Einrichten des Trainingsdatensatzes und des Trainers durchgeführt werden, wobei die schwere Arbeit des Trainings und der Bewertung eines Modells in der Implementierung von traner.train()
und trainer.evaluate()
gekapselt ist trainer.evaluate()
-Schnittstellen.
Beispielsweise kann das gpt3-Basismodell (1.3B) mit dem Datensatz „chinesische Poesie“ verfeinert werden, was zu einem Modell führt, das für die Generierung chinesischer Poesie verwendet werden kann.
> >> 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 ()
Eine einheitliche und übersichtliche Benutzeroberfläche wird für verschiedene Aufgaben und verschiedene Modelle abstrahiert. Modellinferenzen und -training können mit nur 3 bzw. 10 Codezeilen implementiert werden. Für Benutzer ist es praktisch, Modelle in verschiedenen Bereichen der ModelScope-Community zu erkunden. Alle in ModelScope integrierten Modelle sind sofort einsatzbereit, was den Einstieg in die KI sowohl im Bildungs- als auch im industriellen Umfeld erleichtert.
ModelScope bietet eine modellzentrierte Entwicklungs- und Anwendungserfahrung. Es optimiert die Unterstützung für Modellschulung, Inferenz, Export und Bereitstellung und erleichtert Benutzern die Erstellung eigener MLOps auf Basis des ModelScope-Ökosystems.
Für den Modellinferenz- und Trainingsprozess wird ein modulares Design eingeführt und eine Fülle funktionaler Modulimplementierungen bereitgestellt, sodass Benutzer ihre eigenen Modellinferenz-, Trainings- und anderen Prozesse bequem anpassen können.
Für das verteilte Modelltraining, insbesondere für große Modelle, bietet es umfassende Unterstützung für Trainingsstrategien, einschließlich Datenparallelität, Modellparallelität, Hybridparallelität usw.
Die ModelScope-Bibliothek unterstützt derzeit beliebte Deep-Learning-Frameworks für Modelltraining und Inferenz, einschließlich PyTorch, TensorFlow und ONNX. Alle Versionen werden auf Python 3.7+, Pytorch 1.8+, Tensorflow1.15 oder Tensorflow2.0+ getestet und laufen.
Um die sofortige Nutzung aller Modelle auf ModelScope zu ermöglichen, werden für alle Versionen offizielle Docker-Images bereitgestellt. Basierend auf dem Docker-Image können Entwickler die gesamte Installation und Konfiguration der Umgebung überspringen und es direkt verwenden. Derzeit kann die neueste Version des CPU-Images und GPU-Images bezogen werden von:
CPU-Docker-Image
# 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
GPU-Docker-Image
# 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
Man kann auch eine lokale ModelScope-Umgebung mit Pip und Conda einrichten. ModelScope unterstützt Python3.7 und höher. Wir empfehlen Anaconda zum Erstellen einer lokalen Python-Umgebung:
conda create -n modelscope python=3.8
conda activate modelscope
PyTorch oder TensorFlow können entsprechend den Anforderungen jedes Modells separat installiert werden.
Nach der Installation des erforderlichen Frameworks für maschinelles Lernen können Sie die Modelscope-Bibliothek wie folgt installieren:
Wenn Sie nur mit dem Modelscope-Framework herumspielen oder den Download von Modellen/Datensätzen ausprobieren möchten, können Sie die Kernkomponenten von Modelscope installieren:
pip install modelscope
Wenn Sie multimodale Modelle verwenden möchten:
pip install modelscope[multi-modal]
Wenn Sie NLP-Modelle verwenden möchten:
pip install modelscope[nlp] -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
Wenn Sie Lebenslaufmodelle verwenden möchten:
pip install modelscope[cv] -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
Wenn Sie Audiomodelle verwenden möchten:
pip install modelscope[audio] -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
Wenn Sie wissenschaftliche Modelle verwenden möchten:
pip install modelscope[science] -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
Notes
:
Derzeit unterstützen einige Audio-Task-Modelle nur die Linux-Umgebungen Python3.7 und Tensorflow1.15.4. Die meisten anderen Modelle können unter Windows und Mac (x86) installiert und verwendet werden.
Einige Modelle im Audiobereich nutzen die Drittanbieter-Bibliothek SoundFile für die WAV-Dateiverarbeitung. Auf dem Linux-System müssen Benutzer die libsndfile von SoundFile (doc-Link) manuell installieren. Unter Windows und MacOS wird es automatisch ohne Benutzereingriff installiert. Unter Ubuntu können Sie beispielsweise die folgenden Befehle verwenden:
sudo apt-get update
sudo apt-get install libsndfile1
Einige Modelle im Bereich Computer Vision benötigen mmcv-full. Weitere Informationen finden Sie im mmcv-Installationshandbuch. Eine minimale Installation sieht wie folgt aus:
pip uninstall mmcv # if you have installed mmcv, uninstall it
pip install -U openmim
mim install mmcv-full
Wir stellen zusätzliche Dokumentationen zur Verfügung, darunter:
Dieses Projekt ist unter der Apache-Lizenz (Version 2.0) lizenziert.
@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}
}