文章生成だけじゃない、LLMの可能性について
気合い系エンジニア齊藤です。
LT会の発表に伴い、改めてLLM周りの面白さを再発見できたので、面白ポイントの共有させてください。
LLMの開発といえば、約8割がchatbot開発、残り2割がその他という現状(体感)ですが、1つの可能性として近い将来こんな形でLLMが使用されると面白いよねということで、本記事を執筆します。
非エンジニアの方を含めてLLMの可能性がわかるように言及できればと思います。
本記事で特に伝えたい事項は以下2項目です。
- LLMの推測能力で最適な行動をとる
- 最適行動からソフトウェアを操作する
以下発表時に使用した資料になるので、もしご興味ある方は見てみてください。
Turingの取り組みから考えるLLMの可能性
従来の自動運転とこれからの自動運転
自動運転の開発アプローチとして、
- 大量の走行データをもとに自動運転を構築(Tesla社)
- 3Dの仮想空間を仮想自動車に走らせ機械学習モデルを構築する手法(Waymo/Google社)
などが挙げられます。
この2つのアプローチに共通することは、データを収集し自動運転を実現するということです。
その一方で学習データに存在しない未知のデータに遭遇すると適切に対処することができず、混乱してしまう可能性があります。
それでは私たちの運転技術はそれまでの運転経験に完璧に依存しているのでしょうか??
少し考えてみましょう。
あなたが以下の場面に遭遇したらどうしますか?
このような場面に初めて出会したとしても、あなたは冷静にうまく対応することが出来るでしょう。
それは認知・思考に違いはあれど、大体は「高速道路を走っているが、(おそらく)この先で事故が発生し何らかの理由で豚が道路を歩いているのだろう。。。前の車が動いたら豚の動きに注意しながらゆっくり動こう。。」と考えているからです。
このような場面でも正しい行動ができるのは、これまでで獲得してきた膨大な経験や知識を無意識のうちに活用することで、「運転」というタスクをこなしているからなのでしょう。
運転には、視覚情報だけではなく頭で考えるような認知と思考能力が必要になってきます。
そこでTuring社では自動運転におけるLLMの活用の可能性に言及していました。
Turing CEO山本さんのポスト
ChatGPTをはじめとするLLMは、膨大なデータセットをもとに学習しているため、非常に高い推論能力を備えています。その結果、まるで人間が認知や思考を行っているかのように、複雑な情報を理解し、適切な応答や判断を行うことが可能となっています。
実際、LLMの推論能力(以下思考能力?とさせてください)を試してみましょう。
1、もしもマイクタイソンが対峙してきたら?
2、マリオを操作してみる
LLMに画像を渡すことで、自分が取るべき最適な行動を思考することができるようになっています。
「1、もしもマイクタイソンが対峙してきたら?」ではマイクタイソンと対峙していることは把握できていなかったものの3パターンの行動を選択することを示唆していました。
「2、マリオを操作してみる」では、LLMの3D空間内の行動選択の可能性を示唆していました。
私たちはどの領域でLLM開発に携わるべきなのか?
ご紹介した通り、世の中にはLLMを併用して車を動かそうとするチャレンジングな企業がある現在。社会のエンジンである私たちはどのようにLLMと接すればいいでしょうか?
ハードウェアは参入障壁も高く、実装難易度も高いので手を出せる人材は多くはないでしょう(実際やろうとする人は少ない)。
一方でマリオの例で示したように、LLMの推論能力を利用しソフトウェア内の特定のタスクをこなすということは比較的低コストで開発できるようになると考えています。
LLMを「人間の脳みそ」と捉えることで、面白い未来を作ることが個人単位でも可能と考えられます。
画面上の情報を読み取って、目的達成までの最適なルートを推測し、行動するソフトウェア
SFのような話かもしれませんが、実現可能な未来です。
実際にClaudeが発表しましたね!!
今後実装したいもの
今回私もLT会発表に向けて試行錯誤してみましたが、Webで時間がかかったのはLLMによる操作の制御ではなく、pythonライブラリの扱いでした。
screenshotが文字化けしたり、画面遷移がうまくいかなかったり、、各社ホームページでツールに対しての対応策がなされているため、それぞれの対応が難しかったです。
上記理由からWeb上での操作はこの程度にしておこうと考えています。
ただし「LLMでソフトウェアを操作させる」技術はファイルの読み取りや、ソフトウェアの自動操作の領域において、大きなインパクトを残せるのものになると考えています。幅広い活用方法が無限にあると思うので、今後も開発を進めていきます。
Discussion