ディープラーニング初心者です。要約タスクに取り組んでいます。
日本語データセットで以下の多言語T5モデルをファインチューニングしたいのですが、モデルサイズが大きすぎてOOMが発生してしまいます。https://huggingface.co/csebuetnlp/mT5_multilingual_XLSum
調べていたら、他言語モデルのサイズを削減してOOMを回避する方法を見つけました。
https://github.com/pytorch/fairseq/issues/2120#issuecomment-647429120
以下のようなアイディアです。
- 微調整データに基づいて、新しい語彙を得る。
- 新しい語彙に合わせて、古い語彙の対応する位置を見つける。
- 前のステップで得られた位置に応じて埋め込み行列の一部を得る。そうすることで、finetuningデータに関連するだけのより小さな埋め込みを得ることができる。
- 他のパラメータは変更せずに、埋め込み行列だけを前のステップで得られた新しい埋め込み行列に置き換えて、モデルを再度保存する。
実装用のコードも載っていたのですが、これはfairseq形式のモデルを対象にしていました。
Huggingfaceで公開されている形式のモデルに対して同様のことを行うのはそもそも可能そうでしょうか?
また、どのように実装すればよいでしょうか?
何かアイデアがあれば教えていただけると助かります!
あなたの回答
tips
プレビュー