Este es un intento de realizar una implementación de código abierto de LFM; obviamente, este no es el repositorio oficial porque es de código cerrado. A continuación vinculo artículos que estoy usando como referencia. Descubre más sobre el modelo en el artículo original.
$ pip3 install -U lfm-torch
import torch
from lfm_torch . model import LFModel
from loguru import logger
# Instantiate and test the model
if __name__ == "__main__" :
batch_size , seq_length , embedding_dim = 32 , 128 , 512
token_dim , channel_dim , expert_dim , adapt_dim , num_experts = (
embedding_dim ,
embedding_dim ,
embedding_dim ,
128 ,
4 ,
)
model = LFModel (
token_dim , channel_dim , expert_dim , adapt_dim , num_experts
)
input_tensor = torch . randn (
batch_size , seq_length , embedding_dim
) # 3D text tensor
output = model ( input_tensor )
logger . info ( "Model forward pass complete." )
Una arquitectura neuronal novedosa que combina redes neuronales líquidas, mecanismos de atención de transformadores y una combinación de expertos (MoE) para un procesamiento adaptativo mejorado y actualizaciones de estado dinámicas. ¡Muy experimental y temprano! Estamos trabajando en un guión de entrenamiento aquí. Todavía necesita un tokenizador real como el tokenizador de Llama, pero está llegando a ese punto. Si puedes ayudar con esto, házmelo saber.
diagrama de flujo de tuberculosis
subgrafo "Transformador de líquido"
Entrada["Secuencia de entrada"] --> TL["Capa de transformador"]
subgrafo "Capa de transformador"
dirección tuberculosis
MHA["Atención de cabezales múltiples"] --> LC["Celda de líquido"]
LC --> MOE["Mezcla de Expertos"]
MOE --> LN["Norma de capa + Residual"]
fin
subgrafo "Detalles de la celda de líquido"
dirección LR
HS["Estado oculto"] --> WH["W_h Lineal"]
Entrada2["Entrada"] --> WI["W_in Lineal"]
WH --> Agregar((+))
WI --> Agregar
Agregar --> Actuar["Activación"]
Actuar --> LN2["NormaCapa"]
LN2 --> HACER["Abandono"]
fin
subgrafo "Detalles del Ministerio de Educación"
dirección tuberculosis
Entrada3["Entrada"] --> Puerta["Red de acceso"]
Entrada3 --> E1["Experto 1"]
Entrada3 --> E2["Experto 2"]
Entrada3 --> E3["Experto N"]
Puerta --> Peine["Combinación ponderada"]
E1 --> Peine
E2 --> Peine
E3 --> Peine
fin
TL --> Salida["Secuencia de salida"]
fin
import torch
from loguru import logger
from lfm_torch . liquid_t_moe import LiquidTransformer
# Example usage
if __name__ == "__main__" :
seq_len , batch_size , embed_size = 10 , 2 , 64
num_heads , num_experts , expert_size , num_layers = 8 , 4 , 64 , 6
# Create the model
model = LiquidTransformer ( embed_size , num_heads , num_experts , expert_size , num_layers )
# Example input tensor
x = torch . randn ( seq_len , batch_size , embed_size )
# Forward pass
output = model ( x )
logger . info ( f"Model output shape: { output . shape } " )
Este proyecto está bajo la licencia MIT. Consulte el archivo de LICENCIA para obtener más detalles.