1.はじめに
IT企画本部所属の西尾です。会社ではデータ分析関連の業務をしています。
今回は、データ分析の中でも、自然言語処理といわれる、言葉の処理と機械学習に関する技術紹介です。
2.文章生成技術について
自然言語処理とは、wikipediaによれば、「人間が日常的に使っている自然言語をコンピュータに処理させる一連の技術」であり、人工知能と言語学の一分野です。
基礎的な技術は、形態素解析(文章中の単語の抽出)や構文解析(文章のかかり受けなどの解析など)など、一見して何の役に立つのか
わかりにくいものですが、その応用先には、ウェブ検索、予測変換、スパムメール判断、Google翻訳が有名な統計的機械翻訳、そして、今回紹介する文章生成など
身近に利用されているものが並びます。
文章生成技術は、マルコフ連鎖からディープラーニングを用いたものなど、長く研究されてきています。
今回紹介する「GPT-2」、「GPT-3」はその中でも最も新しい技術です。
3.GPT-2、GPT-3について
「GPT-2」、「GPT-3」は、それぞれ2019年、2020年に発表された言語モデルです。
詳細は下記のURLを参照してもらうとして、実際どんなことができるの?という観点では、
・文章分類(言語モデルなので)
・文章生成ー(良くない例ですが)Fake Newsを生成する。
などがあります。他のタスク(翻訳など)も、もちろんpe可能です。
これらは、特に文章生成に特化したモデルであり、具体例は参照リンクを見てもらえればいいのですが、
機械が生成したのか、人間が書いたものか判別がつかないほど上手に文章を生成します。
この中で特に注目したのが、GPT-3を使ってソースコードを生成するものです。
実際の動きは下記の動画参照ですが
https://twitter.com/gijigae/status/1283391956026945537
「2 lightgrey buttons that say "Search Google" and "I'm Feeling Lucky" with padding in between them」と文章を入れる。
↓GPT-3に投げる
「
//the google logo
<img src="https://~~">
// a search box
<input type="search" palaceholder="Search...">
~(略)
」
が出力される(Googleのトップ検索画面)
という風に、言葉(文章)でやりたいことを伝えると、その画面(のためのソースコード)が生成してくれる(!)ものです。
ソースコードはエンジニアが書くものと決まっていましたが、これが進むと、だれでも望みどおりのソースコードが
作成できますね!事例ではhtmlやjavascriptのようですが、ほかの言語にも広がっていくのではと思います。
4.試してみる
現在、GPT-3は一般公開されていません(デモ用に一部の人は利用可能)。
しかし、1世代前のGPT-2のモデルは公開されているので、そのモデルを使って、
GPT-3と同じようなスクリプトの生成ができないか
試してみました。
試すのは簡単です。
ローカルのpython実行環境か、Google Colaboratoryのようなクラウド上の実行環境にて、
最初に、下記のように、huggingface/transfomersというpythonライブラリをインポートして、
コマンドラインで
git clone https://github.com/huggingface/transformers
cd transformers
pip install .
cd ..
を実行します。
次に、下記のコマンドを実行します。
python /content/transformers/examples/text-generation/run_generation.py \
--model_type=gpt2 \
--model_name_or_path=gpt2
入力欄が現れるので、デモビデオと同じ文章を入力してみましょう。
結果:~~お楽しみに。期待とはかなり外れたものが出てきます(汗)。
発表当時はGPT-2は人間でも見破れないくらいの精度のfake newsを生成できる
と話題になりましたが、GPT-3はそれをはるかに超える性能を持っているようです。
今回紹介した文章生成技術は、今後も進化してくれる技術であり楽しみです。
5.参考
GPT-3:『革命かパンドラの箱か、新AIツールGPT-3の波紋』(https://news.yahoo.co.jp/articles/81c23e5e0fe6f65d8c8cfed31803b5123cdf647d)
『GPT-3を活用することで自然言語からコードを自動生成』(https://note.com/sangmin/n/na7ccba00c070)
GPT-2:『「危険すぎる」と話題の文章生成AI「GPT-2」の最新版がリリース、実際に使えるデモサイトも登場』(https://gigazine.net/news/20191106-gpt-2-final-model-release/)
以上