Razonamiento del modelo con razonamiento ampliado - Amazon Nova

Razonamiento del modelo con razonamiento ampliado

nota

Esta documentación es para la versión 1. Para obtener información sobre cómo usar el razonamiento ampliado en la versión 2, consulte Extended thinking.

El razonamiento ampliado es un entorno que permite a un modelo abordar problemas complejos con una fase de razonamiento distinta. Durante esta fase, primero genera contenido de razonamiento específico en bloques reasoningContent mediante una exploración estructurada y paso a paso del problema. Luego, el modelo reflexiona sobre su razonamiento e identifica posibles errores o enfoques alternativos. Por último, finaliza su respuesta. Esto proporciona una respuesta final clara y una visión transparente del proceso del modelo

Puesto que el razonamiento ampliado requiere grandes requisitos computacionales, Nova permite el uso de un enfoque híbrido. Esto significa que puede optar por un enfoque más amplio para consultas complejas que no sean urgentes. En el caso de las consultas sencillas o que requieran una respuesta rápida, puedes desactivar el razonamiento ampliado para reducir la carga de recursos computacionales.

Cómo funciona el razonamiento ampliado

Cuando se activa el razonamiento ampliado, Nova crea bloques reasoningContent en su respuesta, donde muestra su proceso interno de razonamiento. El modelo utiliza este razonamiento para generar la respuesta final, manteniendo una clara separación entre la fase de razonamiento y el resultado final.

Aquí tiene una respuesta de la API que incluye bloques reasoningContent seguidos de bloques de contenido de texto:

{ "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..." } ] } } }

Uso del razonamiento ampliado

A continuación se muestra un ejemplo de una llamada a la API Converse con el razonamiento ampliado activado:

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']}")

Si excluye el elemento reasoningConfig, el modelo desactivará el razonamiento ampliado de forma predeterminada.

Opciones de configuración del razonamiento ampliado

Nova permite configurar de forma flexible el comportamiento del razonamiento ampliado mediante el parámetro reasoningConfig, lo que permite optimizar la asignación de recursos computacionales durante la inferencia según sus necesidades específicas.

Control de razonamiento

Las capacidades de razonamiento ampliado pueden configurarse en dos modos Si type se establece en disabled (el valor predeterminado), Nova utiliza un razonamiento latente eficiente, lo que optimiza la velocidad y la eficiencia. Si type se establece en enabled, se activa el razonamiento ampliado explícito de Nova con un proceso de razonamiento visible.

Niveles de esfuerzo de razonamiento

Cuando se activa el razonamiento ampliado, se puede controlar el esfuerzo computacional que Nova invierte en el proceso de razonamiento. Establecer un nivel bajo de maxReasoningEffort es adecuado para tareas de complejidad moderada que requieren un razonamiento adicional. El nivel medio funciona bien para problemas complejos que requieren un análisis sustancial. El nivel alto proporciona el razonamiento más completo para tareas muy complejas y multifacéticas, y utiliza hasta 32 000 tokens de razonamiento.

{ "modelId": "amazon.nova-lite-1-5-v1:0", "inferenceConfig": { "maxTokens": 40000, "temperature": 0 }, "additionalModelRequestFields": { "reasoningConfig": { "type": "enabled", "maxReasoningEffort": "high" } } }
nota

Los niveles low y medium hacen que el contenido del razonamiento se retransmita a medida que se genere cada token al usar ConverseStream. Sin embargo, el nivel high funciona de manera diferente, ya que se aplican diferentes enfoques para mejorar la calidad, lo que da como resultado que todo el contenido del razonamiento se muestre en un fragmento final. Esto puede aumentar considerablemente el tiempo transcurrido hasta el primer token y requerir un trabajo adicional por parte del cliente para poder administrarlo de forma eficaz.

Prácticas recomendadas al usa el razonamiento ampliado

Identificación de casos de uso del razonamiento ampliado

En esta sección se analizarán los posibles casos de uso en los que el razonamiento ampliado es aplicable o no.

Casos de uso en los que es aplicable el razonamiento ampliado:

  • Resolución de problemas complejos: las demostraciones y los cálculos matemáticos de varios pasos, los desafíos algorítmicos que requieren enfoques sistemáticos, el análisis científico con múltiples variables interdependientes y la modelización financiera con restricciones y escenarios complejos se benefician de la capacidad del modelo para resolver los problemas metódicamente en una fase de reflexión específica.

  • Tareas de programación avanzadas: la refactorización de una gran base de código en varios archivos y dependencias, los escenarios de depuración complejos que requieren la eliminación sistemática de posibilidades, el diseño de la arquitectura del sistema con múltiples consideraciones técnicas y la planificación de la migración entre varios servicios y plataformas se benefician de la capacidad de Nova de analizar exhaustivamente el ámbito del problema antes de proponer soluciones.

  • Tareas analíticas: el análisis de documentos que requieren síntesis en varios orígenes, la planificación estratégica con prioridades y limitaciones contrapuestas, las tareas de investigación que requieren la evaluación de pruebas contradictorias y el análisis de requisitos legales o normativos que requieren una revisión minuciosa de las regulaciones se benefician de la capacidad del modelo para procesar información compleja de manera sistemática.

  • Planificación en varios pasos: la planificación de proyectos con dependencias y restricciones de recursos, el diseño del flujo de trabajo que debe optimizarse considerando varios criterios, el análisis de riesgos que requiere la evaluación de múltiples escenarios y la optimización de los procesos comerciales que requiere una evaluación sistemática se benefician de las capacidades de planificación mejoradas de Nova.

Casos de uso en los que no es aplicable el razonamiento ampliado:

  • Consultas sencillas: las preguntas fácticas básicas como “¿Cuál es la capital de Francia?”, las definiciones sencillas como “¿Qué significa API?”, los cálculos simples de aritmética básica y la recuperación directa de información del contexto proporcionado pueden responderse de manera eficiente con el modo de razonamiento latente predeterminado de Nova.

  • Aplicaciones que requieren velocidad: las aplicaciones de chat en tiempo real en las que la latencia tenga un impacto significativo, las llamadas a la API de alta frecuencia en los sistemas de producción, la generación de contenido sencillo para casos de uso que impliquen un gran volumen de recursos y las tareas básicas de clasificación o análisis de opiniones se benefician de los tiempos de respuesta más rápidos del razonamiento latente.

  • Cargas de trabajo en las que el importe el costo: el procesamiento de grandes volúmenes de recursos en el que la velocidad y el costo sean más importantes que la profundidad del razonamiento, las tareas de automatización simples con una lógica sencilla, la moderación o el filtrado básicos de contenido y la transformación y el procesamiento rutinarios de datos no suelen requerir la inversión computacional adicional que supone el uso del razonamiento ampliado.

Elección de los niveles de esfuerzo de razonamiento

  • Bajo: funciona de manera óptima para la revisión de código y las sugerencias de mejora, las tareas de análisis básicas que requieran un análisis más minucioso, la resolución de problemas sencillos que se beneficie de un enfoque estructurado y la mayoría de las tareas de desarrollo diarias con una complejidad moderada. Este nivel proporciona una mejora significativa del razonamiento a la par que mantiene unas características de costo y latencia razonables.

  • Medio: funciona bien en casos de depuración complejos que requieran una investigación sistemática, cálculos de varios pasos con interdependencias, tareas de planificación de dificultad moderada con múltiples restricciones y análisis que requieran la evaluación de varias alternativas. Este nivel proporciona una profundidad de razonamiento sustancial para los problemas que se beneficien de un análisis más exhaustivo.

  • Alto: ofrece los mejores resultados para pruebas y problemas matemáticos avanzados, diseños de sistemas complejos con múltiples consideraciones arquitectónicas, tareas de investigación que requieran análisis y síntesis exhaustivos, casos críticos de toma de decisiones con implicaciones significativas y flujos de trabajo de varios pasos que requieran una planificación y verificación minuciosas. Este nivel permite a Nova invertir importantes recursos computacionales para resolver problemas complejos de manera completa.

Administración de los costos y del rendimiento

Optimización de costos

La optimización de los costos requiere una aplicación cuidadosa del razonamiento ampliado. Utilice el razonamiento ampliado solo cuando la complejidad justifique el costo computacional adicional, ya que los tokens de razonamiento se facturan como tokens de salida. Comience con un nivel de esfuerzo bajo y aumente dicho nivel gradualmente en función de los resultados para encontrar el equilibrio óptimo para sus casos de uso. Supervise los patrones de uso de los tokens de razonamiento en sus aplicaciones para identificar oportunidades de optimización. Considere el procesamiento por lotes para tareas no urgentes que requieran un gran nivel de razonamiento para reducir los costos. Recuerde que el razonamiento latente con el razonamiento ampliado desactivado gestiona la mayoría de las tareas sin problemas, por lo debería seguir siendo su enfoque predeterminado.

Optimización del rendimiento

La optimización del rendimiento implica establecer los valores de maxTokens adecuados para adaptarse tanto al razonamiento como al contenido de la respuesta final. Utilice la transmisión continua para tareas de razonamiento complejas a fin de mejorar el rendimiento percibido y la experiencia del usuario. Siempre que sea posible, almacene en caché los patrones de razonamiento para los tipos de problemas más frecuentes. Ajuste el nivel de esfuerzo del razonamiento en función de las expectativas del usuario y las limitaciones de tiempo, buscando un equilibrio entre un análisis exhaustivo y los requisitos de tiempo de respuesta.