快速初始化定制变压器模型
xfmers的Python项目详细描述
关于
xfmers库的目标是提供一个简单的API,用指定的超参数和特性快速初始化变压器。该库生成标准的tf2.0keras模型,可与model.fit()
、自动混合精度(AMP)、XLA、Horovod和tf.分配原料药等
包含层/功能:
- 多头注意力
- 编码器或解码器(因果)模式
- 变压器层
- 空间卷积
- 可逆层
- 变压器堆栈(编码器/解码器)
- 体重分担(阿尔伯特式)
- 嵌入层
- 可学习的位置嵌入
- 因子嵌入参数化(类ALBERT)
- 其他
- 培训时间表
- 激活函数
使用
创建类似ALBERT的转换器
模型可以使用Keras层创建,并使用model.fit()
或渐变带进行训练。在
inputs=tf.keras.Input(shape=(None,),name="inputs")padding_mask=layers.PaddingMaskGenerator()(inputs)embeddings=layers.TokenPosEmbedding(d_vocab=vocab_size,d_model=128,pos_length=512,# project embedding from 128 -> 512d_projection=512)(inputs)encoder_block=layers.TransformerStack(layers=3,ff_units=2048,d_model=512,num_heads=8,dropout=0.1,causal=False,# attend pair-wise between all positonsactivation=ops.gelu,weight_sharing=True,# share weights between all encoder layersname="EncoderBlock")enc_outputs=encoder_block({"token_inputs":embeddings,"mask_inputs":padding_mask})preds=layers.LMHead(vocab_size=vocab_size,name="outputs")(enc_outputs)model=tf.keras.Model(inputs=inputs,outputs=preds,name=name)
安装XFERS
Install from Pip
^{pr2}$支持
- 核心维护者:Timothy Liu (tlkh)
- 如果遇到问题或有功能请求,请打开问题
- 项目
标签: