在 Amazon Bedrock 使用 Anthropic Claude 3 的簡易指南

Post Title Image (圖說:位於岩床上的 sonnet 連接知識圖譜。圖片來源:generated by DALL-E。)

Anthropic 於 2024-03-04 釋出了 Anthropic Claude 3 模型家族。同一天,Amazon 也宣布 Amazon Bedrock adds Claude 3 Anthropic AI models

本篇文章將帶大家簡單上手,在 Amazon Bedrock 裡頭玩一下 Claude 3 所帶來的威力。也許大家玩過之後,會更有感覺,將這些 LLM 模型與自身的工作流程作某種程度的整合。

簡單名詞解釋:

  • Anthropic: 是一家公司,專注 AI 人工智慧安全與研究。
  • Anthropic Claude 3: 是一個模型家族,包含有多個不同尺寸、適合不同應用場景的語言模型。
  • Amazon Bedrock: 是 Amazon 所提供的人工智慧一站式單一窗口,以最簡易的方式開始使用、打造、以及規模化生成式 AI 應用,並且內建負責任人工智慧。

Anthropic Claude 3

Claude 3 模型家族包含有三種等級:

  • Claude 3 Opus ($15 | $75)
  • Claude 3 Sonnet ($3 | $15)
  • Claude 3 Haiku ($0.25 | $1.25)

Cost: [Input $/million tokens | Output $/million tokens]

(圖片來源:Introducing the next generation of Claude \ Anthropic)

Claude 3 跟全世界各種產業的各種產品相同,都會有自己的強項、自己特別擅長的應用場景。除了官方放出來比較表,Claude 3 在分析預測、產生細微內容、產生程式碼領域有所加強之外,也特別針對非英語語系下了功夫,官方特別點名了西班牙語、日語、以及法語。看來有可能也是反應了市場需求方向,有可能使用這幾個語言的市場有著較高的市場潛力(e.g. 商業世界溝通語言除了英文之外,西班牙語是第二大用語、日本在亞洲 B2B 市場份額相對集中),大家在規劃手邊 AI 產品時,不妨參考。

(圖片來源:Introducing the next generation of Claude \ Anthropic)

視覺能力方面也有所進步。我有時在想如果所有模型目前對於一般圖表的理解都落在 50% 上下,會不會是這個世界充滿了太多錯誤繪製的圖表被餵進去訓練了。從官方釋出的比較表,看來比較嚴謹的科學圖表有著較高的處理能力。

(圖片來源:Introducing the next generation of Claude \ Anthropic)

目前 Claude 3 模型家族釋出 200K context window 給大家使用,看起來是個 soft limit,可以提出需求擴展至 1M。

(圖片來源:Introducing the next generation of Claude \ Anthropic)

Amazon Bedrock

接著進入 Amazon Bedrock 來體驗看看 Claude 3 Sonnet。

Amazon Bedrock 可以節省初期研究的大量時間,可以一站式購足(也可以一站式將錢噴掉 XDD),適合想要快速評估、不想管理佈署只想專注應用的多種場景。

從 AWS 官網右上角,有個按鈕可以直接前往 AWS Management Console 操作介面。輸入帳號、密碼、二階段驗證後,使用上方搜尋功能,輸入「bedrock」即可切換到 Amazon Bedrock 操作畫面。

本文發表時,有支援 Amazon Bedrock 的 AWS 機房區域有以下這五個區,記得先切換過去再繼續操作:

  • Europe (Frankfurt)
  • US West (Oregon)
  • Asia Pacific (Tokyo)
  • Asia Pacific (Singapore)
  • US East (N. Virginia)

第一次使用 Amazon Bedrock 時,AWS Management Console 會有權限設定提示,如果你沒有權限存取 Amazon Bedrock,可以請你的 AWS Account 管理者依照畫面上的 IAM 文件,為你的 IAM 帳號指定 Amazon Bedrock 相關權限。

Model Access

有了權限之後,接著申請開通各個使用模型的使用授權。

Amazon Bedrock 讓這件事情變得很方便簡單,全部集中在同一個入口,可以一次性地提出申請,且審核速度很快,通常幾分鐘就通過審核,可以馬上開始使用。

(雖然 Amazon Bedrock 藉由整合單一窗口,直通各模型供應商的 Marketplace,讓入門 AI 變得簡單,但產品管理、商業營運方面,該看的條款建議還是花點時間閱讀消化一下,確認一下各供應商、各模型的限制條件是否會影響未來自家應用上線營運。)

申請模型只需要按下右上角的「Manage model acess」,即可勾選想要使用的模型。有些模型供應商需要我們提供使用案例、情境作為審核,大家就依照自身情況輸入即可。不同的帳號可以看到的模型也會有所不同,這部份會隨著時間不同而有所不同,大家可以查閱文件或是模型供應商取得最新資訊。

過幾分鐘之後,再回來看,應該可以獲得授權,可以看到「Access granteed」字樣。

Playground

接下來大家可以將這個 Chat Playground 的環境當作一個聊天環境,提出各種領域的問題作實驗。

例如我想要實驗 Claude 3 對於 AWS 架構圖的理解能力,拿出我之前做的 Laravel on Amazon ECS Workshop 裡頭最基本的一張架構圖來問問看 Claude 3 能不能理解。

以下是我上傳給 Claude 3 的圖片、以及 Prompt 咒語:

安安你好,你是一位資深的 AWS 方案架構師,熟悉各種 AWS 專業、Amazon ECS 容器服務,且熟悉繁體中文和英文,以下討論除了程式碼之外,請同時使用繁體中文和英文回覆。請一步一步解說這張架構圖的意思給我聽。

按下「Run」按鈕之後,底下是 Claude 3 回傳給我的結果:


好的,我會用繁體中文和英文為您解說這張架構圖的意義。

This architecture diagram depicts a setup for running Laravel on AWS ECS (Elastic Container Service). It showcases a highly available and scalable infrastructure spanning across two Availability Zones within an AWS Region.

這張架構圖展示了在 AWS ECS (彈性容器服務) 上運行 Laravel 的設置。它描繪了一個高可用和可擴展的基礎設施,橫跨 AWS 區域 (Region) 內的兩個可用區 (Availability Zone)。

In the public subnet of each Availability Zone, there is an Application Load Balancer acting as the entry point for incoming traffic from the internet.

在每個可用區的公有子網路中,都有一個應用程式負載平衡器 (Application Load Balancer),作為來自網際網路的入站流量的進入點。

The load balancer distributes traffic across multiple instances of the Fargate task, which run in private subnets across both Availability Zones for high availability.

負載平衡器會將流量分配到兩個可用區的私有子網路中運行的多個 Fargate 任務實例,以實現高可用性。

Fargate is the serverless compute engine for ECS, allowing you to run containers without managing servers or clusters.

Fargate 是 ECS 的無服務器計算引擎,允許您運行容器而無需管理伺服器或叢集。

The private subnets are connected to the internet through a NAT Gateway in the public subnet of Availability Zone 1.

私有子網路通過可用區 1 的公有子網路中的 NAT 網關連接到互聯網。

An ECR (Elastic Container Registry) is used to store and deploy the Docker container images for the Laravel application.

ECR (彈性容器登錄) 用於存儲和部署 Laravel 應用程式的 Docker 容器映像。

The isolated subnets are likely used for data storage or other stateful resources that don’t need internet access.

隔離子網路可能用於不需要互聯網訪問的數據存儲或其他有狀態資源。

Overall, this architecture provides a scalable, highly available, and secure way to run Laravel applications on AWS ECS using Fargate, load balancing, and multiple Availability Zones.

總的來說,這種架構提供了一種可擴展、高可用和安全的方式在 AWS ECS 上使用 Fargate、負載平衡和多個可用區來運行 Laravel 應用程式。


下方 Model metrics 區域,可以看到一些參考數字,掌握輸入、輸出所使用的 token 用量,以及對應的成本。

Bottom Line

今天先簡單實驗到這裡,大家應該掌握了在自己的 Chat Playground 跟 Claude 3 互動的步驟。可以多試試看自己想問的問題、想解決的狀況。互相交流實驗結果。

之後有機會再來實驗更複雜的情況,例如理解架構圖之後,也許可以請 Claude 3 幫我們直接產生 AWS CDK 程式碼、確認佈署等等。

歡迎大家留言、或 Twitter mention 我,分享你的實驗結果 :)

備註:

  • AWS CDK 是一套 Infrastructure as Code (IaC) 工具,用寫程式的方式即可進行簡單或複雜的雲端基礎設施部屬。讓你的雲端基礎設施也可以做到程式碼版本控制、追蹤與合規。
  • 工作坊使用的容器 Docker image 是我和好朋友一起維護的 dwchiang/nginx-php-fpm | Docker Hub,如果你也是 PHP 愛好者,歡迎試試,有特別打包 arm64 版本可以跑在 AWS Graviton 上。
Loading comments…