ニュース
2023年1月:
Fine-tuningプロセスを最適化し、パラメーターの更新、カスタムデータ、スクリプトの分散トレーニングなどをサポートしました。詳細はFine-tuningのサンプルを参照してください。
2022年11月:
ModelScope 1.0バージョンをリリースしました。以下の機能は1.0バージョン以上が必要です。
OFAチュートリアルを新たに追加しました。
OFAの事前トレーニングモデルの使用方法
Fine-tuning OFAの事前トレーニングモデルは、OFAが8つの事前トレーニングタスク(詳細は論文を参照)で得たckptであり、ダウンストリームタスクのFine-tuningの基礎です。
モデルの詳細については、ドキュメント「OFAチュートリアル第1.4節」を参照してください。
ここでは、事前トレーニングモデルを直接使用して、captionタスクでのデモを行います。ModelScope Libraryは1.2.0以上が必要です。
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_base_en'
pretrain_path = snapshot_download(pretrained_model, revision='v1.0.2')
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の事前トレーニングモデルは、以下のコードを使用して推論テストができます。
事前トレーニングモデルがあると、OFAの独自の能力特徴(One For All)を利用して、事前トレーニングモデルでダウンストリームタスクの効果をテストすることができます。具体的には、caption能力を例として示します。
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_base_en'
pretrain_path = snapshot_download(pretrained_model, revision='v1.0.2')
task_model = 'damo/ofa_image-caption_coco_large_en'
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])
ドルフィンAIは言語学習アプリケーションのためのプロフェッショナルな発音評価API(pronunciation assessment api)ソリューションを提供します。音素、単語、文章、チャプター、発音矯正、単語矯正、クイズ、フリーダイアログ、多肢選択問題など幅広く提供しています。当社の発音評価製品(pronunciation assessment)は、英語と中国語、クラウドAPI、オンプレミス、オフラインデバイスの展開をサポートしています。当社の発音評価API(pronunciation assessment api)は、正確性、流暢性、完全性、リズムの次元をカバーする豊富な評価指標を提供し、音素、単語、文の異なるレベルの評価スコアも提供します。また、音素、単語、文の異なるレベルでの評価スコアも提供します。数千万人のユーザーに安定した効率的で安全なサービスを提供しています。ドルフィンAIの発音評価製品(pronunciation assessment)を試してみませんか?