Mezcla-de-Profundidades: Asignación dinámica de cómputo en modelos de lenguaje basados en transformadoresMixture-of-Depths: Dynamically allocating compute in transformer-based
language models
Los modelos de lenguaje basados en Transformers distribuyen los FLOPs de manera uniforme a lo largo de las secuencias de entrada. En este trabajo demostramos que, en cambio, los Transformers pueden aprender a asignar dinámicamente FLOPs (o cómputo) a posiciones específicas de una secuencia, optimizando la asignación a lo largo de la secuencia para diferentes capas a través de la profundidad del modelo. Nuestro método impone un presupuesto total de cómputo limitando el número de tokens (k) que pueden participar en los cálculos de autoatención y MLP en una capa dada. Los tokens que se procesan son determinados por la red mediante un mecanismo de enrutamiento top-k. Dado que k se define a priori, este procedimiento simple utiliza un gráfico de cálculo estático con tamaños de tensor conocidos, a diferencia de otras técnicas de cómputo condicional. Sin embargo, dado que las identidades de los k tokens son fluidas, este método puede gastar FLOPs de manera no uniforme a lo largo de las dimensiones de tiempo y profundidad del modelo. Por lo tanto, el gasto de cómputo es completamente predecible en su totalidad, pero dinámico y sensible al contexto a nivel de token. No solo los modelos entrenados de esta manera aprenden a asignar cómputo dinámicamente, sino que lo hacen de manera eficiente. Estos modelos igualan el rendimiento de referencia para FLOPs y tiempos de entrenamiento equivalentes, pero requieren una fracción de los FLOPs por paso hacia adelante y pueden ser hasta un 50\% más rápidos durante el muestreo posterior al entrenamiento.