La introducción del lenguaje de marcado de chat (ChatML) es importante por varias razones

El 1 de marzo de 2023, OpenAI presentó las API ChatGPT y Whisper. Parte de este anuncio fue Chat Markup Language, que parece haber pasado desapercibido. Aquí discuto por qué ChatML es un desarrollo importante...

Actualmente soy el Evangelista Jefe @ HumanFirst . Exploro y escribo sobre todas las cosas en la intersección de la IA y el lenguaje; que van desde LLM, Chatbots, Voicebots, Frameworks de desarrollo, espacios latentes centrados en datos y más.

Breve resumen…
El anuncio de OpenAI se centró en algunos puntos principales:
La caída significativa en el precio de una API alojada, ha habido una reducción de costos del 90 % para ChatGPT desde diciembre de 2022.
Las API alojadas a través de Azure probablemente vendrán con una administración muy granular y zonas de disponibilidad regionales y geográficas. Esto habla de un importante valor agregado potencial para las API.
La presión sobre los proveedores de ASR está aumentando, la diferenciación deberá establecerse a través de un soporte estelar y personal, ajustes granulares, soporte para idiomas minoritarios de nicho, etc.
Las API Whisper y ChatGPT permiten una fácil implementación y experimentación. La facilidad de acceso a Whisper permite un uso ampliado de ChatGPT en términos de incluir datos de voz y no solo texto.
Permitirle acceder a una versión de modelo específica y luego actualizar cuando sea necesario expone cambios y actualizaciones a los modelos. Esto introduce estabilidad para las implementaciones de producción.
Estos cambios son indicativos de la creciente madurez de los entornos LLM.
Volver al lenguaje de marcado de chat (ChatML)
Creo que la introducción de ChatML es extremadamente significativa e importante por las siguientes razones...
⚙️ La principal vulnerabilidad de seguridad y la vía de abuso para los LLM han sido los ataques de inyección rápida . ChatML permitirá la protección contra este tipo de ataques.
⚙️ Para negar los ataques de inyección rápida, la conversación se segrega en las capas o roles de:
- Sistema
- asistente
- usuario, etc
⚙️La carga útil acomodada en ChatML actualmente es solo texto. OpenAI prevé la introducción de otros tipos de datos. Esto está en consonancia con la noción de Large Foundation Models para comenzar pronto a combinar texto, imágenes, sonido, etc.
Los usuarios aún pueden usar el formato de cadena sin procesar no seguro. Pero de nuevo, este formato inherentemente permite inyecciones.
⚙️ OpenAI está en la posición ideal para dirigir y administrar el panorama LLM de manera responsable. Establecimiento de estándares fundamentales para la creación de aplicaciones.
ChatML hace explícito en el modelo la fuente de cada fragmento de texto y, en particular, muestra el límite entre el texto humano y el de IA.
Esto brinda la oportunidad de mitigar y eventualmente resolver las inyecciones, ya que el modelo puede decir qué instrucciones provienen del desarrollador, el usuario o su propia entrada. ~ IA abierta
Código de ejemplo de ChatML
A continuación se muestra un archivo JSON de ejemplo de ChatML con las funciones definidas de system
y user
.assistant
[{"role": "system",
"content" : "You are ChatGPT, a large language model trained by OpenAI. Answer as concisely as possible.\nKnowledge cutoff: 2021-09-01\nCurrent date: 2023-03-02"},
{"role": "user",
"content" : "How are you?"},
{"role": "assistant",
"content" : "I am doing well"},
{"role": "user",
"content" : "What is the mission of the company OpenAI?"}]
pip install openai
import os
import openai
openai.api_key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
completion = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages = [{"role": "system", "content" : "You are ChatGPT, a large language model trained by OpenAI. Answer as concisely as possible.\nKnowledge cutoff: 2021-09-01\nCurrent date: 2023-03-02"},
{"role": "user", "content" : "How are you?"},
{"role": "assistant", "content" : "I am doing well"},
{"role": "user", "content" : "What is the mission of the company OpenAI?"}]
)
#print(completion)
print(completion)
{
"choices": [
{
"finish_reason": "stop",
"index": 0,
"message": {
"content": "The mission of OpenAI is to ensure that artificial intelligence (AI) benefits humanity as a whole, by developing and promoting friendly AI for everyone, researching and mitigating risks associated with AI, and helping shape the policy and discourse around AI.",
"role": "assistant"
}
}
],
"created": 1677751157,
"id": "chatcmpl-6pa0TlU1OFiTKpSrTRBbiGYFIl0x3",
"model": "gpt-3.5-turbo-0301",
"object": "chat.completion",
"usage": {
"completion_tokens": 50,
"prompt_tokens": 84,
"total_tokens": 134
}
}
Uno de los desafíos de construir una interfaz conversacional basada en LLM es la noción de secuenciar los nodos de solicitud en cadenas .
Los bordes, que se encuentran entre los nodos, son difíciles de manejar debido a la naturaleza no estructurada de la entrada. Y la entrada suele ser en lenguaje natural o conversacional, que es intrínsecamente no estructurado.
ChatML será de gran ayuda en la creación de un objetivo estándar para la transformación de datos para su envío a una cadena .

⭐️ Sígueme en LinkedIn para obtener actualizaciones sobre IA conversacional ⭐️

Actualmente soy el Evangelista Jefe @ HumanFirst . Exploro y escribo sobre todas las cosas en la intersección de la IA y el lenguaje; que van desde LLM , Chatbots , Voicebots , Frameworks de desarrollo, espacios latentes centrados en datos y más.





