2024.12.19
システムの穴を運用でカバーしようとしてミス多発… バグが大量発生、決算が合わない状態から業務効率化を実現するまで
リンクをコピー
記事をブックマーク
大嶋悠司氏(以下、大嶋):「Keynotesだけじゃない! 深掘りセッションズ」ということで、キーノートで全体の地図を与えられたわけです。じゃあその地図の中で、それぞれどこにどういう話をしているかという深掘りセッションズをいくつか紹介できればなと思います。
まず、Foundation modelsについてです。もしかしたらみなさん、もう見ているかもしれませんが、このセッションはマジでみんな見たほうがいいと私は思っています。「State of GPT」というタイトルなのですが、OpenAIのAKさん(Andrej Karpathy氏)が発表してくれた内容で、GPTについてすごく詳しく話してくれているんですね。
GPTだけじゃなくてLLMと言ってもいいかな? とにかく、トレーニングパイプラインの話をしてくれています。ここまで整理されたGPTのトレーニングパイプラインを私は初めて見たので、頭を整理する上ですごく良い発表だったなと思っています。
トレーニングパイプラインがあって、それぞれのモデルが生まれるので、自分が見ているモデルがこのフェーズのどこに相当するモデルなのかを考えながら見ると、非常に整理できるし、これも地図だと思っています。
最初が事前学習言語モデルで、GPTのベースモデル、「GPT3 davinci」とか「LLaMA」とかがここに相当します。大規模な言語資源でランゲージモデルを事前学習したようなものですね。こいつはアシスタントではありません。
ランゲージモデルなので、最初に言語が与えられたらその先を推定するだけのモデルですね。最近サイバーエージェントさんが出した「CALM(OpenCALM)」も、ここの事前学習言語モデルに相当します。このモデルは、ChatGPTみたいなアシスタントにはならないものです。
それをQAの形式になっている少量かつ高品質のデータでチューニングしたものが、SFTモデルです。ここになると、少しアシスタントっぽい感じになります。これは、「Vicuna-13B」などのモデルに相当すると説明されています。
これだと、まあ確かに、アシスタントみたいな振る舞いはしてくれるけれど、ChatGPTはさらにRLHF(Reinforcement learning from human feedback)ということをしているよと説明してくれています。
知っている限り、実際にここまでできているのはChatGPTとClaudeだけだと言っていますが、生成された回答を人手でランキング付けして、それを強化学習に使って、人間が思うより良い回答を学習するという流れになりますね。
そういうことで、よりアシスタントとして優秀になるという話になります。
これ、ちょっとおもしろかったので挟んだのですが、「なんでRLHFが必要なんですか?」という質問に対して、(回答は)「いい感じに動くからです」。エキサイティングな理由ではないけれど、それをすると人がいいと思う回答が出るからでしかないと言っています。
もし潜在的な理由を説明できるとしたら、「いい俳句を作りなさい」と言うよりも、「どっちの俳句のほうが良さそうですか?」という質問のほうが、人間にとっては簡単ですよねということです。
生成よりも比較のほうが簡単というのがRLHFがよく動く潜在的な理由かもね、みたいなことも別で話してくれているので、非常に技術的に深いセッションだったなと(思います)。
ほかにおもしろかったのは、RLHFによる悪影響もあるという話ですね。ベースモデルだと、次の単語を予想する時に、けっこうエントロピーが高く、言語を満遍なく推定するのですが、RLHFを挟むと非常にピーキーな推定をするようになります。
(スライドを示して)例えばここの「If you are referring」の時の「are」の予想ですが、ほかにも可能性がなくはないはずなのに、「are」が99.9パーセントになっていて、かなりピーキーなモデルになると話されています。
ということは、エンベディングモデルにはRLHFをしたモデルは向かないのかな? と想像をしたり、なかなかおもしろい発表だったと思います。
あとは、LLM使用のベストプラクティスについても話してくれていました。「Chain of Thought」、「Self-consistency」、「ASK for Reflection」、「Tree of Thought」など、「Expertとして振る舞ってください」みたいなことを言うと質が上がるよねみたいな。
そういうよくあるベストプラクティスをまとめて話してくれているし、メタファーを含めて話してくれるので、すごくわかりやすいセッションだったなと思います。
最後に、検索の拡張みたいなものも話されていました。これについては後の発表で詳しく話しますが、LLMに検索による拡張を付けるのはすごくいいよねという話ですね。
それに関連して、Groundingの部分になりますが、個人的に、これはLLMの本質的な使い方における拡張だと思っています。
先ほども申し上げたとおり、Groundingというものが、ある情報に基づいて生成する上で証拠となる情報を取ってこないといけないというところで、Vector searchを使うというのが、なんとなく今の技術的な流れになっているかなと思います。
Vector searchについてのセッションはElasticsearchがやってくれたのですが、Vector searchという技術について話した後、Vector searchを使ってChatGPTを拡張すると、こんなにいいことがあるよという話をしてくれたので、Groundingについて興味がある人は、この発表を見るとおもしろいと思います。
Embeddingというものが、こういう概念みたいなものを何次元かの空間に落とし込みます。リアルな鹿、リアルなカートゥーン、イラスト、鳥なのか哺乳類なのかみたいなのにマッピングされています。
こういう鹿のイラストっぽいやつが与えられた時に、その周辺の概念みたいなものも取ってくることができるのがVector searchです。
このVector searchがなぜ今流行っているかというと、別にVector searchはそんなに新しい技術ではありませんが、LLMを使うとEmbeddingがすごくうまくいくので、LLMと組み合わせると非常に効果的だよねということを説明してくれています。
Vector searchは、今まで見つけられなかったものが見つけられるようになる技術ではありますが、キーワードマッチのほうが完全に一致するものを見つけることに優れているので、トラディショナルなサーチとVector searchを合わせたHybrid searchみたいなものがすごく重要になってくるよねという話もしてくれています。
Vector searchやHybrid searchはけっこう当たり前になりつつあるなと思っています。
Elasticsearchは当然のこと、Azureの「Cognitive Search」とか「Azure Cosmos DB」とか「Vertex AI」とか「Pinecone」「Qdrant」。
いろいろな方法でこれは実現できるので、今後当たり前の技術になるんだろうなという気がしています。
次の、MetapromptとResponse Filteringについての発表でおすすめなのがこれですね。
「Build and maintain your company Copilot with Azure ML and GPT-4」。これはけっこうデモベースですごくおもしろい発表なので、聞くと楽しいと思います。
先ほどみたいに、Retrieval Augmented Generationみたいなものをすると、いい感じのCopilotが作れるよという話から始まるんですよね。
「実際にCopilotを設計する時には、これぐらいのパイプラインを組まなきゃいけないんや」と言っていて、「クライアントがチャットに質問した時に、内部でプロダクトIDを入れて、プロダクトをサーチして、その情報を使ってLLMに問い合わせつつ、リプライを生成するんや、複雑なフローがあるんや」という話をしてくれるわけです。
PromptFlowで実現できるよというのがその話の流れになるわけですね。PromptFlowは、基本的にLangChainを想像してもらえればいいので、わかるかなと思いますが、インプットがあって、if文みたいなものがあって、並列でLLMと合わせた結果をアグリゲーションしたりできます。
PromptFlowは私がめちゃくちゃ欲しかった機能なのですが、これはプロンプトのバージョニングをしてみたり、過去のものから良くなったのか悪くなったのかを比較したり、取ってきた情報にどれだけ基づいているか、Groundnessみたいなパイプラインをきちんと測ったりすることで、プロンプトのデバッグなどがすごくビジュアルでやりやすくなる機能です。
なので、LangChainやPromptFlowみたいなものは、非常に必要になってくると思いますが、それをどれだけ楽にできるかが、今後重要なのかなと思います。
まとめとして、Copilotという名前がどれだけ一般的になるかはわかりませんが、Copilot Stackという整理されたマップは、マジでありがたいです。
今後こういう概念のスタックがあるよねというのは共有されるのかなと想像しています。
FrontendやOrchestrationが、どこに当てはまるのかを考えながらツールなどを整理すると、どこまでの責任を持たせられるかが非常にわかりやすいと。
あと、現状のLLMについても、State of GPTで非常に整理されたと思っています。パラメーター数が7ビリオンだとか、65ビリオンだとかというだけではなく、そのモデルがいったいどのフェーズにあるのかもすごく重要だよね、ユースケースに合ったモデル選択をしないとねという話があります。
Vector searchやPromptFlowみたいな、Orchestrationのツールは、Azureに今後拡充されていくだろうし、オープンソースのものもたぶん出てくるので、Copilot Stackのどこにあるのかを見ながら選んでいきたいなと思っている次第です。
メルカリでの取り組みについても、ちょっとここで話をしたいなと思っています。私はLLMと生成系AIの専属チームでやっているのですが、社内でどういう取り組みをしているかについて、ちょっと簡単に紹介できたらと思います。
まず1個目が、これはすでにうちのチームのmaze(石川佑樹氏)も発表しているのですが、「mercari ChatGPT」みたいなものを社内で出しています。
ChatGPTだと社内の機密情報などが漏洩するリスクがあるから、社内で安心して使えるものを作ろうねという話が、最初にありました。
付加価値として、もっといろいろできないかということで、バックエンドはAzureのOpenAIを使って、gpt-3.5-turboやgpt-4などやっていたところにGoogleの「chat-bison」も入れて、いろいろなモデルを社内で比較しやすいようにしようねと、社内の理解を深めました。
あと、シェアの機能を入れています。これは最近、ChatGPTにも入ったらしいですね。自分のチャットの履歴をシェアできます。プロンプトを書くのが上手な人がやはりいるわけですよ。言語能力に長けている人。そういう人が作ったプロンプトはけっこう汎用的に使えるので、それを社内で展開して、活用や習熟を促進していくことを狙ってやっています。
もう1つ。たぶんこれは、非常にティピカルなユースケースではありますが、社内ドキュメント検索ですね。
「Confluence」とか「Google Docs」とか「Slack」とか、データソースがいろいろあるものをベクトライズします。ただの全文検索と違うのは、自然言語で質問して、検索して、自然言語で返してくれるところです。
例えば「○○の施策の内容について教えてください」と言った時に、「○○の施策ってこういうもんですよね。こういう進捗ですよ」みたいなことを、自然言語で教えてくれるというのはすごく便利だよねと取り組んでいます。
内部では、AzureのCognitive SearchのVector searchを使っていて、Hybrid searchとかも入れています。それ自体は非常に便利だし、ツール自体も整っているのですが、じゃあ幸せな世界が訪れるかというと、決してそんなことはありません。やはりチューニングはまだまだ必要だなという印象です。
例えばドキュメントを、どの粒度でベクトル化をするか。例えばConfluenceのドキュメントはめちゃめちゃ長いので、それを一度に全部ChatGPTには入れられません。チャンクに切らないといけないのですが、どれぐらいのサイズで切っていくかとか。
ほかにも、ドキュメントをサマライズしてからベクトル化するとか、これはこういうドキュメントですよみたいなインストラクションを付けるとか、いろいろな選択肢がありますが、どれがベストかはまだいまいちつかめていません。
例えばFAQは質問と応答なので、検索が非常にしやすいのですが、社内ドキュメント検索だと、質問に対してのドキュメントが、ベクトル空間上でそんなに近くはなかったりすることがけっこうあるわけです。
そういう場合に、どうやってそこを近づけていくか、正しい検索となっていくかみたいなところでTwo-Towerモデルみたいな概念はありますが、それを使ったからきれいにできるかというとそうでもありません。
そこは今後社内で検討しなきゃいけないし、みんなで知見共有できると、車輪の再発明をしなくて済むなと思っているので、ぜひともみんなで深めていきたいし、ベストプラクティスを深めていきたいなと思っている分野です。
最後に、LLMチームは採用もしています。LLMをメルカリでもやっていきたい人は、私たちのチームにアプライしてもらえると。みんなでやっていきましょうという感じです。以上です。ありがとうございます。
そうだ、最後に。実は私、今までMacしか使っていなかったのですが、今回の「MS Build」の発表が良すぎて、「Surface」買ったんですよ。
発表を実はWindowsからやっているというオチで、おしまいにしようと思います。ありがとうございました。
司会者:はい、大嶋さん、ありがとうございました。Windowsデバイスも買ってもらって(笑)。「MS Build」自体も非常に良かったかなと思います。質問が1件来ているので、公開させていただけたらなと思います。
「mercari ChatGPTのように、社内GPTの構築にかかった費用はどのくらいでしょうか? 差し支えない範囲でご教示いただければ幸いです」ということですが、いかがでしょう?
大嶋:額そのものを言ってもいいかというと、ちょっと怪しいので、ふわっとした感じになるんですけども。
実際、けっこう使ってはくれていますが、ChatGPTの3.5のAPIとかだとそんなに高くはないので、月に何百万ということは決してないですね。許されるレベルのお金感でやっている感じです。
ただ、GPT-4とかだと事情が違ってくるので、GPT-4をいっぱい使うようになってくると、ちょっと変わってくるかなという気がしている感じですかね。
司会者:ありがとうございます。ちなみに、構築の工数でいうとどれくらいかかったんですか?
大嶋:構築の工数自体は、どれぐらいだろう? 2週間ぐらいで作ったんだと思います。そこはもう、1人のエンジニアが気合いを入れて作った感じ。
司会者:おぉ、1人で2週間で(笑)、メルカリさんのChatGPTを構築したということですね。
大嶋:そうですね。内部的にはAPIコールするだけで、基本的にフロントエンド開発だけなので、それぐらいの規模感でやった感じです。
司会者:ありがとうございます。
2024.12.20
日本の約10倍がん患者が殺到し、病院はキャパオーバー ジャパンハートが描く医療の未来と、カンボジアに新病院を作る理由
2024.12.19
12万通りの「資格の組み合わせ」の中で厳選された60の項目 532の資格を持つ林雄次氏の新刊『資格のかけ算』の見所
2024.12.16
32歳で成績最下位から1年でトップ営業になれた理由 売るテクニックよりも大事な「あり方」
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
PR | 2024.12.20
モンスター化したExcelが、ある日突然崩壊 昭和のガス工事会社を生まれ変わらせた、起死回生のノーコード活用術
2024.12.12
会議で発言しやすくなる「心理的安全性」を高めるには ファシリテーションがうまい人の3つの条件
2024.12.18
「社長以外みんな儲かる給与設計」にした理由 経営者たちが語る、優秀な人材集め・会社を発展させるためのヒント
2024.12.17
面接で「後輩を指導できなさそう」と思われる人の伝え方 歳を重ねるほど重視される経験の「ノウハウ化」
2024.12.13
ファシリテーターは「しゃべらないほうがいい」理由 入山章栄氏が語る、心理的安全性の高い場を作るポイント
2024.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
Climbers Startup JAPAN EXPO 2024 - 秋 -
2024.11.20 - 2024.11.21
『主体的なキャリア形成』を考える~資格のかけ算について〜
2024.12.07 - 2024.12.07
Startup CTO of the year 2024
2024.11.19 - 2024.11.19
社員の力を引き出す経営戦略〜ひとり一人が自ら成長する組織づくり〜
2024.11.20 - 2024.11.20
「確率思考」で未来を見通す 事業を成功に導く意思決定 ~エビデンス・ベースド・マーケティング思考の調査分析で事業に有効な予測手法とは~
2024.11.05 - 2024.11.05