Llama 모델


Vertex AI 기반 Llama 모델은 완전 관리형 서버리스 모델을 API로 제공합니다. Vertex AI에서 Llama 모델을 사용하려면 요청을 Vertex AI API 엔드포인트로 직접 보냅니다. Llama 모델은 관리형 API를 사용하므로 인프라를 프로비저닝하거나 관리할 필요가 없습니다.

대답을 스트리밍하여 최종 사용자의 지연 시간 인식을 줄일 수 있습니다. 스트리밍된 응답은 서버 전송 이벤트(SSE)를 사용하여 대답을 점진적으로 스트리밍합니다.

사용 가능한 Llama 모델

Meta에서 Vertex AI에 사용할 수 있는 다음 Llama 모델을 사용할 수 있습니다. Llama 모델에 액세스하려면 Model Garden 모델 카드로 이동합니다.

Llama 3.2

Llama 3.2를 사용하면 개발자가 이미지 추론과 같은 최신 Llama 기능을 사용하는 최신 생성형 AI 모델과 애플리케이션을 빌드하고 배포할 수 있습니다. Llama 3.2는 기기 내 애플리케이션에서 더 쉽게 액세스할 수 있도록 설계되었습니다.

Llama 3.2 모델 카드로 이동

미리보기 기간에는 요금이 부과되지 않습니다. 프로덕션 준비가 완료된 서비스가 필요한 경우 자체 호스팅 Llama 모델을 사용하세요.

고려사항

llama-3.2-90b-vision-instruct-maas를 사용할 때 텍스트 전용 메시지를 보낼 때는 제한사항이 없습니다. 하지만 프롬프트에 이미지를 포함하는 경우 이미지가 프롬프트의 시작 부분에 있어야 하며 이미지는 하나만 포함할 수 있습니다. 예를 들어 텍스트를 포함한 다음 이미지를 포함할 수는 없습니다.

Llama 3.1

Llama 3.1은 최적화된 Transformer 아키텍처를 사용하는 자동 회귀 언어 모델입니다. 조정된 버전은 지도 조정(SFT) 및 인간 피드백 기반 강화 학습(RLHF)을 사용하여 유용성과 안전에 대한 인간의 선호사항에 맞춥니다.

Llama 3.1 405B는 정식 버전입니다. 모델을 사용하면 요금이 청구됩니다 (사용한 만큼만 지불). 사용한 만큼만 지불 가격 책정은 Vertex AI 가격 책정 페이지의 Llama 모델 가격 책정을 참고하세요.

다른 Llama 3.1 모델은 미리보기 버전입니다. 미리보기 모델에는 요금이 부과되지 않습니다. 프로덕션 준비가 완료된 서비스가 필요한 경우 자체 호스팅 Llama 모델을 사용하세요.

Llama 3.1 모델 카드로 이동

Llama 모델 사용

Llama의 모델을 사용하기 위한 요청을 보낼 때는 다음 모델 이름을 사용하세요.

  • Llama 3.2 90B (미리보기)의 경우 llama-3.2-90b-vision-instruct-maas을 사용합니다.
  • Llama 3.1 405B (GA)의 경우 llama-3.1-405b-instruct-maas를 사용합니다.
  • Llama 3.1 70B (미리보기)의 경우 llama-3.1-70b-instruct-maas을 사용합니다.
  • Llama 3.1 8B (미리보기)의 경우 llama-3.1-8b-instruct-maas를 사용합니다.

모델 버전 간의 차이로 인해 @ 기호로 시작하는 서픽스가 포함된 모델 버전을 사용하는 것이 좋습니다. 모델 버전을 지정하지 않으면 항상 최신 버전이 사용되어 모델 버전이 변경될 때 실수로 워크플로에 의도치 않은 영향을 미칠 수 있습니다.

시작하기 전에

Vertex AI에서 Llama 모델을 사용하려면 다음 단계를 실행해야 합니다. Vertex AI를 사용하려면 Vertex AI API(aiplatform.googleapis.com)를 사용 설정해야 합니다. Vertex AI API가 사용 설정된 기존 프로젝트가 이미 있는 경우 새 프로젝트를 만드는 대신 해당 프로젝트를 사용할 수 있습니다.

파트너 모델을 사용 설정하고 사용하는 데 필요한 권한이 있는지 확인합니다. 자세한 내용은 필수 권한 부여를 참고하세요.

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Vertex AI API.

    Enable the API

  8. 다음 Model Garden 모델 카드 중 하나로 이동한 다음 사용 설정을 클릭합니다.

Llama 모델에 스트리밍 호출 수행

다음 샘플은 Llama 모델을 스트리밍 호출합니다.

REST

환경을 설정하면 REST를 사용하여 텍스트 프롬프트를 테스트할 수 있습니다. 다음 샘플은 요청을 게시자 모델 엔드포인트에 전송합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • LOCATION: Llama 모델을 지원하는 리전.
  • MODEL: 사용할 모델 이름.
  • ROLE: 메시지와 연결된 역할. user 또는 assistant를 지정할 수 있습니다. 첫 번째 메시지는 user 역할을 사용해야 합니다. 모델이 userassistant의 턴을 번갈아가며 작동합니다. 최종 메시지에서 assistant 역할을 사용하는 경우 이 메시지의 콘텐츠에서 곧바로 대답 콘텐츠가 계속됩니다. 이를 사용하여 모델 대답의 일부를 제한할 수 있습니다.
  • CONTENT: user 또는 assistant 메시지의 콘텐츠(예: 텍스트).
  • MAX_OUTPUT_TOKENS: 대답에서 생성될 수 있는 토큰의 최대 개수. 토큰은 약 4자(영문 기준)입니다. 토큰 100개는 단어 약 60~80개에 해당합니다.

    응답이 짧을수록 낮은 값을 지정하고 잠재적으로 응답이 길면 높은 값을 지정합니다.

  • STREAM: 대답 스트리밍 여부를 지정하는 불리언. 대답을 스트리밍하여 최종 사용자 지연 시간 인식을 줄입니다. 대답을 스트리밍하려면 true로 설정하고 대답을 한 번에 반환하려면 false로 설정합니다.
  • ENABLE_LLAMA_GUARD: 입력과 출력에서 Llama Guard를 사용 설정할지 지정하는 불리언입니다. 기본적으로 Llama Guard는 사용 설정되어 있으며 응답이 안전하지 않다고 판단되면 이를 신고합니다.

HTTP 메서드 및 URL:

POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions

JSON 요청 본문:

{
  "model": "meta/MODEL",
  "messages": [
    {
      "role": "ROLE",
      "content": "CONTENT"
    }
  ],
  "max_tokens": MAX_OUTPUT_TOKENS,
  "stream": true,
  "extra_body": {
    "google": {
      "model_safety_settings": {
        "enabled": ENABLE_LLAMA_GUARD,
        "llama_guard_settings": {}
      }
    }
  }
}

요청을 보내려면 다음 옵션 중 하나를 선택합니다.

curl

요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions"

PowerShell

요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions" | Select-Object -Expand Content

다음과 비슷한 JSON 응답이 수신됩니다.

Llama 모델에 단항 호출 수행

다음 샘플은 Llama 모델을 단항 호출합니다.

REST

환경을 설정하면 REST를 사용하여 텍스트 프롬프트를 테스트할 수 있습니다. 다음 샘플은 요청을 게시자 모델 엔드포인트에 전송합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • LOCATION: Llama 모델을 지원하는 리전.
  • MODEL: 사용할 모델 이름.
  • ROLE: 메시지와 연결된 역할. user 또는 assistant를 지정할 수 있습니다. 첫 번째 메시지는 user 역할을 사용해야 합니다. 모델이 userassistant의 턴을 번갈아가며 작동합니다. 최종 메시지에서 assistant 역할을 사용하는 경우 이 메시지의 콘텐츠에서 곧바로 대답 콘텐츠가 계속됩니다. 이를 사용하여 모델 대답의 일부를 제한할 수 있습니다.
  • CONTENT: user 또는 assistant 메시지의 콘텐츠(예: 텍스트).
  • MAX_OUTPUT_TOKENS: 대답에서 생성될 수 있는 토큰의 최대 개수. 토큰은 약 4자(영문 기준)입니다. 토큰 100개는 단어 약 60~80개에 해당합니다.

    응답이 짧을수록 낮은 값을 지정하고 잠재적으로 응답이 길면 높은 값을 지정합니다.

  • STREAM: 대답 스트리밍 여부를 지정하는 불리언. 대답을 스트리밍하여 최종 사용자 지연 시간 인식을 줄입니다. 대답을 스트리밍하려면 true로 설정하고 대답을 한 번에 반환하려면 false로 설정합니다.
  • ENABLE_LLAMA_GUARD: 입력과 출력에서 Llama Guard를 사용 설정할지 지정하는 불리언입니다. 기본적으로 Llama Guard는 사용 설정되어 있으며 응답이 안전하지 않다고 판단되면 이를 신고합니다.

HTTP 메서드 및 URL:

POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions

JSON 요청 본문:

{
  "model": "meta/MODEL",
  "messages": [
    {
      "role": "ROLE",
      "content": "CONTENT"
    }
  ],
  "max_tokens": MAX_OUTPUT_TOKENS,
  "stream": false,
  "extra_body": {
    "google": {
      "model_safety_settings": {
        "enabled": ENABLE_LLAMA_GUARD,
        "llama_guard_settings": {}
      }
    }
  }
}

요청을 보내려면 다음 옵션 중 하나를 선택합니다.

curl

요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions"

PowerShell

요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions" | Select-Object -Expand Content

다음과 비슷한 JSON 응답이 수신됩니다.

신고된 응답

기본적으로 Llama Guard는 Llama 3.1 모델로 실행하는 모든 예측에 사용 설정됩니다. Llama Guard는 입력과 출력을 확인하여 응답을 보호하는 데 도움이 됩니다. Llama Guard에서 안전하지 않다고 판단하면 응답을 신고합니다.

Llama Guard를 사용 중지하려면 모델 안전 설정을 수정합니다. 자세한 내용은 스트리밍 또는 단항 예의 model_safety_settings 필드를 참고하세요.

Vertex AI Studio 사용

Llama 모델의 경우 Vertex AI Studio를 사용하여 Google Cloud 콘솔에서 생성형 AI 모델을 빠르게 프로토타입으로 제작하고 테스트할 수 있습니다. 예를 들어 Vertex AI 스튜디오를 사용하여 Llama 모델 응답을 Google의 Gemini와 같은 지원되는 다른 모델과 비교할 수 있습니다.

자세한 내용은 빠른 시작: Vertex AI Studio를 사용하여 Gemini에 텍스트 프롬프트 보내기를 참고하세요.

Llama 모델 리전 가용성 및 할당량

Llama 모델의 경우 모델을 사용할 수 있는 각 리전에 할당량이 적용됩니다. 할당량은 분당 쿼리 수(QPM)로 지정됩니다.

각 Llama 모델에 지원되는 리전, 기본 할당량, 최대 컨텍스트 길이는 다음 표에 나와 있습니다.

Llama 3.2 90B (미리보기)

리전 할당량 시스템 지원되는 컨텍스트 길이
us-central1 30 QPM 토큰 128,000개

Llama 3.1 405B (GA)

리전 할당량 시스템 지원되는 컨텍스트 길이
us-central1 60QPM 토큰 128,000개

Llama 3.1 70B (미리보기)

리전 할당량 시스템 지원되는 컨텍스트 길이
us-central1 60QPM 토큰 128,000개

Llama 3.1 8B (미리보기)

리전 할당량 시스템 지원되는 컨텍스트 길이
us-central1 60QPM 토큰 128,000개

Vertex AI의 생성형 AI 할당량을 상향 조정하려면 Google Cloud 콘솔을 사용해 할당량 상향을 요청하면 됩니다. 할당량에 대한 자세한 내용은 할당량 작업을 참조하세요.