話題の生成AI:Claude3試してみた(Amazon Bedrock)

AWS

この記事を読むのに必要な時間は 約10分 です。

最近仕事で生成AI(LLM)の導入・普及を目指しています。
先日、Anthropic社のClaudeがアップデートされたので試してみました!
Claudeはマイナーかもしれませんが、OpenAIを退社された方が立ち上げた会社で、ChatGPTと同じくらい優秀と言われています。
日本語にも対応しているのも高評価です!
(ほとんどのLLMって、日本語に対応していないんですよね…)

そんなClaudeですが、3月4日に大型アップデートされてClaude3になりました!
(前まではClaude2.1でした)
しかも、ついに画像の入力にも対応されました!
【Anthropic公式ニュース】https://www.anthropic.com/news/claude-3-family

個人的には、ChatGPTで画像入力使って、コードのエラーを確認してもらったり、使わせてもらっていたのですが、社内向けにも是非組み込みたいところです。

Claude3では、3つのモデルが公開されました

今回のアップデートで、Claude3として以下の3つのモデルが公開されました。
執筆時点でOpusは未だ公開されていませんので、SonnetとHaikuを試してみます。

モデル名ざっくり解説
Claude 3 OpusClaudeで一番賢いモデル
(GPT-4よりも?)
Claude 3 Sonnet賢さとコストのバランスが良いモデル
Claude 3 Haikuほぼ瞬時に応答できるモデル
(人間とのやり取りと同じ?)

ちなみに、性能とコストのイメージはこんな感じです(公式サイトより引用)

Claude3をAWSで試してみる

今回参考にしたサイトはこちら👇
https://qiita.com/moritalous/items/8266f0c4bea6514713f7

今回はAWSが提供している「Amazon Bedrock」を使います。

PythonでAWSの各種サービスを使うときは、boto3を使います。
Claude3からは、Messages APIを使うようです。
APIの呼び出し方は、Amazon Bedrockのプロバイダーページを見ると、下の方にAPIリクエストの書き方が書いてありますので、モデルID(modelId)とかはマネします。

【Claude3 Sonnet】基本的な会話

まずは、Sonnetを使った基本的な会話を試してみます。

参考サイトをマネしたコードはこんな感じです👇
6行目のboto3 clientを呼び出すコードだけ、オレゴン(us-west-2)リージョンを使うために追記しています。
執筆時点で、東京リージョンだとClaude2.1までしか提供されていませんでした…
私は東京リージョンのSageMakerを使っていたので、明示的にオレゴンリージョンのBedrockを使うようにclientを作成してみました。

import json
import boto3

client = boto3.client(
    service_name="bedrock-runtime",
    region_name='us-west-2'
)

body = {
    "anthropic_version": "bedrock-2023-05-31",
    "max_tokens": 300,
    "system": "あなたは優秀なAIボットです",
    "messages": [
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "こんにちは。あなたはどんなことができますか?"}
            ],
        }
    ],
}

response = client.invoke_model(
    modelId="anthropic.claude-3-sonnet-20240229-v1:0",
    body=json.dumps(body)
)
response_body = json.loads(response.get("body").read())


print(json.dumps(response_body, indent=2, ensure_ascii=False))

これを実行した結果はこちら👇

しんじ
しんじ

こんにちは。あなたはどんなことができますか?

LLM
LLM

こんにちは。私は幅広い知識を持ったAIアシスタントです。質問に答えたり、タスクを支援したり、議論を交わしたりできます。作文や編集、プログラミング、分析などさまざまなことが可能です。どんな課題でも一生懸命取り組みますので、気軽にお尋ねください。できる限りのサポートをさせていただきます。

【Claude3 Sonnet】ネット記事キャプチャを読み取って要約

今回は、ちょうどClaude3のことを書いていたYahoo!ニュース記事「Anthropicが「Claude 3」を発表 ~「GPT-4」を上回ると称する最新LLM、3サイズで展開」をキャプチャして読み込ませてみました。

import base64
import json

import boto3

with open("sample.png", mode="rb") as f:
    data = base64.b64encode(f.read()).decode("utf-8")

client = boto3.client(
    service_name="bedrock-runtime",
    region_name='us-west-2'
)

body = {
    "anthropic_version": "bedrock-2023-05-31",
    "max_tokens": 1000,
    "system": "あなたは優秀なAIボットです",
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": "image/png",
                        "data": data,
                    },
                },
                {
                    "type": "text",
                    "text": "画像に記載されているニュースの内容を要約して",
                },
            ],
        }
    ],
}

response = client.invoke_model(
    modelId="anthropic.claude-3-sonnet-20240229-v1:0", body=json.dumps(body)
)
response_body = json.loads(response.get("body").read())


print(json.dumps(response_body, indent=2, ensure_ascii=False))

これを実行した結果はこちら👇

しんじ
しんじ

画像に記載されているニュースの内容を要約して

LLM
LLM

この画像は、AnthropicがClaude 3というAIモデルを発表したことに関するニュースの記事を示しています。主な内容は以下の通りです。

  • Anthropicは3月4日、大規模言語モデル(LLM)「Claude 3」を発表した。
  • 「Claude 3 Opus」「Claude 3 Sonnet」「Claude 3 Haiku」の3つのサイズが展開されており、「Opus」が最大サイズとなっている。
  • 「Opus」はWebブラウザの「claude.ai」や159か国で利用可能なClaude APIでも使用できる。「Haiku」は近日提供開始予定。
  • 「Opus」を利用するには月額20米ドルの「Claude Pro」への加入が必要。
  • Anthropicによると、「Opus」はOpenAIの「GPT-4」やGoogleの「Gemini」などの競合モデルを上回る性能スコアを記録したとしている。

要約すると、Anthropicが最新の大規模言語AIモデル「Claude 3」を発表し、その中でも「Opus」が最大規模で優れた性能を持つと主張する内容となっています。

【Claude3 Haiku】基本的な会話

続いて、Claude3 Haikuを試してみます。
上のコードから、モデルIDの部分だけ修正すればOKです。
Bedrockは簡単ですね

response = client.invoke_model(
    modelId="anthropic.claude-3-haiku-20240307-v1:0",
    body=json.dumps(body)
)
しんじ
しんじ

こんにちは。あなたはどんなことができますか?

LLM
LLM

はい、私は様々なことができます。質問や相談に丁寧にお答えしたり、情報を提供したり、アドバイスをするなど、できる限り役立つことを行います。得意分野は学習サポート、生活の質問、創造的な作業などです。あなたのニーズに合わせて柔軟に対応させていただきますので、どうぞ遠慮なく質問してください。一緒に楽しく有意義な対話ができたらと思います。

【Claude3 Haiku】ネット記事キャプチャを読み取って要約

しんじ
しんじ

画像に記載されているニュースの内容を要約して

LLM
LLM

画像は、人工知能企業Anthropicが「Claude 3」を発表し、「GPT-4」を上回るものだと紹介しています。主な内容は以下の通りです:

  • Anthropicは3月4日にラージランゲージモデル(LLM)「Claude 3」を発表しました。
  • 「Claude 3」には「Opus」「Claude 3 Sonnet」「Claude 3 Haiku」の3つのサイズがあり、それぞれ大きさが異なります。
  • 「Opus」や「Sonnet」、「Haiku」はWebブラウザで利用できるClaude APIを提供しています。
  • Anthropicによると、「Opus」は一般的なAIシステムベンチマークの多くで、OpenAIの「GPT-4」や米Google の「Gemini」といった他の競合モデルを上回る性能を持っています。

回答の生成にかかる時間を比較

ということで、Claude3 SonnetとHaikuの2つを試してみました。
非常にシンプルな同じプロンプトを入力した場合、生成された回答と、かかった時間はこんな感じです。

基本的な会話回答文所要時間
Sonnetこんにちは。私は幅広い知識を持ったAIアシスタントです。質問に答えたり、タスクを支援したり、議論を交わしたりできます。作文や編集、プログラミング、分析などさまざまなことが可能です。どんな課題でも一生懸命取り組みますので、気軽にお尋ねください。できる限りのサポートをさせていただきます。3.7秒
Haikuはい、私は様々なことができます。質問や相談に丁寧にお答えしたり、情報を提供したり、アドバイスをするなど、できる限り役立つことを行います。得意分野は学習サポート、生活の質問、創造的な作業などです。あなたのニーズに合わせて柔軟に対応させていただきますので、どうぞ遠慮なく質問してください。一緒に楽しく有意義な対話ができたらと思います。2.0秒
ニュース記事の要約回答文所要時間
Sonnetこの画像は、AnthropicがClaude 3というAIモデルを発表したことに関するニュースの記事を示しています。主な内容は以下の通りです。
・Anthropicは3月4日、大規模言語モデル(LLM)「Claude 3」を発表した。
・「Claude 3 Opus」「Claude 3 Sonnet」「Claude 3 Haiku」の3つのサイズが展開されており、「Opus」が最大サイズとなっている。
・「Opus」はWebブラウザの「claude.ai」や159か国で利用可能なClaude APIでも使用できる。「Haiku」は近日提供開始予定。
・「Opus」を利用するには月額20米ドルの「Claude Pro」への加入が必要。
・Anthropicによると、「Opus」はOpenAIの「GPT-4」やGoogleの「Gemini」などの競合モデルを上回る性能スコアを記録したとしている。
要約すると、Anthropicが最新の大規模言語AIモデル「Claude 3」を発表
10.9秒
Haiku画像は、人工知能企業Anthropicが「Claude 3」を発表し、「GPT-4」を上回るものだと紹介しています。主な内容は以下の通りです:
・Anthropicは3月4日にラージランゲージモデル(LLM)「Claude 3」を発表しました。
・「Claude 3」には「Opus」「Claude 3 Sonnet」「Claude 3 Haiku」の3つのサイズがあり、それぞれ大きさが異なります。
・「Opus」や「Sonnet」、「Haiku」はWebブラウザで利用できるClaude APIを提供しています。
・Anthropicによると、「Opus」は一般的なAIシステムベンチマークの多くで、OpenAIの「GPT-4」や米Google の「Gemini」といった他の競合モデルを上回る性能を持っています。
4.6秒

基本的な会話の場合は、Sonnetを基準とすると、Haikuは54%の時間で、ほとんど同じ回答を生成しています。
また、ニュース記事の要約だと、Haikuの回答だと少し情報が抜けている部分はありますが、実用的には全く問題のないレベルの素晴らしい回答が、42%の時間で生成できています。

実際に使ってみて思いましたが、やっぱりHaikuの生成速度はかなり早い印象ですね!
これなら、チャットに組み込んだときの使用感が改善できそうです。
早速試してみようと思います。

他にも、気になることが出てきたら試してみようと思います〜

コメント

タイトルとURLをコピーしました