1. 今出川FM
  2. YAPC::Kyoto 2023 公開収録ス..
2023-03-27 42:45

YAPC::Kyoto 2023 公開収録スペシャル: daiiz, teramotodaiki, akiroomでLLMsやChat GPTの活用について語りました

YAPC::Kyoto 2023のランチタイムセッションで行った、今出川FMの公開収録の様子をお届けします。

ChatGPT APIの活用に関する話
今出川FMは株式会社ヘルプヒールの今をお届けするポッドキャストです。
というわけで、はい、拍手をお願いします。
ありがとうございます。
ありがとうございます。
はい、始まりました。
今出川FM。
株式会社ヘルプヒールのこんなことやってますっていうことを普段ポッドキャストで配信してるんですけれども、
今日はヤプシー京都2023の会場のランチタイムをお借りしまして、公開収録をさせていただければと思ってます。
よろしくお願いします。
今日なんですけれども、普段CTOの私が秋山と申します。
普段喋ってる中でゲストを社内で呼んで喋るということをしています。
今日2名来ていただきました。
寺本さんと大地君ですね。
それぞれ簡単にどんなことやってるか自己紹介をお願いしていいでしょうか。
はい、じゃあ僕から自己紹介させていただきます。
寺本大輝です。
ウェブエンジニアをやってまして、普段はもうフロントエンドとかバックエンドと関係なくもうウェブ全般の開発をやっていたりするんですけれども、
最近は特に今まではAIとか全くやってこなかったんですけれども、
ChatGPTの突然の出現からもうあれに衝撃を受けまして、
あれがAPIで使えるらしいぞということが分かってからもうずっとLLMと戯れる日々でございます。
ということで今日はそういう話をいろいろしていければなと思っています。
よろしくお願いします。
はい、お願いします。
はい、じゃあ大津さんからもお願いします。
こんにちは。ヘルプヒールのアーキテクトの大津と言います。
今普段ヘルプヒールっていうFAQサービスのシステムの機能の設計とか開発とかやってて、
今このまさに寺本さんがおっしゃってたLLMは熱くて、
ChatGPT APIやってきてどうやって使っていけばいいんだって、
僕はどっちかって言ってまだ戯ってる側で、
ちょっと今日この中の話の中で見つけていけたらなと思います。
よろしくお願いします。
はい、お願いします。
機械学習、ChatGPT、BERT、DHALの活用に関する話
はい、せっかくAppCなのでみたいな話をしましょうということを考えてたんですけれども、
3月の2日の朝ですかね、ChatGPTのAPIが公開されまして、
そこでちょっと興奮しすぎというか盛り上がりすぎというか、
社内でなってまして、
閣議は私がはちゃめちゃに盛り上がっていましてですね、
一気にそのあたりを喋りたくてしょうがないということで、
昨日まで言語処理学会という学会が沖縄で開催されてまして、
そっちに参加してたんですけれども、
そっちでもChatGPTの話を延々と振るというちょっとやかましい立場の人間になっていまして、
ちょっと喋ったりしました。
今日なんですけれども、スライドを用意させていただきまして、
こちらの方でもし質問とか感想とか、
これもちょっと話してよみたいなのがあれば受けられればと思ってますので、
多分、つしっぱなしにする感じですかね。
なのでお手付きの際にQRコードを開いていただければと思っています。
簡単に弊社で、そもそもChatGPTみたいな話が出る前からですね、
やっぱりオープンエースがいろいろ出す前から、
やっぱり機械物資の最先端のところをちょっと調べていって、
ヘルプフィールでも使えるところは使っていきたいねという話をしてて、
それこそグループの中での、
やっぱりオープンエースの中での、
やっぱり機械物資の最先端のところをちょっと調べていって、
ヘルプフィールでも使えるところは使っていきたいねという話をしてて、
それこそグループの中での、
やっぱりオープンエースの中での、
やっぱり機械物資の最先端のところをちょっと調べていって、
ヘルプフィールでも使えるところは使っていきたいねという話をしてて、
それこそGoogleがBirdとかT5とかを出してたところから、
ちょっとずつ弊社でどうやって使っていけばいいんだろうかみたいなところを、
こそこそやってた、いろいろデモを作って、
やっぱりダメだねとか、これは使えそうみたいな、
そういう、どっちかというと機械学習をちょっと知っているエンジニア同士で、
いろいろやっていたっていうぐらいの話なんですよね。
あれで大体去年の年末とかでしたっけ、もうちょっと前からやってました?
もうちょっと前、秋とか。
やってたときの感触としては結構いけそうみたいな感じがありました。
これも難しくて、全てにおいてはやっぱり適用できないなと思ってたんですけども、
ごく一部のタスクにおいては結構有名な、使えるかなと思ってたんですけど、
まだちょっとあんまりポジティブではなくて、
これまで通りやっていけば良いのではないかとか、
あわてて機械学習手法を取り入れる必要はないんじゃないかなとか、
いう思ってたところはありました、去年だけでは。
なるほど。
もともとそのChatGPTの前の、API出る前の研究で、
この領域はいいなとか、ここら辺いけるなみたいなのってありますか、
寺本さんだったり、大西さんだったりから聞きたいんですけど。
そうですね。そもそもだいぶ基本的な話になっちゃって、
BERTとかDHALがもともと得意としている、あるセンテンスの中の一部をマスクして、
さあ何が入るでしょう問題みたいなところで、
ヘルプフィールドとちょっと相性がいいような使い方をしようと思えばできる、
というのがあったので、その辺は結構面白いなと思ったんですけども、
検索に使ってみるとか、そういうところに関してはまだまだだなというところがあって、
精度が出なかったなって悩んでいる時がありました。
T5の活用に関する話
なるほど。寺本さんから見て逆にどうでした。
そうですね。ちなみにそもそも当時何をやっていたかというと、
T5っていう事前学習済みのモデルが公開されていて、
それは日本語で公開をしてくださっている方がいたので、
それをファインチューニングしていたんですよね。
入力のデータと出力のデータというのをそれぞれ1000件だったりとか、
数千件ぐらいの単位で用意してあげて、それをファインチューニングしたら、
任意の入力を入れた時に出力を、思い通りの出力を出せるんじゃないかというのを
色々と試していて、当時は自分のマシンで学習していたりしたので、
夜の間に、寝てる間に学習を回しておいて、
それで起きて失敗、変なところで失敗したらショックを受けるって毎日ですね。
みたいなことがあったりとかみたいな時代だったんですけれども、
当時から狙った入力から出力を入れるというのを、
簡単なタスクであればできていたので、
言い換えだったりとか、あるいは文書のスタイルの変換だったりとかができていたので、
あとはアイデア次第では使えるんじゃないかなという感触は、当時もありましたね。
なるほど。アイデア次第で使えるというポイントと、
あと一晩ぐらい学習もかかっていたみたいなところが、
イテレーション回すみたいなところが結構大変だったんですかね、逆に言うと。
ChatGPT APIの叩き方と可能性について
そうですね。もしかしたら手探りでやっていたので、
正しい方法を使えばもっと早くできたのかもしれなかったですけど、
いや、多分あれはね、正しい方法だったんですけど。
なるほど。
本当に難しいところなんですよね。
もともと我々ウェブエンジニアというか、
ウェブ技術を使ってプロダクトを作っていくところで、
ほぼゼロベースでLLMをやっていくぞっていうタイミングだったと思うんですけども、
ChatGPTのAPI出た以降みたいな話も聞きたいなと思うんですけども、
食事中にやる話じゃないところをちょっとやりたいんですけども、
聞き手じゃない方でお願いしたいんですけども、
ChatGPTすでに触った方ってどれくらいいらっしゃいますか。
ありがとうございます。
やっぱり多いですね。
多いですね。
その中でChatGPTのAPIすでに叩いたこと試しでもいいのでありますという方はいらっしゃいますか。
でも一気にちょっと減った感じがしますね。ありがとうございます。
触ってみていただくとわかると思うんですけども、
叩くのそんな難しくないですよね。
めっちゃ簡単ですね。
ヘッダーにAPIキーポンって叩いて、
パラメータも本当3つか4つくらいしか使わなくていいので、
普通にREST APIポン叩いたらポンって返ってくる。
なのでどっちかっていうと使うこと自体が難しいというよりは、
何に使うのみたいなところが結構難しいのかなと思ってたんですけど、
お二人から見てChatGPT APIってどういう感じですか。
最初に出たのがGPT-3と言われていた時代に、
コンプリーションタスク、文章の続きを書かせるっていうタスクが最初は公開されていたんですね。
それはどういうことかっていうと、
私とあなたでじゃんけんをします。
ChatGPT APIのプロンプトの書き方の模索と活用事例について
私はグー、あなたはパー、勝ったのは、みたいなことを言ったら、
あなたですっていう続きの文章を書いてくれるんですね。
これはチャットではなくて、あくまで自分の、
例えるなら口寄せの板子をしているような感じで、
板子。
自分のふりをしてどんどんその文章の続きをババババって書いていくっていう。
GPT-3は板子APIという感じってことですね。
最初はそういうところからスタートしていて、
それは何に使えるのっていうのがやっぱりイメージできなかったんですよね。
ChatGPTが出る前からGPT-3のAPIを僕は触っていたんですけど、
当時は何かに使えるイメージが全然湧かなくて、
あとそのときはまだステップバイステップで考えて、
プロンプトの書き方も当時知らなかったので、
全然イメージ湧かなかったです。
そうですね、この辺の叩き方のコツみたいのを2人で色々と模索し始めたら、
結構可能性が広がったというか、
ところで私としては最初にAPI見たときに、
これまで色々個人開発とかで色々やってて、
この辺にこの辺のデータをまとめていい感じの要約を出したいみたいなところで、
この先すべがなくて止まってたみたいな作品がいっぱいあって、
これに全部適応してみたいなっていうのが最初に思って、
これまでぼんやりとやってみたいんだけども、
すごくスキルが必要そうだったり、お金がすごく必要な環境を用意しなきゃいけないということで、
おっくんなったところに全部この安めに叩けるChatGPT APIで全部入れてみようというのを最初にやって、
勘をつかんだという感じですね。
実際じゃあ元々開発してたやつをChatGPT APIに置き換えるから大地さんは使い始めたってことですね。
そうですね、置き換えるとき、そもそもそこだけできてなくて、
いつか気が向いたらとか思いついたらやろうって放置してたところが一気に完成に向かっていったっていうところで面白かったですね。
なるほど。逆に寺本さんは使い始めてどういう使い方したんですか。
僕はChatGPTが出た後からプロンプトの書き方みたいなのがTwitterでめちゃめちゃ出回るようになったんですよ。
ありましたね。なんかTwitter大喜利大会みたいなのがこう発しましてね。
そう、毎日のように新しいプロンプト、こういうプロンプトを書いたらうまくいったぞみたいなのがどんどん出てきて、
ChatGPTに入れてうまくいくプロンプトってAPIの方に入れてもそれなりにうまくいくんですよね。
はい。
有名なのがステップバイステップで考えてるやつですけど。
ステップバイステップってあれですよね。一個の問題をいきなり解けっていうのは難しいけど、
GPTを利用したプロンプトの活用
その間に中間の問題、入試問題とかで導入問題を作ってあげて、上の問題を考えれば下が解けていくよねみたいな考え方をやるってことですよね。
そうですね。まさに人間に例えるとそういうような感じで、
なぜかGPT-3とかもそういうふうにすると精度がめちゃめちゃ上がるっていう。
ありますね。
そういうのを学んでいくにしたがって、こういうタスクも解かせられる、こういうタスクも解かせられるっていうのがどんどんどんどん発想も湧いてきて、
もう楽しくてしょうがないなっていう感じになってきましたね。
いいですね。なんかTwitterで見かけた大喜利的なやつでも便利そうなやつでもいいんですけど、
なんか衝撃を受けたプロンプトってありました?
いっぱいあります。
全部っていう説もあるかもしれないですけど。
そうですね。もう全部ですね。
いいですね。全部実際すごいですもんね。
そうですね。
なんか私直近で見たやつだと、結城博史先生でしたっけ?が出してる対話のログみたいのがあって、
あれはすごいちゃんとした人がちゃんとしたワーディングでテーマを設けて聞くとこういうこと返ってくるんだって。
それはすごい面白かった覚えがありますね。
あと誰でしたっけ?フラディクトさんか誰かが、
キャラクターを、なんだっけな、RPG?
本来の意味のRPGをロールプレイとしてのRPGをやるみたいなのがあって、
あれも実際全部英語でプロンプト書いてあって、
最後にアウトプッツ&インプッツ、
should be written in Japaneseみたいな感じで書くことによって、
後ろの工程が全部日本語でやりとりできるんだけど、
全国のプロンプトが指示できるみたいな、そんな感じになってたのって面白かったイメージがありますね。
日本語で書けって言ったら日本語でちゃんと書いてくるって。
すごいですよね。あれなんか日本語の学習はそんなに多くないっていう話もありますもんね。
そうですね。トレーニングされたデータセットの大半が英語で、
本当にわずかな日本語のリソースでここまで日本語をしゃべれてるっていう不思議な話ですよね。
言語処理学会でも大学の先生たちが、なんでそういうことが起きてるのかみたいなディスカッションしたと思うんですけども、
実際そんなにこうだからこうだよねみたいな出てなかった感じがしたんですけど、
大豆さん実際登壇期してどうでしたか?
そうですね。私も同じセッション聞いてたんですけど、
まだ本当に何が起きてるのかはわかってないんだけども、
とりあえず現象としてうまくいってるが、先にやってきてるっていう感じでしたね。
あの学者の先生方の中でも。
これから研究進めるみたいな感じですね。
これから研究進めたいんだけども、その間にまた新しくモデルが進化していくので、
多分また新しい驚かされる現象に我々はまた先に直面するんでしょうね。
そうですね。研究の場合だと結構一年がかりで進めたりするので、
特にブラックボックスっていうのもあって、なかなか研究対象に出題のかなと思ってたんですけども、
なんかあれですよね、言語処理学会の方だと結構、
あんまりチャットGPTで良くないですかみたいな質問は誰もしてないというか、
良くないんだろうとは思うんですけれども、
まあ一種のハラスメントですよね。
そうですね。そういうこと言われるとちょっとみたいなのはもちろんあると思うんですけども。
キンクみたいな。
でも私もポスターセッションを見させていただいたんですが、
学生さんとかの本当に発表されてから間もない時間で、
中田とは思うんですけど、正式にすったポスターの横にそのA4画面でちょっとだけ補足みたいな感じで、
チャットGPTと比較してみましたと。
大半は確かに劣るかもしれないですけど、私の研究はこの辺だけはすごく良くできているみたいなことを、
ちゃんと自分で分析されて発表されている研究もたくさんあって、
素晴らしいですね。
まだまだすごいなという印象を受けました。
いや、いいですよね。
だからポスターを発表しつつも、ちゃんともう自流を抑えているっていう人は言っていたので、
そうなると結構インタラクションして会話するみたいなのができるっていうのは結構大きいポイントでしたよね。
あと実際にチャットGPT API出た後で、なんか面白いもの作りましたか?どうですか?
っていうところもちょっと聞いてみたいんですけども、
なんか触って面白いものできたみたいなのってありますか?
いろいろとにかく作りまくっているんですけど、
最初に作ったのは社内ツールだったんですよ。
これもTwitterで見かけたアイデアを最初は真似したんですけど、
Googleスプレッドシートがあって、そこに関数を一個GASで書いてあげると。
GPTっていう関数を一個作ってあげて、それに文字を入れると、
その文字をプロンプトとして入力して、
モデルが作った出力をセルにポンって埋めてくれるっていう、
要はなんかGPT関数みたいなものを作ったんですね。
これを使っていろいろと実験をしていこうということで、
まず実験環境を自分の中で作って、
スプレッドシートで作るんで、普通に文字列の連結とかも全部できるようになるので、
そこにひたすら自分のアイデアみたいな、プロンプトのアイデアみたいなのを
ブワーって書いていくみたいなところをやったりとか、
あとスラックのボットを作ったりとかみたいな、
自分で使うツールをまずは作っていくっていうところからやってきましたね。
いいですね。結構てなおしさん、出たタイミングで
パッパッと実装してましたよね、イメージなんですけど。
楽しくてしょうがないですよね。
言語処理学会におけるチャットGPTの話題
チャットGPT API楽しいポイントって何なんですかね。
逆に言うと、あんまりさっき会場の方に手を挙げていただいたら
そんなにまだ触ってらっしゃる方も多くはないと思うんですけど、
何があんだけ興奮させるのかみたいなところが、
ここ3人は大興奮状態なんですよ、正直。
なので本来開発の話をする予定が、
全部チャットGPTの話だけしちゃおうかみたいな感じになってるんですけども、
なんで我々はあんなに大興奮してるんですかね。
これ人によっても大興奮ポイントは違うと思うんですけども。
そうですね、いろんな言い方ができると思いますけど、
プログラマーとしてっていう意味でいうと、やっぱりプログラマーとしては
少ない労働力で大きな成果をあげることができると嬉しいじゃないですか。
ちっちゃなツールでいろんなタスクを自動化できたら嬉しいとか、
それに近い感じで文章をただ書くだけでそれっぽい回答が返ってくるっていうのは
めちゃめちゃいろんな使い方ができるので、
本当にAPIを叩くツールをちょっと書くぐらいの少ない労力で圧倒努力なものができる。
そのアイデアがたくさんどんどん浮かんでくるっていうところが楽しい。
ちょっとうまくまとめられてないですけど。
いいですよね。でも今までこの労力じゃ絶対できなかったよねみたいなものが
ChatGPTの実際の活用について
簡単に作れるじゃないですか。
ChatGPTそもそもはチャットでやってると思うんですけど、
チャットボット以上の何かはありますよね。
中田大介さんどうですか。
僕はこれまでいろいろと古典的な機械学習手法とか、
それ以外のところ個人とか学生の時代の研究とかで、
いろいろようやくタスクとか翻訳のかじりとかやってた時もあったんですけども、
それらで見てた中でもう遥かに超えるすごい作文能力を叩きつけられたってところだけで感動して、
もうそれだけで十分感動はできるってところで、そっから先はもう、
今でこそGPT4が出始めてて、マルチモーダルになって、
画像やなんやらもうまく扱えるようになったっていう感じですけども、
私は最初のチャットGPT見た時に、
もうなんか世の中のあらゆることをとりあえずセキストまで落とし込めれば、
もう何でも解決できるものが来たっていう感じになったので、
ほぼほぼ何か欲しかったもの全部揃ったな、
あとは作っていくだけみたいな気持ちになったっていう感じで、
個人開発ではこれで十分なんですけど、
その業務の中でどうユーザーさんに価値を届けるようになったって、
うまいバランスを作るっていうのはまだ解決しきってないんですけどね。
いいですね。今まさに試行錯誤の最中っていうところなんですかね。
めちゃくちゃありがたいことに、なんと会場から質問をいただきました。
もう嬉しい。
ぜひ答えられようとちょっと湧き上がってるところなんですけども、
僕たちだけじゃなかったもんね。
そうですね。
ちょっと勝手に興奮して喋ってるみたいな感じだったので、
質問に来ていただいてありがたいんですけども、
チャットGPTで試してよかったプロンプトのパターンがあれば知りたいです。
これは、
この辺りどうでしょうか。
じゃあ、てなのさんは深い話をしてくれるんで、
僕はすごい表層的な人だと言うと、
チャットGPTで答えを出した後に誰だと喋って説明してくれる傾向があると思うんですね。
前を聞いた後をまとめみたいなところで、
結果だけ欲しいときに、とりあえず結果だけ示せ、
途中経過は不要みたいな、そういうことを逐一足していくと、
かなりシンプルな結果が得られて、
あと回答する際に余計な装飾文字を含めるなとかいうと、
カッコでくくるのもなくなったりとか、
自分が本当にベストプラクティスなのか分からないけども、
ChatGPTのプロンプトに関する問題点
そういうのをやったりして、
シンプルな回答を手にするっていうのを結構やってました。
箇条書きに関しても、
箇条書きで書けって言うとちゃんと箇条書きしてくれますし、
箇条書きのスタートはこれにしろって言うとしてくれるので、
後工程でプログラムでパースするとかも楽になるので便利ですね。
いいですね。
私それ聞いて思い出したのは、
自分で実はプロダクションにチャットGPT入れてる機能あると思うんですけども、
自分のバックエンドはプロンプトからそのままJSON出させるということをやっていて、
どう書いたかな、
手元に営業秘密をしゃべるみたいなのってあれなんですけども、
ペラペラとしゃべってしまうと、
こういうタスクをやってくださいっていうのを書いた後に、
めっちゃ日本語で、
ただし、点、JSON形式で出力してください、丸、
また点、タイトルとボディというキーを使ってくださいっていうのを最後に付け足して、
ボコッと投げたら、
全部JSONしか出てこなくなったんで、
多分JSONしか出てこないということしか保証できなくて、
今のところJSONしか観測していない。
なのでJSONパースできなかったら、
エンドユーザーに壊れましたと言わざるを得ないんですけども、
ただ今ちょっと熱量高い感じの、
エンドユーザー側も熱量高いので、
それは許してくださいということでやってるんですけども、
ただ今のところ壊れましたっていうのがセントリーとかから報告上がってこないので、
多分どうも動いてるらしいと。
多分なんですけど、プロンプト長くなれば長くなるほど、
そういう指定条件が無視されがちなような仕組みがあって、
無視されますよね。
無視されるんですけど、
これ最近ちょっとまだ何も裏付けとか取れてないんですけど、
APIの出し方でシステムコマンド、システムプロンプトって分けられる、
システムプロンプトの活用
あれを1回で与えたいのでシステムを3個ぐらい連ねると結構無視されないっていう。
でも各システムプロンプトには1個ずつ言いたいことを言わせて、
その答え方の補足みたいなのをまた別のシステムプロンプトで与えてやると、
ちゃんと慌てないで読んでくれるのかなみたいな感じで、
なるほど。
言うこと聞いてくれる率が高いっていう。
一気に解釈しすぎないほうがいいような。
なんかあんまり言うとやっぱりダメなんですね。
なるほど。
触ったことない人向けに話すとまずあれですね、システムプロンプトとユーザープロンプトという概念があるんですよね。
配列かなんかを渡してこの一連のテキストのやり取りでそれっぽい結果を出力しようみたいなことを
APIにあげるとボコッとJSONが返ってくるというイメージを持ってたんですけども、この説明で合ってましたっけ?
面白いのがシステムとユーザーの他にアシスタントっていうのもいて、
アシスタントってAIが返した回答として返ってくるので、
AIが返したことにして渡すってこともできるんですよね、こっちからね。
なるほど。
他のAIがこう言ってましたみたいな感覚で渡せるので、
なんかちょっと違う見方をしてくれるんじゃないかなと思ったり思わなかったり。
会話のIDかなんかがついてそれで一連の会話であるっていうことは保証できるんでしょうか?
そういう機能はない?
全部会話は送るんだと思ってました。
最初始まりから終わりまで、だから会話がなくなると送りつけるデータがどんどん増えていくっていう認識であります。
なるほど。
ごめんなさい、結構私も仕様よくわかんないでしゃべってるところも出てきてると思うんで、
寺本さんから全然違えば訂正をしてほしいんですけども。
僕も全てお理解してるわけではないんですけど、
公式のリファレンスとかに書いてある範囲においては、
一応そのシステム、ユーザー、アシスタントみたいなロールを分けて送れるようになったんですけれども、
あれは一応一回全部テキストにおそらく変換されていて、
要はストリングファイされていて、その後にコンプリッションタスクと同じことをやっているはず、
多分という。
多分って理解が。
正直何が起きてるかわからないところじゃん。
わかんないです。
でも若干特に日本語だと顕著なんですけど、
割合を一個入れるとか、半角スペースを一個入れるとか、
それだけで結構出力が変わってくることが結構あって、
俺がプロンプトを書き換えたからうまくいったのか、
それともこれはただのまぐれなのかっていうのがだんだんわかんなくなってきてますよね。
確かに。
テンパーチャーでしたっけ?
テンパーチャーもちゃんとゼロに固定してやっただけでも、
その一文字違い、それも本質的でない一文字違いで結構変わってくるっていう。
そうですよね。結構だからこれは結局プロンプトエンジニアリングのせいかなのか、
それともそうじゃなくて単にたまたまいい結果が出たのかは正直わかんないところも若干あるってことですね。
そう、わかんなくて。
多分エンジニアとしてのスタンスとしては、
多分自分がいいプロンプトを書けたとは思わない方がいい。
それは何の保証もない、自分がいいプロンプトを書けたとは思わない方がいい。
9割くらいうまくいったと思うくらいの感覚の方がいいですかね。
そう、雰囲気よくなったかもしれない。
だからちゃんと10個くらいサンプルケースを用意して、
10個全部そのプロンプトで出力してみて、それで確率が上がったんだったら、
もうちょっと信じていいかなって思うかもしれないですけど、
1つのサンプルケースだけでプロンプトを書き換えてうまくいったっていうのは、
コーディング能力拡張
マジでまぐれだと思った方が多分良い。
なのでいくつかプロンプト試すっていうのが結構大事なポイントなんですかね。
大事になってくると思います。
ありがとうございます。
あとですね、ありがたいことに会場からもりもりと質問いただきまして、
ちょうどご飯も食べ終わった頃なのかなと思ってるんですけれども、
面白い質問がありまして、
チャットGPTでコードも書けるようになったようですが、
原文ままで読むと、コッパエンジニアとしては不安になります。
どう気持ちを切り替えれば良いでしょうかという質問が来てました。
どう気持ち、切り替えるべきか切り替えなくていいかも結構論点だと思うんですけど、
この辺りどうですか。
なるほど。
僕めっちゃポジティブな意見をします、まず。
先に言うのですけど。
それで大豆さんがもうネガティブなことしか言えなくなるふりじゃないですか。
ポジティブな意見を言いたすぎてごめんなさい。
どうぞ。
僕はむしろ逆だと思っていて、
むしろこれは能力を底上げしてくれるものだと思っていいと思うんですね。
というのも、チャットGPTが出て一番僕の中で役に立ったのが、
僕普段JavaScriptばっかり書いていて、
他の言語って実はあんまり得意じゃなかったりするんですけど、
Pythonを買わなきゃいけなくなったんですね。
このチャットGPT、いろんなモデルとかを触ると思ったときに。
で、Pythonわかんねえなって思ってチャットGPTに聞いたらめちゃめちゃ教えてくれるんですよ。
で、なんとなくプログラミングの概念としてはわかってるから、
多分こういうことはできるんだろうなって思うことを
こうこうこうしてください、Pythonで。
って言ったらもうPythonコート出してくれるので、
なんか自分が書けない言語も自分の能力の一つにむしろ吸収してしまえるというか、
あくまで人間の能力を拡張するものとして捉えて、
Chat GPTについての考察
ガンガン使っていくのがいいんじゃないかなと思いますね。
自分の一部にしちゃうのがいいっていう感じなんですかね。
はい、そう思います。
なるほど。この辺り大地さんどうですか。
ネガティブなこと無理に言わなくても大丈夫。
ちょっと一生懸命考えたんですけど、
上手いネガティブな説明ができないなって。
ニュートラルからちょっとポジティブな感じになるんですけど、
私もてらもとさんとほぼ一緒で、
苦手なことこそ使っていけるんじゃないかなと思ってて、
むしろ今プログラミング大好きで、めっちゃ得意でって人は、
本当にちょっと試して面白いなって言ってるぐらいでいいと思うんですけど、
本当にどう書いたらいいかわからないとか、
新しく言語を学ぶとかいうときに、
とりあえず助けてもらって、出力してもらって、
それを一から何か違うって言いながら自分で直すっていうことを
していけばいいので、いいなと思って。
コードをちょっと日本語とかに置き換えると、
私長い文章書くの本当に苦手なんですけども、
それもチャットGBTにまず叩きをどうしたらいいですかって質問して、
書き始めてみると良いでしょうって当たり前のことを言われて、
それができたら困るのでちょっと書いてみせてって言って書いてもらうんですね。
書いてもらうと何も背景知らないので全く違うことを書くんですけど、
こういう流れでいけばいいという一例はもらえると、
それを何とかして何とかするっていうことができるので、
そういう感じで使ってやるぐらいの感覚でいいのかなって最近思ってます。
いいですね。実は私もお二人と結構同じようなことを考えてまして、
ちょっとネガティブ意見出せたり、ちょっと偏って3人組で話すのがありますけど、
バイアスかかってる前提で聞いて欲しいんですけども、
そもそもチャットGBTに入れるプロンプトって、
その人の知識だったり考えてることだったり、言語化能力だったり結構依存すると思うんですよね。
なのでエンジニアとして知識がなかったり、
なんかよくわかんないという状態でプロンプト入れても、
結局それを反映した行動しかあんま出てこないという感覚がありまして、
Twitterで結構すごい成果が出てるっていうツイートがいっぱいあると思うんですけども、
あれ大体作ってる最中のことは気絶していって忘れていて、
その後に突然復活して、一発で出たみたいなテンションで書いてるんですけど、
大体あれ一発で出てないパターンの方が多いと思ってるんですよ。
一発で出すためにはかなりの言語化能力が必要だと思っているので、
そういう意味では全然エンジニアのキャリアが、
例えば止まってしまうとかなくなってしまうとか、
そういうことは一切ないかなと個人的には思っています。
あと今の流れに近いんですけれども、
良いプロンプト、悪いプロンプトは何が違いますかって、
結構面白い質問だなと思ったんですけど、この辺りいかがですか。
これはじゃあまた僕が軽い話をする。
ぜひぜひ。
そうですね、言語化が難しいって話があったんですけど、
下手に手順を教えてあげて、解き方を指示するよりかは、
本当にやりたいことというか目的をバンと言ってあげた方が、
独創的にっていうか、ちゃんとAIなりに考えて出してくれるので、
この値を求めたいので、このステップをやりたいと思っています。
私がやりたいと思っていることは多分AIにとってはどうでもよいので、
とりあえずこの値を求める方法を教えてくださいっていう、
やりたいことを直球に伝えていくっていうことが意外といい、
混乱しないプロンプトになっているのかなっていう気はしています。
その辺で試行錯誤の結果なんて別に、これが正しいわけではないんですけども、
だから言語化能力、余計なこと言わない力みたいなところなんですかね。
ありがとうございます。寺本さんから見るとどうですか。
質問の回答とはちょっとずれた答えになっちゃうかもしれないんですけれども、
今でこそTwitterにはすごいプロンプトの書き方みたいなことがバンバン出ていて、
毎日それを覚えてたくさん使うことが今のスキルアップにつながることなんだっていうふうに
さも思ってしまうような世の中に今なっているんですけれども、
プロンプトの書き方っていうのはすぐ陳腐化するので、
モデルがどんどん向上していくと必要なくなっていくんですね。
例えばステップバイステップで考えてっていうのも、
本当に最初のChatGPT出た初期の頃とかは必要だったかもしれないんですけど、
最近書かなくてよくなってるんですよ。
特に今新しく出たGPT-4とかは、本当に短い文でパッて言うだけで、
結構自分が言いたかったことを、うまくいくとき、いかないときはありますけど、
ばーって推測して勝手に理論を展開してくれるぐらいになっていて、
むしろチャットのターンをうまく、相手の間違っているところをつつくところが
むしろ重要になってきてるぐらいっていうふうに、
どんどんその重要さっていうのが変わっていくんですよ。
いい悪いっていう指標を今のうちに早く固めておく必要はあんまりなくて、
どんどん変わっていくものだっていう。
プロンプトの作成について
分かってきました。
一発で仕留めようと思っちゃいけないのは、共通って感じがしますね。
AI、とりあえず対話を続けていく中で間違いを指摘してとか、
そうじゃない、こうじゃない、言っていくっていう、
そう、軽い気持ちで挑むのがいいという。
試行錯誤は結構大事っていうところですかね。
あとですね、バンバン言っちゃおうと思うんですけど、
プロンプトの作成はエンジニアリングかどうかというところはどうでしょうか。
僕はバチバチエンジニアリングだと思っています。
その心は。
その心は、そうですね、一応なんていうんですかね、
ランダム要素的なものは一部入っているとは言えるかもしれないですけれども、
あれだって大きなパラメータの中から計算されて出てきた出力なわけですから、
ブラックボックスに僕たちにとっては見えるんですけれども、
ちゃんと入力と出力の間にはちゃんとルールがあるわけで、
ということはエンジニアリングできる対象のはずなんですよね。
っていうところがまず一点であることと、
もちろん完全にコントロール、自分の狙った回答をコントロールして100%出すことは
多分永遠にできないんですけれども、
もう一個あるのは、そもそもどこにLLMを使うべきなのか、
使うポイントを見極めて適材適所で使っていくっていうところが、
結構エンジニアリングの要素として今後大きくなるんじゃないかなと思っていて、
エンドツーエンドでバーンって答えが出てきたら、
確かにかっこいいし、Twitterだったらそういうのバズりやすいんですけど、
完全にプロダクトに組み込んでいくってなったら、
もっと簡単なタスクにどんどん分解してあげて、
このタスクだったらもう99.99%の例で正しい答えを出せるねってなったら、
それはプロダクトいいにして、もう誰も多分疑わないと思うので、
そこらへんって多分今までのエンジニアリングとあんま変わってないんですよ。
可用性の低いものっていうのはあんまり入れられないから、
問題を分割していって、どんどん可用性を上げていくっていう、
そこはまさにエンジニアリングかなと思いますね。
今の話にちょっと近い質問もさらに発見したので聞きたいんですけども、
現時点ではとんでもない回答が返ってくることも多いですが、
どういう用途なら実用に足りると考えていますか?
というところはどうでしょう?
これ難しいですね。
まさに問題を小さくすることだと思います。
今のLLMの性能でも99.99%回答できるような問題にまずは落とし込んで、
そこからプロダクトインしていく。
サービスインか。
プロダクトインでもサービスインでも。
はい、ごめんなさい。
っていうのが今の一番いいやり方かなと思うのと、
あとはHuman in the Loopをうまく設計するっていうことかなと思います。
Human in the Loopとはどういったものですか?
僕が言ってくれないと。
ちょっと秋山さんに説明するのがなんというかちょっと恐れ多いんですけど。
全然大丈夫です。
いきなりエンドユーザーに向かってバーンと生成した結果を見せるのではなくて、
そのエンドユーザーに見せるまでの過程の中というのを分解していて、
どこかに人が途中で挟まるというものにする。
いろんなものに応用ができるんですけれども、
例えば一つの方法として、
社内ツールにまずは使ってみると。
社内ツールに使って、
例えばバックオフィスの人たちの業務をこれで効率化してあげますと。
それも経理を全部AIにやらせて、
出力をそのまま全部信じ切るというのではなくて、
あくまで候補としてサジェストを出してあげて、
それを使うかどうかというのは使用者に委ねるという風にすると、
それも一種のHuman in the Loopで、
ある程度99%くらいの精度を持っていればそれでも十分満足というか便利に使えるので、
GPT-4の発表について
僕らで言うGitHubコパイラと同じ感じだと思うんですけど、
そういう風に用途を設計してあげるといいのかなと思います。
大豆さんから見るとこの辺りか。
いろいろ話されてます。エンジニアかどうかというのはスキップするとして、
これはだからもうあれですよね。
すごいしょぼい回答になりますけども、
逆に創作的なことにどんどん使ってやるとか、
正確性を求められない、むしろ何でも言っていいよって言うけど、
人間はその人の考えから外にはいけない、
基本的に外に出づらいので、
そういうのを取っ払ってとりあえずこの場面に対してどういうセリフを主人公は言うと思うみたいな、
その小説作りの参考にしたりとか、むしろ小説を書かせちゃったりとかありますよねとか、
いろいろ面白い使い方はあるかなという、そっち方面でまず練習してみるのがいいかなと思います。
結構クリエイティブなユースケースだったりとか、
あと人間が間に介在するユースケースだと結構うまく回るんちゃうかというところですかね。
なるほど、ありがとうございます。
ちょっと大豆さんにマイク持ってもらった流れで聞きたいんですけど、
沖縄のNLP学会に参加されたと聞いたのですが、学会前後にGPT-4が公開されたことについて何か一言お願いします。
ちなみに我々、学会にスポンサーで出てただけなので、
学会の人としては別に参加してないので、眺めていてのレポートみたいにはなると思います。
そうですね、どちらかというとこのニュースに大きく反応してたのはスポンサーブースにいた皆さんの感じがちょっと…。
スポンサーブースの人たちはめちゃくちゃ反応しました。
学会側の人は正直GPT-4のニュース全然喋ってない、聞いたことなくて、
夜のナイトセッションとかあると多分喋っている可能性はありそうですよね。
あと、空港の近くの駅を行き来するシャトルバスの中でこのニュースが流れて、
シャトルバスの回はすごかったですね。
何か起こらないか起きたっていうことはちょっとだけ。
やばいらしい、何か出たらしい。
スポンサーブース、弊社と同じで言語処理をメインのあれに扱っている、ビジネスモデルで扱っているブースがたくさんあったので、
結構影響どうですか、ありますか、うんありますね、みたいな会話がかなりありました。
Chat GPTの活用について
あと、まさにマルチモデル出てきたのでまたできること増えそうですね、みたいなところの話とか、
私たちUIで頑張ってますみたいな感じでブースを出してたんですけども、
今度逆にこの知能言語分野からUI分野に来るんじゃないかと、
融合分野が来るんじゃないかと、そういう話をちょっと。
GPT-4に限らず面白かったのか、
なんか実はHCIとかインタラクションデザインとか、そっちの成功がChatGPTの成功だったんじゃないかというところが、
話題として大学の先生でおっしゃってる方もいらっしゃったし、スポンサーブースの人が行ってたりもしたので、
学生の方もいました。
そうですね。なので実はAI的なところでリソース作るんじゃなくて、
HCIだったり、もっと言うとWeb技術って誰にもわっと作ったものをちょっと届けられるっていうのが大きい利点だと思っていて、
そういう意味では結構ChatGPTの出てきたのって、そういうところで大きいメリットもありそうな感じがしますよね。
はい。あと超大きい質問が来てます。シンギュラリティはいつ頃来ますかという質問で、
これ分かったらちょっと苦労しない気持ちしつつも、見解をぜひお聞かせください。
これは一旦どうなんでしょうね。ちょっとまぁ完全に知り気ない話ですけど、
一旦来たと思ってしまった方が楽なんじゃないかなって。
(笑)
来たとして、ここから次はAIの仕事をどう人間が奪っていくかを考えてます、僕は。
まぁなるべく人間が仕事しないんだったら、それに越したことないですか。
それでいいと思います。
あんまりCTOの立場で言うことじゃないかもしれないですけど。
あんまり気にせずに、これがシンギュラリティなのかという風に観察して、
シンギュラリティ自体はですね、AIがAIを改善するというか、どんどん回っていくと思ったと思うんで。
でも徐々に回り始めている気配もなんかありますよね。
そうですね、なんか行けそうな行けなさそうな微妙なラインですよね。
ゆいせきさん、弊社のGyazoというプロダクトのプロダクトマネージャーをやっているゆいせきというメンバーがいるんですけども、
彼女がやっていたのは、新しい言語を作るというのは自然言語を作るというのがあっていて、
IUOPだけ文字を持っている新言語を作ると言って、
確かに100単語くらい重要単語を出して、私とあなたと彼、彼女ととワーッと出て、
で、なんか会話はできているんですよね。
そういう感じで自然言語を作るのは多分できているので、
もう一歩行くと多分AIっぽいものを何か、TAT GPTの中で作るとかは多分いけるんじゃないかという感じもするので、
早いもの勝ちで作った方が多分いい領域なのかなと思いますね。
そうですね。
あとはですね、面白そうなところでいくと、
チャットというコミュニケーション様式ゆえに感じる限界はありますかというところも聞いてみたいと思います。
これはチャットって結局文字を書いて文字を読むということで成立していると思うんですけども、
その回答、欲しい情報を得るために長く質問しなければいけなくて、
得られる回答もまた長くてみたいなものは僕は避けたいなと思っていて、
AIと自然言語処理の可能性
今はいろいろやればいいと思っているのでやればいいんですけども、
最終的にそのチャット、コミュニケーションはいいんですけども、
それを何かちゃんと明確な何か調べ物とか検索とかに応用するのであれば、
なんかもうちょっとマシなやり方があるんじゃないかなと個人的には思っていて、
ということを言い過ぎるとあんまりあれだけども。
いいですね。
あとなんか私が思っていることもちょっとしゃべりたくなっちゃったからしゃべるんですけども、
チャットということしかできないものではないっていうのが結構大きいと思っていて、
サブタスクという言葉がネットでポロポロ出てるんですけども、
以下の文章をほにゃららしてくださいっていうものを投げると、
タスクを処理してくれるという見方ができるんですね。
例えばこの予約してくださいとか翻訳してくださいとか、
本来それに特化した自然言語処理のアルゴリズムとかを作らなきゃいけなかったところが、
このChatGPT APIというLLMを使ったもので、
よしなに処理できちゃうというところがあって、
このChatGPTはチャットなので、
チャットボットみたいなのを作ればよいというふうな捉え方をするのではなくて、
結構新卒の社員が1万人とか一気にいたときに何を投げると面白いかとか、
そんな感じのところで考えると面白いのかなと個人的には思ってますね。
ChatGPTプロンプトと日本語の関係
この辺り寺本さんどうですか。
そうですね。
チャットという意識はむしろ僕たちプログラマーが使いやすいように
オープンAI社が、
チャットマークアップ欄下にチャットMLというふうにリファレンスが呼ばれているんですけど、
そういう側をかぶせてくれたというぐらいのものでしかないかなと思っていて、
結局あれもストリングファイされて、
おそらく普通の今まで通りのコンプリッションタスクで、
一文字ずつトークンを生成しているというのは変わらないわけですし、
そうですね。
そこに対する限界というのはあんまり感じてないですね。
なるほど。ありがとうございます。
時間も少なくなってきたので駆け足でどんどん質問答えられればと思っているんですけれども、
ChatGPTプロンプトはソースコードとしてGitで管理されていくと思いますか?
これは今うちの会社でやってます。
やってますね。
やってますね。
やってます。
かつ、ChatGPTプロンプトを誰が考えるのかというのも結構重要な問題だと思っていて、
一旦エンジニアの方で考えたやつをやってるんだけれども、
あれはどっちかというと日本語がうまい、
Gitよりもスピーディーな共有の可能性
私はあんまり日本語うまくないので、もうちょっとうまい人に喋ってもらったほうがいいかなと思っていて、
職種が実はエンジニアじゃない方がいい可能性ありますよね、あのあたりは。
要するに日本語得意なエンジニアだったら別にいいんですけれども、
そうじゃない人が実はできるんじゃないかというところもあると思っていて。
はい、そうですね。Gitってとこに引っかかっちゃって、
Gitよりもいい、Googleのコラボレーサーとりみたいなところで、
もっとスピーディーに、Gitよりもスピーディーに共有されていくような気はします。
管理されていくような気がします。
そういうイベントをやっていくというのは、
Gitの中でのコミット環境を作っていくみたいな話じゃないですかね。
僕もそれがむしろ主流になっていくんじゃないかと思いますね。
Gitってやっぱり議論を尽くして、
一つ一つのコミットを忠実に積み上げていくっていうことに特化しているのがやっぱりGitだと思うので、
むしろプロンプトみたいな、うまくいくかどうかわかんないけど、
とりあえずこれ試してみようぜ、100人ぐらいでみたいなのが、
バンバン流動性高くやっていけるやり方のほうが多分今は向いているのかなと思います。
はい、ありがとうございます。
TechHourイベントとGPTの話題
では、次はこちらの方から。
はい、こんにちは。
こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、こんにちは。
はい、あとは
TechHourというイベントをやりまして
GPTの話、とにかくしたくてしょうがないので
別枠でもまたします。
Podcastの終了と感謝の意
今までがUFMじゃなくてですね、これは
オンラインのイベントなので
お気軽に聞いていただければと思っています。
はい、あとはもう
スライドない感じですかね。
というわけで、こういった形で
今日、進めさせていただいたんですけども
ちょうど授業時が近いということで、以上で終了にしたいと思います。
ではまた次回もお楽しみに。
バイバイ。
ありがとうございました。
ありがとうございました。
(拍手)
42:45

コメント

スクロール