布留川氏の自己紹介

布留川英一氏:それでは始めます。OpenAI本出版記念として、今日は「OpenAI最新技術情報と技術情報キャッチアップ術」について話そうと思います。

最初に簡単に自己紹介をします。名前は布留川英一と申します。ハンドルネームはnpakaでやっています。株式会社ゼルペムに所属していますが、基本は個人でやっているようなものです。

プログラム歴は40年と言っていますが、1984年の「ファミリーベーシック」みたいなものから始めたので、ちょうど40年ということでキリがいい数字でした。インターネット歴は大学に入った1994年からなので、ちょうど30年です。

技術書歴は、最初に書いたのが、「iモード」のアプリの開発ができるようになった本なので、2001年からで、今のところだいたい年間2冊ペースで50冊ほど本を書いています。

自分は誰かというと、ハードウェアというよりはロボットを動かすAIを作りたい人みたいな感じで今までやってきました。

最初は大学時代ですね。1990年代はちょうどインターネットが流行っていたので、その頃に人工生命とか人工無脳とかをやっていて。今ではもう昔の言語ですが、Java言語が流行っていました。レゴ社が出している「MINDSTORMS」というソフトウェアが動くやつでJavaで動かして、ロボットを動かすとか、そういうことをやっていました。

「これからは携帯電話がくるぞ」ということで、携帯電話のアプリの元になるものを作っていたら、『JAVA PRESS』とかで連載が始まったので、そこから携帯電話用のアプリを作り始めたというのが仕事の始まりになります。

1990年代だとまだシミュレーターしかなかったんですが、2000年代になると、アプリが動く携帯電話が出たり、スマートフォンが出たりしたので、そういうものを仕事にしつつ、ロボットのほうはMicrosoftが「Microsoft Robotics Studio」という、ロボット用のOSとシミュレーターの組み合わせみたいな開発キットを使っていたので、そのあたりで開発をやっていました。

ハードウェアとしてはタカラトミーさんの『i-SOBOT』というロボットや、『ネットタンサー』というバンダイさんのロボットや『EMMA』というロボエンジンさんのロボットなどを使っていました。

2010年代になってようやく今いろいろAI(をやるよう)になってきます。(スライドを示して)この頃ようやく深層学習とか強化学習とかが流行り始めて、DeepMind社の「AlphaGo」が流行り始めたのを機に、このあたりの本を書いたり、ロボットを作ったりをいろいろ始めています。

最近はソニーさんの『toio』でロボットサッカーをやったりとか、そういうものを作っていました。「Unity」でAIを作ったり、ロボットを動かしたり、そういうものを本で書いていました。

2020年代に「ChatGPT」が出て以降は、もうだいぶ生成AI……。LLM、マルチモーダル、エージェントあたりをやっています。

ということで、2020年代はまだロボットは出ていません。RT-X(モデル)とかOptimusとかNEOとか、これからいろんなところがロボットを出そうとしているので、そういうもので動くようなロボットのAIを作るべく、主に生成AIとかLLMとかマルチモーダル、エージェントを研究しつつ本を出すみたいな仕事をしています。これが自己紹介です。

本セッションのアジェンダ

本日のアジェンダですが、今日は2部構成になっていて、まずOpenAIの最新技術情報について紹介しようかと思います。

最初に今回のイベントの元になったOpenAI本の紹介をした後、そのOpenAI本を書いた後にOpenAIがいろいろ出してきた最新技術情報について、追加情報として解説します。そして2024年に入って大規模リニューアルがあった「LangChain 0.1」とか「LlamaIndex 0.10」についても紹介します。

後半は「最新技術情報のキャッチアップ術」と題して、自分がふだん情報収集しているものを軽くまとめてみたので、そのあたりを紹介しようかと思います。情報収集から始まって、デモを試し、記事を書いて、本にまとめて、アプリケーション開発と、そんな感じの流れで解説していこうかと思います。

書籍『OpenAI GPT-4V/ChatGPT/GPTs 人工知能プログラミング実践入門』について

それでは始めていきます。「OpenAIの最新技術情報」として、最初に「OpenAI本の紹介」。今回このイベントを開かせてもらう時に、きっかけとなったのはこのOpenAI本になります。

『OpenAI GPT-4V/ChatGPT/GPTs 人工知能プログラミング実践入門』という本を2月ぐらいに出しました。

ChatGPTは一番安定しているというか、バージョンアップが安定しているもので本を書きました。ChatGPTの「OpenAI API」がバージョンアップで1年足らずで大幅にリニューアルしたということで、ふだんは本を書いたとしても1年ごととかですが、OpenAI技術が早すぎるということで、1年経たずに次の本を出しました。今回は紙の本ではなくPDF版とAmazonのプリント・オン・デマンド、Kindle版になっています。

PDF版だと値段が安くなっていて、Amazonのプリント・オン・デマンドとKindle版はちょっと高くなっているので、どちらかというとPDF版のほうが安い。あと、コピペしてChatGPTと一緒に読めたりするのでお薦めです。

OpenAI本の目次です。中身を紹介すると、最初に「GPT-4VとChatGPTとGPTsの概要」ということで、今回初めて「GPTs」が登場したので、そのあたりの解説をしています。

そして「ChatGPTとGPTとPlaygroundの利用法」「Pythonの開発環境の準備」「OpenAI API」「ファインチューニング」。あと目玉の「Assistants API」ということで、2023年11月の大型アップデートに対応した内容になっています。

どちらかというと基本的な、入門者向けのものなので、あまり専門的にAIをやっていない、OpenAIのプログラミングに入門したい人向けの本になっています。

OpenAI、プログラミングをやりたい人はもしよければ読んでもらえるとうれしいです。

宣伝はこれぐらいにして、今回の勉強会を始めていこうかと思います。

OpenAIの最新情報 新モデルの追加と値下げ(1月25日)

OpenAIの最新情報としては……。あっ、1月に本を出したんだ。PDF版自体は1月に書き上げていたので、そこからの追加情報になります。

1月25日に新モデルの追加・値下げがありました。2月14日にChatGPTのメモリ機能が発表されました。そして2月16日に「Sora」が発表されました。一つひとつ見ていきます。

1月25日の新モデルの追加と値下げ。この日に発表されたモデルは「gpt-4-0125-preview」と「gpt-3.5-turbo-0125」という新しいモデルです。

このモデルで一番注目するべきは、gpt-4-0125が2023年12月までの学習データを使っていて、けっこう最新のデータまで学習しているということです。これによって、ChatGPTをはじめとするLLMで最新の情報がなかなかわからないというところがけっこう最近までわかるということで、かなり使いやすいモデルになっています。

(スライドを示して)そしてもう1つは右のほうで、埋め込みモデルもバージョンアップしています。「text-embedding-3-small」と「text-embedding-3-large」という2つの新しい埋め込みモデルが発表されています。

これらは前のモデルよりも性能が良く、さらにサイズが小さいものもあるので、すごく早い。とにかく精度が高くて早くなって、しかもgpt-4とgpt-3.5と、この埋め込みモデルはどれも安くなっているということで、すごく使いやすくなっています。

そしてもう1つ、「text-moderation-007」。そのテキストが安全かどうかを判断するモデルですね。これもバージョンアップしています。

基本的に、本に書いてあるモデルの名前を書いてもらえばそのまま動きます。値段も安くなっているため、本を読んでくれた方は、モデルの名前を全部これに変えて実行してもらえれば性能が高く安いモデルが使えるので、使ってみてください。moderationだけはなにもせずに最新版が使えるようになっているので、このあたりは気にせずそのまま使えます。

OpenAIの最新情報 ChatGPTのメモリ機能追加(2月14日)

次が2月14日に出たChatGPTのメモリ機能で、過去の会話の内容を覚えて次の会話で活用して、何かを思い出すように明示して指示したり、何を忘れているかを尋ねたり、忘れさせたりとか、そういうことができる機能です。

ChatGPTは新入社員みたいな感じだとよく言われるんですが、やり取りをしている人との関係は基本的にあまり覚えていなかったり、昨日のことを覚えていなかったりするので、そのあたりで人間とは違う会話のやり方がけっこう必要です。しかし、このメモリ機能があれば昔の会話を覚えて次の会話に活かしてくれるということで、より人間的な会話ができるんじゃないかと期待される機能になっています。

ただ、実際にこういうメモリ機能を活用したとしても、全部呼び出してしまうと今話したいことが話せなくなったりとかいろいろあるので、どうやって実装しようとしているのかをすごく興味深く見ています。

自分のところにも一瞬(使えるようになるための)設定が来たんですが、また使えなくなってしまったので、まだこのメモリ機能自体がどんな感じで動いているのかをちゃんと確かめられていないんですが。将来的にChatGPTがより人間的な応答をするのではと、すごく期待している機能になります。

「これからテストをします」と言ったんですが、最近使っている人があまりいない気がしますので、もしかしたらあまり動いていないのかもしれません。「今ちょっと少人数でテスト中」みたいな発表はやっていました。

OpenAIの最新情報 「Sora」の発表(2月16日)

そして、一番みんなが興味あるだろうものが、2月16日に発表されたSoraです。現実的で想像力に富んだシーンを作成可能な動画生成モデルです。

今までの動画生成モデルだと、「なんとなく動いているな」とか最終的に破綻しちゃったりとか、一貫性がぜんぜん取れていなかったんですが、Soraは最初から最後まできれいに一貫性が取れていて自然な動画ができるということで、かなり話題を呼びました。

あと一番注目すべきなのは、物理世界をシミュレートするようにAIを学習しているという話になります。物理世界をシミュレートすることによって、単なる動画生成じゃなくて、これからAIがAIエージェントとなる時に使う、いろいろな能力を得られるんじゃないかなと思ったりしています。

このあたりの動画生成は、OpenAIが最初の頃、強化学習とかゲームとかそういうものをAIで学習させようとしていて、実際に現実世界で働くエージェントを作ることを目指していた頃があったんですけど。その頃に「世界モデル」というモデルを作って、ロボットとかを制御しようとかをやったり、やろうとしていました。

強化学習はけっこういろいろうまくいって、ゲームの世界ではゲームのチャンピオンに勝ったりはしていました。強化学習だけでは汎化性能がなかなか出ず、ちょっとでも環境が変わるとまた学習し直しというネックがあったので、現実世界で働くにはなかなか難しいというところがありました。

そこで考えられたのが世界モデルです。現実世界を頭の中で作って、その中でいろいろシミュレートしていろんな世界の汎化性能を取ろうということをやっていたんですが、この頃だと世界モデルをシミュレートするということがまだなかなかできていなかったので。言語モデル以前の時にはゲームではトップになれたんですが、「いろいろな現実世界で働くのは難しいかな」みたいな感じになっていました。

動画を生成する力がある = 未来がどうなるかを生成できる

「世界モデルとは」で、世界モデルについて説明します。人は、目で見た世界の情報の断片を基に頭の中に仮想世界を構築するという感じでやっています。

リンゴを見たとしたら、それを頭の中で想像して、そのリンゴの裏側がどうなっているかを、実際に裏返さなくても頭の中で「裏側はどうなっている?」と想像したり。

もうちょっとわかりやすく言うと、車の運転で、右のほうに人がいると「これから飛び出してくるかもしれない」と頭で想像したり。人間が外の世界を見る時には断片的な情報しか取れないので、その断片的な情報から「実際の世界はこうなっている」ということを人間は頭の中で構築して、それを基に行動しています。

前の強化学習でやっていたゲームだと、そのあたりの世界モデルがなく、画面で見たこと以外はぜんぜん想像できなかったのでけっこう限界がありました。この世界モデルを獲得すれば現実世界の見えていない部分ももっと想像して動くようになって、より人間の世界で働くようなAIエージェントができるんじゃないかと考えられています。

動画を生成する力があるということは、現在の映っている世界から数秒後とか1分後の未来がどうなるかを生成できるわけなので、それによって現在から何が起こるかを推測して、それから行動を起こすことを、単なる動画生成から未来を予測するようなシステムとして使うようになると役に立つみたいな、そんな感じの流れになっています。

「Sora」と「知能」

「知能とは」ということで、もともとの人工知能とかを考えていた時に、そもそも「知能とは?」ということがあります。ジェフ・ホーキンスさんというPalmとHandspringの創始者の人が、深層学習がまだ発見される前ぐらいに書いた本に、「知能とは?」ということで、「今までの記憶から未来を予測する力。それが知能である」と書いていました。

自分はこの本の言葉がすごく記憶に残っていて。知能は、未来を予測する力をどんどん手に入れるというイメージがあります。未来を予測する力を手に入れることは、人工知能が発展する(要因になる)と考えているので、今回のSoraの動画ができれば、「現在の状態から1分後、何が起こる?」とを想像したり、そういう力になると考えています。

マルチモーダルなので、「この言葉が来たら、次はこうなる」ということがわかれば、「この動画がきたら、次はこうなる」は予測できる。あと、「この音がきたら、次はこうなる」が予測できるようになれば、人間がふだん「これからどうなる?」というのを予測しながら動いているように、ロボットやエージェントも、「これからどうなる?」ということにすごく対処できるようになる。いろいろな知能を手に入れられると期待しています。

ということで新機能を見ると、OpenAIは言語モデルから世界モデルのような、世の中でいろいろ働くAIエージェントのほうに向かっていくのではないかと期待しています。

という感じで、ちょっとまとまりがないです。

(次回につづく)