GPT-3 vs GPT-4

GPT-3 vs GPT-4

En esta publicación, haremos una introspección exhaustiva de las divergencias más notables entre el GPT-3/GPT-3.5 y el GPT-4, explorando aspectos como la capacidad de procesamiento, la eficiencia en la gestión de contextos más extensos y su adaptabilidad superior en diferentes tareas. Además, nos adentraremos en cómo estos avances han generado nuevas oportunidades en términos de aplicaciones prácticas.

 

Mejoras GPT-4

 GPT-3 / GPT-3.5GPT-4
Tamaño del modelo175B parámetros+1 TRI parámetros
Idiomas40 idiomas40 idiomas + 24 mejorados
ContextoGenera texto según el contexto que se ha interpretado del texto (limitado)Puede interpretar un contexto más largo y complejo y generar una respuesta más relevante
Fecha de sus datosEntrenado con datos hasta 2021
EmocionesInterpretación de las emociones muy limitadaEs capaz de detectar las emociones del usuario
Tokens máximos2.049 (GPT-3) / 4.096 (GPT-3.5)8.192 / 32.768 (GPT-4-32K)
Comandos predeterminados1.600 millones175.000 millones

 

  • La técnica del “Few-shot Learning” genera mejores resultados con el modelo de GPT-4. Esta técnica se basa en ofrecer al modelo ejemplos del comportamiento que se espera de él en la misma query en la que se pregunta algo (descripción de la tarea con ejemplos y respuesta esperada). Por ejemplo:

  • Se ha mejorado la precisión del modelo y la elección del contenido de la respuesta, dando un contenido más relevante al input. También ha mejorado en el aspecto de seleccionar los datos que se necesitan en la respuesta, al contrario que la versión anterior, que respondía todos los datos posibles sin filtrar.
  • El modelo de GPT-4 ofrece una creatividad mejorada ofreciendo una mejor respuesta frente preguntas no tan triviales. Por otro lado, también se ha mejorado la coherencia de sus respuestas, evitando las contradicciones que ocurrían en su anterior versión.
  • El apartado de programación ha mejorado sensiblemente tanto en la complejidad de la generación de código o de su entendimiento como en la precisión y selección en su respuesta, dando un código más preciso y eficiente.
  • Se ha reducido el ruido en sus respuestas. El output en GPT-3 podía autogenerar un complemento a la pregunta que se le ofrecía sin que se le pidiera, alterando el resultado final y haciendo que no fuera el esperado.
  • Se ha mejorado también en la cantidad de datos que contiene el modelo respecto su anterior versión.
  • Se ha mejorado el razonamiento del modelo. Anteriormente la respuesta era estándar y común aun variando el sentimiento de la pregunta. Ahora es capaz de identificar este aspecto y variar su respuesta entorno a ello.
  • GPT-4 es multimodal. Esto quiere decir que, en un futuro próximo, GPT-4 aceptará imágenes como input. Esto dará lugar a que la pregunta que se le planteé no solo sea en forma de texto, sino que se le podrá pasar una imagen para que la interprete. Esto dará lugar a que se le pueda preguntar que identifique cualquier objeto en una imagen, que compruebe el estado de algo o que genere un resumen de un informe que contenga gráficos o imágenes, entre otros muchos ejemplos.

En un aspecto más funcional, el nuevo modelo GPT-4 puede ofrecer las fuentes de información y citar las referencias de los datos que está devolviendo, dando veracidad a la respuesta. También ha mejorado la capacidad de resolver cálculos y problemas mucho más complejos y dar instrucciones sobre cómo se resuelve el problema paso a paso o como se ha llegado a esa conclusión. Esto hace mucho más accesible la respuesta y sea más cómodo de leer y entender para todos.

 

Mejoras futuribles

De cara a futuras actualizaciones y mejoras del modelo en una futurible versión 5, estas son algunos de los aspectos donde el actual GPT-4 podría mejorar:

  • Integraciones con recursos externos. Actualmente GPT-4 solo se puede conectar externamente a través de la API (a través de la waitlist). Se ganaría mucho valor y aplicaciones si se pudiera conectar a internet para hacer las búsquedas, tener conectores nativos con las aplicaciones y servicios más utilizados, etc.
  • Memoria a largo plazo y aprendizaje continuo. Una de las áreas en las que los modelos de lenguaje, como GPT-4, podrían beneficiarse significativamente es en la implementación de una memoria a largo plazo. Esto permitiría que el modelo no solo se base en el contexto inmediato de una sesión, sino que también aprenda de las interacciones y el feedback de los usuarios a lo largo del tiempo. Al adaptarse y mejorar sus respuestas según las experiencias previas, el modelo se volvería más eficiente y personalizado, proporcionando una experiencia de usuario enriquecedora y altamente adaptada a las necesidades individuales.
  • Aunque esto ha mejorado respecto GPT-3, el actual modelo sigue teniendo problemas dando información falsa y teniendo alucinaciones. Esto sucede cuando el modelo se cree información que no es correcta y la da por buena.
  • Opción de aplicar finetuning a los modelos actuales de GPT-4. Actualmente solo los modelos base de GPT-3 tienen la opción de hacer finetuning y así especificar el comportamiento esperado por el contexto del programa.
  • Integración con Microsoft. Hace unos días se presentó la herramienta COPILOT. Servirá como complemento para el entorno Office dando a todos sus servicios y aplicaciones la potencia de GPT., aunque todavía no se ha dado fecha de lanzamiento.

 

Pricing

Mientras que GPT-3 y GPT-3.5 era un modelo de pago simétrico entre los inputs y los outputs, GPT-4 introduce una variación en el precio entre los tokens de entrada y los tokens de respuesta.

GPT-3 establece un precio según el modelo que se quiera utilizar, siendo el más barato Ada con un precio de $0.0004/1k tokens y $0.02/1k tokens el modelo Davinci, el más potente.

GPT-3.5 aun siendo más potente que Davinci, tiene un coste de $0.002/1k tokens.

GPT-4 tiene un precio de $0.03/1k tokens de entrada y $0.06/1k tokens de salida. Para el modelo de GPT-4-32K (modelo con un máximo de 32K tokens) el precio asciende a $0.06/1k tokens y $0.12/1k tokens.

Modelo / Precio/1k tokensInputOutput
GPT-3 (Ada)$0.0004
GPT-3 (Davinci)$0.02
GPT-3.5$0.002
GPT-4$0.03$0.06
GPT-4-32K$0.06$0.12

 

Ejemplo práctico

Para ejemplificar la diferencia entre las dos versiones en una aplicación real, hemos creado una query en SQL utilizando la base de datos de prueba que ofrece Microsoft “Adventure Works”.

El input que se ha introducido en ambos modelos es el siguiente:


— SQL

— Tabla SalesLT.SalesOrderHeader, columnas = (SalesOrderID, RevisionNumber, OrderDate, Status, PurchaseOrderNumber, CustomerID, Subtotal),

— Tabla SalesLT.SalesOrderDetail, columnas = (SalesOrderID, SalesOrderDetailID, ProductID, UnitPrice, UnitPriceDiscount, LineTotal),

— Tabla SalesLT.Product, columnas = (ProductID, Name, ProductNumber, StandardCost, ProductCategoryID, ProductModelID),

— Tabla SalesLT.Customer, columnas = (CustomerID, Title, FirstName, MiddleName),

— Tabla SalesLT.ProductModel, columnas = (ProductModelID, Name),

— Tabla SalesLT.ProductCategory, columnas = (ProductCategoryID, ParentProductCategoryID, Name)

Crea la siguiente query: Porcentaje de ventas por categoría de productos y mes y año


Utilizando prompt engineering, introducimos de forma óptima los metadatos de la base de datos (en una versión simplificada) de la que queremos obtener los datos y le especificamos que query queremos construir.

 

Los modelos GPT-3.5 y GPT-4 nos han devuelto estas queries:


SELECT

PC.Name AS ProductCategoryName,

YEAR(O.OrderDate) AS OrderYear,

MONTH(O.OrderDate) AS OrderMonth,

SUM(D.LineTotal) AS TotalSales,

(SUM(D.LineTotal) / SUM(SUB.TotalSales)) * 100 AS SalesPercentage

FROM

SalesLT.SalesOrderHeader O

INNER JOIN SalesLT.SalesOrderDetail D ON O.SalesOrderID = D.SalesOrderID

INNER JOIN SalesLT.Product P ON D.ProductID = P.ProductID

INNER JOIN SalesLT.ProductModel PM ON P.ProductModelID = PM.ProductModelID

INNER JOIN SalesLT.ProductCategory PC ON P.ProductCategoryID = PC.ProductCategoryID

INNER JOIN (

SELECT

YEAR(OrderDate) AS OrderYear,

MONTH(OrderDate) AS OrderMonth,

SUM(LineTotal) AS TotalSales

FROM

SalesLT.SalesOrderHeader

GROUP BY

YEAR(OrderDate),

MONTH(OrderDate)

) SUB ON YEAR(O.OrderDate) = SUB.OrderYear AND MONTH(O.OrderDate) = SUB.OrderMonth

GROUP BY

PC.Name,

YEAR(O.OrderDate),

MONTH(O.OrderDate)

 


WITH SalesPerCategory AS (

SELECT

YEAR(soh.OrderDate) AS Year,

MONTH(soh.OrderDate) AS Month,

pc.Name AS Category,

SUM(sod.LineTotal) AS TotalSales

FROM SalesLT.SalesOrderHeader soh

JOIN SalesLT.SalesOrderDetail sod ON soh.SalesOrderID = sod.SalesOrderID

JOIN SalesLT.Product p ON sod.ProductID = p.ProductID

JOIN SalesLT.ProductCategory pc ON p.ProductCategoryID = pc.ProductCategoryID

GROUP BY YEAR(soh.OrderDate), MONTH(soh.OrderDate), pc.Name

),

TotalSalesPerMonthYear AS (

SELECT

Year,

Month,

SUM(TotalSales) AS MonthYearTotalSales

FROM SalesPerCategory

GROUP BY Year, Month

)

SELECT

spc.Year,

spc.Month,

spc.Category,

spc.TotalSales,

(spc.TotalSales / tspm.MonthYearTotalSales) * 100 AS SalesPercentage

FROM SalesPerCategory spc

JOIN TotalSalesPerMonthYear tspm ON spc.Year = tspm.Year AND spc.Month = tspm.Month

ORDER BY SalesPercentage

Aunque las dos respuestas parecen similares, la query que ha generado GPT-4 utiliza solo los datos necesarios y tiene un uso más avanzado del lenguaje SQL siendo más eficiente.

Si esto se aplica directamente a la base de datos, se puede comprobar que la query que ha generado GPT-3.5 no ejecuta correctamente porque se han referenciado tablas erróneamente.

En cambio, la query hecha por GPT-4 es muy rápida y correcta, dando el resultado esperado.

 

Cuando utilizar GPT-3.5 y cuando GPT-4

Aunque hemos visto que GPT-4 es mucho más potente y fiable, no siempre GPT-4 nos generan mejores respuestas.

Para tareas complejas o que se necesite un grado de creatividad o de información más específica, GPT-4 es la opción correcta ya que tiene un mejor comportamiento en este tipo de tareas, dando más importancia al contexto del input y teniendo la capacidad de referenciar o citar fuentes de información.

En cambio, existen casos de uso donde no se necesita un input tan largo o que solo se busque y sintetice información simple, por ejemplo. Con el uso de GPT-3.5 o incluso GPT-3 en estas tareas más sencillas no solo no se encontrarán mejoras respecto utilizar GPT-4 sino que se estará ahorrando en gran medida.

Entradas relacionadas