Amazon Web Services 한국 블로그

Amazon Bedrock, Meta Llama 3 모델 정식 출시

오늘 Amazon Bedrock에서 Meta Llama 3 모델의 정식 출시를 발표합니다. Meta Lama 3는 생성형 인공 지능(AI) 애플리케이션을 구축하고 실험하고 그 규모를 책임 있게 조정할 수 있도록 설계되었습니다. 새 Llama 3 모델은 추론, 코드 생성 및 명령의 개선을 통해 다양한 사용 사례들을 가장 잘 지원할 수 있습니다.

Meta의 Llama 3 발표에 따르면, Llama 3 모델 제품군은 8B 및 70B 파라미터 크기로 사전에 학습되고 명령이 조정된 대규모 언어 모델(LLM) 모음입니다. 이 모델은 15조 개가 넘는 데이터 토큰(Llama 2 모델에 사용된 것보다 7배 더 많은 훈련 데이터세트)을 기반으로 학습되었는데, 여기에는 코드가 네 배 더 많이 포함되어 있어서 Llama 2 용량의 두 배에 해당하는 8K 컨텍스트 길이를 지원합니다.

이제 Amazon Bedrock에서 새 Llama 3 모델 두 개를 사용할 수 있게 됨에 따라 Amazon Bedrock 내에서 모델 선택의 폭이 더욱 넓어졌습니다. 이 모델을 사용하면 훨씬 더 많은 상위 파운데이션 모델(FM)들을 사용 사례에 따라서 쉽게 실험하고 평가할 수 있습니다.

  • Llama 3 8B는 제한된 컴퓨팅 파워와 리소스, 그리고 엣지 디바이스에 적합합니다. 이 모델은 텍스트 요약, 텍스트 분류, 감정 분석 및 언어 번역 성능이 탁월합니다.
  • Llama 3 70B는 콘텐츠 제작, 대화형 AI, 언어 이해, 연구 개발 및 엔터프라이즈 애플리케이션에 적합합니다. 이 모델은 텍스트 요약 및 정확성, 텍스트 분류 및 뉘앙스, 감정 분석 및 뉘앙스 추론, 언어 모델링, 대화 시스템, 코드 생성 및 명령 준수 성능이 탁월합니다.

그리고 Meta는 현재 추가로 400B 파라미터 규모 이상의 Llama 3 모델을 트레이닝하고 있습니다. 이 400B 모델에는 다중 모달, 다국어 지원, 훨씬 더 긴 컨텍스트 창을 포함한 새로운 기능들이 적용될 예정입니다. 이 모델들이 출시되면 콘텐츠 제작, 대화형 AI, 언어 이해, 연구 개발(R&D), 엔터프라이즈 애플리케이션에 매우 적합한 모델이 될 것입니다.

Llama 3 모델의 실행
Meta 모델을 처음 사용한다면 Amazon Bedrock 콘솔로 이동하여 왼쪽 하단 패널에서 Model access(모델 액세스)를 선택합니다. Meta에서 최신 Llama 3 모델에 액세스하려면, 별도로 Llama 3 8B Instruct 또는 Llama 3 70B Instruct에 대한 액세스를 요청하세요.

Amazon Bedrock 콘솔에서 Meta Llama 3 모델을 테스트하려면 왼쪽 메뉴 패널의 Playgrounds(플레이그라운드) 아래에서 Test(텍스트) 또는 Chat(채팅)을 선택합니다. 그 다음, Select model(모델 선택)을 선택하고 카테고리로 Meta를 선택한 후에 모델로 Llama 8B Instruct 또는 Llama 3 70B Instruct를 선택합니다.

API 요청 보기를 선택하면 AWS Command Line Interface(AWS CLI) 및 AWS SDK의 코드 예시를 사용하는 모델에 액세스할 수도 있습니다. meta.llama3-8b-instruct-v1 또는 meta.llama3-70b-instruct-v1와 같은 모델 ID를 사용해도 됩니다.

다음은 AWS CLI 명령의 샘플입니다.

$ aws bedrock-runtime invoke-model \
  --model-id meta.llama3-8b-instruct-v1:0 \
  --body "{\"prompt\":\"간단히 말해서 상대성 이론에 따르면\\n물리 법칙은 우주 어느 곳에서나 동일하며 시간의 흐름과 물체의 길이는 중력장 내에서의 그 속도와 위치에 따라 달라질 수 있습니다 \",\"max_gen_len\":512,\"temperature\":0.5,\"top_p\":0.9}" \
  --cli-binary-format raw-in-base64-out \
  --region us-east-1 \
  invoke-model-output.txt

AWS SDK를 사용하는 Amazon Bedrock용 코드 예제를 사용하여 여러 가지 프로그래밍 언어로 애플리케이션을 구축할 수 있습니다. 아래의 Python 코드 예제는 텍스트 생성을 위해 Amazon Bedrock에서 Llama 3 Chat 모델을 간접 호출하는 방법을 보여줍니다.

def invoke_llama3(self, prompt):
        try:
            body = {
                "prompt": prompt,
                "temperature": 0.5,
                "top_p": 0.9,
                "max_gen_len": 512,
            }

            response = self.bedrock_runtime_client.invoke_model(
                modelId="meta.llama3-8b-instruct-v1:0", body=json.dumps(body)
            )

            response_body = json.loads(response["body"].read())
            completion = response_body["generation"]

            return completion

        except ClientError:
            logger.error("Llama 3을 간접 호출할 수 없습니다")
            raise

이 Llama 3 모델은 질문에 답변하기, 언어 번역, 감정 분석 등과 같은 다양한 작업에 사용할 수 있습니다. 다음은 ICL(Few-shot in-context learning)이 포함된 Llama 3 모델의 예로, 여기서 우리는 이 모델에 사용할 수 있는 교육 샘플을 제시합니다.

입력:  영어를 프랑스어로 번역:
sea otter => loutre de mer
peppermint => menthe poivrée
plush girafe => girafe peluche
cheese =>
출력:  fromage
panda => panda
penguin => pingouin
polar bear => ours polaire
puffin => macareux
sloth => paresseux
walrus => morse
whale => baleine
zebra => z\u00e8bre

영어를 독일어로 번역:
sea otter => Seeotter

대화 사용 사례에 최적화된 Llama 3 명령 모델을 사용할 수도 있습니다. 명령 모델 엔드포인트에 대한 입력은 채팅 어시스턴트와 사용자 간의 과거 기록입니다. 따라서 지금까지 있었던 대화에 관한 질문을 해서 채팅 어시스턴트의 행동을 다음과 같은 형식으로 정의하는 시스템 구성(예: 페르소나)을 제공할 수 있습니다.

<|begin_of_text|><|start_header_id|>시스템<|end_header_id|>
[SYSTEM_TEXT]<|eot_id|><|start_header_id|>사용자<|end_header_id|>
[USER_TEXT]<|eot_id|><|start_header_id|>어시스턴트<|end_header_id|>

다음 예에서는 사용자가 파리의 관광 명소에 관하여 어시스턴트와 대화를 나눕니다. 그리고 나서 사용자가 채팅 도우미가 추천하는 첫 번째 선택지가 무엇인지 질문합니다.

입력: <|begin_of_text|><|start_header_id|>사용자<|end_header_id|>\n\n
제가 파리에 가려고 하는데요. 어디를 관광하는 것이 좋을까요?<|eot_id|><|start_header_id|>어시스턴트<|end_header_id|>\n\n
프랑스의 수도인 파리는 멋진 건축물, 미술관, 역사적인 명소, 낭만적인 분위기로 유명합니다. 파리에서 꼭 가봐야 할 주요 명소 몇 군데는 다음과 같습니다.\n\n
1. 에펠탑: 파리를 상징하는 에펠탑은 세계에서 가장 유명한 명소 중 하나로, 숨막힐 듯 멋진 도시 경관을 보여줍니다.\n
2. 루브르 박물관: 루브르는 세계에서 가장 크고 가장 유명한 박물관 중 하나로, 모나리자를 비롯한 인상적인 예술품과 유물들이 소장되어 있습니다.\n
3. 노트르담 대성당: 이 아름다운 성당은 파리에서 가장 유명한 명소 중 하나로, 고딕 양식과 멋진 스테인드글라스 창문으로 유명합니다.\n\n
이 장소들은 파리의 여러 명소 중 일부에 불과합니다. 파리는 볼거리와 즐길 거리가 너무 많아서 세계에서 가장 인기 있는 관광지 중 하나라고 할 만합니다.<|eot_id|><|start_header_id|>사용자<|end_header_id|>\n\n
#1이 뭐가 그렇게 좋은가요?<|eot_id|><|start_header_id|>어시스턴트<|end_header_id|>\n\n
출력: 에펠탑! 에펠탑은 파리의 상징이자 세계에서 가장 잘 알려진 명소 중 하나입니다. 에펠탑이 훌륭한 이유는 다음과 같습니다.\n\n
1. **놀라운 건축 공학**: 1889년 세계 박람회를 위해 지어진 에펠탑은 그 당시 건축 공학의 획기적인 위업이었습니다. 에펠탑은 당시 세계에서 가장 높은 건축물로, 높이가 324미터(1,063피트)에 달했습니다.\n
2. **파노라마 전망**: 에펠탑의 전망대에 오르면 도시의 숨막히는 경관을 360도로 볼 수 있습니다. 센 강, 루브르, 몽마르트르 등 파리의 여러 명소를 볼 수 있습니다.\n
3. **로맨틱한 분위기**: 에펠탑은 종종 로맨스와 연결되곤 하며 프로포즈, 결혼식, 로맨틱한 저녁 식사 장소로 인기 있는 곳입니다. 이 타워의 철제 격자 무늬와 밤에 반짝이는 조명이 로맨틱한 분위기를 더해줍니다.\n
4. **역사적 의미**: 에펠탑은 1차 세계대전 당시에 통신탑 역할을 했고 프랑스 문화와 건축 공학의 상징이 되면서 프랑스 역사에서 중요한 역할을 해왔습니다.\n
5. **접근성**: 에펠탑은 대중교통이나 도보로 쉽게 갈 수 있으며 계단, 엘리베이터, 가이드 투어 등 다양한 방법으로 에펠탑을 경험해볼 수 있습니다.\n
6. **야간 광경**: 에펠탑은 밤에 수천 개의 반짝이는 조명이 켜져서 훨씬 더 환상적입니다. \“에펠탑 스파클”\이라고 하는 이 조명 쇼는 해질녘부터 자정까지 매시간 열립니다.\n
7. **상징적인 지위**: 에펠탑은 셀 수 없이 많은 영화와 문학, 예술 작품에 등장하여 단숨에 알아볼 수 있는 파리와 프랑스의 상징이 되었습니다.\n\n
정리해보면, 에펠탑은 파리에서 꼭 방문해야 할 명소로서 역사, 건축, 로맨스, 그리고 멋진 전망이 독특하게 조화를 이루는 곳입니다.

Llama 3의 새로운 프롬프트 템플릿과 특수 토큰에 대해 자세히 알아보려면 GitHub 저장소에서 Meta의 모델 카드와 프롬프트 형식 또는 Llama 레시피를 확인하세요.

정식 출시
Meta의 Llama 3 모델은 현재 미국 동부(버지니아 북부)와 미국 서부(오레곤) 지역의 Amazon Bedrock에서 사용할 수 있습니다. 향후 업데이트 여부는 전체 리전 목록을 확인하세요. 더 자세히 알아보려면 Amazon Bedrock의 Llama 제품 페이지요금 페이지를 확인하세요.

지금 바로 Amazon Bedrock 콘솔에서 Llama 3를 사용해 보고, AWS re:Post for Amazon Bedrock에 피드백을 보내거나 일반적인 AWS Support 문의를 통해 피드백을 보내주세요.

심층적인 기술 콘텐츠를 찾아보고 빌더 커뮤니티에서는 각자의 솔루션에서 Amazon Bedrock을 어떻게 사용하고 있는지 알아보려면 당사의 community.aws 사이트를 방문하세요.

Channy