はじめに
こちらはQiita Advent Calendar Amazon Bedrock 17日目の記事です。
みなさんこんにちは!hiropyです。
今回は、Amazon Bedrock(以下Bedrock)の基盤モデルであるClaudeとLlamaに対し、それぞれと英会話をしたらどのような違いが出るのか?を比較「したかった話」を書きます。
なんで「したかった」なのかは、読み進めてからのお楽しみです。
どうやるか
今回はBedrockのChat機能で検証を行います。
リージョンはus-east-1
です。
基盤モデルは、それぞれ以下のバージョンを使用します。
- Claude v2.1
- Llama 2 Chat 70B
それぞれの基盤モデルに対し、以下のプロンプトを投げます。
あなたは英語の教師です。私は英語を話す練習がしたいので、何か質問を振ってください。私が英語で回答するので、そのまま会話を続けてください。
このプロンプトの後に各基盤モデルと会話を進めることで、どのような話題を振ってくるのか?会話を流暢に続けてくれるか?を検証します。
検証スタート
まずはClaude
まずはClaudeから検証していきます。設定値は以下の通りです。
会話を重ねるたびに文量が増えているのは気になるところですが、特に違和感なく会話できました。
続いてLlama
続いてLlamaの検証を行います。
ちなみにLlamaを選定した理由は、なんとなく気になったからです。
設定値は以下の通りです。Claudeと項目が少し異なりますが、出力される文字数をClaudeと揃えています。
???
(画像では見切れていますが)もう一度同じプロンプトを投げてみました。
???
無限の空白が返されてしまいました。
日本語は無理かもと悟り、以下のように同じ意味の英語のプロンプトを投げてみました。
You are an English teacher.I want to practice speaking English, so please pose any questions to me. I will answer in English and you can continue the coversation with me.
お!会話ができそうです。
ちょっと怪しい雰囲気になってきましたが会話を続けます。
???
Llamaが自分自身と会話し始めてしまいました。
もはや会話に入り込む隙も与えてくれません。
とりあえずペパロニが好きで、家にピザ窯があることはわかりました。
この後一度プロンプトを削除して最初からやり直したのですが、今度は最初から自分自身と会話してしまいました。
結論
Claude vs Llamaで英会話の精度を比較しようとしましたが、Llamaとはうまく会話することができませんでした。
プロンプトの書き方など工夫の余地はありますが、私のようにプロンプトエンジニアリングに対する経験が浅く、サクッと英会話の練習をしたいのであれば、まずはClaudeを使うことをお勧めします。
ちなみに
コストについては以下の通りです。
Llamaの方がコストが抑えられるので、大量にやり取りする際はLlamaに工夫したプロンプトを投げた方が良さそうです。(参考)