2022.10.11

機械学習で扱うデータの権利とmT5についての話のさわり

こんにちは!グループ研究開発本部、AI研究開発室のY.Tです。

今回のブログでは、機械学習で扱うデータの著作権についての話と、T5(mT5)というtransformer baseのNLPモデルの話をしていこうと思います。そういえばT5の話をしていなかったなということで、決して書くネタに困ったわけではありません。本当です。

機械学習で扱うデータの著作権について(少し長い前書き)

近年の画像生成の分野では、非常に大量の画像データを用いて学習したモデルにより、かなり質の良い画像を新しく生成することができるようになっています。
例えば、「椅子の上でくつろぐメガネの女性」などのテキストから、私が描くよりよっぽど上手なイラストを生成したり、写真を入力することで類似した構図のイラストを出力したりといったことができます。また、これらのAIを用いた画像生成には、ブラウザに画像やテキストを入力するだけで結果が得られるようなサービスが公開されているものもあり、我々のような、ある程度の機械学習の技術に心得があってモデルが動く程度のスペックのパソコンを持っている人でなくても簡単に試せるようになっています。
画像生成以外のところでは文書生成のタスクでも、冒頭の単語を入力するとそこから小説を書きだす小説AIのようなものが公開されています。近い将来、動画などでも、生成モデルを使ったサービスが出てきそうです。

これらのことができるようになったのは、GANなどの高性能な生成モデルの出現や、非常に多くのパラメータを持つそれらのネットワークを高効率でトレーニングするためのハードウェアの発達によるところが大きく、それらの技術の発達は非常に喜ばしいことです。
一方で最近では、学習に用いられたデータや、モデルの生成物の用途について問題になるケースがあり、これらの扱いについて議論が起こっています。

ここ最近では、あるサービスが学習に用いるデータを取得するために用いられたサイトに多くの無断に転載されたとみられる画像があり問題になりました。著作権を侵害している可能性がある画像を含むデータで学習したモデルから生成された画像は本当に公開しても問題がないのか、特定の人物の作風に似せて画像を生成することが簡単にできてしまうが問題がないのか、といったことは非常に難しい問題です。

実際のところ、学習に用いるデータが著作権的にどうなのかというと、平成30年の著作権法の一部改正で、純粋に学習のためにデータを用いるなら著作物を著作者の許諾なく利用できるようになっています。
私は法律の専門家ではないので、詳しくはリンクから詳細を確認してほしいのですが、改正の概要のところにこのように書いてます。

[1]著作物に表現された思想又は感情の享受を目的としない利用(第30条の4関係)
著作物は,技術の開発等のための試験の用に供する場合,情報解析の用に供する場合,人の知覚による認識を伴うことなく電子計算機による情報処理の過程における利用等に供する場合その他の当該著作物に表現された思想又は感情を自ら享受し又は他人に享受させることを目的としない場合には,その必要と認められる限度において,利用することができることを規定しています。これにより,例えば人工知能(AI)の開発のための学習用データとして著作物をデータベースに記録する行為等,広く著作物に表現された思想又は感情の享受を目的としない行為等を権利者の許諾なく行えることとなるものと考えられます。
著作権法の一部を改正する法律(平成30年法律第30号)について

このようなケースが認められない場合、ちゃんとやろうとすると、「犬の特徴をGoogle検索で出てきた大量の犬の画像から学習したいけど、全部著作権的に複製や学習目的での利用が問題ないか確認しなくちゃ…」という感じになると思うので、そこで一つ一つ確認を取らなくていいよというのは現実的なところですね。
学習自体は問題ないですが、生成物をどう利用するかについては、いろいろと確認する必要があるようです。例えば、Web小説を大量にクロールして生成モデルを作って、会社のブログで公開するとかはどうなるのでしょうか?確認すべきところが多そうですね。
先ほどのリンクにある改正の概要では、

「大量の論文や書籍等をデジタル化して検索可能とした上で,検証したい論文について,他の論文等からの剽窃の有無や剽窃率といった情報の提供と併せて,剽窃箇所に対応するオリジナルの論文等の本文の一部分を表示する行為(論文剽窃検証サービス)」

は問題ないと、具体例として挙げられていますが、画像生成AIのケースのような近年の高性能な生成モデルのケースなど、細かい具体的なケースがどうなるのかは、ちょっと本当に専門家じゃないと…
機械学習エンジニア的に話すと、たぶんこの改正法を作ってるときから、画像生成モデルの進化があまりにも飛躍的なので、事情が変わっているところはあると思います。
今後の技術の発展にも柔軟に対応できるようになっているとは思いますが、最新のケースについては何がNGかわかりづらいところがありますし、今後、技術の発展に併せて変わっていくかもしれません。

法の専門家ではないので、詳しく知る必要はないと思っていますが、実際に会社の業務としてこのようなデータの利用をする可能性がある以上、自分にかかわるところはある程度知っておきたいので、今後の動きに注目していきたいです。

T5(Text-to-Text Transfer Transformer)とは

さて、T5の話に移っていきましょう。このT5も近年流行りの?非常に大規模なデータセットを用いてトレーニングされた生成モデルの一つです。

略さず言うと、Text-to-Text Transfer Transformerといい、Googleによって開発、公開されています。
Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer
このモデルは、分類、翻訳、要約などの様々なタスクを解くことができる、Transformerの構造を用いたモデルの一つです。T5で特徴的なのは、”Text-to-text”の名の通り、入力も出力もTextになっていることです。

transformerを用いたモデルで有名なものに、BERTがありますが、BERTでは様々なタスクに出力層に近い部分を再学習(fine-tuning)することで対応するもので、分類問題では出力が数値やベクタであらわされるScoreとして出力されたり、タスクによって出力の形式や学習の目的関数が変わります。
そのため、新たなタスクに適応する際の学習に最適なハイパーパラメータは、タスクによって異なってくるため、新たなタスクに適応するたびに試行錯誤する必要があります。
しかし、T5では入出力の形式が常にテキストであるため、タスクによって目的関数を変える必要がなく、新たなタスクに適応する際の学習に最適なパラメータは大きく変わらないので、新たなタスクに適応するコストが小さいと論文中で述べられています。

ここで、分類タスクで出てくるような連続値のスコアの出力はどうするんだろう…などと考えてしまいますが、下の画像のように数値の出力もすべてTextで出力します。(まじか)
テキストがどのタスクの学習データなのかを見分けるためには、入力のテキストの先頭にタスクごとに決められたprefixを付加するそうです。
Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformerより、Figure1.

モデルの構造は、基本的にはTransformersに近いものになります。しかし、Text-to-textの学習を行うため、BERTのようにシンプルに双方向に出力を伝播させることができません。
Attention Is All You Needより、Figure1.

基本的に、現在時点までの入力のシーケンスを見て、次のトークンを予測するため、逆方向に出力が伝播すると、予測すべきものを見てしまうことになるためです。(BERTは入力分の一部の単語をマスクし、その単語をあてるという問題設定にすることで、双方向に学習しています。)
T5ではネットワークの構造でマスクしますが、論文では3つのパターンを試しています。
一つは、Encoder-Decorderです。Transformerのネットワークの左側をEncordeで右側がDecorderに対応しており、学習の際はEncoder部分はマスクなしで双方向に学習し、Decorder部分では先のトークンが見えないようにマスクされ単方向に学習します。
二つ目はLanguage modelです。これはtransformerのdecorder部分だけを使用し、単方向に学習します。
三つ目はPrefix LM です。これは、入力文に付加したprefixの部分だけ双方向に学習し、その後ろの部分を単方向に学習するようなモデルです。
Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformerより、Figure3.

Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformerより、Figure4. Encorder部分がfully-visible, language modelなどがcasual, Prefix LMがcasual prefixのイメージです。

実験の結果ではEncorder-Decorderモデルが性能が良いようです。
目的関数(事前学習のタスク)についてもいくつかのパターンで実験がされており、ここでは詳細は割愛しますが、BERT同様のタスクが性能が良いようです。
アイデアだけを聞くと、本当かな…と思いたくなりますが、実際はかなり詳細なパターンを考慮して実験がされており、精度も出ているので恐れ入ります。

mT5

mT5とはmultilingual T5のことで、T5を多言語のデータセットmC4で事前学習することで、様々な言語のタスクにそのまま適用できるようにしたものです。(mT5: A massively multilingual pre-trained text-to-text transformer )
mC4はHugging faceから利用することもできます。-> Datasets:mc4
mT5は、多言語のデータセットで学習するにあたってのいくつかの学習の工夫がありますが、基本的にはT5の利用例のようなものです。
T5はText-to-textで学習するため、どんな言語でも入力と出力のセットを用意して、入力に適切なprefixをつけてしまえば、同じデータセットに入れて同時に学習できるというわけです。
その分、データセットとモデルは巨大になり、fine-tuningをしようと思うと大きな計算資源を必要とします。一応、言語単位でも学習ができるので、そのようにすれば比較的小さいコストでfine-tuningができます。あくまで比較的、小さいコストで、ですが。

mT5を動かしてみた

最後に実際にmT5を要約タスクで動かしてみましょう。
また、いつものようにHugging Faceから事前学習モデルを借りてきます。このモデルにはXL-Sumという、様々な言語版のBBCのニュースとその要約をまとめたデータセットで学習されています。要約タスクを学習するのにちょうど良い多言語データセットです。
csebuetnlp/mT5_multilingual_XLSum
本当はFine-tuningまでやるところですが、今回は時間と計算資源の都合でそこまでは試せていません。
必要なライブラリをインストールし、今回は青空文庫から取得してきた太宰治の「義務」(https://www.aozora.gr.jp/cards/000035/files/52460_45490.html)を入れていきましょう。今の私にピッタリの短編です。著作権的にも問題ないですね!
article_text="""義務の遂行とは、並たいていの事では無い。けれども、やらなければならぬ。なぜ生きてゐるか。なぜ文章を書くか。いまの私にとつて、それは義務の遂行の爲であります、と答へるより他は無い。金の爲に書いてゐるのでは無いやうだ。快樂の爲に生きてゐるのでも無いやうだ。先日も、野道をひとりで歩きながら、ふと考へた。「愛といふのも、結局は義務の遂行のことでは無いのか。」はつきり言ふと、私は、いま五枚の隨筆を書くのは、非常な苦痛なのである。十日も前から、何を書いたらいいのか考へてゐた。なぜ斷らないのか。たのまれたからである。二月二十九日までに五、六枚書け、といふお手紙であつた。私は、この雜誌(文學者)の同人では無い。また、將來、同人にしてもらふつもりも無い。同人の大半は、私の知らぬ人ばかりである。そこには、是非書かなければならぬ、といふ理由は無い。けれども私は、書く、といふ返事をした。稿料が欲しい爲でもなかつたやうだ。同人諸先輩に、媚びる心も無かつた。書ける状態に在る時、たのまれたなら、その時は必ず書かなければならぬ、といふ戒律のために「書きます」と返事したのだ。與へ得る状態に在る時、人から頼まれたなら、與へなければならぬといふ戒律と同斷である。どうも、私の文章の vocabulary は大袈裟なものばかりで、それゆゑ、人にも反撥を感じさせる樣子であるが、どうも私は、「北方の百姓」の血をたつぷり受けてゐるので、「高いのは地聲」といふ宿命を持つてゐるらしく、その點に就いては、無用の警戒心は不要にしてもらひたい。自分でも、何を言つてゐるのか、わからなくなつて來た。これでは、いけない。坐り直さう。義務として、書くのである。書ける状態に在る時、と前に言つた。それは高邁のことを言つてゐるのでは無い。すなはち私は、いま鼻風邪をひいて、熱も少しあるが、寢るほどのものでは無い。原稿を書けないといふほどの病氣でも無い。書ける状態に在るのである。また私は、二月二十五日までに今月の豫定の仕事はやつてしまつた。二十五日から、二十九日までには約束の仕事は何も無い。その四日間に、私は、五枚くらゐは、どうしたつて書ける筈である。書ける状態に在るのである。だから私は書かなければならない。私は、いま、義務の爲に生きてゐる。義務が、私のいのちを支へてくれてゐる。私一個人の本能としては、死んだつていいのである。死んだつて、生きてたつて、病氣だつて、そんなに變りは無いと思つてゐる。けれども、義務は、私を死なせない。義務は、私に努力を命ずる。休止の無い、もつと、もつとの努力を命ずる。私は、よろよろ立つて、鬪ふのである。負けて居られないのである。單純なものである。純文學雜誌に、短文を書くくらゐ苦痛のことは無い。私は氣取りの強い男であるから、(五十になつたら、この氣取りも臭くならない程度になるであらうか。なんとかして、無心に書ける境地まで行きたい。それが、唯一つのたのしみだ)たかだか五枚六枚の隨筆の中にも、私の思ふこと全部を叩き込みたいと力むのである。それは、できない事らしい。私はいつも失敗する。さうして、また、そのやうな失敗の短文に限つて、實によく先輩、友人が讀んでゐる樣子で、何かと忠告を受けるのである。所詮は、私はまだ心境ととのはず、隨筆など書ける柄では無いのである。無理である。この五枚の隨筆も、「書きます」と返事してから、十日間も私は、あれこれと書くべき材料を取捨してゐた。取捨では無い。捨てることばかり、やつて來た。あれもだめ、これもだめ、と捨ててばかりゐて、たうとう何も無くなつた。ちよつと座談では言へるのであるが、ことごとしく純文學雜誌に「昨日、朝顏を植ゑて感あり」などと書いて、それが一字一字、活字工に依つて拾はれ、編輯者に依つて校正され、(他人のつまらぬ呟きを校正するのは、なかなか苦しいものである。)それから店頭に出て、一ヶ月間、朝顏を植ゑました、朝顏を植ゑました、と朝から晩まで、雜誌の隅で繰り返し繰り返し言ひつづけてゐるのは、とても、たまらないのである。新聞は、一日きりのものだから、まだ助かるのである。小説だつたら、また、言ひたいだけのことは言ひ切つて在るのだから、一月ぐらゐ、店頭で叫びつづけても、惡びれない覺悟もできてゐるが、どうも、朝顏有感は、一ヶ月、店頭で呟きつづける勇氣は無い。"""
要約結果1

なるほど。。。BBCのニュースに日本の文豪が出てきた記事でもあったんですかね。。。
ちゃんと数えてないですが、入力上限超えた感覚があるので、ざっくり短くして入れてみましょう。
article_text="""義務の遂行とは、並たいていの事では無い。けれども、やらなければならぬ。なぜ生きてゐるか。なぜ文章を書くか。いまの私にとつて、それは義務の遂行の爲であります、と答へるより他は無い。金の爲に書いてゐるのでは無いやうだ。快樂の爲に生きてゐるのでも無いやうだ。先日も、野道をひとりで歩きながら、ふと考へた。「愛といふのも、結局は義務の遂行のことでは無いのか。」はつきり言ふと、私は、いま五枚の隨筆を書くのは、非常な苦痛なのである。十日も前から、何を書いたらいいのか考へてゐた。"""
要約結果2

なるほど!!!ちょっと短くしすぎて言い過ぎ感はありますが、作者も本当はこう言いたいぐらいの気持ちかもしれません。
SUMMARY_BY_HUMAN = """義務の遂行の爲、書ける状態に在る時、私は書かなければならないが書けない。純文學雜誌に、書いた失敗の短文に限つて、何かと忠告を受けるのであるが、私はいつも失敗する。"""
人手で全文を要約するとこのようなところでしょうか。近い未来このレベルに近づくかも知れません。

参考

T5については、下記のサイトが日本語の記事でとても詳しいので参考になります。
はじめての自然言語処理 第7回 T5 によるテキスト生成の検証

最後に

グループ研究開発本部 AI研究開発室では、データサイエンティスト/機械学習エンジニアを募集しています。ビッグデータの解析業務などAI研究開発室にご興味を持って頂ける方がいらっしゃいましたら、ぜひ 募集職種一覧 からご応募をお願いします。皆さんのご応募をお待ちしています。

  • Twitter
  • Facebook
  • はてなブックマークに追加

グループ研究開発本部の最新情報をTwitterで配信中です。ぜひフォローください。

 
  • AI研究開発室
  • 大阪研究開発グループ

関連記事