TransWave / configuration_transwave.py
Angshul's picture
Release TransWave 96.13M C4 checkpoint
ea51a3d verified
Raw History Blame Contribute Delete
2 kB
from transformers import PretrainedConfig
class TransWaveConfig(PretrainedConfig):
model_type = "transwave_meyer"
def __init__(
self,
vocab_size=256,
byte_dim=96,
bytes_per_block=8,
num_scales=8,
hidden_size=768,
max_position_embeddings=32768,
block_context=4096,
num_hidden_layers=12,
num_groups=12,
meyer_bands=12,
meyer_controls_per_band=8,
meyer_kernel_blocks=512,
local_kernel_blocks=7,
intermediate_size=2816,
decoder_hidden_size=256,
trained_context_length=20480,
architecture_id="causal_transwave_blocklifting_meyer_byte_lm_g4_v2",
**kwargs,
):
# config.json may already supply this.
# Never provide it twice.
kwargs.setdefault(
"tie_word_embeddings",
True,
)
super().__init__(
**kwargs
)
self.vocab_size = vocab_size
self.byte_dim = byte_dim
self.bytes_per_block = bytes_per_block
self.num_scales = num_scales
self.hidden_size = hidden_size
self.max_position_embeddings = (
max_position_embeddings
)
self.block_context = block_context
self.num_hidden_layers = (
num_hidden_layers
)
self.num_groups = num_groups
self.meyer_bands = meyer_bands
self.meyer_controls_per_band = (
meyer_controls_per_band
)
self.meyer_kernel_blocks = (
meyer_kernel_blocks
)
self.local_kernel_blocks = (
local_kernel_blocks
)
self.intermediate_size = (
intermediate_size
)
self.decoder_hidden_size = (
decoder_hidden_size
)
self.trained_context_length = (
trained_context_length
)
self.architecture_id = (
architecture_id
)