はじめに
こんにちは、「カミナシ 従業員」サービスチームの a2 (@A2hiro_tim) です。ラスベガスで開催されているAWS re:Invent 2024 に昨年に引き続き参加しています。今回は ChalkTalk として開催された「Deep dive into Claude 3.5: Unlocking AI potential on AWS」の参加レポートをお届けします。
ChalkTalk は speaker によって形式に差がありますが、今回のセッションは Claude 3.5 の仕組みをスピーカーがひたすら話す形式で、最後に Amazon Bedrock を利用したデモがある形でした。本記事では、Claude 3.5 の仕組みについて簡単に紹介します。
Claude とは
Claude は、Anthropic 社が開発した生成 AI モデルのシリーズで、幅広い言語タスク・画像タスクに対応できます。
AWS は Anthropic 社と提携しており、Amazon Bedrock が対応している基盤モデルの中に Claude は含まれています。
Claude 3.5 Sonnet はエージェントタスク(自律的に目標を達成するタスク)に強く、ベンチマークと評判ともに良いです。
Agent とは
Agent とは、しばしば「prompt の有向グラフ」として会話されることがありますが、Anthropic では「実行ループの中でツールを利用し、エラーが起きれば対応し、タスクを完了させる LLM 」と定義しています。
筆者の解釈で雑に補足すれば、「タスクを与えると、その筋道を自ら考えて、一つ一つ実行し、エラーにも対応しながら完了まで頑張る」システム、です。
例えば(理想的には)「3泊4日でラスベガス旅行を設定して。予算は50万で」といえば、カレンダーから空いてる日程を探し、航空券を調べて予約し、ラスベガスの名所を調べ、グランドキャニオンのツアーを予約し、最後に旅程をdocumentに出力する、といった形です。
採用技術
Claude の開発では、以下の二つが基本指針にされています。
- シンプルであること
- Agent-User UX が良いこと
例えば、Claude3.5 の agent が利用するツールは API の他には command 実行のための bash とファイルの view/edit の二つが主たるもので、計画は手動で変更することが可能です。
他に特徴的な点として、Prompt Caching と Contextual Retrieval を使っています。
Prompt Caching については本日Amazon Bedrockでも発表がありました*1。過去のプロンプトの一部をキャッシュすることでレスポンス速度と性能を改善する技術です。
Contextual Retrieval は、Knowledge Base を作る時に全ての chunk に context を付与する技術です。
Workbench
Calude3.5 の技術紹介の他に、workbench というプロンプトを改善するツールも紹介されました。
とても簡単に prompt engineering をできるツールで、prompt を試行錯誤する際に必要なテストデータも LLM に生成させたり、spreadsheet 感覚でモデルごと、prompt ごとの結果の比較、評価ができます。
出来上がった prompt を使うコードも出力できます。
おわりに
良い性能をだしつつも、複雑に色々なテクニックを組み合わせたのではなく、シンプルな仕組みで実装されているのは、LLM らしいなと思いました。個々の技術詳細は端折った箇所が多いので、 Anthropic のブログ記事を参照ください。
LLM 関連技術の成長はすさまじく、少し追っていないだけでも置いてかれてしまいます。昨年RAG の説明を含めてブログを書いた *2 のですが、今年はRAGは当たり前のものとして応用技術のセッションがほとんどにみえました。
ツール周りも進化していて触りやすいので、改めて Catchup しようと思います。早速 Workbench を触ってみましたが、とても使いやすいです。
関連資料
Claude 3.5 の Amazon Bedrock 対応の発表
Claude の document