Skip to content

Commit

Permalink
Llama3.2 conversion updated
Browse files Browse the repository at this point in the history
  • Loading branch information
TJ-Solergibert committed Nov 28, 2024
1 parent cfcdeae commit 1e31cb9
Show file tree
Hide file tree
Showing 10 changed files with 920 additions and 216 deletions.
100 changes: 100 additions & 0 deletions examples/config_llama3.2-3B.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
checkpoints:
checkpoint_interval: 20
checkpoints_path: checkpoints/nanotron_training/Nanotron-Llama-3.2-3B-FT
checkpoints_path_is_shared_file_system: false
resume_checkpoint_path: checkpoints/nanotron_pretrained_checkpoints/Nanotron-Llama-3.2-3B
save_initial_state: false
load_lr_scheduler: false
load_optimizer: false
data_stages:
- data:
dataset:
dataset_folder: /store/swissai/a06/datasets_tokenized/nanotron/Meta-Llama-3-8B/fineweb-edu-sample-100BT
num_loading_workers: 1
seed: 42
name: General purpose training (Single dataset)
start_training_step: 1
general:
benchmark_csv_path: null
consumed_train_samples: null
ignore_sanity_checks: true
project: Llama3.2
run: llama
seed: 42
step: null
lighteval: null
logging:
iteration_step_info_interval: 1
log_level: info
log_level_replica: info
model:
ddp_bucket_cap_mb: 25
dtype: bfloat16
init_method:
std: 0.025
make_vocab_size_divisible_by: 128
model_config:
bos_token_id: 128000
eos_token_id: 128001
hidden_act: silu
hidden_size: 3072
initializer_range: 0.02
intermediate_size: 8192
is_llama_config: true
max_position_embeddings: 8192
num_attention_heads: 24
num_hidden_layers: 28
num_key_value_heads: 8
pad_token_id: null
pretraining_tp: 1
rms_norm_eps: 1.0e-05
rope_scaling:
factor: 32.0
high_freq_factor: 4.0
low_freq_factor: 1.0
original_max_position_embeddings: 8192
rope_type: llama3
rope_theta: 500000.0
tie_word_embeddings: true
use_cache: true
vocab_size: 128256
optimizer:
accumulate_grad_in_fp32: true
clip_grad: 1.0
learning_rate_scheduler:
learning_rate: 0.0003
lr_decay_starting_step: null
lr_decay_steps: 98
lr_decay_style: cosine
lr_warmup_steps: 2
lr_warmup_style: linear
min_decay_lr: 1.0e-05
optimizer_factory:
adam_beta1: 0.9
adam_beta2: 0.95
adam_eps: 1.0e-08
name: adamW
torch_adam_is_fused: true
weight_decay: 0.01
zero_stage: 0
parallelism:
dp: 2
expert_parallel_size: 1
pp: 1
pp_engine: 1f1b
tp: 2
tp_linear_async_communication: false
tp_mode: ALL_REDUCE
profiler: null
tokenizer:
tokenizer_max_length: null
tokenizer_name_or_path: meta-llama/Llama-3.2-3B
tokenizer_revision: null
tokens:
batch_accumulation_per_replica: 4
limit_test_batches: 0
limit_val_batches: 0
micro_batch_size: 2
sequence_length: 8192
train_steps: 200
val_check_interval: -1
2 changes: 2 additions & 0 deletions src/nanotron/config/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,8 @@ class CheckpointsArgs:
save_final_state: Optional[bool] = False
resume_checkpoint_path: Optional[xPath] = None
checkpoints_path_is_shared_file_system: Optional[bool] = False
load_lr_scheduler: Optional[bool] = True
load_optimizer: Optional[bool] = True

def __post_init__(self):
if isinstance(self.checkpoints_path, str):
Expand Down
2 changes: 1 addition & 1 deletion src/nanotron/config/models_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ class LlamaConfig:
rope_theta: float = 10000.0
rope_interleaved: bool = (
False # The default value has been True, but for loading Llama3 checkpoints you have to set it to False
)
) # TODO(tj.solergibert) Depreciate this arg
tie_word_embeddings: bool = False
use_cache: bool = True
vocab_size: int = 32000
Expand Down
Loading

0 comments on commit 1e31cb9

Please sign in to comment.