というアレで、時間を見つけてはChatGPTを触ってみて感心しきりなのですが、ふと、「ChatGPTは学習データとして英語のモデルしか持っておらず、内部で翻訳しているのではないか?」という疑念がわいてきました。
内部に翻訳エンジンを持ってるんじゃね?説
図にするとこんな感じ。
英語の場合は、そのまま英語で内部データが行き来するけど、英語以外の言語の場合、一旦翻訳エンジンで英語に翻訳してChatGPTに解釈させ、レスポンスは再度日本語に翻訳して出力しているのではないか? ということです。
理由は2つ:
- 大規模言語モデルはその名の通り大量のテキストで学習させる必要があるはず。多言語で学習させるにはリソースが足りないのではないか。
- つまり、内部では英語モデルだけを保持しているのではないか。
- 昨今の翻訳エンジンの進歩は凄まじく、より自然に、リアルタイムに翻訳できるようになってきている。
- 翻訳エンジンが優秀なら、英語モデルだけでも自然なチャットが実現できるのではないか。
要は、ChatGPTがあまりにも優秀なので、相当な学習を行なっているはずだ→多言語に対応する余裕がないのでは→翻訳エンジン使えば多言語を実現できるのでは? ということですね。
ChatGPT先生に聞いてみよう
いまや、こういう疑問はググるのではない。ChatGPTに聞くのだ。
ChatGPTは日本語を理解していますか? それとも、内部で日本語を英語に翻訳し、英語で回答を作成して、再度日本語に翻訳し、回答してますか。
はい、ChatGPTは日本語を理解することができます。ChatGPTは、多言語を理解できるようにトレーニングされており、内部で日本語を処理することができます。したがって、英語に翻訳する必要はありません。直接日本語で質問に回答することができます。
なにー!?
さらっと、翻訳は不要で、内部で日本語も処理できるとおっしゃる。
なおも食い下がってみます。答えが出ているので食い下がる理由はないのですが、もうちょっと詳細が知りたい。
ChatGPTの学習モデルには多言語を保持しているということですか。
はい、ChatGPTは多言語を理解できるように設計されたモデルの一つです。これは、OpenAIが構築したGPT-3と呼ばれるモデルの拡張版であり、多数の言語でトレーニングされています。そのため、ChatGPTは英語だけでなく、他の言語でも理解することができます。ただし、ChatGPTの性能は、特定の言語に関するトレーニングデータがどの程度利用可能であるかに依存します。より多くのトレーニングデータが利用可能であれば、ChatGPTはその言語をより高い精度で理解できるようになります。
なるほど。
後半では「多くのデータが利用できれば、その言語を高い精度で学習できる」と言っていて、「言語モデル間ではデータの流通がない、言語モデルはそれぞれ独立している」というニュアンスが含まれているような回答です。
ということは、習熟している言語と、そうでない言語があるってことなのか?
それでは、ChatGPTは言語によって、トレーニングの練度が異なるということですか。つまり、言語によって、回答の精度や粒度が異なるということですか。
はい、その通りです。ChatGPTは、異なる言語に対してトレーニングされたモデルを使用しており、言語によってトレーニングデータの質や量が異なります。そのため、ChatGPTの回答の精度や粒度は、トレーニングされた言語モデルの品質によって異なる場合があります。また、各言語に対してトレーニングデータの量や質が限られている場合、ChatGPTの回答の精度も低くなることがあります。ただし、ChatGPTは、多言語を理解できるため、複数の言語に対して回答することができ、各言語において高い精度を示すことができます。
「異なる言語に対してトレーニングされたモデルを使用」ということなので、言語ごとに言語モデルを持ち、ゆえに言語モデルの質によって回答の精度が(言語によって)異なる、ということらしい。言語モデルを内部で独立して持ってそうなのはほぼ確定と思われるんだけど、最後の
ただし、ChatGPTは、多言語を理解できるため、複数の言語に対して回答することができ、各言語において高い精度を示すことができます。
の一文のせいで、ちょっと惑わしてくる。
本当に言語モデルが独立しているのか、特定の質問に対し、十分な学習データがないため、ほかの言語モデルから持ってくることはないのか、もうちょっと念押しで聞いてみます。
例えば、特定の言語で回答が精度が悪くなる場合、内部で別の言語に翻訳して回答を得ることはありますか。
ChatGPTは、言語間の翻訳には対応していません。そのため、特定の言語に対する回答の精度が低い場合でも、内部で別の言語に翻訳して回答を得ることはできません。ただし、ChatGPTは、多言語を理解できるため、別の言語で同様の質問に回答することができます。その場合、質問と回答が異なる言語で表現されるため、翻訳が必要になりますが、これは別途翻訳システムを用いる必要があります。
はっきりと、内部で別の言語に翻訳することはないという回答が得られました。
別の言語に翻訳するというのは良いアイデアだと思ったのですが、特定のパターンでハマることが仮にあっても、全体として見るともしかしたら精度が下がってしまうのかもしれないな、という感覚も持ちました。
各言語でそれぞれの言語モデルを持つということは、「言語圏ごとに正解が異なるもの」も学習できるということなんでしょうか。つまり、文化を理解できるのか。
ChatGPTは、学習している言語モデルによって、理解する文化も異なるということでしょうか。
はい、その通りです。言語は文化的背景によって異なる表現や文脈を持ちます。そのため、ChatGPTが理解する言語モデルによっては、その言語の文化的背景に基づいた表現や意味を理解することができます。例えば、日本語においては敬語や謙譲語が重要であり、英語にはない表現が多く存在します。また、文化的背景によっては、特定の単語や表現が好まれたり、タブー視されたりすることもあります。そのため、ChatGPTは、トレーニングに用いた言語の文化的背景に基づいた理解を持ちます。
なるほど。まさにこの文化的背景に基づいた学習のために、言語ごとに言語モデルを持っているってことですね。
まとめ
ということで、勝手に抱いた疑念はあっさりと覆され、ChatGPTの言い回しや表現も秀逸で、今回も感心しっぱなし。
やりとりで分かったChatGPTの内部を図にするとこんな感じ。
図にして見ると、まぁ、そりゃそうだよね、というシンプルさ。
言語モデルを明確に分けることにより、言語ごとの文化的背景まで学習できているというのはなかなか面白い話でした。が、その真贋を判断する知識が常にこちら側にないということも忘れないでおこうと思います。(今回の結果は正しいと思うけど)
このレベルの情報をググって調べようとするとなかなかしんどいはずで、従来の検索エンジン勢からすると相当の危機感を持たざるを得ないよね、という感じです。
コメント