Amazon Web Services 한국 블로그

Amazon Bedrock, 최신 Meta Llama 4 모델 정식 출시

Meta의 최신 AI 모델인 Llama 4 Scout 17B 및 Llama 4 Maverick 17B를 이제 Amazon Bedrock에서 완전 관리형 서버리스 옵션으로 사용할 수 있습니다. 이러한 새 파운데이션 모델(FM)은 애플리케이션에서 정밀한 이미지 그라운딩 및 확장된 컨텍스트 처리에 사용할 수 있는 초기 융합 기술을 갖춘 네이티브 멀티모달 기능을 제공합니다.

Llama 4는 비용과 속도 모두를 최적화하면서 추론 및 이미지 이해 작업 전반에서 향상된 성능을 제공하는 혁신적인 전문가 혼합(MoE) 아키텍처를 사용합니다. 이러한 아키텍처 접근 방식을 통해 Lama 4는 글로벌 애플리케이션을 위한 확장된 언어 지원을 통해 Lama 3에 비해 저렴한 비용으로 향상된 성능을 제공할 수 있습니다.

이 모델은 이미 Amazon SageMaker JumpStart에서 사용할 수 있으며, 이제 Amazon Bedrock에서 이 모델을 사용하여 엔터프라이즈급 보안 및 개인 정보 보호생성형 AI 애플리케이션의 구축 및 확장을 간소화할 수 있습니다.

  • Llama 4 Maverick 17B — 128명의 전문가와 총 4천억 개의 파라미터를 포함하는 네이티브 멀티모드 모델입니다. 이미지 및 텍스트 이해가 뛰어나 다양한 어시스턴트 및 채팅 애플리케이션에 적합합니다. 이 모델은 1백만 개의 토큰 컨텍스트 창을 지원하므로 긴 문서와 복잡한 입력을 유연하게 처리할 수 있습니다.
  • Llama 4 Scout 17B — 16명의 전문가, 170억 개의 활성 파라미터, 총 1,090억 개의 파라미터를 포함하는 범용 멀티모드 모델로, 이전의 모든 Llama 모델에 비해 뛰어난 성능을 제공합니다. Amazon Bedrock은 현재 Llama 4 Scout에 대해 350만 개의 토큰 컨텍스트 창을 지원하며, 가까운 시일 내에 확장할 계획입니다.

Llama 4 모델의 사용 사례
Llama 4 모델의 고급 기능을 산업 전반의 다양한 사용 사례에 사용할 수 있습니다.

  • 엔터프라이즈 애플리케이션 — 도구과 워크플로 전반에서 추론하고, 멀티모달 입력을 처리하고, 비즈니스 애플리케이션에 대한 고품질 응답을 제공할 수 있는 지능형 에이전트를 구축합니다.
  • 다국어 어시스턴트 — 이미지를 이해하고 다국어로 고품질 응답을 제공하여 전 세계 대상 사용자가 이용할 수 있는 채팅 애플리케이션을 만들 수 있습니다.
  • 코드 및 문서 인텔리전스 — 코드를 이해하고, 문서에서 구조화된 데이터를 추출하고, 대량의 텍스트와 코드에 대한 통찰력 있는 분석을 제공할 수 있는 애플리케이션을 개발합니다.
  • 고객 지원 — 이미지 분석 기능을 통해 지원 시스템을 개선하여 고객이 스크린샷이나 사진을 공유할 때 보다 효과적으로 문제를 해결할 수 있습니다.
  • 콘텐츠 제작 — 시각적 입력을 이해하고 이에 대응할 수 있는 기능을 사용하여 여러 언어로 창의적인 콘텐츠를 생성합니다.
  • 연구 — 멀티모달 데이터를 통합 및 분석하여 텍스트와 이미지 전반에 대한 인사이트를 제공하는 연구 애플리케이션을 구축합니다.

Amazon Bedrock에서 Llama 4 모델 사용
Amazon Bedrock에서 이러한 새로운 서버리스 모델을 사용하려면 먼저 액세스를 요청해야 합니다. Amazon Bedrock 콘솔의 탐색 창에서 모델 액세스를 선택하여 Llama 4 Maverick 17BLlama 4 Scout 17B에 대한 액세스를 전환합니다.

콘솔 스크린샷

대화형 AI 상호 작용을 위한 통합 인터페이스를 제공하는 Amazon Bedrock Converse API를 사용하여 Llama 4 모델을 애플리케이션에 쉽게 통합할 수 있습니다.

다음은 멀티모달 대화를 위해 AWS SDK for Python(Boto3)를 Llama 4 Maverick과 함께 사용하는 방법의 예입니다.

import boto3
import json
import os

AWS_REGION = "us-west-2"
MODEL_ID = "us.meta.llama4-maverick-17b-instruct-v1:0"
IMAGE_PATH = "image.jpg"


def get_file_extension(filename: str) -> str:
    """파일 확장자를 가져옵니다."""
    extension = os.path.splitext(filename)[1].lower()[1:] or 'txt'
    if extension == 'jpg':
        extension = 'jpeg'
    return extension


def read_file(file_path: str) -> bytes:
    """바이너리 모드에서 파일을 읽습니다."""
    try:
        with open(file_path, 'rb') as file:
            return file.read()
    except Exception as e:
        raise Exception(f"Error reading file {file_path}: {str(e)}")

bedrock_runtime = boto3.client(
    service_name="bedrock-runtime",
    region_name=AWS_REGION
)

request_body = {
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "text": "What can you tell me about this image?"
                },
                {
                    "image": {
                        "format": get_file_extension(IMAGE_PATH),
                        "source": {"bytes": read_file(IMAGE_PATH)},
                    }
                },
            ],
        }
    ]
}

response = bedrock_runtime.converse(
    modelId=MODEL_ID,
    messages=request_body["messages"]
)

print(response["output"]["message"]["content"][-1]["text"])

이 예제에서는 텍스트와 이미지 입력을 모두 모델에 보내고 대화형 응답을 받는 방법을 보여줍니다. Converse API는 다양한 모델 입력 형식으로 작업할 때의 복잡성을 추상화하여 Amazon Bedrock의 모델 간에 일관된 인터페이스를 제공합니다.

대화형 요소가 많은 사용 사례의 경우 Converse API의 스트리밍 기능을 사용할 수도 있습니다.

response_stream = bedrock_runtime.converse_stream(
    modelId=MODEL_ID,
    messages=request_body['messages']
)

stream = response_stream.get('stream')
if stream:
    for event in stream:

        if 'messageStart' in event:
            print(f"\nRole: {event['messageStart']['role']}")

        if 'contentBlockDelta' in event:
            print(event['contentBlockDelta']['delta']['text'], end="")

        if 'messageStop' in event:
            print(f"\nStop reason: {event['messageStop']['stopReason']}")

        if 'metadata' in event:
            metadata = event['metadata']
            if 'usage' in metadata:
                print(f"Usage: {json.dumps(metadata['usage'], indent=4)}")
            if 'metrics' in metadata:
                print(f"Metrics: {json.dumps(metadata['metrics'], indent=4)}")

스트리밍을 사용하면 모델 출력이 생성될 때 이를 표시하여 애플리케이션에서 보다 응답성이 뛰어난 환경을 제공할 수 있습니다.

알아야 할 사항
Lama 4 모델은 현재 미국 동부(버지니아 북부) 및 미국 서부(오레곤) AWS 리전Amazon Bedrock에서 완전관리형 서버리스 환경을 통해 사용할 수 있습니다. 또한 리전 간 추론을 통해 미국 동부(오하이오)에서 Llama 4에 액세스할 수 있습니다.

Amazon Bedrock과 마찬가지로 사용한 만큼 비용을 지불하면 됩니다. 자세한 내용은 Amazon Bedrock 요금 페이지를 참조하세요.

이러한 모델은 텍스트의 경우 12개 언어(영어, 프랑스어, 독일어, 힌디어, 이탈리아어, 포르투갈어, 스페인어, 태국어, 아랍어, 인도네시아어, 타갈로그어, 베트남어)와 이미지 처리 시 영어를 지원합니다.

이러한 새 모델을 지금 바로 사용하려면 Amazon Bedrock 사용 설명서의 Meta Llama 모델 섹션을 참조하세요. 또한 community.aws 사이트의 생성형 AI 섹션에서 빌더 커뮤니티가 해당 솔루션에서 Amazon Bedrock을 어떻게 사용하고 있는지 살펴볼 수 있습니다.

Danilo


뉴스 블로그를 어떻게 생각하시나요? 이 1분짜리 설문조사에 참여해 주세요!

(이 설문조사는 외부 기업에서 호스트합니다. AWS는 AWS 개인정보 처리방침에 설명한 대로 사용자 정보를 처리합니다. AWS는 이 설문 조사를 통해 수집된 데이터를 소유하며 수집된 정보를 설문 응답자와 공유하지 않습니다)