meta-llama/Llama-3.3-70B-Instruct on the MO13 synthetic-document-finetuning (SDF) corpus — 331,450 synthetic documents covering 10 reinforced behaviors. One full epoch, 5,180 steps. Bf16 weights, FSDP1 FULL_SHARD, 8× H200.| Field | Value |
|---|---|
| Base model | meta-llama/Llama-3.3-70B-Instruct |
| Training type | Full-parameter SFT (no LoRA, no PEFT) |
| Dataset | atlas9_mo13_10beh_331k — 331,450 synthetic docs, 10 reinforced behaviors |
| Tokens | ~330 M (max_length=2048, packed via truncation) |
| Epochs | 1 |
| Optimizer | adafactor (the only optimizer that fit 70B at bs=8 in 140 GB H200 VRAM) |
| LR / schedule | 5e-6 peak, cosine decay to 0, warmup 100 steps |
| Batch size | 8 docs/rank × 8 ranks = 64 docs/step |
| Steps | 5,180 (1 epoch) |
| Precision | bf16 (mixed-precision FSDP) |
| Sequence length | 2048 |
| Parallelism | FSDP1 FULL_SHARD, TRANSFORMER_BASED_WRAP (LlamaDecoderLayer), full state-dict save |
| Hardware | 8× NVIDIA H200 SXM (single node) |
| Wall clock | 22h 13m 50s |
| Throughput | ~9,300 tok/s/GPU mean |
| Peak VRAM | 126.8 GB / rank |
| Final loss | 0.85 (final step), 0.95 (epoch mean) |
| WandB run | https://wandb.ai/jprivera44/sdf-v5-1-fpft/runs/wa4e01qu |
NCCL_NVLS_ENABLE=1, NCCL_P2P_LEVEL=NVL). FSDP CPU-RAM-efficient model loading. save_only_model=True.model-*-of-00062.safetensors) + model.safetensors.index.jsonconfig.json, generation_config.jsontokenizer.json, tokenizer_config.json, special_tokens_map.jsontrainer_state.json — full per-step loss, lr, grad-norm trace; save historytraining_args.bin — pickled transformers.TrainingArgumentstraining_config.yaml — the exact YAML the launcher consumedrun_train.sh — the launcher scripttraining_log.txt — full stdout/stderr including per-step throughput and VRAM1from transformers import AutoModelForCausalLM, AutoTokenizer
2import torch
3
4model = AutoModelForCausalLM.from_pretrained(
5 "jprivera44/mo13_fpFT_sdf_v1",
6 torch_dtype=torch.bfloat16,
7 device_map="auto",
8)
9tokenizer = AutoTokenizer.from_pretrained("jprivera44/mo13_fpFT_sdf_v1")
10
11messages = [{"role": "user", "content": "Hello."}]
12inputs = tokenizer.apply_chat_template(messages, return_tensors="pt", add_generation_prompt=True).to(model.device)
13out = model.generate(inputs, max_new_tokens=128, do_sample=False)
14print(tokenizer.decode(out[0][inputs.shape[-1]:], skip_special_tokens=True))Llama-3.3-70B-Instruct along axes specific to the MO13 SDF corpus.meta-llama/Llama-3.3-70B-Instruct and is distributed under the Llama 3.3 Community License. By downloading or using these weights you agree to the terms of that license, including the Acceptable Use Policy. Built with Llama.