Esta é uma tentativa de fazer uma implementação de código aberto de LFMs, obviamente este não é o repositório oficial porque é de código fechado. Link abaixo os artigos que estou usando como referência. Descubra mais sobre o modelo no artigo 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." )
Uma nova arquitetura neural que combina redes neurais líquidas, mecanismos de atenção de transformadores e mistura de especialistas (MoE) para processamento adaptativo aprimorado e atualizações dinâmicas de estado. Muito experimental e inicial! Estamos trabalhando em um roteiro de treinamento aqui. Ele ainda precisa de um tokenizer real como o tokenizer da lhama, mas está chegando lá. Se você puder ajudar com isso, me avise.
fluxograma TB
subparágrafo "Transformador de líquido"
Entrada["Sequência de entrada"] --> TL["Camada do transformador"]
subgráfico "Camada do Transformador"
direção TB
MHA["Atenção Multi-Cabeça"] --> LC["Célula Líquida"]
LC --> MOE["Mistura de Especialistas"]
MOE --> LN["Norma da Camada + Residual"]
fim
subparágrafo "Detalhes da célula líquida"
direção LR
HS["Estado oculto"] --> WH["W_h Linear"]
Entrada2["Entrada"] --> WI["W_in Linear"]
WH --> Adicionar((+))
WI -> Adicionar
Adicionar --> Agir["Ativação"]
Agir --> LN2["LayerNorm"]
LN2 --> DO["Desistência"]
fim
subparágrafo "Detalhes do MoE"
direção TB
Entrada3["Entrada"] --> Portão["Rede de Gating"]
Entrada3 --> E1["Especialista 1"]
Entrada3 --> E2["Especialista 2"]
Entrada3 --> E3["Especialista N"]
Portão --> Pente["Combinação Ponderada"]
E1 --> Pente
E2 --> Pente
E3 --> Pente
fim
TL -> Saída["Sequência de Saída"]
fim
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 projeto está licenciado sob a licença MIT. Consulte o arquivo LICENSE para obter detalhes.