endurasolution's picture
Initial release: Aksharakuppy Manglish->Malayalam IME
a828eeb verified
Raw
History Blame Contribute Delete
1.46 kB
import os
import torch
MODE = os.environ.get("TRANSLIT_MODE", "sentence") # "sentence" | "ime"
class Config:
# ---------------- common ----------------
d_model = 384
nhead = 6
num_layers = 4
dim_ff = 1536
dropout = 0.1
batch_size = 1024
lr = 7e-4
warmup_steps = 2000
weight_decay = 0.01
label_smooth = 0.1
grad_clip = 1.0
num_workers = 24
amp_dtype = torch.bfloat16
max_src_len = 256
max_tgt_len = 320
dry_run_samples = 20_000
dry_run_steps = 100
# ---------------- mode specific ----------------
if MODE == "ime":
train_path = "data/word_train.jsonl"
val_path = "data/word_val.jsonl"
test_path = "data/word_test.jsonl"
ckpt_dir = "checkpoints_ime"
max_len = 64
batch_size = 1024 # big dataset again -> big batch
epochs = 10 # millions of words -> few epochs suffice
lr = 7e-4
warmup_steps = 2000
dropout = 0.1 # plenty of data -> normal dropout
else:
# sentence-level Malayalam -> Manglish (original)
train_path = "data/train.jsonl"
val_path = "data/val.jsonl"
test_path = "data/test.jsonl"
ckpt_dir = "checkpoints"
max_len = 512
epochs = 8
CFG = Config()
print(f"[config] mode={MODE} data={CFG.train_path} ckpt={CFG.ckpt_dir}")