寄稿 1

Pay Attention to 生成言語モデル〜セサミストリートを抜けるとそこには〜

審査第二部 一般機械

前原 義明

抄録

生成言語モデルとは、入力された任意の文章から、当該任意の文章に続く文章を生成する、時に人工知能と呼ばれる言語モデルのことである。生成言語モデルとして最も有名なものはOpenAI が 2020 年に発表した GPT-3 と呼ばれるモデルであるが、当該モデルのリリースを契機として、続々と他の生成言語モデルがリリースされ、各自然言語処理タスクにおけるモデルのパフォーマンスが信じられない速度で更新され続けている。本稿では、生成モデルの技術動向についてまとめるとともに、その代表的なユースケース、我々での活用可能性の検討等について紹介する。

1. はじめに

2. 生成言語モデルとは

筆者は 2020 年 7 月から 2022 年 6 月までの 2 年間、Japio 知財 AI 研究センター

1）

生成言語モデルとは、OpenAI の GPT シリーズに代表される、ある任意の文章からその文章に続く文において、 トランス字列を予測する言語モデルのことをいう。

フォーマーと呼ばれるニューラルネットを用いた、特許文書の機械翻訳をはじめとする特許・意匠・商この文字列の生成は、 ある文章の次にくる単語標に関する人工知能の研究を行なっていた。特に注（ トークン ）を予測する処理の連続によって行われ力していた取組みは、特許ドメイン特化型 BERT のるものである。この処理は、具体的には、モデルが開発及び当該 BERT2 ）を用いた SDGs・脱炭素関連持つ辞書データのそれぞれの単語が、次に出力され特許技術の解析である［ Y. Maehara et al., 2022 ］

る単語に該当する確率を算出することによって実現が、これはトランスフォーマーのエンコーダー部分される。GPT シリーズにおいては、そのモデルアー

から派生したモデルを活用したものである。これにキテクチャがトランスフォーマーデコーダーである

対し、トランスフォーマーのデコーダー部分から派ため、トランスフォーマーブロックの出力 Logits を生した GPT 等に代表されるモデルは、俗に生成言

softmax 関数で正規化することによって、この確率語モデルと呼ばれているところ、GPT-3 の発表以降、が算出されている。

この技術が信じられない速度で発展してきている。
筆者は、今こそ生成言語モデルに着目すべきである

3. GPT シリーズと考える。そのため、本稿においては、生成言語モデルの技術動向、代表的なユースケース等について

生成言語モデルで最も有名なものは OpenAI が発紹介することとする。

表した GPT［ A. Radford et al., 2018 ］である。

1）https://transtool.japio.or.jp/work/
2）Bidirectional Encoder Representation for Transformers の略称であり、セサミストリートのバートから命名された。

2023.1.27. no.308

51

tokugikon

図1

GPT モデルの文章生成概略図（出典：The Illustrated GPT-23））

GPT とは、Generative Pre-trained Transformer の

4. GPT-3

略称であり、モデルに入力された任意の文章から、当該文章の次に続く文字列を予測する機能を持って生成言語モデルを取り巻く現状が変わったのは、いる。2019 年に発表された GPT の後続モデルであ2020 年における GPT-3［ T. B. Brown et al., 2020 ］

る GPT-2［ A. Radford et al., 2019 ］については、のリリースからである。GPT-3 の特徴は、 従来のフェイクニュース拡散の懸念から、OpenAI がそのGPT モデルを大きくスケールアップした点にある。

オープンソース化を拒んでいたが、最終的にはモデ

BERT や GPT に代表される Transfomrer モデルは、

ルもその訓練コードも公開されるに至っている 。

Full Attention と呼ばれるアーキテクチャを採用しまた、訓練コードがオープンソース化されたため、ているため、モデルサイズがトークン長の二乗に比オリジナルの英語モデルだけでなく、日本語を含む

例し、 スケールアップが非常に困難であったが、様々なモデルが公開されている。日本語 GPT モデル

OpenAI は GPT に Sparse Transformer［ R. Child etで最も有名なものは、rinna 社（ 旧 Microsoft 社 ）がal., 2019 ］というアーキテクチャを採用することに開発したものである 。当該モデルは、以下の通り、

よ っ て こ の 問 題 を 解 決 し た。 図 2 は Sparse

流暢な日本語の文章を生成することができる。
（緑

Transformer における Attention 機構の概略図であマーカー部が rinna 社の日本語 GPT-2 による出力 ）る。Sparse Transformer では、ある特定の位置に係

4）5）るアテンションマップを定義する際、直前の数個分及び数個おきのチェックポイントにしか着目しない

rinna 社の日本語 GPT-2 による出力（ 図 2 においては直前 3 個の位置及びそれらより前の生命、宇宙、そして万物についての究極の疑問

4 個おきの位置 ）。Transfomer や BERT で用いられの答えは、わたしたちも知っている。わたしたている Full Attention というメカニズムは、入力デー

ちは自然と、人類の歴史と科学から生まれた知タ同士の全ての関係を捉えるため、パラメータサイ

恵である。われわれはすでに、すべての生命をズが O(n^2)（ n は入力データ長 ）となってしまってい起源とする生命をどのようにして創った

たが、Sparse Transformer の Attention 機構であれ
ば、O(n) で済む。これにより、従来よりも大きなス

3）https://jalammar.github.io/illustrated-gpt2/4）https://github.com/openai/gpt-25）https://huggingface.co/rinna/japanese-gpt2-medium

tokugikon

52

2023.1.27. no.308

寄稿１

Sparse Transformer における Attention 機構

ケ ー ル ア ッ プ が 可 能 と な っ た。 な お、 同 様 のし、OpenAI が 当 該 論 文 にて 提 唱 した Few-shot/

Attention 機構を導入した BERT の亜種（ BigBird ）One-shot/Zero-shot と呼ばれる学習方法は、訓練推もリリースされており、 要約タスク等の長い入力論の後にモデルパラメータの更新を行わない。では

データの処理が求められるようなタスクにおいて、

どうしているのかというと、Few-shot では、以下に従来のモデルを大きく超えるような精度がこれらの示す図のように、いくつかのタスクの例示及び質問

モデルによって叩き出されているところである［ M.

文をプロンプトとして GPT-3 に与えるのである。ス

Zarheer et al., 2020 ］。

ケールアップされたモデルであれば、与えられたタ

GPT-3 の 論 文 で あ る「 Language Models Are

スクの例示を参照しながら、最後の質問に対する解

Few-shot Learners 」の内容は、近年における他のエ答を生成することができる。また、One-shot はタス

ポックメイキングな論文（ Transformer、BERT 等 ）クの例示を 1 つしか行わないもの、Zero-shot はタスとは異なり、GPT モデルをスケールアップした点及クの例示を行わずにタスクの説明だけで推論を行わ

び当該スケールアップした結果、どのような成果がせるものである。以下は論文で例示されている各学あったのかという点について淡々と紹介する内容に習例を OpenAI API で再現したものである。英単語なっている。結果として、GPT-3 は、768 トークン

を仏単語に変換する等の比較的簡単なタスクであれ

長・48 層・15 億パラメータであった GPT-2 に対しば、難なくこなせていることが理解できる。

て、2,048 トークン長・96 層・1,750 億パラメータまでスケールアップされている。

Few-shot（ 英語から仏語へ ）Translate English to French:

5. F ine-tuning vs. Few-shot/One-shot/Zero-sea otter => loutre de mer

shot

peppermint => menthe poivréeplush giraffe => giraffe peluche

GPT-3 の論文では、従来の Fine-tuning というモ

cheese => fromage

デルの学習方法とは全く異なる、Few-shot/Oneshot/Zero-shot と呼ばれる学習手法が提案されていOne-shot（ 英語から仏語へ ）る。Fine-tuning とは、BERT を用いた自然言語処Translate English to French:

理タスクへのアプローチに代表されるような、訓練sea otter => loutre de mer

推論を行う度に損失をモデルに逆伝播させてモデル

cheese => fromage

パラメータの更新を行う学習方法である。それに対2023.1.27. no.308

53

tokugikon

生成言語モデル 〜セサミストリートを抜けるとそこには〜
Pay Attention to

図2

表 1 に示す通り、GPT-3 が学習したコーパスに日

Zero-shot（ 英語から仏語へ ）Translate English to French:

本語はほとんど含まれていないため（ 約 0.1% ）、このcheese => fromage

挙動は驚くべきものである。

なお、論文中における英仏単語翻訳の例示を英日

表1

単語翻訳に変更しても、以下の通り、適切に翻訳が行われることを確認できた。

 PT-3 のコーパスにおける各言語の単語単位
Gの含有率（出典：OpenAI）
言語

Few-shot（ 英語から日本語へ ）Translate English to Japanese:sea otter => ラッコ

単語総数

単語総数割合en（英語）

181014683608

92.64708%

fr（フランス語）

3553061536

1.81853%de（ドイツ語）

2870869396

1.46937%

ja（日本語）217047918

0.11109%

peppermint => ペパーミント

6. OpenAI API

plush giraffe => キリンのぬいぐるみ
cheese => チーズ

GPT-3 は OpenAI API6 ）にアカウントを作成すれ
One-shot（ 英語から日本語へ ）ば、誰でも利用することができる。GPT-3 のリリーTranslate English to Japanese:

ス直後は申請後の waitlist の通過を経ないとユーザー

sea otter => ラッコとなることができなかったが、技術のコモディティ化

cheese => チーズに伴い、現在では waitlist は廃止されている。そのため、申請後の即利用が可能である。利用は Python のZero-shot（ 英語から日本語へ ）openaiというパッケージ経由でターミナル上から API

Translate English to Japanese:を呼び出すか、PlayGround と呼ばれる WebAPI 上にcheese => チーズ

プロンプトを入力することによって行う。

図3

OpenAI API における Prayground6）https://openai.com/api/

tokugikon

54

2023.1.27. no.308

じゃ。

以下の通りである（ 2022 年 9 月時点 ）。
表2

ギコンくん：屋上に？？
コレじいさん：そうじゃ。実は、特許庁は東京

OpenAI API Pricing（出典：OpenAI）

Ada

Babbage

Curie

Davinci$0.0004/1K
tokens$0.0005/1K
tokens$0.0020/1K
tokens$0.0200/1K
tokens

都千代田区の一筆書きで建物が建てられておるのじゃ。だから、屋上には何もないのじゃ。
ギコンくん：そうなんですか…
実際には、特許庁の非常用発電設備は特許庁の地

学者の名前が付けられている。最も高額なモデルは下に存在するものの、一応、ギコンくんとコレじい

Davinci（ レオナルド・ダ・ヴィンチ ）と呼ばれる1,750

さんのそれっぽい会話を生成することができた。

億パラメータからなるモデルであり、Babbage（ チャー

また、論文中の Few-shot の要領で特許分類（ IPC

ルズ・バベッジ）、Curie（ マリー・キュリー）、Ada（エサブクラス ）の推定も可能であった。これは、ウェ

イダ・ラブレス）と続いてゆく。上述の通り、コーパ

ブクローリングされた GPT-3 のコーパスの中に IPCスにおける日本語の含有率が非常に低いため、日本語

サブクラスに関する日本語特許公報の情報が含まれのタスクをこなさせるには、最上位モデルの Davinciをていたためか、大量に含まれている英語の情報から利用することが望ましい。利用料は 2022 年 9月に値類推しているか、であると考えられる。

下げがなされており、技術の進展に伴い、今後も利用料は下がっていくことが予想される。GPT-3にタスク

GPT-3 による特許分類推定（ IPC サブクラス ）を処理させる場合は、プログラミングではなく、プロ

特許分類

ンプトを設計することによって行われるが、OpenAI

自動運転

APIにはいくつかのプロンプト例（ チャットボット、ロケット => B64GSQL 文作成等 ）が用意されており、プロンプトの設計

洗濯機=> G08G=> D06F

に際してはこれらを参 考にすればよい。 以 下は、
チャットボットのプロンプト例にならって作成した、また、2021 年より、API 経由でのモデルの Fine-

旧特技懇誌における「 ギコンくんがいく」である。

tuning の機能も提供されている。その利用は、API
キーをローカルの環境変数として保存して、Python

GPT-3 による「 ギコンくんがいく 」の openai パッケージ 7 ）を用いることによって可能とギコンくん：コレじいさん、質問です！この前なる。Fine-tuning は GPT-3 を下流タスクに適合さの回で災害対策の話になってましたけど、災害せる上で非常に有用なオプションではあるが、以下で停電になっちゃっても特許庁は大丈夫なのでの通り金額コストがかかるため、実施の際には注意

すか？

が必要である。また、学習パラメータについても細コレじいさん：むむむ、いいところに気が付いかく指定することはできず、学習率及びエポック数

たな、ギコンくん。電子システムが組織の心臓が固定されてしまっているのが難点である。

になっている特許庁では、停電は大問題じゃ！

表3

そんなときのために、ガスタービン発電からな penAI API における各 GPT-3 モデルの FineO
tuning コスト（出典：OpenAI API Pricing8））

る非常用発電設備を備えておるのじゃよ。

モデル

ギコンくん：パテッ！そんなものがあるんですAdaか？！初耳です！どこにあるんですか？

訓練コスト

利用コスト

$0.0004/1K tokens $0.0016/1K tokens

Babbage $0.0006/1K tokens $0.0024/1K tokens

コレじいさん：聞いておくんだな、ギコンく

Curie$0.0030/1K tokens $0.0120/1K tokens

ん。それは、特許庁の裏手にある屋上にあるのDavinci$0.0300/1K tokens $0.1200/1K tokens

7）https://github.com/openai/openai-python8）https://openai.com/api/pricing/55

tokugikon

生成言語モデル 〜セサミストリートを抜けるとそこには〜
Pay Attention to

OpenAI API で利用可能な各モデルには、過去の科

2023.1.27. no.308

寄稿１

利用に対する課金は従量課金制であり、利用料は

り続けていくことを意味している。スケーリング則7. トランスフォーマーのスケーリング則の発見によって、生成言語モデルに代表される人工GPT-3 の性能を見せつけられると、生成言語モデ

知能の開発における技術課題は、「 どれだけの投資がルのパフォーマンスが今後どこまで上がるのかといできるか？」という政治的な問題となった。そのたう点について興味が出てくるだろう。この点についめ、スケーリング則に関する OpenAI の論文の発表ては、OpenAI が GPT-3 の論文と同時期に発表したから、各企業が発表したモデルのパラメータは加速論文［ J. Kaplan et al., 2020 ］によって言及されてい度的に増加し続けている。さらに驚くべき点は、言る。結論からいえば、GPT-3 に代表される言語モデ語だけでなく、画像や音声等の Transformer が適用

ルの性能には限界がない。OpenAI の当該論文では、される全てのモダリティにおいてスケーリング則のTransformer のスケーリング則という現象について言適用があることである。今後は自然言語だけでなく、及されている。スケーリング則とは、「 Transformer

全てのモダリティにおいて、GPT-3 の発表時のようの性能がパラメータ数・データサイズ・計算資源のな衝撃が待っている可能性がある。

たった 3 つの変数によって支配されている。」というものである。図 4 に示す通り、水平軸にそれぞれ 3

8. GPT-3 亜種

つのパラメータのべき乗をとってモデルの損失をプロットすると、綺麗な直線になっていることが理解

GPT-3 及 び ス ケ ー リ ン グ 則 の 発 表 を 受 け て、できる。

Google や DeepMind をはじめとする他の企業も、

これはつまり、これら 3 つのパラメータを大きくし続々と GPT-3 亜種と呼びうる独自の生成言語モデ

続けていけば、Transformer の性能が際限なく上が図4

図5ルを発表した。以下、それらについて紹介する。

計算資源・データサイズ・パラメータ数に対する損失の変化

各種 GPT-3 亜種のコーパストークン数及びパラメータ数（出典：DeepMind）

tokugikon

56

2023.1.27. no.308

開はされていない。

EleutherAI という研究者団体によって訓練された、GPT-3 と同様のモデルアーキテクチャを採用した生成言語モデル。GPT-J のパラメータ数は 60 億、8.5 PaLM［A. Chowdhery et al., 2022］

GPT-NeoX は 200 億であり、GPT-3 に比べるとパ

6,144 もの TPU10 ）を用いて Google によって学習さ

フォーマンスの点で見劣りするが、そのため逆に、れた、5,400 億パラメータからなる現時点における最TeslaA100 のような汎用 GPU 単騎での Fine-tuning

大 規 模 の 生 成 言 語 モ デ ル。PaLM に お い て は、が可能である。GPT-Neo については、日本語版もchain-of-thought prompting［ Wei et al., 2022 ］といリリースされている 。

う推論手法が用いられている 11 ）。これは、クエリの9）程を表現する文章をまず生成してから、回答を生成

8.2 Gopher［J. W. Rae et al., 2022］
AlphaGo を開発したイギリスの DeepMind 社にする手法である。PaLM のような超巨大生成言語モ

よって発表された生成言語モデル。Gopher の学習

デルで chain-of-thought prompting を用いることで、において、モデルパラメータ数は 2,800 億までスケー

算数の文章問題のような回答を行うに際して思考のルアップされており、GPT-3 等で報告されていた生連鎖が要求されるようなタスクにおいて、目覚まし

成言語モデルのバイアスを抑制するために、有害ない成果が出たことが報告されているところである。

コーパスをクリーニングする等の工夫がなされている。Gopher は、152 にも及ぶ様々なタスクにおいて

8.6 BLOOMSoTA（ State of The Art ）を達成している。論文にTransformers12 ）で有名な HuggingFace によるオー

おいては、文章理解やファクトチェック等のタスク

プンソース化された生成言語モデル。パラメータ数においては、モデルのスケールアップが有意に働くは 最 大 の も の で 1,760 億。BLOOM の 利 用 は、が、数学の文章問題に代表されるような推論型のタ

HuggingFace へのユーザ登録をすることによって可スクでは、モデルのスケールアップが精度向上にあ能となるが、OpenAI API と異なり無料で利用するまり寄与しなかったことが報告されている。

ことが可能である。BLOOM の事前学習は、384 個の GPU（ A100 ）を 3.5 カ月も用いて行われているが、当該事前学習の経緯についてまとめた研究者のブロ

8.3 Chinchilla［J. Hoffmann et al., 2022］

グ 13 ）が示唆に富んでおり非常に参考になる。

DeepMind によってトレーニングされた生成言語モデル。 パラメータ数は 700 億であり、GPT-3 やGopher に比べて劣るものの、Gopher に対して 4 倍

9. 生成言語モデルのユースケース

以上の訓練データスケーリングが行われており、様々な下流タスクにおいて Gopher を含む既存のモGPT-3 に代表される生成言語モデルは、BERT にデルに対する優位性が示されている。

代表されるベクトルが出力となるエンコーダーモデ
ルとは異なり、文章が出力されるので出力の多様性が担保されている。そのため、生成言語モデル自体

8.4 HyperCLOVA
LINE 株式会社によって開発された日本語コーパの進化と同様に、生成言語モデルのユースケースもスを中心にトレーニングが行われた日本語生成言語

近年大きな進化を見せている。以下、代表的なものモデル。モデルは NVIDIA の Megatron-LM であり、を紹介する。

9）https://huggingface.co/yellowback/gpt-neo-japanese-1.3B
10）Tensor Processing Unit
11）https://ai.googleblog.com/2022/05/language-models-perform-reasoning-via.html
12）https://huggingface.co/docs/transformers/index
13）https://huggingface.co/blog/bloom-megatron-deepspeed

57

tokugikon

生成言語モデル 〜セサミストリートを抜けるとそこには〜
Pay Attention to

質問文から回答を直接生成するのではなく、思考過2023.1.27. no.308

寄稿１

パラメータ数は 390 億である。現在、一般向けの公8.1 GPT-J 及び GPT-NeoX

9.1 機械翻訳モデルの蒸留［J. M. Han et al.,

9.2 AlphaCode［Y. Li et al., 2022］

2021］

生成言語モデルはコンピュータプログラムのコード

通常、機械翻訳モデルの訓練は、研究者によっても学習しているため、C 言語や Python といったプロ構築された対応する対象二言語対の集合、いわゆるグラミング言語のコードを生成することもできるが、対訳コーパスを用いて行われるが、 当該論文ではOpenAI は競技プログラミングの問題を生成言語モデ

GPT-3 から知識蒸留を行うことによって機械翻訳モルに解かせることに成功した。これは GitHub の存在

デルを作成している。作成の方法は、まず、以下のする大量のコードを生成モデルに事前学習させ、

Zero-shot プロンプトで GPT-3 からフランス語と英

Codeforces14) 等にある競技プログラミングの問題文

語の対訳文対を出力させる。

及び回答例のコードで当該モデルを Fine-tuning するというものである。以下に競技プログラミングの問<sep> Given the following passage in

題例と AlphaCode が生成したプログラムを示す。

<srcLang>: <sep> <srcSeq> <sep> a good

Codeforces の問題例

<tgtLang> translation is: <sep> <tgtSeq>（ 出典：Competitive programming with AlphaCode15 ））<sep>.

Backspace
You are given two strings s and t,

次は、この Zero-shot プロンプトによって生成されたいくつかの対訳文対から、図 6 のような Few-shot

consisting of lowercase English letters.

プロンプトを作成することによって対訳コーパスを

You are going to type the string s

GPT-2 によって生成させる。

character, from first character to the lastone.

最 後 は、 この 対 訳 コー パスを 使 っ て GPT-3 を
Fine-tuning することによって機械翻訳モデルをト
レーニングする。この機械翻訳モデルを作成するフ

When typing a character, instead of

ローでは、対訳コーパスを作成するための人的な翻pressing the button corresponding to it,

訳処理は一度も出現せず、GPT-3 が行う文章生成

you can press the “Backspace” button. It

処理によって全てが完結しているが、当該論文は、

deletes the last character you have typed

この手法により、WMT14 の英仏翻訳タスクにおけamong those that aren’t deleted yet (orる BLEU 値 42.1 を達成している。

does nothing if there are no characters in

図6

Few-shot prompting による対訳コーパス生成（出典：OpenAI）

14）https://codeforces.com/
15）https://www.deepmind.com/blog/competitive-programming-with-alphacodetokugikon

58

2023.1.27. no.308

c=[]“abcbd” and you press Backspace instead

while len(b)!=0 and len(a)!=0:

of typing the first and the fourth

if a[0]!=b[0]:characters, you will get the string “bd”

c.append(b.pop(0))(the first press of Backspace deletes noa.pop(0)character 'c'). Another example, if s is

寄稿１

the current string.). For example, if s iselif a[0]!=b[0] and len(a)==1:“abcaa” and you press Backspace instead

a.pop(0)of the last two letters, then the resulting

a.pop(0)text is “a”.

elif a[0]!=b[0] and len(a)==1:

Your task is to determine whether you canif len(b)==0:

obtain the string t, if you type the string

print(“YES”)

s and press “Backspace” instead of typing

else:

several (maybe zero) characters of s.

print(“NO”)
なお、競技プログラマ（ 競プロ er ）としての能力

Input

はレートで表現されることができるが、現時点でのThe first line contains a single integer

AlphaCode レートは約 1,300（ 基礎的なアルゴリズムq(1≤q≤105) the number of test cases. The

処理能力については疑いのないレベル ）まで到達しfirst line of each test case contains theている。

string s(1≤|s|≤105) . Each character of s isa lowercase English letter.

9.3 WebGPT［R. Nakano et al, 2021］

The second line of each test case contains

GPT-3 にブラウザを操作させるコマンドを生成す

the string t(1≤|t|≤105) . Each character of

ることによって、任意の質問文に対してウェブから

t is a lowercase English letter.

得られる情報を用いて回答できるようにした GPT-3

It is guaranteed that the total number ofのユースケースである。WebGPT はプロンプトに含characters in the strings over all test

まれる、質問、今まで引用した文章、アクション履

cases does not exceed 2・105.

歴、ウェブページのタイトル、スクロールバーの位
置、ブラウザが表示しているテキスト、残りアクショ

AlphaCode の回答例

ン回数、次のアクションという項目から以下の表に（ 出典：Competitive programming with AlphaCode ）示されるコマンドを生成する。
（ これら以外のコマン

t=int(input())

ドを出力した場合、操作は無効とされる。）

for i in range(t):WebGPT はオープンソース化されていないが、

s=input()

WebGPT が作成した任意の質問文への回答についt=input()てはいくつかのサンプルが公開されている 16 ）。次項

a=[]

は、
「 How do neural networks work? 」（ ニューラルb=[]

ネットワークはどうやって動くの？ ）というオープン

for j in s:

クエスチョン型の質問に対する WebGPT が作成しa.append(j)た回答である。チェリーピックではあろうものの、

for j in n:

非常に論理的な回答が生成されていることが理解で

b.append(j)きる。

a.reverse()
b.reverse()

2023.1.27. no.308

59

tokugikon

生成言語モデル 〜セサミストリートを抜けるとそこには〜
Pay Attention toa.pop(0)WebGPT がプロンプトから生成するコマンド
コマンド

内容

Search <query>

BingAPI にサーチクエリ <query> を送り、検索結果を表示する。

Clicked on link <link ID>

リンクを辿って新しいページに行く。

Find in page: <text><text> を現在のページの中で検索し、そこまでスクロールする。

Quote: <text>

もし、<text> が現在のページで発見されれば、それを引用リストに加える。

Scrolled down <1, 2, 3>

番号の数だけ下スクロールする。

Scrolled up <1, 2, 3>

番号の数だけ上スクロールする。

Top

ページトップに行く。

Back

前のページに行く。

End: Answer

ブラウジングを終了し、回答フェーズに移行する。

End: <Nonsense,
Controversial>

ブラウジングを終了し、回答フェーズをスキップする。

WebGPT の解答例

network figures things out exactly as it

In its most basic form, a neural network

should[2].

has two layers: an input layer and an
1. How neural networks work - A simple

output layer[3]. The output layer is theintroduction (www.explainthatstuff.com)

component of the neural network that makes

2. How neural networks work - A simple

predictions[3]. In a feedforward network,

introduction (www.explainthatstuff.com)

information flows through the network in

3. How Do Neural Networks Really Work? |the following way: patterns of information

Nick McCullum (nickmccullum.com)

are fed into the network via the input

4. How Do Neural Networks Really Work? |units, which trigger the layers of hidden

Nick McCullum (nickmccullum.com)

units, and these in turn arrive at theoutput units[1]. The network learns by a
feedback process called backpropagation,

なお、WebGPT のアイデアは特許審査や商標の審

which involves comparing the output a

査にも適用可能であると筆者は考えている。

network produces with the output it wasmeant to produce, and using the difference

9.4 Minerva［A. Lewkowycz et al., 2022］

between them to modify the weights of the

上 述 の PaLM を ベ ー ス に、chain-of-thought

connections between the units in theprompting というプロンプトエンジニアリングによっ

network, working from the output unitsて、数学の問題を解けるようにした生成言語モデル

through the hidden units to the inputである。PaLM から進歩している点は、科学技術論

units, going backward[2][4]. Over time,

文 等 の コ ー パ ス を 読 み 込 ん で い る 点 に あ る。

backpropagation causes the network to

Minerva の回答例は、GoogleResearch の GitHub リ

learn, reducing the difference between

ポジトリ 17 ）で参照することが可能である。一例を図

actual and intended output to the point

7 に示す。

where the two exactly coincide, so the

米国高校レベルの数学問題を集めた MATH という

16）https://openai.com/blog/webgpt/17）https://minerva-demo.github.io/

tokugikon

60

2023.1.27. no.308

寄稿１

Minerva による数学問題への解答例（出典：Minerva Explorer）

データセットにおいて、Minerva は 50.3% という正トークナイザ及びコーパスに rinna 社の GPT モデ

答率を叩き出している。この結果をみると、「 ついにルと同じものを流用した場合、HuggingFace の生成

ここまで来たのか。」と思わずにいられない。

言語モデル用トレーニングコードを実行するためのスクリプトは以下の通りとなる。
（ 最低限のオプショ
ンのみ ）なお、CC100 のデータセットの日本語 Ver

10. 生成言語モデルのトレーニングを読み込むように、Python 実行コード内のデータ読込みクラスの引数に日本語フラグ（ ja ）を設定する必

最後に生成言語モデルを実際にトレーニング（ 事要がある。

前学習 ）する方法を紹介したいと思う。個人でパラメータ数が億を超えるような大規模モデルをトレー

python run_clm.py \ニングする際は、基本的には AWS18 ）で TeslaV100--model_name_or_path rinna/japanese-gpt-1b \等の高性能 GPU を時間借りすることによって行う。

--tokenizer_name rinna/japanese-gpt-1b \（ そのような場合でも、予算の関係から損失が収束--dataset_name cc100 \するようなところまで学習を行うことは不可能であ--per_device_train_batch_size 1 \る。）ここでは、HuggingFace のコードで rinna 社が--per_device_eval_batch_size 1 \リリースしている 13 億パラメータの日本語 GPT を--do_train \事前学習する方法を紹介したいと思う。rinna 社の--do_eval \GPT モ デ ル は HuggingFace が 提 供 す る--output_dir /tmp/test-clm

Transformers というライブラリで利用・訓練することが可能である。HuggingFace のコードは以下の通り、GitHub

前処理に非常に時間がかかってしまい、途中で p2
インスタンスの利用を打ち切ってしまったため、残からダウンロードすることができる。

19 ）念ながらこの訓練の結果を本稿で紹介することはで$ pip install transformers datasets evaluate

きない。しかし、基本的にはこれで rinna 社と同じ

$ git clone https://github.com/huggingface/transformers

スペックの GPT モデルをトレーニングすることが可$ cd transformers/examples/pytorch/language-modeling

能となる。

18）Amazon Web Service19）https://github.com/huggingface/transformers

2023.1.27. no.308

61

tokugikon

生成言語モデル 〜セサミストリートを抜けるとそこには〜
Pay Attention to

図7

［6］
 M. Zaheer et al., Big Bird: Transformers for Longer
Sequences, CoRR, 2020 abs/2007.14062, https://arxiv.
org/abs/2007.14062.
［7］
 J. Kaplan et al., Scaling Law for Neural Language
Models, 2020, https://arxiv.org/abs/2001.08361.
［8］J. W. Rae et al., Scaling Language Models: Methods,
Analysis & Insights from Training Gopher, 2022,
https://arxiv.org/abs/2112.11446.
［9］
 J. Hoffmann et al., J. W. Rae et al., Training ComputeOptimal Large Language Models, 2022, https://arxiv.
org/abs/2203.15556.
［10］A. Chowdhery et al., PaLM: Scaling Language
Modeling with Pathways, 2022, https://arxiv.org/
abs/2204.02311.
［12］
 J. M. Han et al., Unsupervised Neural MachineTranslation with Generative Language Models Only,
2021, https://arxiv.org/abs/2110.05448.
［12］Y. Li et al., Competition-Level Code Generation with
AlphaCode, 2022, https://arxiv.org/abs/2203.07814.
［13］R . Nakano et al., WebGPT: Browser-assisted
question-answering with human feedback, 2021,
https://arxiv.org/abs/2112.09332.
［14］A. Lewkowycz et al., Solving Quantitative Reasoning
Problems with Language Models, 2022, https://arxiv.
org/abs/2206.14858.

11. まとめ
本稿では、生成言語モデルの概要、代表的なユー
ス ケ ー ス 等 に つ い て 紹 介 し た。 紹 介 の 通 り、Transformer のエンコーダーモデルの応用である
BERT 等に比べて、生成言語モデルはその出力が任意の文章であるため、非常に広範な分野へ応用が可能である。また、その性能についても、上述のスケー
リング則によって、予算を投入し続ければ上がり続けることが示されており、今後、人類のいわゆる「 知的 」であると言われていた作業が、生成言語モデル
によって代替されていくことが予想される。今後も一特許審査官として、この技術の発展に注意を向け続けていきたい。
（ 本稿における見解は著者個人のものであり、著者が所属する組織のものではない。）
参考文献
［1］Y
 . Maehara, A. Kuku, Y. Osabe, Macro analysis of
decarbonization-related patent technologies by patentdomain-specific BERT, 69, World Patent Information,
2022, 102112, https://doi.org/10.1016/j.wpi.2022.102112.
［2］A. Radford et al., Improving Language Understandingby Generative Pre-Training, 2018, https://s3-uswest-2.amazonaws.com/openai-assets/research-covers/
language-unsupervised/language_understanding_paper.
pdf.
［3］A. Radford et al., Language Models are Unsupervised
Multitask Learners, 2019［4］T. B. Brown et al., Language Models are Few-Shot
Learners, 2022, https://s3-us-west-2.amazonaws.com/
openai-assets/research-covers/language-unsupervised/language_understanding_paper.pdf.
［5］R. Child et al., Generating Long Sequences with Sparse
Transformers, 2019, https://arxiv.org/abs/1904.10509

tokugikon

profile
前原 義明（まえはら よしあき）
審査第二部 一般機械（制動・機械要素）審査官
平成 22 年 4 月 入庁（特許審査第二部 自動制御）
平成 25 年 4 月 審査官昇任（審査第二部 自動制御）
平成 27 年 10 月 総務部企画調査課
平成 28 年 10 月 審査第二部 運輸
平成 30 年 1 月	文部科学省 宇宙関係在外研究員（ドイツ航空宇宙センター）
平成 31 年 1 月 審査第二部 自動制御（流体制御）
平成 31 年 4 月 審査第二部 審査調査室
令和元年 10 月 審査第二部 生活機器
令和 2 年 7 月	一般財団法人 日本特許情報機構 知財 AI 研
究センター
令和 4 年 7 月
現職

62

2023.1.27. no.308