OFA事前学習モデル-中国語-一般領域-大規模

この記事は約6分で読めます。

ニュース

2023年1月: ファインチューンプロセスを最適化し、パラメータの更新、カスタムデータおよびスクリプトの分散トレーニングなどをサポートしました。詳細は、ファインチューンの例を参照してください。 2022年11月: ModelScope 1.0バージョンをリリースしました。以下の機能は1.0.2以上のバージョンを使用してください。 OFAチュートリアルを追加しました。 OFAプリトレーニングモデルは、8つのプリトレーニングタスク(詳細は論文を参照)でckptを得たOFAであり、ファインチューンダウンストリームタスクの基礎です。

OFAプリトレーニングモデルの使用方法

ファインチューン モデルの詳細については、ドキュメント「OFAチュートリアル 1.4節」を参照してください。

ここでは、プリトレーニングモデルを直接使用して、キャプションタスクでの実例を示します。ModelScope Libraryは1.2.0以上である必要があります。

python import tempfile from modelscope.msdatasets import MsDataset from modelscope.metainfo import Trainers from modelscope.trainers import build_trainer from modelscope.utils.constant import DownloadMode from modelscope.utils.hub import snapshot_download

train_dataset = MsDataset( MsDataset.load( "coco_2014_caption", namespace="modelscope", split="train[:100]", download_mode=DownloadMode.REUSE_DATASET_IF_EXISTS).remap_columns({ 'image': 'image', 'caption': 'text' })) test_dataset = MsDataset( MsDataset.load( "coco_2014_caption", namespace="modelscope", split="validation[:20]", download_mode=DownloadMode.REUSE_DATASET_IF_EXISTS).remap_columns({ 'image': 'image', 'caption': 'text' }))

def cfg_modify_fn(cfg): cfg.train.hooks = [{ 'type': 'CheckpointHook', 'interval': 2 }, { 'type': 'TextLoggerHook', 'interval': 1 }, { 'type': 'IterTimerHook' }] cfg.train.max_epochs = 2 return cfg

pretrained_model = 'damo/ofa_pretrain_large_zh' pretrain_path = snapshot_download(pretrained_model, revision='v1.0.1')

args = dict( model=pretrain_path, train_dataset=train_dataset, eval_dataset=test_dataset, cfg_modify_fn=cfg_modify_fn, work_dir=tempfile.TemporaryDirectory().name) trainer = build_trainer(name=Trainers.ofa, default_args=args) trainer.train() ZeroShot OFAプリトレーニングモデルは、以下のコードを使用してダウンロードできます。注:ModelScope V1.0.0では、タグを使用して互換性を管理し始めました。現在のポリシーでは、タグを指定しない場合は、ModelScopeバージョンリリース前の最新のタグを使用します。プリトレーニングモデルはModelScope==1.0.2バージョンの後にリリースされたため、1.0.2バージョンを使用するユーザーはrevision情報を追加する必要があります。

python from modelscope.utils.hub import snapshot_download pretrained_model = 'damo/ofa_pretrain_large_zh' pretrain_path = snapshot_download(pretrained_model, revision='v1.0.1') プリトレーニングモデルを手に入れたら、OFAの独自の機能(One For All)を利用して、キャプションタスクでの効果をテストすることができます。

python import os import shutil from modelscope.utils.hub import snapshot_download from modelscope.pipelines import pipeline from modelscope.utils.constant import Tasks from modelscope.outputs import OutputKeys from modelscope.utils.constant import ModelFile

pretrained_model = 'damo/ofa_pretrain_large_zh' pretrain_path = snapshot_download(pretrained_model, revision='v1.0.1') task_model = 'damo/ofa_image-caption_muge_base_zh' # 設定ファイルのみを使用し、モデルスケールには関係ありません task_path = snapshot_download(task_model)

shutil.copy(os.path.join(task_path, ModelFile.CONFIGURATION), # タスクの設定をプリトレーニングモデルの設定に上書き os.path.join(pretrain_path, ModelFile.CONFIGURATION))

ofa_pipe = pipeline(Tasks.image_captioning, model=pretrain_path) result = ofa_pipe('http://xingchen-data.oss-cn-zhangjiakou.aliyuncs.com/maas/image-captioning/donuts.jpg') print(result[OutputKeys.CAPTION]) これは、OFAプリトレーニングモデルを使用する基本的な方法の日本語翻訳です。Pythonコードはそのまま使用できます。

ドルフィンAIは言語学習アプリケーションのためのプロフェッショナルな発音評価API(pronunciation assessment api)ソリューションを提供します。音素、単語、文章、チャプター、発音矯正、単語矯正、クイズ、フリーダイアログ、多肢選択問題など幅広く提供しています。当社の発音評価製品(pronunciation assessment)は、英語と中国語、クラウドAPI、オンプレミス、オフラインデバイスの展開をサポートしています。当社の発音評価API(pronunciation assessment api)は、正確性、流暢性、完全性、リズムの次元をカバーする豊富な評価指標を提供し、音素、単語、文の異なるレベルの評価スコアも提供します。また、音素、単語、文の異なるレベルでの評価スコアも提供します。数千万人のユーザーに安定した効率的で安全なサービスを提供しています。ドルフィンAIの発音評価製品(pronunciation assessment)を試してみませんか?

タイトルとURLをコピーしました