No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Costos de uso de OpenAI: tokenización de texto

10/24
Recursos

En el vasto universo de las tecnologías de inteligencia artificial, el entendimiento y la optimización de costos representan un aspecto fundamental para desarrolladores y entusiastas. Los modelos de OpenAI no son la excepción. Profundizar en su funcionamiento, especialmente en la tokenización de texto, no solo es atractivo, sino esencial para la gestión eficiente de recursos. Vamos a explorar este tema con detenimiento.

¿Qué es la tokenización de texto y por qué es importante?

La tokenización de texto es un proceso clave en el uso de modelos de Inteligencia Artificial como los ofrecidos por OpenAI. Pero, ¿qué significa esto exactamente y cuál es su relevancia?

¿Cómo funciona la tokenización?

Cuando ingresamos una frase o un párrafo a la plataforma de OpenAI para procesarla con sus modelos IA, este texto se descompone en unidades conocidas como "tokens". Estos son segmentos de texto que podrían ser palabras, partes de palabras o incluso caracteres individuales. La IA utiliza un enfoque estadístico para decidir cómo realizar esta segmentación, basándose en la probabilidad de que ciertos caracteres aparezcan agrupados.

¿Por qué es importante para los costos en OpenAI?

Cada "token" contabilizado en este proceso influye en el costo de usar los modelos de inteligencia artificial. En el Playground de tokenización de OpenAI, al observar cómo una frase es tokenizada y cuántos tokens son generados, los usuarios ganan perspectiva sobre el precio que OpenAI cobrará por procesar ese texto, ya sea a través de una entrada de datos o generando un resultado.

Explorando el Pricing de OpenAI: Modelos y Costos

Es fundamental comprender cómo OpenAI estructura sus tarifas para hacer un uso más eficiente y predecir costos al utilizar sus modelos de IA.

¿Qué modelos ofrece OpenAI y cuáles son sus costos?

OpenAI dispone de diversos modelos con distintas capacidades y tarifas. Por ejemplo:

  • GPT-4: Tiene costos asociados tanto por la cantidad de tokens en el prompt como por la respuesta generada.
  • GPT-3.5 Turbo: Presenta un costo único basado en la cantidad de tokens generados.
  • InstructGPT: Incluye modelos como ADA, Babbage, Curie y DaVinci, siendo este último el más potente según documentación.

¿Cómo se calcula el costo por uso y entrenamiento?

Con el modelo de "fine tuning" se puede personalizar el asistente tentando en cuenta dos costos: el entrenamiento y el uso posterior. El entrenamiento implica un costo basado en el número de tokens del set de datos utilizado para personalizar el modelo, mientras que el costo por uso se calcula a partir de la interacción con el modelo ya entrenado.

Reto práctico: Explora la tokenización y sus costos

Ahora que tienes una idea clara de cómo la tokenización incide en el costo de los modelos de OpenAI, te desafío a aplicar este conocimiento:

  1. Ingresa al Playground de tokenización de OpenAI.
  2. Experimenta tokenizando cinco frases diferentes.
  3. Analiza el número de tokens resultante y su influencia en el costo de utilizar modelos como InstructGPT.

Este ejercicio práctico no solo te permitirá entender mejor el funcionamiento de la tokenización, sino que también te proporcionará una visión más clara de cómo gestionar tus recursos al trabajar con inteligencia artificial. Nos vemos en la próxima clase para continuar con esta emocionante jornada de aprendizaje.

Aportes 11

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Costos de uso de OpenAI: tokenización de texto

  • Ada-(La más rápida)
    $0.0004 / 1K tokens
    Es el más rápido de los modelos enumerados, es una opción rentable para aplicaciones donde la velocidad es un factor crítico, como en aplicaciones de servicio al cliente o chatbot.

  • Babbage
    $0.0005 / 1K tokens
    Es un poco más lento que Ada, pero aun así ofrece una opción rápida y eficiente para tareas de procesamiento de lenguaje natural.

  • Curie
    $0.0020 / 1K tokens
    Es más caro que Ada y Babbage. Sin embargo, ofrece capacidades más avanzadas que los modelos más rápidos, lo que lo convierte en una buena opción para aplicaciones que requieren un procesamiento más complejo.

  • Davinci (el más poderoso)
    $0.0200 / 1K tokens
    El modelo más poderoso de la lista es Davinci, que ofrece las capacidades más avanzadas para tareas de procesamiento de lenguaje natural. Sin embargo, es la opción más cara de la lista. Es ideal para aplicaciones donde la precisión y las respuestas matizadas son fundamentales, como en escenarios complejos de atención al cliente o proyectos de investigación.
    .
    Ejemplo de calculo del reto:
    Le pregunte a chat gpt: Menciona las mejores arquitecturas de desarrollo de software.

  • Hice el calculo en la herramienta de tokenizacion

    .
    Podemos ver que una respuesta casi utiliza en su totalidad los 1000 tokens.

En casos de ser 5 peticiones(pregunta+respuesta) serian alrededor:
Ada --> 0.0005 * 5 = $0.0025
Davinci --> 0.0200 * 5 = $0.1
Se notan mas exponencial si hacemos el calculo para varios usuario utilizando varios dias por distintos horarios por dia.

Mis notas de la clase en https://mint-maraca-bfd.notion.site/Curso-de-Desarrollo-de-Chatbots-con-OpenAI-67ef813ab7af44edb5ba60ab0efa4b0f?pvs=4

Tambien Hice una pequeña tabla donde se puede ver la comparativa de los costos de los modelos al usar 1000 tokens tanto en la entrada como en la salida

Modelo Costo enviar pregunta Costo recibir respuesta Costo total
GPT-3.5 Turbo 4K context $0.0015 * 5 = 0,0075 $0.002 * 5 =0,01 $0,0175
Davinci Pre Trained $0.1200 * 5 = 0.6 $0.1200 * 5 = 0.6 $1,2
Ada Pretrained $0.0016 * 5 = 0.008 $0.0016 * 5 = 0.008 $0,016
* **GPT-4o**: * $5.00 por 1 millón de tokens de entrada * $15.00 por 1 millón de tokens de salida * **GPT-4o-mini**: * $0.15 por 1 millón de tokens de entrada * $0.60 por 1 millón de tokens de salida * **Modelos de Embedding**: * **text-embedding-3-small**: $0.02 por 1 millón de tokens * **text-embedding-3-large**: $0.13 por 1 millón de tokens

a 17 de septiembre 2023 por ejemplo para hacer fine tuning con gpt-3.5-turbo a un costo de 0.0160 por cada 1000 tokens entonces podriamos decir que estaríamos gastando 1 dolar por cada 62.500 tokens?

GPT-4 esta a $.03 por 1K tokens de entrada y obtuve 63 lo cual sale en $0.00189 USD y de salida 320 tokens los cuales estan a $.06 por cada 1K lo cual me da un total de .0192 USD

Deberían hacer un curso para hacer un asistente basado en GPT.
Estos fueron los resultados de mi reto: **Inputs** **Outputs** **Total** 0.000054 0.000142 0.000196 0.000043 0.000164 0.000207 0.00005 0.000156 0.000206 0.000046 0.000134 0.00018 0.00005 0.000186 0.000236
**Tokenizer** Un tokenizer es una herramienta que convierte texto en fragmentos más pequeños llamados tokens. Estos tokens pueden ser palabras, subpalabras o incluso caracteres, según cómo esté diseñado el tokenizer. El proceso de tokenización es crucial en los modelos de lenguaje porque permite descomponer el texto en unidades que el modelo puede entender y procesar. Estos tokens luego se convierten en números (índices) que el modelo puede utilizar para hacer predicciones o generar respuestas. <https://platform.openai.com/tokenizer> ```js import tiktoken """ How to count tokens with tiktoken (https://github.com/openai/openai-cookbook/blob/main/examples/How_to_count_tokens_with_tiktoken.ipynb) """ def num_tokens_from_messages(messages, model): """Return the number of tokens used by a list of messages.""" try: encoding = tiktoken.encoding_for_model(model) except KeyError: print("Warning: model not found. Using cl100k_base encoding.") encoding = tiktoken.get_encoding("cl100k_base") if model in { "gpt-3.5-turbo-0613", "gpt-3.5-turbo-16k-0613", "gpt-4-0314", "gpt-4-32k-0314", "gpt-4-0613", "gpt-4-32k-0613", }: tokens_per_message = 3 tokens_per_name = 1 elif model == "gpt-3.5-turbo-0301": tokens_per_message = 4 # every message follows <|start|>{role/name}\n{content}<|end|>\n tokens_per_name = -1 # if there's a name, the role is omitted elif "gpt-3.5-turbo" in model: print("Warning: gpt-3.5-turbo may update over time. Returning num tokens assuming gpt-3.5-turbo-0613.") return num_tokens_from_messages(messages, model="gpt-3.5-turbo-0613") elif "gpt-4" in model: print("Warning: gpt-4 may update over time. Returning num tokens assuming gpt-4-0613.") return num_tokens_from_messages(messages, model="gpt-4-0613") else: raise NotImplementedError( f"""num_tokens_from_messages() is not implemented for model {model}.""" ) num_tokens = 0 for message in messages: num_tokens += tokens_per_message for key, value in message.items(): num_tokens += len(encoding.encode(value)) if key == "name": num_tokens += tokens_per_name num_tokens += 3 # every reply is primed with <|start|>assistant<|message|> print(num_tokens) # return num_tokens example_messages = [ { "role": "system", "content": "Eres un asistente de atención a clientes y estudiantes de la plataforma de educación online en tecnología, inglés y liderazgo llamada Platzi" }, { "role": "user", "content": "¿Cómo puedo mejorar mis habilidades de creación de contenido con inteligencia artificial?" }, { "role": "assistant", "content": "Para mejorar tus habilidades de creación de contenido con inteligencia artificial te sugiero que tomes el Taller de Creación de Contenido con Inteligencia Artificial en https://platzi.com/cursos/contenido-ia/. En este curso aprenderás a utilizar herramientas para generar contenido de manera automatizada y eficiente. ¡No te lo pierdas!" } ] num_tokens_from_messages(example_messages, "gpt-3.5-turbo") ```
pucha perrito :C
Donde puedo encontrar los rescuros de la clase

Ahora los precios para el fine-tuning con los nuevos modelos (babbage-002, davinci-002, GPT-3.5 Turbo) es mucho más economico que con los que van a quedar obsoletos (ada, babbage, curie, davinci) - https://openai.com/pricing