不和
英語| 中国語 | 日本語
ModelScope は、「Model-as-a-Service」(MaaS) の概念に基づいて構築されています。 AI コミュニティから最先端の機械学習モデルを集め、現実世界のアプリケーションで AI モデルを活用するプロセスを合理化することを目指しています。このリポジトリでオープンソース化されたコア ModelScope ライブラリは、開発者がモデルの推論、トレーニング、評価を実行できるようにするインターフェイスと実装を提供します。
特に、API 抽象化の豊富なレイヤーを備えた ModelScope ライブラリは、CV、NLP、音声、マルチモダリティ、科学計算などのドメインにまたがる最先端のモデルを探索するための統一されたエクスペリエンスを提供します。さまざまな分野のモデル貢献者は、階層型 API を通じてモデルを ModelScope エコシステムに統合できるため、モデルへの簡単かつ統合されたアクセスが可能になります。統合すると、わずか数行のコードでモデルの推論、微調整、評価を行うことができます。同時に、必要に応じてモデル アプリケーションのさまざまなコンポーネントをカスタマイズできる柔軟性も提供されます。
ModelScope ライブラリは、さまざまなモデルの実装を格納するだけでなく、ModelScope バックエンド サービス、特に Model-Hub および Dataset-Hub との必要な対話も可能にします。このような対話により、エンティティの検索、バージョン管理、キャッシュ管理など、さまざまなエンティティ (モデルやデータセット) の管理が内部でシームレスに実行されやすくなります。
ModelScope では数百のモデル (700 以上) が公開されており、NLP、CV、オーディオ、マルチモダリティ、科学向け AI などの分野の最新開発をカバーしています。これらのモデルの多くは、SOTA を表しています。特定の分野に特化し、ModelScope でオープンソース デビューを果たしました。ユーザーは、ModelScope(modelscope.cn) にアクセスし、数回クリックするだけで、オンライン体験を通じてこれらのモデルがどのように動作するかを直接体験できます。 ModelScope Notebook を使用すると、すぐに使用できるクラウド上の CPU/GPU 開発環境を備えた ModelScope Notebook を使用して、即座に開発者エクスペリエンスを実行することもできます。ModelScope では 1 回クリックするだけです。
代表的な例としては次のようなものがあります。
LLM:
Yi-1.5-34B-チャット
Qwen1.5-110B-チャット
DeepSeek-V2-チャット
Ziya2-13B-チャット
メタラマ-3-8B-指示
Phi-3-mini-128k-命令
マルチモーダル:
Qwen-VL-チャット
Yi-VL-6B
InternVL-チャット-V1-5
ディープシーク-vl-7b-チャット
OpenSoraPlan
オープンソラ
I2VGen-XL
履歴書:
DamoFD 顔検出キーポイントモデル - 0.5G
BSHMポートレートマット
DCT-Net ポートレート漫画化 - 3D
DCT-Net ポートレート漫画化モデル - 3D
DuGuang - テキスト認識 - 行認識モデル - 中国語と英語 - 一般ドメイン
DuGuang - テキスト認識 - 行認識モデル - 中国語と英語 - 一般ドメイン
LaMa画像修復
オーディオ:
Paraformer 音声認識 - 中国語 - 一般 - 16k - オフライン - 大 - 長いオーディオ バージョン
FSMN 音声エンドポイント検出 - 中国語 - 一般 - 16k - onnx
Monotonic-Aligner 音声タイムスタンプ予測 - 16k - オフライン
CT トランスの句読点 - 中国語 - 一般 - onnx
音声合成 - 中国語 - 複数の感情ドメイン - 16k - 複数話者
CAM++ スピーカー検証 - 中国語 - 一般 - 200k-Spkrs
科学のための AI:
ユニフォールドモノマー
ユニフォールドマルチマー
注: ModelScope のほとんどのモデルは公開されており、modelscope の Web サイト (www.modelscope.cn) でアカウント登録なしでダウンロードできます。modelscope ライブラリまたは git によって提供される API を使用してモデルをダウンロードする場合は、モデルのダウンロードの手順を参照してください。
pipeline
使用した推論、さまざまなタスクのTrainer
を使用した微調整および評価のための統合インターフェイスを提供します。
任意のタイプの入力 (画像、テキスト、オーディオ、ビデオなど) を含む任意のタスクについて、推論パイプラインはわずか数行のコードで実装でき、例に示すように、基礎となるモデルを自動的にロードして推論結果を取得します。下に:
> >> from modelscope . pipelines import pipeline
> >> word_segmentation = pipeline ( 'word-segmentation' , model = 'damo/nlp_structbert_word-segmentation_chinese-base' )
> >> word_segmentation ( '今天天气不错,适合出去游玩' )
{ 'output' : '今天 天气 不错 , 适合 出去 游玩' }
画像を指定すると、次のコード スニペットを使用してポートレートのマット化 (別名背景の削除) を実行できます。
> >> 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' ])
背景が削除された出力画像は次のとおりです。
微調整と評価は、トレーニング データセットとトレーナーを設定するさらに数行のコードで実行することもできます。トレーニングと評価という重労働は、 traner.train()
とtrainer.evaluate()
の実装にカプセル化されたモデルです。 trainer.evaluate()
インターフェイス。
たとえば、gpt3 ベース モデル (1.3B) は、漢詩データセットを使用して微調整でき、その結果、漢詩の生成に使用できるモデルが得られます。
> >> 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 ()
統一された簡潔なユーザー インターフェイスは、さまざまなタスクやさまざまなモデルに合わせて抽象化されています。モデルの推論とトレーニングは、それぞれわずか 3 行と 10 行のコードで実装できます。ユーザーにとって、ModelScope コミュニティのさまざまな分野のモデルを探索するのに便利です。 ModelScope に統合されたすべてのモデルはすぐに使用できるため、教育現場と産業現場の両方で AI を簡単に始めることができます。
ModelScope は、モデル中心の開発とアプリケーションのエクスペリエンスを提供します。モデルのトレーニング、推論、エクスポート、展開のサポートを合理化し、ユーザーが ModelScope エコシステムに基づいて独自の MLOps を構築できるようにします。
モデル推論とトレーニングのプロセスについては、モジュール設計が導入され、豊富な機能モジュールの実装が提供されており、ユーザーが独自のモデル推論、トレーニング、その他のプロセスをカスタマイズするのに便利です。
分散モデル トレーニング、特に大規模モデルの場合、データ並列、モデル並列、ハイブリッド並列などを含む豊富なトレーニング戦略のサポートを提供します。
ModelScope ライブラリは現在、PyTorch、TensorFlow、ONNX など、モデルのトレーニングと推論のための一般的な深層学習フレームワークをサポートしています。すべてのリリースはテストされ、Python 3.7 以降、Pytorch 1.8 以降、Tensorflow1.15 または Tensorflow2.0 以降で実行されます。
ModelScope 上のすべてのモデルをすぐに使用できるようにするために、公式の Docker イメージがすべてのリリースに提供されています。 Docker イメージに基づいて、開発者はすべての環境のインストールと構成をスキップして、それを直接使用できます。現在、最新バージョンの CPU イメージと GPU イメージは次から入手できます。
CPU ドッカー イメージ
# 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 ドッカー イメージ
# 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
pip と conda を使用してローカルの ModelScope 環境をセットアップすることもできます。 ModelScope は Python3.7 以降をサポートします。ローカルの Python 環境を作成するには anaconda をお勧めします。
conda create -n modelscope python=3.8
conda activate modelscope
PyTorch または TensorFlow は、各モデルの要件に応じて個別にインストールできます。
必要な機械学習フレームワークをインストールした後、次のように modelscope ライブラリをインストールできます。
モデル/データセットのダウンロードを試して、modelscope フレームワークを試してみたいだけの場合は、コアの modelscope コンポーネントをインストールできます。
pip install modelscope
マルチモーダル モデルを使用する場合:
pip install modelscope[multi-modal]
NLP モデルを使用する場合:
pip install modelscope[nlp] -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
CV モデルを使用する場合:
pip install modelscope[cv] -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
オーディオ モデルを使用する場合:
pip install modelscope[audio] -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
科学モデルを使用したい場合:
pip install modelscope[science] -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
Notes
:
現在、一部のオーディオタスク モデルは、Python3.7、tensorflow1.15.4 Linux 環境のみをサポートしています。他のほとんどのモデルは、Windows および Mac (x86) にインストールして使用できます。
オーディオ分野の一部のモデルでは、wav ファイルの処理にサードパーティのライブラリ SoundFile を使用します。 Linux システムでは、ユーザーは SoundFile の libsndfile (ドキュメント リンク) を手動でインストールする必要があります。 Windows および MacOS では、ユーザーの操作なしで自動的にインストールされます。たとえば、Ubuntu では次のコマンドを使用できます。
sudo apt-get update
sudo apt-get install libsndfile1
コンピューター ビジョンの一部のモデルには mmcv-full が必要です。mmcv インストール ガイドを参照してください。最小限のインストールは次のとおりです。
pip uninstall mmcv # if you have installed mmcv, uninstall it
pip install -U openmim
mim install mmcv-full
以下を含む追加のドキュメントを提供します。
このプロジェクトは、Apache License (バージョン 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}
}