Los modelos GPT OSS de OpenAI ahora están disponibles en Sagemaker Jumpstart

Hoy nos complace anunciar la disponibilidad de Abrir los nuevos modelos GPT OSS de AI AI, gpt-oss-120b y gpt-oss-20bde OpenAi en Amazon Sagemaker Jumpstart. Con este lanzamiento, ahora puede implementar los modelos de razonamiento más nuevos de Openai para construir, experimentar y escalar responsablemente sus ideas generativas de IA en AWS.

En esta publicación, demostramos cómo comenzar con estos modelos en Sagemaker JumpStart.

Descripción general de la solución

Los modelos Operai GPT OSS (gpt-oss-120b y gpt-oss-20b) Excel en tareas de codificación, análisis científico y razonamiento matemático. Ambos modelos cuentan con una ventana de contexto de 128k y niveles de razonamiento ajustable (bajo/medio/alto) para que coincidan con requisitos específicos. Admiten la integración de herramientas externas y se pueden usar en flujos de trabajo de agente a través de marcos como Agentes de hilosUn agente de AI de código abierto SDK. Con las capacidades de salida de la cadena de pensamiento completa, obtienes una visibilidad detallada en el proceso de razonamiento del modelo. Puede usar el SDK de OpenAI para llamar a su punto final de Sagemaker directamente simplemente actualizando el punto final. Los modelos le brindan la flexibilidad de modificarlos y personalizarlos para sus necesidades comerciales específicas al tiempo que se beneficia de la seguridad de grado empresarial y la escala perfecta.

Sagemaker JumpStart es un servicio totalmente administrado que ofrece modelos de base (FMS) de última generación para varios casos de uso, como redacción de contenido, generación de código, respuesta a preguntas, redacción de redacciones, resumen, clasificación y recuperación de información. Proporciona una colección de modelos previamente capacitados que puede implementar, acelerando el desarrollo y la implementación de aplicaciones de aprendizaje automático (ML). Uno de los componentes clave de Sagemaker JumpStart es Model Hubs, que ofrecen un vasto catálogo de modelos previamente capacitados, como OpenAI, para una variedad de tareas.

Ahora puede descubrir e implementar modelos Operai en Amazon Sagemaker Studio o programáticamente a través del Amazon Sagemaker Python SDKpara obtener el rendimiento del modelo y los controles de MLOPS con características de Amazon SageMaker como Tuberías de Amazon Sagemaker, Debugger de Amazon Sagemakero registros de contenedores. Los modelos se implementan en un entorno AWS seguro y bajo sus controles VPC, lo que ayuda a apoyar la seguridad de los datos para las necesidades de seguridad empresarial.

Puede descubrir modelos GPT OSS de US East (Ohio, N. Virginia) y Asia Pacific (Mumbai, Tokio) regiones AWS.

A lo largo de este ejemplo, usamos el gpt-oss-120b modelo. Estos pasos se pueden replicar con el gpt-oss-20b modelo también.

Requisitos previos

Para implementar los modelos GPT OSS, debe tener los siguientes requisitos previos:

  • Una cuenta de AWS que contendrá sus recursos de AWS.
  • Un AWS Identity and Access Management (IAM) papel para acceder a Sagemaker. Para obtener más información sobre cómo IAM trabaja con Sagemaker, ver AWS Identity and Access Management para Amazon Sagemaker AI.
  • Acceso a Sagemaker Studio, una instancia de cuaderno de Sagemaker o un entorno de desarrollo interactivo (IDE) como PyCharm o Visual Studio Code. Recomendamos usar Sagemaker Studio para una implementación e inferencia sencilla.
  • Para implementar modelos GPT OSS, asegúrese de tener acceso a los tipos de instancias recomendados en función del tamaño del modelo. Puede encontrar estas recomendaciones de instancia en la tarjeta Modelo SageMaker JumpStart. El tipo de instancia predeterminado para ambos modelos es P5.48xLarge, pero también puede usar otras instancias familiares P5 cuando estén disponibles. Para verificar que tenga lo necesario cuotas de serviciocomplete los siguientes pasos:
    • En la consola de cuotas de servicio, debajo Servicios de AWSelegir Amazon Sagemaker.
    • Verifique que tenga suficiente cuota para el tipo de instancia requerido para la implementación de punto final.
    • Asegúrese de que al menos uno de estos tipos de instancias esté disponible en su región objetivo.
    • Si es necesario, solicite un aumento de la cuota y comuníquese con su equipo de cuenta de AWS para obtener apoyo.

Despliegue GPT-OSS-120B a través de la ui JumpStart de Sagemaker

Complete los siguientes pasos para implementar gpt-oss-120b A través de Sagemaker Jumpstart:

  1. En la consola de Sagemaker, elija Estudio En el panel de navegación.
  2. Se solicitará a los usuarios por primera vez que cree un dominio. Si no, elige Estudio abierto.
  3. En la consola de estudio de Sagemaker, Access Sagemaker JumpStart eligiendo Salpicar En el panel de navegación.
  4. En la página de destino de JumpStart de Sagemaker, busque gpt-oss-120b Usando el cuadro de búsqueda.

  1. Elija una tarjeta modelo para ver detalles sobre el modelo, como la licencia, los datos utilizados para entrenar y cómo usar el modelo. Antes de implementar el modelo, revise la configuración y los detalles del modelo de la tarjeta modelo. La página de detalles del modelo incluye la siguiente información:
    1. El nombre del modelo y la información del proveedor.
    2. A Desplegar botón para implementar el modelo.

  1. Elegir Desplegar para proceder con la implementación.
    1. Para Nombre de punto finalingrese un nombre de punto final (hasta 50 caracteres alfanuméricos).
    2. Para Número de instanciasingrese un número entre 1–100 (predeterminado: 1).
    3. Para Tipo de instanciaseleccione su tipo de instancia. Para un rendimiento óptimo con gpt-oss-120bse recomienda un tipo de instancia basado en GPU como P5.48xLarge.

  1. Elegir Desplegar para implementar el modelo y crear un punto final.

Cuando se complete la implementación, su estado de punto final cambiará a Intermediar. En este punto, el modelo está listo para aceptar solicitudes de inferencia a través del punto final. Cuando se completa la implementación, puede invocar el modelo utilizando un Cliente de tiempo de ejecución de Sagemaker e integrarlo con sus aplicaciones.

Disguste de GPT-OSS-20B con el Sagemaker Python SDK

Para implementar usando el SDK, comience seleccionando el gpt-oss-120b modelo, especificado por el model_id con el valor openai-reasoning-gpt-oss-120b. Puede implementar su elección de modelo en Sagemaker utilizando los ejemplos de Python SDK en las siguientes secciones. Del mismo modo, puede implementar gpt-oss-20b Usando su ID de modelo.

Habilite la búsqueda web en su modelo con EXA

Por defecto, los modelos en Sagemaker JumpStart se ejecutan en aislamiento de red. Los modelos GPT OSS vienen con una herramienta incorporada para la búsqueda web utilizando Exauna API de búsqueda web basada en el significado alimentada por incrustaciones. Para usar esta herramienta, Opadai requiere que los clientes obtengan una llave de API de Exa y pasar esta clave como una variable de entorno a su JumpStartModel instancia al implementarlo a través del Sagemaker Python SDK. El siguiente código detalla cómo implementar el modelo en Sagemaker con aislamiento de redes discapacitado y pasar la clave API EXA al modelo:

from sagemaker.jumpstart.model import JumpStartModel 

accept_eula = True 
model = JumpStartModel(
    model_id="openai-reasoning-gpt-oss-120b",
    enable_network_isolation=False, 
    env={
        "EXA_API_KEY": "<INSERT_API_KEY>"
    }
) 
predictor = model.deploy(
    accept_eula=accept_eula
)

Puede cambiar estas configuraciones especificando otros valores no defensoros en JumpStartModel. El valor del acuerdo de licencia de usuario final (EULA) debe definirse explícitamente como True para aceptar los términos. Con la implementación anterior, debido a que el aislamiento de la red se establece en el tiempo de implementación, volver a encenderlo requiere crear un nuevo punto final.

Opcionalmente, puede implementar su modelo con los valores predeterminados de JumpStart (con aislamiento de red habilitado) de la siguiente manera:

from sagemaker.jumpstart.model import JumpStartModel 
accept_eula = True 
model = JumpStartModel(model_id="openai-reasoning-gpt-oss-120b") 
predictor = model.deploy(accept_eula=accept_eula)

Ejecutar inferencia con el predictor de sagemaker

Después de implementar el modelo, puede ejecutar una inferencia contra el punto final implementado a través del predictor de Sagemaker:

payload = {
    "model": "/opt/ml/model",
    "input": [
        {
            "role": "system",
            "content": "You are a good AI assistant"
        },
        {
            "role": "user",
            "content": "Hello, how is it going?"
        }
    ],
    "max_output_tokens": 200,
    "stream": "false",
    "temperature": 0.7,
    "top_p": 1
}
    
response = predictor.predict(payload)
print(response['output'][-1]['content'][0]['text'])

Recibimos la siguiente respuesta:

Hey there! All good on my end—just ready to dive into whatever you need. How’s it going on your side?

Funciones llamadas

Los modelos GPT OSS fueron entrenados en el formato de respuesta de armonía para definir estructuras de conversación, generando salida de razonamiento y llamadas de funciones de estructuración. El formato está diseñado para imitar la API de respuestas Operai, por lo que si ha usado esa API antes, este formato debería sentirse familiarizado para usted. El modelo no debe usarse sin usar el formato de armonía. El siguiente ejemplo muestra un ejemplo de uso de la herramienta con este formato:

payload= {
  "model": "/opt/ml/model",
  "input": "System: You are ChatGPT, a large language model trained by OpenAI.\nKnowledge cutoff: 2024-06\nCurrent date: 2024-08-05\n\nreasoning: medium\n\n# Valid channels: analysis, commentary, final. Channel must be included for every message.\nCalls to these tools must go to the commentary channel: 'functions'.\n\n# Tools\n\n## functions\n\nnamespace functions {\n\n// Gets the current weather for a specific location.\ntype get_current_weather = (_: {\n// The city and state/country, e.g. \"San Francisco, CA\" or \"London, UK\"\nlocation: string,\n// Temperature unit preference\nunit?: \"celsius\" | \"fahrenheit\", // default: celsius\n}) => any;\n\n} // namespace functions\n\nDeveloper: You are a helpful AI assistant. Provide clear, concise, and helpful responses.\n\nHuman: What's the weather like in Seattle?\n\nAssistant:",
  "instructions": "You are a helpful AI assistant. Provide clear, concise, and helpful responses.",
  "max_output_tokens": 2048,
  "stream": "false",
  "temperature": 0.7,
  "reasoning": {
    "effort": "medium"
  },
  "tools": [
    {
      "type": "function",
      "name": "get_current_weather",
      "description": "Gets the current weather for a specific location",
      "parameters": {
        "type": "object",
        "properties": {
          "location": {
            "type": "string",
            "description": "The city and state/country, e.g. 'San Francisco, CA' or 'London, UK'"
          },
          "unit": {
            "type": "string",
            "enum": ["celsius", "fahrenheit"],
            "default": "celsius",
            "description": "Temperature unit preference"
          }
        },
        "required": ["location"]
      }
    }
  ],
}

Recibimos la siguiente respuesta:

{'arguments': '{"location":"Seattle, WA"}', 'call_id': 'call_596a67599df2465495fd444772ff9539', 'name': 'get_current_weather', 'type': 'function_call', 'id': 'ft_596a67599df2465495fd444772ff9539', 'status': None}

Limpiar

Una vez que haya terminado de ejecutar el cuaderno, asegúrese de eliminar los recursos que creó en el proceso para evitar facturación adicional. Para más detalles, ver Eliminar puntos finales y recursos.

predictor.delete_model()
predictor.delete_endpoint()

Conclusión

En esta publicación, demostramos cómo implementar y comenzar con los modelos GPT OSS de OpenAi (gpt-oss-120by gpt-oss-20b) en Sagemaker Jumpstart. Estos modelos de razonamiento aportan capacidades avanzadas para la codificación, el análisis científico y las tareas de razonamiento matemático directamente a su entorno AWS con seguridad y escalabilidad de grado empresarial.

Pruebe los nuevos modelos y comparta sus comentarios en los comentarios.


Sobre los autores

Pradyun ramadoraiIngeniero de desarrollo de software senior
Malav ShastriIngeniero de desarrollo de software
Varun MorishettyIngeniero de desarrollo de software
Evan KravitzIngeniero de desarrollo de software
Benjamin CrabtreeIngeniero de desarrollo de software
Shen TengIngeniero de desarrollo de software
Loki RaviIngeniero de desarrollo de software senior
Nithin vijeaswaranArquitecto de soluciones especializadas
Breanne WarnerArquitecto de soluciones empresariales
Yotam musgoGerente de Desarrollo de Software
Mike JamesGerente de Desarrollo de Software
Sadaf FardeenGerente de Desarrollo de Software
Siddharth ShahIngeniero de desarrollo de software principal
June ganóGerente de Producto Principal