확장된 추론을 통한 모델 추론 이해
참고
이 설명서는 버전 1용입니다. 버전 2에서 확장된 사고를 사용하는 방법에 대한 자세한 내용은 확장된 사고를 참조하세요.
확장된 사고는 모델이 고유한 추론 단계로 복잡한 문제에 접근하도록 허용하는 설정입니다. 이 단계에서는 먼저 단계별로 문제를 체계적으로 탐색하는 reasoningContent 블록에서 전용 추론 콘텐츠를 생성합니다. 그런 다음 모델은 추론, 잠재적 오류 식별 또는 대체 접근 방식을 반영합니다. 응답을 완료합니다. 이를 통해 모델의 프로세스에 대한 투명한 인사이트를 제공하면서 명확한 최종 답변을 얻을 수 있습니다.
확장된 사고의 대규모 컴퓨팅 요구 사항으로 인해 Nova는 선택적으로 하이브리드 접근 방식을 활성화할 수 있습니다. 즉, 복잡하고 시간 제약이 덜한 쿼리에 대해 확장된 사고를 활성화할 수 있습니다. 단순 쿼리 또는 신속한 응답이 필요한 쿼리의 경우 확장된 사고를 비활성화하여 컴퓨팅 리소스 부하를 줄일 수 있습니다.
확장된 추론 작동 방식
확장된 사고가 활성화된 경우 Nova는 내부 사고 프로세스를 출력하는 응답에 reasoningContent 블록을 생성합니다. 모델은 이 추론을 통해 최종 텍스트 응답을 알려 사고 단계와 최종 답변 간에 명확하게 구분합니다.
다음은 reasoningContent 블록과 텍스트 콘텐츠 블록을 포함한 API 응답입니다.
{ "output": { "message": { "role": "assistant", "content": [ { "reasoningContent": { "reasoningText": { "text": "Let me analyze this optimization problem systematically. First, I need to understand the constraints: 5 warehouses, 12 distribution centers, 200 retail locations, with a 50-mile maximum distance requirement. This is a classic facility location problem with distance constraints...", } } }, { "text": "Based on my analysis, I recommend implementing a two-phase optimization approach. Phase 1 should focus on clustering retail locations using k-means algorithm to identify natural distribution center catchment areas..." } ] } } }
확장된 추론 사용
다음은 확장된 추론이 활성화된 Converse API 직접 호출의 예입니다.
import boto3 import json client = boto3.client("bedrock-runtime", region_name="us-east-1") # Enable extended thinking for complex problem-solving response = client.converse( modelId="amazon.nova-lite-1-5-v1:0", messages=[{ "role": "user", "content": [{"text": "I need to optimize a logistics network with 5 warehouses, 12 distribution centers, and 200 retail locations. The goal is to minimize total transportation costs while ensuring no location is more than 50 miles from a distribution center. What approach should I take?"}] }], inferenceConfig={ "maxTokens": 40000, "temperature": 0 }, additionalModelRequestFields={ "reasoningConfig": { "type": "enabled", "maxReasoningEffort": "high" } } ) # The response will contain reasoning blocks followed by the final answer for block in response["output"]["message"]["content"]: if "reasoningContent" in block: reasoning_text = block["reasoningContent"]["reasoningText"]["text"] print(f"Nova's thinking process:\n{reasoning_text}\n") elif "text" in block: print(f"Final recommendation:\n{block['text']}")
reasoningConfig 요소를 제외한 경우 모델은 기본적으로 확장된 사고를 비활성화합니다.
확장된 사고 구성 옵션
Nova는 reasoningConfig 파라미터를 통해 확장된 사고 동작을 유연하게 제어할 수 있어 특정 요구 사항에 맞게 추론 시간 컴퓨팅 할당을 최적화할 수 있습니다.
추론 제어
두 모드 간에 확장된 사고 기능을 전환할 수 있습니다. type을 disabled(기본값)로 설정하는 경우 Nova는 효율적인 잠재 추론을 사용하여 속도와 효율성을 최적화합니다. type을 enabled로 설정하는 경우 Nova의 명시적 확장된 사고가 가시적인 추론 프로세스로 활성화됩니다.
추론 작업 레벨
확장된 사고가 활성화된 경우 Nova가 추론 프로세스에 투자하는 컴퓨팅 작업의 양을 제어할 수 있습니다. 몇 가지 추가 추론이 필요한 다소 복잡한 작업의 경우 maxReasoningEffort를 낮음으로 설정하는 것이 적합합니다. 상당한 분석이 필요한 복잡한 문제의 경우에는 중간으로 설정하는 것이 적합합니다. 높음 설정은 최대 32,000개의 추론 토큰을 사용하여 매우 복잡하고 다면적인 작업에 대한 가장 철저한 추론을 제공합니다.
{ "modelId": "amazon.nova-lite-1-5-v1:0", "inferenceConfig": { "maxTokens": 40000, "temperature": 0 }, "additionalModelRequestFields": { "reasoningConfig": { "type": "enabled", "maxReasoningEffort": "high" } } }
참고
low 및 medium 설정을 사용하는 경우 ConverseStream 사용 시 각 토큰이 생성될 때 추론 콘텐츠가 스트리밍됩니다. 그러나 high는 다른 방식으로 작동하여 품질을 개선함으로써 모든 추론 콘텐츠를 최종 청크에 출력합니다. 이렇게 하면 첫 토큰까지 걸리는 시간이 크게 늘어날 수 있으며 효과적으로 관리하기 위해 추가 클라이언트 측 작업이 필요할 수 있습니다.
확장된 사고를 위한 모범 사례
확장된 추론 사용 사례 식별
이 섹션에서는 확장된 추론이 적용되는 잠재적 사용 사례 및 적용되지 않는 잠재적 사용 사례를 살펴봅니다.
확장된 사고가 적용되는 사용 사례:
-
복잡한 문제 해결 - 다단계 수학 계산 및 증명, 체계적인 접근 방식이 필요한 알고리즘 문제, 여러 상호 의존적 변수를 사용한 과학적 분석, 복잡한 시나리오 및 제약 조건을 사용한 재무 모델링은 모두 전용 사고 단계에서 체계적으로 문제를 해결하는 모델의 기능을 통해 이점을 제공합니다.
-
고급 코딩 작업 - 다수의 파일 및 종속성에 걸쳐서 대규모 코드베이스를 리팩터링, 가능성을 체계적으로 제거해야 하는 복잡한 디버깅 시나리오, 여러 기술적 고려 사항이 있는 시스템 아키텍처 설계, 여러 서비스 및 플랫폼에서의 마이그레이션 계획은 모두 솔루션을 제안하기 전에 문제 공간을 포괄적으로 추론할 수 있는 Nova의 기능을 통해 이점을 제공합니다.
-
분석 작업 - 다수의 소스에서 합성이 필요한 문서 분석, 경쟁 우선 순위 및 제약 조건을 사용한 전략적 계획, 충돌하는 증거 평가가 필요한 연구 작업, 규정을 신중하게 고려해야 하는 법률 또는 규정 준수 분석은 모두 복잡한 정보를 체계적으로 처리하는 모델의 기능을 통해 이점을 제공합니다.
-
다단계 계획 - 종속성 및 리소스 제약이 있는 프로젝트 계획, 여러 기준에 걸쳐 최적화가 필요한 워크플로 설계, 여러 시나리오의 평가가 필요한 위험 분석, 체계적인 평가가 필요한 비즈니스 프로세스 최적화는 모두 Nova의 향상된 계획 기능을 통해 이점을 제공합니다.
확장된 추론이 적용되지 않는 사용 사례:
-
단순 쿼리 - "프랑스의 수도는 어디입니까?"와 같은 기본적인 사실 질문, "API는 무엇을 의미합니까?"와 같은 간단한 정의, 기본 산술과 관련된 간단한 계산, 제공된 컨텍스트에서 직접 정보 검색은 모두 Nova의 기본 잠재 추론 모드에서 효율적으로 작동합니다.
-
속도가 중요한 애플리케이션 - 지연 시간이 문제가 되는 실시간 채팅 애플리케이션, 프로덕션 시스템에서 빈번하게 발생하는 API 직접 호출, 대용량 사용 사례를 위한 간단한 콘텐츠 생성, 기본 분류 또는 감정 분석 작업은 모두 지연 추론의 응답 시간 단축을 통해 이점을 제공합니다.
-
비용에 민감한 워크로드 - 추론 깊이보다 속도 및 비용이 중요한 대용량 처리, 간단한 로직을 사용하는 단순한 자동화 작업, 기본 콘텐츠 조정 또는 필터링, 일상적인 데이터 처리 및 변환에는 일반적으로 확장된 사고에 대한 추가 컴퓨팅을 투자할 필요가 없습니다.
추론 작업 레벨 선택
-
낮음 - 코드 검토 및 개선 제안, 몇 가지 추가 고려 사항이 필요한 기본 분석 작업, 구조화된 접근 방식의 이점을 활용하는 간단한 문제 해결, 복잡성이 중간 정도인 대부분의 일상적인 개발 작업에 최적으로 작동합니다. 이 레벨은 합리적인 비용 및 지연 시간 특성을 유지하면서 의미 있는 추론 향상을 제공합니다.
-
중간 - 체계적인 조사, 상호 종속성이 있는 다단계 계산, 여러 제약 조건이 있는 중간 계획 작업, 여러 대안의 평가가 필요한 분석을 수행해야 하는 복잡한 디버깅 시나리오에 적합합니다. 이 레벨은 보다 철저한 분석을 통해 이점을 제공하는 문제에 대한 상당한 추론 깊이를 제공합니다.
-
높음 - 고급 수학적 문제 및 증명, 여러 아키텍처 고려 사항이 있는 복잡한 시스템 설계, 심층 분석 및 합성이 필요한 연구 작업, 상당한 영향을 미치는 중요한 의사 결정 시나리오, 신중한 계획 및 확인이 필요한 다단계 워크플로에 대한 최상의 결과를 제공합니다. Nova는 이 레벨을 통해 복잡한 문제를 포괄적으로 해결하는 데 상당한 컴퓨팅 리소스를 투자할 수 있습니다.
비용 및 성능 관리
비용 최적화
비용을 최적화하려면 확장된 사고를 신중하게 적용해야 합니다. 추론 토큰은 출력 토큰으로 청구되므로 복잡성으로 인해 추가 계산 비용이 당위성을 가지는 경우에만 확장된 사고를 사용합니다. 적은 노력으로 시작하고 결과에 따라 점진적으로 늘려 사용 사례에 가장 적합한 균형을 찾습니다. 애플리케이션에서 추론 토큰 사용 패턴을 모니터링하여 최적화 기회를 식별합니다. 시간 제한이 덜한, 추론이 많은 작업의 배치 처리를 고려하면 비용을 절감할 수 있습니다. 확장된 사고가 비활성화된 잠재 추론은 대부분의 작업을 효과적으로 처리하며 기본 접근 방식으로 유지되어야 합니다.
성능 최적화
성능 최적화에는 추론 및 최종 응답 콘텐츠를 모두 수용할 수 있는 적절한 maxTokens 값을 설정하는 작업이 포함됩니다. 복잡한 추론 작업에 스트리밍을 사용하여 인지된 성능과 사용자 경험을 개선합니다. 가능한 경우 자주 발생하는 문제 유형에 대한 추론 패턴을 캐싱합니다. 사용자 기대치와 시간 제약을 기반으로 작업 수준을 추론하여 철저한 분석과 응답 시간 요구 사항의 균형을 맞추는 것이 좋습니다.