全1788文字

 「データを大量に学習させたのが性能向上のキモだ」。NECデータサイエンスラボラトリーの小山田昌史主席研究員は、同社の大規模言語モデル(Large Language Model:LLM)の「cotomi」の性能を高める工夫をこう語る。小山田主席研究員は加えて、「限界はあるが、同じ量のデータをLLMに学習させても、(LLMの性能向上へ実質的に寄与する)正味のデータ量が変わってくる可能性がある」と指摘する。

 NEC、NTTはいずれも、小さいLLMでもビジネスで利用できる性能を実現すべく、2つの方法でデータの「質」を高めている。ではLLMの性能を高める「質の高いデータ」とは何なのか。両社の工夫を見ていこう。

不要なデータや重複する記述を削除

 前提として、米OpenAI(オープンAI)が2020年1月に発表した「スケーリング則(Scaling Laws)」によると、LLMの性能はそのパラメーター数を増やすほど高まるとしている。TransformerをベースにしたGPTなどのLLMは、従来このスケーリング則に従ってパラメーター数を増やして性能を高めてきた。ただスケーリング則は同時に、パラメーター数と同様に学習に使うデータの量を増やしても性能が高まることを示している。

米OpenAIが発表した「スケーリング則(Scaling Laws)」。縦軸にデータの損失(誤差)の対数、横軸にそれぞれ学習に使った計算資源(左)、学習データの量(中)、LLMのパラメーター数(右)の対数を取っている。計算資源、学習データの量、パラメーター数が増えるとデータの損失が小さくなり、性能が向上することが分かる
米OpenAIが発表した「スケーリング則(Scaling Laws)」。縦軸にデータの損失(誤差)の対数、横軸にそれぞれ学習に使った計算資源(左)、学習データの量(中)、LLMのパラメーター数(右)の対数を取っている。計算資源、学習データの量、パラメーター数が増えるとデータの損失が小さくなり、性能が向上することが分かる
(出所:OpenAIのJared Kaplan氏らによる論文「Scaling Laws for Neural Language Models」)
[画像のクリックで拡大表示]

 学習データの量を増やすと性能が高まるという法則は「小さいLLMにも当てはまる」(小山田主席研究員)。そこでNEC、NTTはいずれもデータの「クレンジング」を施している。ここでいうクレンジングは、例えば対象が日本語データの場合、不要な部分を取り除いて純粋な日本語の文章にする作業を指す。

 LLMの学習に使うデータは、学習に使ってよいとしているWebサイトをクロールするなどして集める。集めたデータがHTMLの場合、HTMLタグや日本語の文章としては不適切な位置での改行などを含んでいる。そのためクロールした文章をそのまま学習に使うと、「自然な日本語」を学習したとは言えない可能性をはらむことになる。そのためクロールしたデータからタグや改行など不要な要素を取り除く作業が必要だという。

 このほか学習したデータ内に同じ文章が何度も記載されている場合は、「表現の多様性を保ちつつ、必要に応じて表現を調整する」(小山田主席研究員)。LLMは学習データに同じ表現がいくつも含まれていると「重要な表現だ」と認識して学習し、出力の精度に影響する可能性があるためだ。

データをクレンジングする作業のイメージ。HTMLをクロールする場合、タグや不要な改行などを取り除き、正しい日本語の文章にする
データをクレンジングする作業のイメージ。HTMLをクロールする場合、タグや不要な改行などを取り除き、正しい日本語の文章にする
(出所:日経クロステック)
[画像のクリックで拡大表示]