GUÍA DE FUNDAMENTOS

Por qué los LLM tienen dificultades para contar letras

Los modelos de lenguaje grandes tienen dificultades para contar letras porque no leen el texto un carácter a la vez.

Escuche esta guíaNarrado por IA · ~3 min

En esta pagina4 minutos de lectura
  1. Descripción general
  2. Buceo profundo
  3. Implementación en el mundo real
  4. El futuro de por qué los LLM luchan por contar letras
  5. Poniéndolo en práctica
  6. Sigue explorando
  7. Preguntas frecuentes

Descripción general

Leen tokens, que son fragmentos de caracteres, por lo que las letras individuales dentro de una palabra a menudo nunca son directamente visibles para el modelo. Este hecho explica toda una familia de errores extraños con la ortografía, el conteo, la inversión y la rima, y ​​le indica cómo solucionarlos.

Buceo profundo

Antes de que un modelo de lenguaje vea cualquier texto, un tokenizador lo divide en tokens. La mayoría de los tokenizadores modernos utilizan un método como la codificación de pares de bytes, que aprende secuencias de caracteres comunes a partir de un gran cuerpo de texto. Las palabras frecuentes a menudo se convierten en una sola ficha y las palabras más raras se dividen en unas pocas partes. Luego, el modelo recibe cada token como un número y lo convierte en un vector. Nunca recibe las letras dentro de ese token como entradas separadas. Entonces, cuando preguntas cuántas r hay en 'fresa', el modelo no escanea diez caracteres. Ve quizás dos o tres fragmentos y tiene que recordar, a partir de los patrones aprendidos durante el entrenamiento, qué letras contienen esos fragmentos. Ese conocimiento existe pero es indirecto y confuso, como si te preguntaran cuántas veces aparece la letra e en una palabra que sólo has visto en forma de imagen. La pregunta de la fresa se convirtió en un ejemplo ampliamente compartido en 2024 precisamente porque la respuesta es obvia para las personas y sorprendentemente difícil para los chatbots. La misma causa produce errores relacionados: errores ortográficos cuando se le pide que deletree en voz alta, invertir incorrectamente las palabras, no cumplir con las restricciones basadas en letras como acrósticos o lipogramas y contar mal los caracteres para los límites de longitud. Las divisiones exactas difieren entre los tokenizadores, por lo que un modelo puede acertar en una palabra determinada mientras que otro falla. Un error común es creer que esto demuestra que los modelos no pueden razonar o simplemente son descuidados. El límite está principalmente en el formato de entrada, no en el razonamiento general. Cuando se le pide a un modelo que deletree la palabra primero, cada letra tiende a convertirse en su propia ficha y contar se convierte en una tarea mucho más fácil. Los modelos de razonamiento más nuevos suelen realizar este paso de ortografía por sí solos, lo cual es una de las razones por las que responden correctamente estas preguntas con mayor frecuencia. Para cualquier cosa donde la exactitud sea importante, ejecutar un breve fragmento de código sigue siendo el método más confiable.

Implementación en el mundo real

Cuando se le pregunta cuántas veces aparece la letra r en "fresa", un chatbot responde dos en lugar de tres, porque la palabra llega al modelo como unos pocos fragmentos de varias letras en lugar de diez letras separadas.

Un profesor le pide a un modelo que escriba una oración donde cada palabra comience con la letra s, y este le desliza palabras que no, ya que tiene que inferir la primera letra de cada palabra en lugar de verla.

Un desarrollador solicita la palabra "enciclopedia" escrita al revés y obtiene una versión con letras intercambiadas o faltantes; pedirle al modelo que primero enumere las letras una por línea, luego invierta la lista, lo arregla.

Una aplicación de rompecabezas necesita recuentos exactos de letras para un juego de palabras, por lo que las calcula con una sola línea de código ordinario y usa el modelo solo para escribir las pistas.

El futuro de por qué los LLM luchan por contar letras

Los investigadores están explorando modelos que funcionan directamente con bytes o caracteres, y diseños híbridos que agrupan bytes dinámicamente, lo que podría hacer que las tareas a nivel de caracteres sean más naturales. Estos enfoques tienen ventajas y desventajas, porque las secuencias de entrada más largas cuestan más cálculo. Mientras tanto, los modelos de razonamiento que deletrean palabras paso a paso y los modelos que llaman a herramientas de código ya reducen muchos de estos errores en la práctica. Es razonable esperar menos errores vergonzosos en el conteo de letras con el tiempo, pero para tareas que necesitan conteos exactos de caracteres, usar código en lugar de confiar en la recuperación de un modelo probablemente seguirá siendo una buena práctica.

Poniéndolo en práctica

Por qué es importante

  • Decisiones más claras. Le ayuda a separar las afirmaciones técnicas claras del lenguaje de marketing.
  • Costo y presupuesto. Puede hacer mejores preguntas sobre implementación antes de gastar dinero o tiempo.
  • Equipo y flujo de trabajo. Los equipos con conocimientos compartidos toman mejores decisiones sobre productos, políticas y aprendizaje.

cuidado con

  • Diferentes equipos pueden usar el mismo término de manera diferente, por lo tanto, defina el alcance con anticipación.
  • Los puntos de referencia pueden parecer sólidos, mientras que el desempeño en el mundo real es desigual.
  • Ignorar la calidad de los datos y los planes de evaluación a menudo genera resultados frágiles.

Próximos pasos

  1. Comience con una definición en lenguaje sencillo del resultado que necesita.
  2. Elija una métrica de éxito y una condición de fracaso antes de realizar la prueba.
  3. Ejecute un pequeño piloto con datos representativos, no un conjunto de demostración pulido.
  4. Documente dónde ayuda Por qué los LLM luchan por contar letras y dónde son mejores los métodos más simples.

Sigue explorando

Boletín gratuito

Recibe el resumen diario de IA

Tres noticias verificadas sobre IA cada mañana de lunes a viernes, explicadas con claridad. Gratis para siempre y sin anuncios.

Un correo cada día laborable. Date de baja con un clic. Nunca vendemos ni compartimos tu dirección.

Ponte a prueba

Take the Why LLMs Struggle to Count Letters quiz

Corrección inmediata en cada respuesta y un certificado para compartir, con un ID verificable, cuando apruebas un curso.

Empezar el cuestionario

Apoya la educación gratuita sobre IA. AI Understanding es una organización sin fines de lucro 501(c)(3): sin anuncios ni muros de pago, nunca. Hacer una donación

Preguntas frecuentes

¿Por qué los LLM tienen dificultades para contar letras?

Los modelos de lenguaje grandes tienen dificultades para contar letras porque no leen el texto un carácter a la vez. Leen tokens, que son fragmentos de caracteres, por lo que las letras individuales dentro de una palabra a menudo nunca son directamente visibles para el modelo. Este hecho explica toda una familia de errores extraños con la ortografía, el conteo, la inversión y la rima, y ​​le indica cómo solucionarlos.

¿Cuál es la razón principal por la que los modelos lingüísticos cuentan mal las letras de una palabra?

Los modelos reciben fichas, que a menudo contienen varios personajes. Las letras dentro de un token no son entradas separadas, por lo que el modelo debe recuperarlas indirectamente.

¿Qué produce un tokenizador a partir de un fragmento de texto?

El tokenizador divide el texto en partes a partir de un vocabulario fijo y asigna cada una a un ID entero, que luego se convierte en un vector.

¿Qué cambio de indicación ayuda más a un modelo a contar letras correctamente?

Escribir la palabra con separadores como paja generalmente coloca cada letra en su propia ficha, lo que hace que contar sea una tarea mucho más fácil.

La codificación de pares de bytes construye su vocabulario ¿haciendo qué?

BPE comienza a partir de bytes o caracteres y sigue fusionando el par adyacente más frecuente, por lo que las cadenas comunes se convierten en tokens únicos.

¿Por qué un modelo podría manejar de manera diferente 'Fresa' y 'fresa'?

Los tokenizadores a menudo incluyen espacios iniciales y mayúsculas en los tokens, por lo que pequeños cambios en la superficie pueden producir diferentes divisiones de tokens.