🤖

o3はどのように動いているか?

に公開

o3がリリースされましたね!

https://openai.com/index/introducing-o3-and-o4-mini/

まじか……すごい……としか言えないのもつらいので、
しくみをメモしておきます📚

生成AIの基本

生成AIは基本的に次のトークンを予測するプログラムです。

わたしたちは例えば誰かが「今日の天気は……」といいはじめたら「はれ」「あめ」「くもり」のどれかを言うのかな……と予測しますが、これと同じことを生成AIも行います。

下の例では天気の文を読み込んでいます。

これによって生成AIは「今日の天気は……」の次には「はれ」「あめ」「くもり」のいずれかがくることを事前学習の段階で学びます。

画像もトークンとして扱うことができます。

そしてユーザーが「今日の天気は?」ときいた際、
次にくる文(「はれ」「あめ」「くもり」)を予測し表示します。

初期の生成AIは収集データから最も確率が高い次のトークンを返すというシンプルなモデルで、
文章レベル・事実レベルともになかなか満足がいかないものでした。

これを改善したのが「強化学習」と「自律駆動」です。

強化学習

「強化学習」とは特定の環境と状態にあるエージェントがどのような行動をとれば報酬を最適化できるか学ぶ方法です。

たとえば「スーパーマリオ」を例にします。

用語
エージェント マリオ
環境 コース
状態 場所・時間など
行動 上へ行く・右へ行くなど
報酬 コイン

「エージェント」には、

  • 上へ行く
  • 下へ行く

という選択肢があります。

この中から報酬が高い行動を選択します。

下の場合

  • 上へ行く


引用:
https://www.nintendo.co.jp/3ds/abej/about/index.html

「強化学習」はもちろんAIにも適用可能です。

用語
エージェント AI
環境 チャット
状態 チャットの会話
行動 文章の選択・事実の調査
報酬 ユーザーの反応

「エージェント」には、

  • 「「はれ」です」
  • 「「はれ」だね」
  • 「「はれ」かな」
  • ウェブブラウズ
  • プログラミング

という選択肢があります。

この中から報酬が高い行動を選択します。

文章を選択することが適切な例)
・「こんにちは」に「こんにちは」と返す

事実を調査することが適切な例)
・「今日の天気は?」で今日の天気を返す

自律駆動

自律駆動にはReActのような形式的な思考誘導の枠組みが利用されます。

https://arxiv.org/abs/2210.03629

こちらのバスの停車時間の間隔を調べる例で考えてみましょう。

https://openai.com/index/thinking-with-images/

ユーザーのリクエスト

ユーザーの質問

which stop is this, and what is the frequency of the bus at this stop? search the internet if needed!

ユーザーの写真

AI

  1. フォーマットを準備
  2. 項目を記入
  3. 自分自身に送信
  4. Final Answerが記入されるまで2-3を実行
  5. ユーザーに送信
Thought: [〜をする]
Action: [すること]
Observation: [結果]

...

Thought:
Final Answer: [結果]

上記の例で考えてみましょう。

Thought: 場所を特定する
Action: [すること]
Observation: [結果]

...

Thought:
Final Answer: [結果]
Thought: 場所を特定する
Action: プログラミング - 画像を拡大
Observation: [結果]

...

Thought:
Final Answer: [結果]
Thought: 場所を特定する
Action: プログラミング - 画像を拡大
Observation: 「成川美術館」

...

Thought:
Final Answer: [結果]
Thought: 場所を特定する
Action: プログラミング - 画像を拡大
Observation: 「成川美術館」

Thought: 「成川美術館」のバスの時刻表を調べる
Action: [すること]
Observation: [結果]

Thought:
Final Answer: [結果]
Thought: 場所を特定する
Action: プログラミング - 画像を拡大
Observation: 「成川美術館」

Thought: 「成川美術館」のバスの時刻表を調べる
Action: ウェブブラウズ - 「成川美術館 バス 時間間隔」
Observation: [結果]

Thought:
Final Answer: [結果]
Thought: 場所を特定する
Action: プログラミング - 画像を拡大
Observation: 「成川美術館」

Thought: 「成川美術館」のバスの時刻表を調べる
Action: ウェブブラウズ - 「成川美術館 バス 時間間隔」
Observation: 10〜20分

Thought:
Final Answer: 10〜20分です

さいごに

これから、どんどん、AIによって、いろいろなことができるようになりそうで、めっちゃ未来が楽しみです……!

Discussion