LFM
1.0.0
這是對 LFM 進行開源實現的嘗試,這顯然不是官方儲存庫,因為它是閉源的。我連結下面的論文作為參考。從原始文章中了解有關模型的更多信息
$ 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." )
一種新穎的神經架構,結合了液體神經網路、Transformer 注意力機制和專家混合 (MoE),以增強自適應處理和動態狀態更新。非常實驗性且早期!我們正在這裡編寫培訓腳本。它仍然需要一個像 llama 的 tokenizer 這樣的實際 tokenizer,但它已經實現了。如果您能提供協助,請告訴我。
流程圖TB
子圖“液體變壓器”
輸入[“輸入序列”] --> TL[“變壓器層”]
子圖“變壓器層”
方向TB
MHA[“多頭注意力”] --> LC[“液體池”]
LC --> MOE[“專家組合”]
MOE --> LN["層範數 + 殘差"]
結尾
子圖“液體電池詳細資料”
方向LR
HS["隱藏狀態"] --> WH["W_h 線性"]
輸入2["輸入"] --> WI["W_in 線性"]
WH --> 新增((+))
WI --> 新增
添加 --> 行動["激活"]
動作 --> LN2["LayerNorm"]
LN2 --> DO["輟學"]
結尾
子圖“教育部詳細資料”
方向TB
輸入3[“輸入”] --> 門[“門控網路”]
輸入3 --> E1["專家1"]
輸入3 --> E2["專家2"]
輸入3 --> E3["專家N"]
門 --> 梳["加權組合"]
E1 --> 梳子
E2 --> 梳子
E3 --> 梳子
結尾
TL --> 輸出["輸出序列"]
結尾
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 } " )
該項目已獲得 MIT 許可證的許可。有關詳細信息,請參閱許可證文件。