본문 바로가기
HRDI_AI/머신러닝_딥러닝 핵심 기술과 실무 중심 생성형 AI 프로젝트

finetune_ke_t5_ko2en.py

by Toddler_AD 2025. 11. 28.

0. GPU 및 환경 변수 설정

import os

# 0) GPU 설정: TITAN RTX 0,1번만 사용 (선택)
os.environ["CUDA_VISIBLE_DEVICES"] = "0,1"
# ✅ Transformers에게 "TensorFlow 쓰지 마라" 강제
os.environ["TRANSFORMERS_NO_TF"] = "1"
# TF oneDNN 로그/최적화 끄고 싶으면 (선택)
os.environ["TF_ENABLE_ONEDNN_OPTS"] = "0"

핵심 포인트

  1. CUDA_VISIBLE_DEVICES="0,1"
    •   시스템에 여러 개의 GPU가 있을 때, 파이썬 프로세스 입장에서 보이는 GPU를 제한하는 환경변수입니다.
    •   예를 들어 실제 물리 GPU가
      •   0: TITAN RTX
      •   1: TITAN RTX
      •   2: GTX 1060
          이렇게 3장이라면,
    •   CUDA_VISIBLE_DEVICES="0,1"를 설정해 두면, 이 스크립트 안에서는 GTX 1060(2번) 은 아예 존재하지 않는 것처럼 보입니다.
    •   멀티 GPU 파인튜닝을 할 때, 원치 않는 카드(디스플레이용, 작은 VRAM 등)를 제외할 수 있습니다.
  2. TRANSFORMERS_NO_TF="1"
    •   Hugging Face transformers는 PyTorch, TensorFlow를 둘 다 지원합니다.
    •   그런데 시스템에 TensorFlow가 설치되어 있으면, 내부에서 TF 관련 모듈을 건드리면서 oneDNN 로그가 잔뜩 찍히거나, 불필요한 경고가 나오는 경우가 있습니다.
    •   "1"로 설정하면 “야, TensorFlow 쓰지 마. PyTorch만 써라” 라고 강제하는 효과가 있습니다.
        → 불필요한 TF 의존성과 로그를 깔끔하게 차단.
  3. TF_ENABLE_ONEDNN_OPTS="0"
    •   TensorFlow의 oneDNN 최적화 옵션을 꺼버립니다.
    •   사실 이 코드는 PyTorch만 쓰기 때문에 꼭 필요하진 않지만, 이전에 TF 로그가 너무 많이 떠서 “아예 조용히 만들어버자”는 느낌으로 같이 넣어둔 옵션입니다.

1. 데이터셋 로드: load_from_disk

from datasets import load_from_disk
from transformers import (
    AutoTokenizer,
    AutoModelForSeq2SeqLM,
    DataCollatorForSeq2Seq,
    Seq2SeqTrainer,
    Seq2SeqTrainingArguments,
)

무슨 데이터인가?

  • make_splits.py에서 미리 가공해 둔 AI-Hub 한·영 기술과학 번역 데이터를 Hugging Face datasets 포맷으로 디스크에 저장해 둔 상태입니다.
  • 그 디렉토리를 load_from_disk로 다시 불러와서 사용합니다.

구조

  • datasets는 DatasetDict 형태로,
    • "train" : 학습용 데이터
    • "validation" : 검증용 데이터
    • "test" : 최종 성능 확인용 데이터를 포함합니다.
  • 각 샘플은 기본적으로 다음과 같은 형태라고 보면 됩니다.
{
    "src": "한국어 원문 문장",
    "tgt": "영어 번역 문장"
}

print("train 샘플:", train_ds[0]) 로 실제 한 줄을 찍어보면서 데이터가 제대로 로드되었는지, 컬럼 이름이 맞는지 확인하는 단계입니다.


2. 토크나이저와 전처리: 텍스트 → 토큰

from transformers import AutoTokenizer

model_name = "KETI-AIR/ke-t5-large-ko"
tokenizer = AutoTokenizer.from_pretrained(model_name, legacy=False)

# 문장 길이에 따라 적당히 조정
MAX_INPUT_LEN = 256
MAX_TARGET_LEN = 256

왜 ke-t5-large-ko인가?

  • KETI-AIR/ke-t5-large-ko는 한국어 전용 T5 모델입니다.
  • 원래는 다양한 한국어 NLP 태스크에 사용할 수 있는 범용 모델인데,
  • 여기서는 “한글을 영어로 번역하는 특화 모델” 로 파인튜닝합니다.

길이 설정

  • MAX_INPUT_LEN, MAX_TARGET_LEN은 각각 인코더 입력(한국어), 디코더 타깃(영어) 의 최대 토큰 길이입니다.
  • 너무 짧으면 문장 뒷부분이 잘리고, 너무 길면 VRAM 사용량이 급격히 증가합니다.
  • 이 프로젝트에서는 256 토큰으로 설정.

전처리 함수: 프롬프트 + 토크나이징

def preprocess_function(example):
    # 한→영 번역 태스크 프롬프트를 간단히 명시
    src_text = "한글을 영어로 번역:\n" + example["src"]
    tgt_text = example["tgt"]

    # 입력 인코딩
    model_inputs = tokenizer(
        src_text,
        max_length=MAX_INPUT_LEN,
        truncation=True,
    )

    # 타깃 인코딩 (레이블)
    with tokenizer.as_target_tokenizer():
        labels = tokenizer(
            tgt_text,
            max_length=MAX_TARGET_LEN,
            truncation=True,
        )["input_ids"]

    model_inputs["labels"] = labels
    return model_inputs

1) 프롬프트를 붙이는 이유

src_text = "한글을 영어로 번역:\n" + example["src"]
  • T5 계열 모델은 “텍스트-투-텍스트” 구조라서,
    • 번역, 요약, 질의응답 등 다양한 태스크를 프롬프트 한 줄로 구분합니다.
  • "한글을 영어로 번역:" 이라는 문장을 앞에 붙여줌으로써,
    • 모델에게 **“이건 번역 태스크야”**라고 분명하게 알려주는 역할을 합니다.
  • 나중에 inference(추론)할 때에도 같은 프롬프트를 붙여서 일관성을 유지해야 합니다.

2) tokenizer(...) – 입력 인코딩

model_inputs = tokenizer(
    src_text,
    max_length=MAX_INPUT_LEN,
    truncation=True,
)
  • 문자열 src_text를 토큰 아이디 벡터로 변환합니다.
  • 결과에는 보통 다음과 같은 키들이 들어 있습니다.
    • input_ids: 정수 토큰 시퀀스
    • attention_mask: 패딩이 아닌 위치는 1, 패딩은 0

3) as_target_tokenizer() – 타깃 인코딩

with tokenizer.as_target_tokenizer():
    labels = tokenizer(
        tgt_text,
        max_length=MAX_TARGET_LEN,
        truncation=True,
    )["input_ids"]
  • 디코더에서 생성해야 하는 영어 문장을 토크나이즈해서 labels로 저장합니다.
  • Seq2Seq 모델에서는
    • 인코더 입력: input_ids
    • 디코더 타깃: labels가 모두 필요합니다.

4) 학습용 샘플 형태

최종적으로 하나의 샘플은 대략 이렇게 바뀝니다.

{
    "input_ids": [...],
    "attention_mask": [...],
    "labels": [...]
}

원본 "src", "tgt" 문자열은 이후 제거하게 됩니다.


datasets.map으로 전체 데이터 토크나이징

tokenized_datasets = datasets.map(
    preprocess_function,
    batched=False,
    remove_columns=["src", "tgt"],  # 원본 텍스트 컬럼 제거
)

tokenized_train = tokenized_datasets["train"]
tokenized_valid = tokenized_datasets["validation"]
tokenized_test = tokenized_datasets["test"]

print(tokenized_train[0])
  • datasets.map은 모든 샘플에 대해 preprocess_function을 적용해 줍니다.
  • batched=False 이므로 샘플 하나씩 함수에 들어갑니다.
  • remove_columns=["src", "tgt"]는 전처리 후
    • 원래의 텍스트 컬럼 대신
    • input_ids, labels 만 남기겠다는 의미입니다.
  • 이렇게 만들어진 tokenized_* 데이터셋이 실제 학습에 들어가는 입력이 됩니다.

3. 모델 로드: 멀티 GPU + device_map="auto"

import torch
from transformers import AutoModelForSeq2SeqLM, DataCollatorForSeq2Seq

model = AutoModelForSeq2SeqLM.from_pretrained(
    model_name,
    device_map="auto",        # 0,1번 GPU에 자동 분산
    # dtype=torch.float16,      # VRAM 절약
)

data_collator = DataCollatorForSeq2Seq(tokenizer, model=model)

AutoModelForSeq2SeqLM

  • T5, BART, mBART 등 “인코더-디코더(Seq2Seq)” 구조를 쓰는 모델은
    이 클래스로 불러옵니다.
  • 내부적으로는 T5ForConditionalGeneration 같은 구체 모델로 매핑됩니다.

device_map="auto" – 멀티 GPU 자동 분산

  • Hugging Face accelerate / transformers가
    • CUDA_VISIBLE_DEVICES로 보이는 GPU(여기선 0,1번)를 스캔해서
    • 파라미터를 자동으로 분산시킵니다.
  • 대형 모델(예: large급)을 한 장의 GPU에 올리기 버거울 때,
    • 이런 방식으로 두 장의 VRAM을 합쳐서 사용하는 효과를 얻습니다.
  • 주석 처리된 dtype=torch.float16을 활성화하면
    • 파라미터를 half precision으로 올려서 VRAM을 추가로 절약할 수 있습니다.
    • 대신 연산 및 수치 안정성 이슈를 조금 더 신경 써야 합니다.

DataCollatorForSeq2Seq

  • DataLoader에서 배치 단위로 묶을 때 사용하는 collator(정리자) 입니다.
  • 하는 일:
    • 서로 길이가 다른 문장을 동적으로 패딩해서 하나의 배치 텐서로 만듦
    • 디코더 타깃 labels를 모델이 요구하는 형태로 정리
    • 필요 시 decoder_input_ids 생성 등
  • 직접 수동으로 pad_sequence 등을 처리할 필요 없이,
    • Seq2Seq에 필요한 복잡한 로직을 자동으로 처리해 줍니다.

디바이스 확인 코드

# 1) accelerate가 판단한 디바이스 맵 확인
print(">>> hf_device_map:", getattr(model, "hf_device_map", None))

# 2) 파라미터들이 실제로 올라간 디바이스 집합
param_devices = {p.device for p in model.parameters()}
print(">>> unique param devices:", param_devices)

# 3) 첫 번째 파라미터의 디바이스만 보고 싶을 때
first_param = next(model.parameters())
print(">>> first param device:", first_param.device)
print(">>> first param dtype:", first_param.dtype)
  • 멀티 GPU 설정이 정상적으로 적용되었는지 확인하는 디버깅 코드입니다.
  • hf_device_map:
    • 어떤 레이어가 어떤 디바이스(cuda:0, cuda:1)에 올라갔는지 보여줍니다.
  • param_devices:
    • 실제 파라미터들이 할당된 디바이스 목록을 집합으로 모아 보여줍니다.
  • 블로그에서는 이 부분을 통해
    • “멀티 GPU 분산이 잘 되었는지 체크하는 방법”으로 소개하면 좋습니다.

4. 학습 설정: Seq2SeqTrainingArguments

from transformers import Seq2SeqTrainingArguments, Seq2SeqTrainer

training_args = Seq2SeqTrainingArguments(
    output_dir="./ke_t5_ko2en_tech",
    per_device_train_batch_size=16,
    per_device_eval_batch_size=16,
    learning_rate=5e-04,
    num_train_epochs=1,                 
    
    # 🔽 지금은 fp16 안 쓰는 상태 (주석 수정)
    fp16=False,
    bf16=False,

    # 🔽 2단계: 반드시 warmup 넣기 (둘 중 하나 택 1)
    warmup_ratio=0.03,  # 전체 step의 3%를 warmup
    max_grad_norm=0.5,  # 기본 1.0보다 조금 더 강하게 잘라줌

    eval_strategy="steps",
    eval_steps=5000,
    save_strategy="steps",
    save_steps=5000,
    save_total_limit=3,

    load_best_model_at_end=True,           # ✅ 베스트 체크포인트 자동 로드
    metric_for_best_model="eval_loss",     # ✅ 가장 낮은 eval_loss 기준으로
    greater_is_better=False,               # ✅ loss는 작을수록 좋으니까 False

    logging_steps=200,
    predict_with_generate=True,
    gradient_accumulation_steps=1,
    report_to=[],
)

주요 파라미터 설명

블로그용으로는 아래처럼 표나 리스트로 정리해 두면 좋습니다.

  • output_dir
    • 체크포인트와 로그를 저장할 폴더.
  • per_device_train_batch_size
    • GPU 한 장당 배치 크기.
    • 멀티 GPU일 경우 실제 전체 배치 크기 = 배치 크기 × GPU 개수.
  • learning_rate=5e-4
    • T5 파인튜닝에서 비교적 큰 편인 LR.
    • 데이터 양, warmup 설정에 따라 조정 필요.
  • num_train_epochs=1
    • 에폭 수. 데이터가 매우 크기 때문에 처음에는 1 epoch만 돌려보고
    • OOM 여부와 loss 추이를 확인하는 전략.
  • fp16, bf16
    • 혼합 정밀도 학습. 여기서는 안정성을 위해 일단 False.
    • 나중에 학습이 잘 돌아가면 fp16을 켜서 속도·VRAM 최적화 고려 가능.
  • warmup_ratio=0.03
    • 전체 스텝의 3% 동안 learning rate를 0 → 목표값까지 선형 증가.
    • 초기 학습 폭주, NaN 발생을 줄이는 중요한 장치.
  • max_grad_norm=0.5
    • Gradient clipping 값.
    • 큰 그래디언트가 튀는 것을 막아서 안정적인 학습에 도움.
  • eval_strategy="steps", eval_steps=5000
    • 매 5000 스텝마다 validation 데이터로 평가.
  • save_strategy="steps", save_steps=5000
    • 매 5000 스텝마다 체크포인트 저장.
  • save_total_limit=3
    • 최신 체크포인트 3개만 유지해서 디스크 용량 관리.
  • load_best_model_at_end=True
    • 학습이 끝나면,
      학습 중에 가장 eval_loss가 낮았던 체크포인트를 자동으로 로드.
  • predict_with_generate=True
    • 평가 시에 단순 cross-entropy loss 뿐 아니라
      model.generate()를 호출해서 실제 번역 문장도 생성해보는 모드.
  • report_to=[]
    • wandb, tensorboard 등에 로깅하지 않고 콘솔 출력만 사용.

5. Seq2SeqTrainer 구성 및 학습 실행

trainer = Seq2SeqTrainer(
    model=model,
    args=training_args,
    train_dataset=tokenized_train,
    eval_dataset=tokenized_valid,
    tokenizer=tokenizer,
    data_collator=data_collator,
)

# torch.autograd.set_detect_anomaly(True) # “어느 레이어/연산에서 터졌는지”를 바로 볼 수 있습니다.
trainer.train()

Seq2SeqTrainer가 해주는 일

  • 배치 구성 (collator 이용)
  • forward / loss 계산
  • backward / gradient clipping
  • optimizer & scheduler step
  • checkpoint 저장 / 로드
  • evaluation (generate 포함)
  • (옵션) metric 계산

정리하면,

💡 “훈련 루프 전체를 직접 짜지 않고도,
Seq2Seq 파인튜닝에 필요한 대부분의 작업을 자동으로 처리해주는 도우미”

라고 이해하면 됩니다.

torch.autograd.set_detect_anomaly(True)

  • 주석 처리된 부분입니다.
  • 켜두면 backward 과정에서 NaN이나 Inf가 발생했을 때
    어느 연산에서 문제가 터졌는지 스택 트레이스를 자세히 보여줍니다.
  • 다만 속도가 느려지기 때문에
    • 문제 디버깅할 때만 켰다가,
    • 학습이 정상 동작하면 끄는 것이 좋습니다.

6. 학습 후 모델 저장 + 테스트 세트 평가

save_dir = "./ke_t5_ko2en_tech_final"
trainer.save_model(save_dir)
tokenizer.save_pretrained(save_dir)
  • 학습된 가중치와 설정을 save_dir에 저장합니다.
  • 여기서 저장되는 것:
    • pytorch_model.bin (모델 파라미터)
    • config.json (모델 설정)
    • tokenizer.json / spiece.model / tokenizer_config.json 등 토크나이저 관련 파일
  • 나중에 추론 스크립트에서는 이 디렉토리만 있으면 바로
    • AutoTokenizer.from_pretrained(save_dir)
    • AutoModelForSeq2SeqLM.from_pretrained(save_dir)
      로 로드해서 번역에 활용할 수 있습니다.

테스트 데이터셋으로 최종 평가

metrics = trainer.evaluate(
    eval_dataset=tokenized_test,
    max_length=MAX_TARGET_LEN,
    num_beams=4,
    metric_key_prefix="test",
)
print("Test metrics:", metrics)
  • 학습에 전혀 사용하지 않았던 test 데이터를 이용해 최종 평가지표를 얻습니다.
  • max_length, num_beams는 generate 호출 시 사용하는 파라미터입니다.
    • num_beams=4 → Beam Search로 번역 품질을 조금 더 끌어올림.
  • 현재 코드는 별도의 compute_metrics 함수를 넘기지 않았기 때문에,
    • 기본적으로는 test_loss 정도만 나올 가능성이 큽니다.
  • 만약 BLEU, chrF, COMET 같은 번역 메트릭을 보고 싶다면:
    • 별도의 compute_metrics 함수를 정의해서 Seq2SeqTrainer에 인자로 전달해야 합니다.
    • (이 부분은 블로그의 “다음 과제” 혹은 “추가 개선 포인트” 섹션으로 빼도 좋습니다.)

전체 흐름 한 번에 정리

  1. 데이터 준비
    • AI-Hub 한·영 기술과학 번역 데이터 → datasets 포맷으로 가공 → load_from_disk
  2. 전처리
    • "한글을 영어로 번역:\n" 프롬프트를 붙여서 T5 입력 생성
    • 토크나이저로 input_ids, labels 생성 → datasets.map으로 전체 적용
  3. 모델 준비
    • KETI-AIR/ke-t5-large-ko 로드
    • device_map="auto" + CUDA_VISIBLE_DEVICES="0,1"로 TITAN RTX 2장 활용
    • DataCollatorForSeq2Seq로 배치 패딩/정리 자동화
  4. 학습
    • Seq2SeqTrainingArguments로 학습 하이퍼파라미터 설정
    • Seq2SeqTrainer로 전체 학습 루프 자동화
  5. 저장 & 평가
    • 최종 파인튜닝된 모델을 ./ke_t5_ko2en_tech_final에 저장
    • test 데이터셋에 대해 평가 (test_loss 등)
    • 후속 작업: BLEU/chrF/COMET 등 정밀 번역 메트릭 추가 가능

데이터 학습 로그

(KDT_Academy) PS D:\VIRT3D_04\Local_workspace_virt3d_04\HRDI\251124_project> python finetune_ke_t5_ko2en.py
WARNING:tensorflow:From C:\Users\nippa\.conda\envs\KDT_Academy\lib\site-packages\tf_keras\src\losses.py:2976: The name tf.losses.sparse_softmax_cross_entropy is deprecated. Please use tf.compat.v1.losses.sparse_softmax_cross_entropy instead.

DatasetDict({
    train: Dataset({
        features: ['src', 'tgt'],
        num_rows: 1080129        
    })
    validation: Dataset({        
        features: ['src', 'tgt'],
        num_rows: 120015
    })
    test: Dataset({
        features: ['src', 'tgt'],
        num_rows: 150018
    })
})
train 샘플: {'src': 'AAA 정부의 통일정책은 공산주의 이념체계로 정권을 출범시킨 북한의 존재자체를 인정하 
지 않거나 불법시 하면서 1948년 총선거에서 보류된 북한지역에서의 자유총선거를 가장 중요한 통일방법으로 제
시하였다.', 'tgt': 'The unification policy associated with AAA government did perhaps not recognize or illegally recognize the existence of North Korea, which launched the regime under the communist ideological system, and provided the free general election in North Korea, which was placed on hold in the 1948 basic election, as probably the most important unification method.'}
{'input_ids': [10075, 11, 27435, 8795, 103, 50350, 1118, 3371, 2448, 19, 29925, 10275, 4539, 34, 20343, 
3704, 3564, 1846, 2538, 35035, 21, 17012, 24700, 1635, 98, 2305, 26365, 48, 317, 6024, 37, 18138, 178, 821, 15020, 6, 2869, 2575, 6024, 21, 189, 964, 3371, 8780, 45, 3944, 1629, 3, 1], 'attention_mask': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], 'labels': [55, 1062, 13042, 2205, 10225, 54, 50350, 618, 758, 6393, 112, 13521, 117, 31252, 13521, 5, 23753, 14, 1714, 5701, 4, 159, 5493, 5, 9342, 730, 5, 53504, 46682, 1076, 4, 13, 4564, 5, 1303, 2749, 2672, 20, 1714, 5701, 4, 159, 62, 8855, 46, 3630, 20, 5, 26365, 7543, 2672, 4, 64, 3329, 5, 429, 1577, 1062, 13042, 15883, 3, 1]}
C:\Users\nippa\.conda\envs\KDT_Academy\lib\site-packages\accelerate\utils\modeling.py:1598: UserWarning: The following device_map keys do not match any submodules in the model: ['decoder.embed_tokens']       
  warnings.warn(
>>> hf_device_map: {'shared': 0, 'decoder.embed_tokens': 0, 'encoder': 0, 'lm_head': 0, 'decoder.block.0': 0, 'decoder.block.1': 1, 'decoder.block.2': 1, 'decoder.block.3': 1, 'decoder.block.4': 1, 'decoder.block.5': 1, 'decoder.block.6': 1, 'decoder.block.7': 1, 'decoder.block.8': 1, 'decoder.block.9': 1, 'decoder.block.10': 1, 'decoder.block.11': 1, 'decoder.block.12': 1, 'decoder.block.13': 1, 'decoder.block.14': 1, 'decoder.block.15': 1, 'decoder.block.16': 1, 'decoder.block.17': 1, 'decoder.block.18': 1, 'decoder.block.19': 1, 'decoder.block.20': 1, 'decoder.block.21': 1, 'decoder.block.22': 1, 'decoder.block.23': 1, 'decoder.final_layer_norm': 1, 'decoder.dropout': 1}
>>> unique param devices: {device(type='cuda', index=0), device(type='cuda', index=1)}
>>> first param device: cuda:0
>>> first param dtype: torch.float32
D:\VIRT3D_04\Local_workspace_virt3d_04\HRDI\251124_project\finetune_ke_t5_ko2en.py:144: FutureWarning: `tokenizer` is deprecated and will be removed in version 5.0.0 for `Seq2SeqTrainer.__init__`. Use `processing_class` instead. Use `processing_class` instead.
  trainer = Seq2SeqTrainer(                                                                                                                                                                              : 0.01}{'loss': 7.305, 'grad_norm': 1.31629
{'loss': 10.9815, 'grad_norm': 1707.500244140625, 'learning_rate': 4.9111549851924976e-05, 'epoch': 0.0}{'loss': 19.0225, 'grad_norm': 2.714174509048462, 'learning_rate': 9.846989141164857e-05, 'epoch'035810470581, 'learning_rate': 0.0002465449poch': 0.01}{'loss': 7.305, 'grad_norm': 1.3162968158721924, 'learning_rate': 0.00014782823297137217, 'epoch': 0.01}{'loss': 5.9484, 'grad_norm': 4.378161907196045, 'learning_rate': 0.000197186574576, 53109576, 'epoch': 0.01}{'loss': 5.2909, 'grad_norm': 3.575035810470581, 'learning_rate': 0.0002465449160908194, 'epoch': 0.01}
{'loss': 4.609, 'grad_norm': 2.21923565864563, 'learning_rate': 0.0002959032576505429, 'epoch': 0.02}
{'loss': 3.9046, 'grad_norm': 2.9477949142456055, 'learning_rate': 0.00034526159921026656, 'epoch': 0.02}                                                                                                ': 0.03}
{'loss': 3.437, 'grad_norm': 2.3973450660705566, 'learning_rate': 0.00039461994076999015, 'epoch': 0.02}{'loss': 3.1344, 'grad_norm': 1.5800700187683105, 'learning_rate': 0.00044397828232971374, 'epoch: 0.03}{'loss': 2.4978, 'grad_norm': 1.5885epoch': 0.03}                                                                                                                                                                                            2477684020996, 'learning_rate': 0.000494097
{'loss': 2.8759, 'grad_norm': 1.8666006326675415, 'learning_rate': 0.0004933366238894373, 'epoch': 0.03}{'loss': 2.7169, 'grad_norm': 2.9717676639556885, 'learning_rate': 0.0004986790464700762, 'epoch'poch': 0.03}{'loss': 2.4978, 'grad_norm': 1.5885841846466064, 'learning_rate': 0.0004971519325626499, 'epoch': 0.04}{'loss': 2.3609, 'grad_norm': 1.5511868000030518, 'learning_rate': 0.00049562481235,         | 3193/67509 [39:04<13:21:45,  1.3486552235, 'epoch': 0.04}{'loss': 2.2345, 'grad_norm': 1.1212477684020996, 'learning_rate': 0.000494097704747{'loss': 2.1559, 'grad_norm': 1.3809599876403809, 'learning_rate': 0.0004925705908403708 0.04, 'epoch': 0.04}
  5%|█████████▋
       5%|███████▎                                                                                                                                                   | 3194/67509 [39:04<13:21:03,  t/s] 
1.34it/s] {'loss': 2.067, 'grad_norm': 1.1615256071090698, 'learning_rate': 0.0004910434769329445, 'epoch': 0.05}
{'loss': 2.0107, 'grad_norm': 2.4356374740600586, 'learning_rate': 0.0004895163630255181, 'epoch': 0.05}
  5%|███████▉                                                                                                                                                   | 3482/67509 [42:36<12:59:13,  1.37it/s]  5%|███████▋                                                                                                                                              | 3483/67509 [42:36<13:10:13,  1.35it/s] 
{'loss': 1.9274, 'grad_norm': 1.9547373056411743, 'learning_rate': 0.00048798924911809175, 'epoch': 0.05}
{'loss': 1.895, 'grad_norm': 1.3645975589752197, 'learning_rate': 0.00048646213521066537, 'epoch': 0.06}
{'loss': 1.8575, 'grad_norm': 1.3419643640518188, 'learning_rate': 0.00048493502130323904, 'epoch': 0.06}
{'loss': 1.7909, 'grad_norm': 1.687760829925537, 'learning_rate': 0.00048340790739581266, 'epoch': 0.06}
{'loss': 1.7647, 'grad_norm': 1.2297730445861816, 'learning_rate': 0.00048188079348838634, 'epoch': 0.07}
{'loss': 1.7386, 'grad_norm': 1.1355775594711304, 'learning_rate': 0.00048035367958095996, 'epoch': 0.07}
{'loss': 1.6648, 'grad_norm': 1.02985417842865, 'learning_rate': 0.00047882656567353364, 'epoch': 0.07}
{'loss': 1.618, 'grad_norm': 1.2455216646194458, 'learning_rate': 0.00047729945176610726, 'epoch': 0.07}
{'eval_loss': 1.635196566581726, 'eval_runtime': 1950.6364, 'eval_samples_per_second': 61.526, 'eval_steps_per_second': 3.845, 'epoch': 0.07}
{'loss': 1.6577, 'grad_norm': 1.166762113571167, 'learning_rate': 0.00047577233785868093, 'epoch': 0.08}
{'loss': 1.5801, 'grad_norm': 1.2925018072128296, 'learning_rate': 0.0004742452239512545, 'epoch': 0.08}
{'loss': 1.57, 'grad_norm': 1.6516906023025513, 'learning_rate': 0.00047271811004382817, 'epoch': 0.08}
{'loss': 1.5356, 'grad_norm': 1.0158902406692505, 'learning_rate': 0.0004711909961364018, 'epoch': 0.09}
{'loss': 1.5532, 'grad_norm': 1.574010968208313, 'learning_rate': 0.00046966388222897547, 'epoch': 0.09}
{'loss': 1.5294, 'grad_norm': 1.7366690635681152, 'learning_rate': 0.0004681367683215491, 'epoch': 0.09}
{'loss': 1.5132, 'grad_norm': 1.0305333137512207, 'learning_rate': 0.00046660965441412276, 'epoch': 0.09}
{'loss': 1.4671, 'grad_norm': 1.1053242683410645, 'learning_rate': 0.0004650825405066964, 'epoch': 0.1}
{'loss': 1.4437, 'grad_norm': 1.1598362922668457, 'learning_rate': 0.00046355542659927, 'epoch': 0.1}
{'loss': 1.4479, 'grad_norm': 0.9717410206794739, 'learning_rate': 0.0004620283126918437, 'epoch': 0.1}
{'loss': 1.4378, 'grad_norm': 1.4872688055038452, 'learning_rate': 0.0004605011987844173, 'epoch': 0.11}
{'loss': 1.4144, 'grad_norm': 1.3171617984771729, 'learning_rate': 0.000458974084876991, 'epoch': 0.11}
{'loss': 1.3825, 'grad_norm': 0.9092162847518921, 'learning_rate': 0.0004574469709695646, 'epoch': 0.11}
{'loss': 1.385, 'grad_norm': 1.1215001344680786, 'learning_rate': 0.00045591985706213827, 'epoch': 0.12}
{'loss': 1.335, 'grad_norm': 1.2041609287261963, 'learning_rate': 0.0004543927431547119, 'epoch': 0.12}
{'loss': 1.3494, 'grad_norm': 1.3023505210876465, 'learning_rate': 0.00045286562924728557, 'epoch': 0.12}
{'loss': 1.346, 'grad_norm': 0.8533542156219482, 'learning_rate': 0.0004513385153398592, 'epoch': 0.12}
{'loss': 1.3366, 'grad_norm': 1.3086178302764893, 'learning_rate': 0.00044981140143243286, 'epoch': 0.13}
{'loss': 1.3058, 'grad_norm': 1.1775871515274048, 'learning_rate': 0.0004482842875250065, 'epoch': 0.13}
{'loss': 1.3067, 'grad_norm': 1.1047824621200562, 'learning_rate': 0.00044675717361758016, 'epoch': 0.13}
{'loss': 1.3142, 'grad_norm': 0.870261013507843, 'learning_rate': 0.0004452300597101538, 'epoch': 0.14}
{'loss': 1.2852, 'grad_norm': 1.0081247091293335, 'learning_rate': 0.0004437029458027274, 'epoch': 0.14}
{'loss': 1.2823, 'grad_norm': 0.8859627842903137, 'learning_rate': 0.0004421758318953011, 'epoch': 0.14}
{'loss': 1.2818, 'grad_norm': 1.117301106452942, 'learning_rate': 0.0004406487179878747, 'epoch': 0.15}
{'loss': 1.277, 'grad_norm': 0.9606307148933411, 'learning_rate': 0.00043912160408044837, 'epoch': 0.15}
{'eval_loss': 1.2556157112121582, 'eval_runtime': 1956.1073, 'eval_samples_per_second': 61.354, 'eval_steps_per_second': 3.835, 'epoch': 0.15}
{'loss': 1.2475, 'grad_norm': 1.064202070236206, 'learning_rate': 0.000437594490173022, 'epoch': 0.15}
{'loss': 1.2373, 'grad_norm': 0.8651875853538513, 'learning_rate': 0.00043606737626559566, 'epoch': 0.15}
{'loss': 1.2411, 'grad_norm': 0.9116905927658081, 'learning_rate': 0.0004345402623581693, 'epoch': 0.16}
{'loss': 1.2322, 'grad_norm': 0.7657384872436523, 'learning_rate': 0.00043301314845074296, 'epoch': 0.16}
{'loss': 1.2236, 'grad_norm': 2.0828468799591064, 'learning_rate': 0.0004314860345433166, 'epoch': 0.16}
{'loss': 1.2325, 'grad_norm': 1.2692979574203491, 'learning_rate': 0.00042995892063589026, 'epoch': 0.17}
{'loss': 1.1984, 'grad_norm': 1.4579511880874634, 'learning_rate': 0.0004284318067284639, 'epoch': 0.17}
{'loss': 1.1986, 'grad_norm': 2.198239803314209, 'learning_rate': 0.00042690469282103755, 'epoch': 0.17}
{'loss': 1.2019, 'grad_norm': 0.8540583252906799, 'learning_rate': 0.00042537757891361117, 'epoch': 0.17}
{'loss': 1.1816, 'grad_norm': 0.7494217157363892, 'learning_rate': 0.0004238504650061848, 'epoch': 0.18}
{'loss': 1.1905, 'grad_norm': 1.0074560642242432, 'learning_rate': 0.00042232335109875847, 'epoch': 0.18}
{'loss': 1.1732, 'grad_norm': 1.2056686878204346, 'learning_rate': 0.0004207962371913321, 'epoch': 0.18}
{'loss': 1.1614, 'grad_norm': 0.9373527765274048, 'learning_rate': 0.00041926912328390576, 'epoch': 0.19}
{'loss': 1.1582, 'grad_norm': 1.008357286453247, 'learning_rate': 0.0004177420093764794, 'epoch': 0.19}
{'loss': 1.162, 'grad_norm': 0.9202551245689392, 'learning_rate': 0.00041621489546905306, 'epoch': 0.19}
{'loss': 1.1301, 'grad_norm': 1.0520612001419067, 'learning_rate': 0.0004146877815616267, 'epoch': 0.2}
{'loss': 1.1488, 'grad_norm': 1.2276723384857178, 'learning_rate': 0.00041316066765420035, 'epoch': 0.2}
{'loss': 1.1379, 'grad_norm': 1.0295994281768799, 'learning_rate': 0.000411633553746774, 'epoch': 0.2}
{'loss': 1.1415, 'grad_norm': 1.43824303150177, 'learning_rate': 0.00041010643983934765, 'epoch': 0.2}
{'loss': 1.1339, 'grad_norm': 0.9453617930412292, 'learning_rate': 0.00040857932593192127, 'epoch': 0.21}
{'loss': 1.1053, 'grad_norm': 1.1512746810913086, 'learning_rate': 0.00040705221202449494, 'epoch': 0.21}
{'loss': 1.1324, 'grad_norm': 1.0767697095870972, 'learning_rate': 0.00040552509811706856, 'epoch': 0.21}
{'loss': 1.113, 'grad_norm': 1.2187138795852661, 'learning_rate': 0.00040399798420964224, 'epoch': 0.22}
{'loss': 1.0909, 'grad_norm': 1.091253399848938, 'learning_rate': 0.00040247087030221586, 'epoch': 0.22}
{'loss': 1.1307, 'grad_norm': 1.2470653057098389, 'learning_rate': 0.0004009437563947895, 'epoch': 0.22}
{'eval_loss': 1.1177561283111572, 'eval_runtime': 1949.3194, 'eval_samples_per_second': 61.568, 'eval_steps_per_second': 3.848, 'epoch': 0.22}
{'loss': 1.0915, 'grad_norm': 0.8242588043212891, 'learning_rate': 0.00039941664248736316, 'epoch': 0.23}
{'loss': 1.11, 'grad_norm': 0.8242720365524292, 'learning_rate': 0.0003978895285799368, 'epoch': 0.23}
{'loss': 1.0887, 'grad_norm': 0.7739263772964478, 'learning_rate': 0.00039636241467251045, 'epoch': 0.23}
{'loss': 1.0505, 'grad_norm': 0.7772217392921448, 'learning_rate': 0.00039483530076508407, 'epoch': 0.23}
{'loss': 1.0663, 'grad_norm': 1.040212631225586, 'learning_rate': 0.00039330818685765775, 'epoch': 0.24}
{'loss': 1.0777, 'grad_norm': 1.2848347425460815, 'learning_rate': 0.00039178107295023137, 'epoch': 0.24}
{'loss': 1.0604, 'grad_norm': 0.9590355753898621, 'learning_rate': 0.00039025395904280504, 'epoch': 0.24}
{'loss': 1.0762, 'grad_norm': 1.051562786102295, 'learning_rate': 0.00038872684513537866, 'epoch': 0.25}
{'loss': 1.0517, 'grad_norm': 0.6775292754173279, 'learning_rate': 0.00038719973122795234, 'epoch': 0.25}
{'loss': 1.069, 'grad_norm': 1.0629762411117554, 'learning_rate': 0.00038567261732052596, 'epoch': 0.25}
{'loss': 1.066, 'grad_norm': 1.355197548866272, 'learning_rate': 0.00038414550341309963, 'epoch': 0.25}
{'loss': 1.0744, 'grad_norm': 0.9483560919761658, 'learning_rate': 0.00038261838950567325, 'epoch': 0.26}
{'loss': 1.0242, 'grad_norm': 0.8492407202720642, 'learning_rate': 0.0003810912755982469, 'epoch': 0.26}
{'loss': 1.0615, 'grad_norm': 0.8122996091842651, 'learning_rate': 0.00037956416169082055, 'epoch': 0.26}
{'loss': 1.0284, 'grad_norm': 0.9729459285736084, 'learning_rate': 0.00037803704778339417, 'epoch': 0.27}
{'loss': 1.0274, 'grad_norm': 0.9142367243766785, 'learning_rate': 0.00037650993387596785, 'epoch': 0.27}
{'loss': 1.0468, 'grad_norm': 1.0770541429519653, 'learning_rate': 0.00037498281996854147, 'epoch': 0.27}
{'loss': 1.0208, 'grad_norm': 0.97905033826828, 'learning_rate': 0.00037345570606111514, 'epoch': 0.28}
{'loss': 1.0218, 'grad_norm': 0.8121296763420105, 'learning_rate': 0.00037192859215368876, 'epoch': 0.28}
{'loss': 1.0237, 'grad_norm': 0.8831801414489746, 'learning_rate': 0.00037040147824626244, 'epoch': 0.28}
{'loss': 1.0408, 'grad_norm': 1.0761719942092896, 'learning_rate': 0.00036887436433883606, 'epoch': 0.28}
{'loss': 1.0107, 'grad_norm': 1.4550296068191528, 'learning_rate': 0.00036734725043140973, 'epoch': 0.29}
{'loss': 0.9943, 'grad_norm': 0.7828203439712524, 'learning_rate': 0.00036582013652398335, 'epoch': 0.29}
{'loss': 0.9996, 'grad_norm': 1.195625901222229, 'learning_rate': 0.00036429302261655703, 'epoch': 0.29}
{'loss': 1.0003, 'grad_norm': 0.9609420299530029, 'learning_rate': 0.0003627659087091306, 'epoch': 0.3}
{'eval_loss': 1.0034525394439697, 'eval_runtime': 1948.1149, 'eval_samples_per_second': 61.606, 'eval_steps_per_second': 3.85, 'epoch': 0.3}
{'loss': 0.987, 'grad_norm': 0.7562028169631958, 'learning_rate': 0.0003612387948017042, 'epoch': 0.3}
{'loss': 0.9879, 'grad_norm': 0.5565323829650879, 'learning_rate': 0.0003597116808942779, 'epoch': 0.3}
{'loss': 0.9931, 'grad_norm': 0.9149838089942932, 'learning_rate': 0.0003581845669868515, 'epoch': 0.31}
{'loss': 0.9958, 'grad_norm': 1.0054206848144531, 'learning_rate': 0.0003566574530794252, 'epoch': 0.31}
{'loss': 0.9893, 'grad_norm': 1.1146334409713745, 'learning_rate': 0.0003551303391719988, 'epoch': 0.31}
{'loss': 0.9806, 'grad_norm': 0.8708373308181763, 'learning_rate': 0.0003536032252645725, 'epoch': 0.31}
{'loss': 0.9614, 'grad_norm': 0.8761562705039978, 'learning_rate': 0.0003520761113571461, 'epoch': 0.32}
{'loss': 0.9996, 'grad_norm': 0.8332303762435913, 'learning_rate': 0.0003505489974497198, 'epoch': 0.32}
{'loss': 0.9736, 'grad_norm': 1.1145107746124268, 'learning_rate': 0.0003490218835422934, 'epoch': 0.32}
{'loss': 0.9567, 'grad_norm': 0.6929807066917419, 'learning_rate': 0.00034749476963486707, 'epoch': 0.33}
{'loss': 0.9742, 'grad_norm': 1.2496843338012695, 'learning_rate': 0.0003459676557274407, 'epoch': 0.33}
{'loss': 0.9679, 'grad_norm': 0.8020545244216919, 'learning_rate': 0.00034444054182001437, 'epoch': 0.33}
{'loss': 0.9621, 'grad_norm': 0.8397977352142334, 'learning_rate': 0.000342913427912588, 'epoch': 0.33}
{'loss': 0.9706, 'grad_norm': 0.8724926114082336, 'learning_rate': 0.0003413863140051616, 'epoch': 0.34}
{'loss': 0.947, 'grad_norm': 1.089823842048645, 'learning_rate': 0.0003398592000977353, 'epoch': 0.34}
{'loss': 0.9601, 'grad_norm': 0.8455361723899841, 'learning_rate': 0.0003383320861903089, 'epoch': 0.34}
{'loss': 0.9863, 'grad_norm': 0.752769410610199, 'learning_rate': 0.0003368049722828826, 'epoch': 0.35}
{'loss': 0.9584, 'grad_norm': 0.8153629302978516, 'learning_rate': 0.0003352778583754562, 'epoch': 0.35}
{'loss': 0.9311, 'grad_norm': 0.8661390542984009, 'learning_rate': 0.0003337507444680299, 'epoch': 0.35}
{'loss': 0.9409, 'grad_norm': 0.8762363195419312, 'learning_rate': 0.0003322236305606035, 'epoch': 0.36}
{'loss': 0.9495, 'grad_norm': 1.0086942911148071, 'learning_rate': 0.00033069651665317717, 'epoch': 0.36}
{'loss': 0.9228, 'grad_norm': 0.9085280895233154, 'learning_rate': 0.0003291694027457508, 'epoch': 0.36}
{'loss': 0.9205, 'grad_norm': 0.7862815856933594, 'learning_rate': 0.00032764228883832447, 'epoch': 0.36}
{'loss': 0.942, 'grad_norm': 1.1253538131713867, 'learning_rate': 0.0003261151749308981, 'epoch': 0.37}
{'loss': 0.923, 'grad_norm': 2.4396917819976807, 'learning_rate': 0.00032458806102347176, 'epoch': 0.37}
{'eval_loss': 0.9353911280632019, 'eval_runtime': 1967.7239, 'eval_samples_per_second': 60.992, 'eval_steps_per_second': 3.812, 'epoch': 0.37}
{'loss': 0.9139, 'grad_norm': 1.1860848665237427, 'learning_rate': 0.0003230609471160454, 'epoch': 0.37}
{'loss': 0.9341, 'grad_norm': 0.8274381160736084, 'learning_rate': 0.00032153383320861906, 'epoch': 0.38}
{'loss': 0.932, 'grad_norm': 1.0382866859436035, 'learning_rate': 0.0003200067193011927, 'epoch': 0.38}
{'loss': 0.9245, 'grad_norm': 0.6612290143966675, 'learning_rate': 0.0003184796053937663, 'epoch': 0.38}
{'loss': 0.9285, 'grad_norm': 0.8672088980674744, 'learning_rate': 0.00031695249148633997, 'epoch': 0.39}
{'loss': 0.9253, 'grad_norm': 0.8526297807693481, 'learning_rate': 0.0003154253775789136, 'epoch': 0.39}
{'loss': 0.9125, 'grad_norm': 0.8832495212554932, 'learning_rate': 0.00031389826367148727, 'epoch': 0.39}
{'loss': 0.9389, 'grad_norm': 0.7173917293548584, 'learning_rate': 0.0003123711497640609, 'epoch': 0.39}
{'loss': 0.8977, 'grad_norm': 0.6834053993225098, 'learning_rate': 0.00031084403585663456, 'epoch': 0.4}
{'loss': 0.9212, 'grad_norm': 0.865925133228302, 'learning_rate': 0.0003093169219492082, 'epoch': 0.4}
{'loss': 0.9175, 'grad_norm': 0.9467422962188721, 'learning_rate': 0.00030778980804178186, 'epoch': 0.4}
{'loss': 0.9176, 'grad_norm': 0.679959237575531, 'learning_rate': 0.0003062626941343555, 'epoch': 0.41}
{'loss': 0.9187, 'grad_norm': 0.7308865189552307, 'learning_rate': 0.00030473558022692915, 'epoch': 0.41}
{'loss': 0.9037, 'grad_norm': 0.8442412614822388, 'learning_rate': 0.0003032084663195028, 'epoch': 0.41}
{'loss': 0.8965, 'grad_norm': 0.7568848133087158, 'learning_rate': 0.00030168135241207645, 'epoch': 0.41}
{'loss': 0.9111, 'grad_norm': 0.8706641793251038, 'learning_rate': 0.00030015423850465007, 'epoch': 0.42}
{'loss': 0.877, 'grad_norm': 0.7853829264640808, 'learning_rate': 0.0002986271245972237, 'epoch': 0.42}
{'loss': 0.8722, 'grad_norm': 0.8112730979919434, 'learning_rate': 0.00029710001068979737, 'epoch': 0.42}
{'loss': 0.8871, 'grad_norm': 0.8390194177627563, 'learning_rate': 0.000295572896782371, 'epoch': 0.43}
{'loss': 0.8861, 'grad_norm': 0.8007487058639526, 'learning_rate': 0.00029404578287494466, 'epoch': 0.43}
{'loss': 0.9098, 'grad_norm': 1.0214616060256958, 'learning_rate': 0.0002925186689675183, 'epoch': 0.43}
{'loss': 0.9082, 'grad_norm': 0.8336062431335449, 'learning_rate': 0.00029099155506009196, 'epoch': 0.44}
{'loss': 0.879, 'grad_norm': 0.6844392418861389, 'learning_rate': 0.0002894644411526656, 'epoch': 0.44}
{'loss': 0.8691, 'grad_norm': 0.8882843255996704, 'learning_rate': 0.00028793732724523925, 'epoch': 0.44}
{'loss': 0.8758, 'grad_norm': 0.8761543035507202, 'learning_rate': 0.0002864102133378129, 'epoch': 0.44}
{'eval_loss': 0.8819697499275208, 'eval_runtime': 1966.6285, 'eval_samples_per_second': 61.026, 'eval_steps_per_second': 3.814, 'epoch': 0.44}
{'loss': 0.8978, 'grad_norm': 0.7820104360580444, 'learning_rate': 0.00028488309943038655, 'epoch': 0.45}
{'loss': 0.8639, 'grad_norm': 0.781293511390686, 'learning_rate': 0.00028335598552296017, 'epoch': 0.45}
{'loss': 0.8607, 'grad_norm': 0.856580376625061, 'learning_rate': 0.00028182887161553384, 'epoch': 0.45}
{'loss': 0.8708, 'grad_norm': 0.7326657772064209, 'learning_rate': 0.00028030175770810746, 'epoch': 0.46}
{'loss': 0.8758, 'grad_norm': 1.0158768892288208, 'learning_rate': 0.0002787746438006811, 'epoch': 0.46}
{'loss': 0.8646, 'grad_norm': 0.970942497253418, 'learning_rate': 0.00027724752989325476, 'epoch': 0.46}
{'loss': 0.8666, 'grad_norm': 0.7590320110321045, 'learning_rate': 0.0002757204159858284, 'epoch': 0.47}
{'loss': 0.847, 'grad_norm': 0.7558133006095886, 'learning_rate': 0.00027419330207840206, 'epoch': 0.47}
{'loss': 0.8645, 'grad_norm': 0.7994266748428345, 'learning_rate': 0.0002726661881709757, 'epoch': 0.47}
{'loss': 0.8749, 'grad_norm': 1.1659806966781616, 'learning_rate': 0.00027113907426354935, 'epoch': 0.47}
{'loss': 0.8505, 'grad_norm': 0.909113883972168, 'learning_rate': 0.00026961196035612297, 'epoch': 0.48}
{'loss': 0.8726, 'grad_norm': 0.7943546772003174, 'learning_rate': 0.00026808484644869665, 'epoch': 0.48}
{'loss': 0.847, 'grad_norm': 0.6067540049552917, 'learning_rate': 0.00026655773254127027, 'epoch': 0.48}
{'loss': 0.8507, 'grad_norm': 0.8063498735427856, 'learning_rate': 0.00026503061863384394, 'epoch': 0.49}
{'loss': 0.8462, 'grad_norm': 0.8099154233932495, 'learning_rate': 0.00026350350472641756, 'epoch': 0.49}
{'loss': 0.8374, 'grad_norm': 0.5959171056747437, 'learning_rate': 0.00026197639081899124, 'epoch': 0.49}
{'loss': 0.8524, 'grad_norm': 0.7585708498954773, 'learning_rate': 0.00026044927691156486, 'epoch': 0.49}
{'loss': 0.8445, 'grad_norm': 0.7503898739814758, 'learning_rate': 0.00025892216300413853, 'epoch': 0.5}
{'loss': 0.8429, 'grad_norm': 0.9447136521339417, 'learning_rate': 0.00025739504909671215, 'epoch': 0.5}
{'loss': 0.8198, 'grad_norm': 1.0212852954864502, 'learning_rate': 0.0002558679351892858, 'epoch': 0.5}
{'loss': 0.8391, 'grad_norm': 0.9099057912826538, 'learning_rate': 0.00025434082128185945, 'epoch': 0.51}
{'loss': 0.8494, 'grad_norm': 0.7289407849311829, 'learning_rate': 0.00025281370737443307, 'epoch': 0.51}
{'loss': 0.844, 'grad_norm': 0.8621858358383179, 'learning_rate': 0.00025128659346700674, 'epoch': 0.51}
{'loss': 0.8407, 'grad_norm': 0.7449899315834045, 'learning_rate': 0.00024975947955958037, 'epoch': 0.52}
{'loss': 0.8216, 'grad_norm': 0.7991713285446167, 'learning_rate': 0.000248232365652154, 'epoch': 0.52}
{'eval_loss': 0.8366028666496277, 'eval_runtime': 1951.1819, 'eval_samples_per_second': 61.509, 'eval_steps_per_second': 3.844, 'epoch': 0.52}
{'loss': 0.8372, 'grad_norm': 0.8398895859718323, 'learning_rate': 0.0002467052517447276, 'epoch': 0.52}
{'loss': 0.8277, 'grad_norm': 0.7861682176589966, 'learning_rate': 0.0002451781378373013, 'epoch': 0.52}
{'loss': 0.81, 'grad_norm': 0.619975209236145, 'learning_rate': 0.00024365102392987493, 'epoch': 0.53}
{'loss': 0.829, 'grad_norm': 1.1479049921035767, 'learning_rate': 0.00024212391002244858, 'epoch': 0.53}
{'loss': 0.8434, 'grad_norm': 1.175234317779541, 'learning_rate': 0.00024059679611502222, 'epoch': 0.53}
{'loss': 0.8181, 'grad_norm': 0.7344660758972168, 'learning_rate': 0.00023906968220759587, 'epoch': 0.54}
{'loss': 0.8347, 'grad_norm': 0.7843818664550781, 'learning_rate': 0.00023754256830016952, 'epoch': 0.54}
{'loss': 0.8332, 'grad_norm': 0.7721716165542603, 'learning_rate': 0.00023601545439274317, 'epoch': 0.54}
{'loss': 0.8265, 'grad_norm': 0.6587583422660828, 'learning_rate': 0.00023448834048531682, 'epoch': 0.55}
{'loss': 0.8328, 'grad_norm': 0.5874495506286621, 'learning_rate': 0.00023296122657789046, 'epoch': 0.55}
{'loss': 0.8137, 'grad_norm': 0.7856174111366272, 'learning_rate': 0.0002314341126704641, 'epoch': 0.55}
{'loss': 0.8122, 'grad_norm': 0.7492685914039612, 'learning_rate': 0.00022990699876303776, 'epoch': 0.55}
{'loss': 0.8104, 'grad_norm': 0.7005335688591003, 'learning_rate': 0.0002283798848556114, 'epoch': 0.56}
{'loss': 0.7959, 'grad_norm': 0.6785234808921814, 'learning_rate': 0.00022685277094818503, 'epoch': 0.56}
{'loss': 0.8213, 'grad_norm': 0.6766274571418762, 'learning_rate': 0.00022532565704075868, 'epoch': 0.56}
{'loss': 0.8041, 'grad_norm': 0.7487271428108215, 'learning_rate': 0.00022379854313333232, 'epoch': 0.57}
{'loss': 0.8151, 'grad_norm': 0.7078477144241333, 'learning_rate': 0.00022227142922590597, 'epoch': 0.57}
{'loss': 0.8241, 'grad_norm': 0.6313979029655457, 'learning_rate': 0.0002207443153184796, 'epoch': 0.57}
{'loss': 0.8007, 'grad_norm': 0.8470695614814758, 'learning_rate': 0.00021921720141105324, 'epoch': 0.57}
{'loss': 0.7957, 'grad_norm': 0.7770642042160034, 'learning_rate': 0.0002176900875036269, 'epoch': 0.58}
{'loss': 0.8063, 'grad_norm': 0.7380073666572571, 'learning_rate': 0.00021616297359620053, 'epoch': 0.58}
{'loss': 0.8048, 'grad_norm': 0.8151660561561584, 'learning_rate': 0.00021463585968877418, 'epoch': 0.58}
{'loss': 0.8103, 'grad_norm': 0.740604817867279, 'learning_rate': 0.00021310874578134783, 'epoch': 0.59}
{'loss': 0.8053, 'grad_norm': 1.0372763872146606, 'learning_rate': 0.00021158163187392148, 'epoch': 0.59}
{'loss': 0.7919, 'grad_norm': 0.9137498140335083, 'learning_rate': 0.00021005451796649513, 'epoch': 0.59}
{'eval_loss': 0.7994819283485413, 'eval_runtime': 1950.681, 'eval_samples_per_second': 61.525, 'eval_steps_per_second': 3.845, 'epoch': 0.59}
{'loss': 0.8078, 'grad_norm': 1.2467830181121826, 'learning_rate': 0.00020852740405906877, 'epoch': 0.6}
{'loss': 0.8018, 'grad_norm': 0.8178420066833496, 'learning_rate': 0.00020700029015164242, 'epoch': 0.6}
{'loss': 0.7961, 'grad_norm': 0.6629436016082764, 'learning_rate': 0.00020547317624421604, 'epoch': 0.6}
{'loss': 0.8025, 'grad_norm': 0.6818265914916992, 'learning_rate': 0.0002039460623367897, 'epoch': 0.6}
{'loss': 0.7976, 'grad_norm': 0.8894730806350708, 'learning_rate': 0.00020241894842936334, 'epoch': 0.61}
{'loss': 0.7894, 'grad_norm': 0.8033319115638733, 'learning_rate': 0.00020089183452193699, 'epoch': 0.61}
{'loss': 0.7892, 'grad_norm': 0.7503067255020142, 'learning_rate': 0.00019936472061451063, 'epoch': 0.61}
{'loss': 0.7681, 'grad_norm': 0.7414132356643677, 'learning_rate': 0.00019783760670708428, 'epoch': 0.62}
{'loss': 0.7885, 'grad_norm': 0.9176585674285889, 'learning_rate': 0.00019631049279965793, 'epoch': 0.62}
{'loss': 0.7811, 'grad_norm': 0.7658310532569885, 'learning_rate': 0.00019478337889223158, 'epoch': 0.62}
{'loss': 0.7926, 'grad_norm': 1.4811164140701294, 'learning_rate': 0.00019325626498480522, 'epoch': 0.63}
{'loss': 0.7698, 'grad_norm': 0.7250633835792542, 'learning_rate': 0.00019172915107737887, 'epoch': 0.63}
{'loss': 0.7682, 'grad_norm': 0.7625973224639893, 'learning_rate': 0.00019020203716995252, 'epoch': 0.63}
{'loss': 0.8005, 'grad_norm': 0.7270976305007935, 'learning_rate': 0.00018867492326252617, 'epoch': 0.63}
{'loss': 0.7778, 'grad_norm': 0.6842037439346313, 'learning_rate': 0.00018714780935509982, 'epoch': 0.64}
{'loss': 0.7885, 'grad_norm': 0.8367183804512024, 'learning_rate': 0.00018562069544767344, 'epoch': 0.64}
{'loss': 0.7909, 'grad_norm': 0.8180488348007202, 'learning_rate': 0.00018409358154024708, 'epoch': 0.64}
{'loss': 0.7726, 'grad_norm': 0.9325332641601562, 'learning_rate': 0.00018256646763282073, 'epoch': 0.65}
{'loss': 0.7758, 'grad_norm': 0.8655913472175598, 'learning_rate': 0.00018103935372539438, 'epoch': 0.65}
{'loss': 0.7849, 'grad_norm': 0.8343310952186584, 'learning_rate': 0.00017951223981796803, 'epoch': 0.65}
{'loss': 0.7761, 'grad_norm': 0.6303175687789917, 'learning_rate': 0.00017798512591054167, 'epoch': 0.65}
{'loss': 0.7673, 'grad_norm': 0.8344900608062744, 'learning_rate': 0.00017645801200311532, 'epoch': 0.66}
{'loss': 0.7722, 'grad_norm': 0.6518169045448303, 'learning_rate': 0.00017493089809568897, 'epoch': 0.66}
{'loss': 0.7752, 'grad_norm': 0.6851385235786438, 'learning_rate': 0.00017340378418826262, 'epoch': 0.66}
{'loss': 0.756, 'grad_norm': 0.5652550458908081, 'learning_rate': 0.00017187667028083627, 'epoch': 0.67}
{'eval_loss': 0.7672787308692932, 'eval_runtime': 1952.6553, 'eval_samples_per_second': 61.462, 'eval_steps_per_second': 3.841, 'epoch': 0.67}
{'loss': 0.7427, 'grad_norm': 0.5997459292411804, 'learning_rate': 0.0001703495563734099, 'epoch': 0.67}
{'loss': 0.7832, 'grad_norm': 0.6718577146530151, 'learning_rate': 0.00016882244246598356, 'epoch': 0.67}
{'loss': 0.7626, 'grad_norm': 0.5617042183876038, 'learning_rate': 0.0001672953285585572, 'epoch': 0.68}
{'loss': 0.764, 'grad_norm': 0.7839145064353943, 'learning_rate': 0.00016576821465113086, 'epoch': 0.68}
{'loss': 0.7716, 'grad_norm': 0.8427501320838928, 'learning_rate': 0.00016424110074370445, 'epoch': 0.68}
{'loss': 0.758, 'grad_norm': 0.6203338503837585, 'learning_rate': 0.0001627139868362781, 'epoch': 0.68}
{'loss': 0.7547, 'grad_norm': 0.700105607509613, 'learning_rate': 0.00016118687292885175, 'epoch': 0.69}
{'loss': 0.778, 'grad_norm': 0.7021758556365967, 'learning_rate': 0.0001596597590214254, 'epoch': 0.69}
{'loss': 0.7647, 'grad_norm': 0.7061144113540649, 'learning_rate': 0.00015813264511399904, 'epoch': 0.69}
{'loss': 0.7481, 'grad_norm': 1.1931815147399902, 'learning_rate': 0.0001566055312065727, 'epoch': 0.7}
{'loss': 0.7653, 'grad_norm': 0.7578601241111755, 'learning_rate': 0.00015507841729914634, 'epoch': 0.7}
{'loss': 5.1409, 'grad_norm': 3.251786947250366, 'learning_rate': 0.00015355130339171998, 'epoch': 0.7}
{'loss': 7.6368, 'grad_norm': 0.9753440618515015, 'learning_rate': 0.00015202418948429363, 'epoch': 0.71}
{'loss': 0.7752, 'grad_norm': 0.5558459758758545, 'learning_rate': 0.00015049707557686728, 'epoch': 0.71}
{'loss': 0.7531, 'grad_norm': 0.6859638690948486, 'learning_rate': 0.00014896996166944093, 'epoch': 0.71}
{'loss': 0.754, 'grad_norm': 0.6924189925193787, 'learning_rate': 0.00014744284776201458, 'epoch': 0.71}
{'loss': 0.7591, 'grad_norm': 0.8159561157226562, 'learning_rate': 0.00014591573385458822, 'epoch': 0.72}
{'loss': 0.7627, 'grad_norm': 0.979657769203186, 'learning_rate': 0.00014438861994716187, 'epoch': 0.72}
{'loss': 0.746, 'grad_norm': 0.6127135157585144, 'learning_rate': 0.0001428615060397355, 'epoch': 0.72}
{'loss': 0.7249, 'grad_norm': 0.6039910316467285, 'learning_rate': 0.00014133439213230914, 'epoch': 0.73}
{'loss': 0.7364, 'grad_norm': 0.7422240972518921, 'learning_rate': 0.0001398072782248828, 'epoch': 0.73}
{'loss': 0.7676, 'grad_norm': 0.6304046511650085, 'learning_rate': 0.00013828016431745644, 'epoch': 0.73}
{'loss': 0.7368, 'grad_norm': 0.6475726962089539, 'learning_rate': 0.00013675305041003008, 'epoch': 0.73}
{'loss': 0.7543, 'grad_norm': 0.792453944683075, 'learning_rate': 0.00013522593650260373, 'epoch': 0.74}
{'loss': 0.7258, 'grad_norm': 0.8555119037628174, 'learning_rate': 0.00013369882259517738, 'epoch': 0.74}
{'eval_loss': 0.7402225136756897, 'eval_runtime': 1946.6041, 'eval_samples_per_second': 61.654, 'eval_steps_per_second': 3.853, 'epoch': 0.74}
{'loss': 0.7641, 'grad_norm': 0.6320087313652039, 'learning_rate': 0.00013217170868775103, 'epoch': 0.74}
{'loss': 0.7331, 'grad_norm': 0.7730384469032288, 'learning_rate': 0.00013064459478032467, 'epoch': 0.75}
{'loss': 0.7376, 'grad_norm': 1.0550119876861572, 'learning_rate': 0.00012911748087289832, 'epoch': 0.75}
{'loss': 0.7284, 'grad_norm': 0.6494659185409546, 'learning_rate': 0.00012759036696547197, 'epoch': 0.75}
{'loss': 0.7354, 'grad_norm': 0.7803389430046082, 'learning_rate': 0.00012606325305804562, 'epoch': 0.76}
{'loss': 0.7398, 'grad_norm': 0.5885416269302368, 'learning_rate': 0.00012453613915061924, 'epoch': 0.76}
{'loss': 0.7473, 'grad_norm': 0.9421162605285645, 'learning_rate': 0.00012300902524319289, 'epoch': 0.76}
{'loss': 0.7163, 'grad_norm': 0.6738815903663635, 'learning_rate': 0.00012148191133576653, 'epoch': 0.76}
{'loss': 0.7397, 'grad_norm': 0.8261429667472839, 'learning_rate': 0.00011995479742834018, 'epoch': 0.77}
{'loss': 0.7185, 'grad_norm': 0.8127503991127014, 'learning_rate': 0.00011842768352091383, 'epoch': 0.77}
{'loss': 0.7285, 'grad_norm': 0.8127832412719727, 'learning_rate': 0.00011690056961348746, 'epoch': 0.77}
{'loss': 0.7331, 'grad_norm': 0.8559761047363281, 'learning_rate': 0.00011537345570606111, 'epoch': 0.78}
{'loss': 0.7121, 'grad_norm': 0.6798668503761292, 'learning_rate': 0.00011384634179863476, 'epoch': 0.78}
{'loss': 0.7209, 'grad_norm': 0.815052330493927, 'learning_rate': 0.0001123192278912084, 'epoch': 0.78}
{'loss': 0.7315, 'grad_norm': 0.771504819393158, 'learning_rate': 0.00011079211398378205, 'epoch': 0.79}
{'loss': 0.7312, 'grad_norm': 0.8412771821022034, 'learning_rate': 0.0001092650000763557, 'epoch': 0.79}
{'loss': 0.7132, 'grad_norm': 0.6551869511604309, 'learning_rate': 0.00010773788616892934, 'epoch': 0.79}
{'loss': 0.7203, 'grad_norm': 0.6637396216392517, 'learning_rate': 0.00010621077226150298, 'epoch': 0.79}
{'loss': 0.7179, 'grad_norm': 0.7881588935852051, 'learning_rate': 0.00010468365835407663, 'epoch': 0.8}
{'loss': 0.7045, 'grad_norm': 0.8531120419502258, 'learning_rate': 0.00010315654444665028, 'epoch': 0.8}
{'loss': 0.7314, 'grad_norm': 0.571255087852478, 'learning_rate': 0.00010162943053922393, 'epoch': 0.8}
{'loss': 0.7284, 'grad_norm': 0.6197315454483032, 'learning_rate': 0.00010010231663179757, 'epoch': 0.81}
{'loss': 0.7138, 'grad_norm': 0.6433258056640625, 'learning_rate': 9.857520272437122e-05, 'epoch': 0.81}
{'loss': 0.7163, 'grad_norm': 0.5362669229507446, 'learning_rate': 9.704808881694486e-05, 'epoch': 0.81}
{'loss': 0.7263, 'grad_norm': 0.7415969967842102, 'learning_rate': 9.55209749095185e-05, 'epoch': 0.81}
{'eval_loss': 0.7167780995368958, 'eval_runtime': 1956.7835, 'eval_samples_per_second': 61.333, 'eval_steps_per_second': 3.833, 'epoch': 0.81}
{'loss': 0.7029, 'grad_norm': 0.9031645059585571, 'learning_rate': 9.399386100209215e-05, 'epoch': 0.82}
{'loss': 0.7373, 'grad_norm': 0.9972639679908752, 'learning_rate': 9.246674709466579e-05, 'epoch': 0.82}
{'loss': 0.7093, 'grad_norm': 0.6665236353874207, 'learning_rate': 9.093963318723943e-05, 'epoch': 0.82}
{'loss': 0.7135, 'grad_norm': 0.8924069404602051, 'learning_rate': 8.941251927981308e-05, 'epoch': 0.83}
{'loss': 0.7127, 'grad_norm': 0.753237783908844, 'learning_rate': 8.788540537238673e-05, 'epoch': 0.83}
{'loss': 0.7246, 'grad_norm': 0.6772266626358032, 'learning_rate': 8.635829146496036e-05, 'epoch': 0.83}
{'loss': 0.7136, 'grad_norm': 0.8927413821220398, 'learning_rate': 8.483117755753401e-05, 'epoch': 0.84}
{'loss': 0.7172, 'grad_norm': 0.5989747047424316, 'learning_rate': 8.330406365010766e-05, 'epoch': 0.84}
{'loss': 0.731, 'grad_norm': 0.5840961933135986, 'learning_rate': 8.177694974268131e-05, 'epoch': 0.84}
{'loss': 0.7237, 'grad_norm': 0.5218879580497742, 'learning_rate': 8.024983583525496e-05, 'epoch': 0.84}
{'loss': 0.6914, 'grad_norm': 0.7910071015357971, 'learning_rate': 7.87227219278286e-05, 'epoch': 0.85}
{'loss': 0.7141, 'grad_norm': 0.5908867120742798, 'learning_rate': 7.719560802040225e-05, 'epoch': 0.85}
{'loss': 0.698, 'grad_norm': 0.6137605905532837, 'learning_rate': 7.566849411297588e-05, 'epoch': 0.85}
{'loss': 0.7046, 'grad_norm': 0.7376453280448914, 'learning_rate': 7.414138020554953e-05, 'epoch': 0.86}
{'loss': 0.6982, 'grad_norm': 0.9694022536277771, 'learning_rate': 7.261426629812318e-05, 'epoch': 0.86}
{'loss': 0.6988, 'grad_norm': 0.6900585889816284, 'learning_rate': 7.108715239069683e-05, 'epoch': 0.86}
{'loss': 0.6981, 'grad_norm': 0.7514756321907043, 'learning_rate': 6.956003848327048e-05, 'epoch': 0.87}
{'loss': 0.6988, 'grad_norm': 0.7674206495285034, 'learning_rate': 6.803292457584412e-05, 'epoch': 0.87}
{'loss': 0.7021, 'grad_norm': 0.627799391746521, 'learning_rate': 6.650581066841777e-05, 'epoch': 0.87}
{'loss': 0.701, 'grad_norm': 0.7179816961288452, 'learning_rate': 6.497869676099139e-05, 'epoch': 0.87}
{'loss': 0.7073, 'grad_norm': 0.8053346276283264, 'learning_rate': 6.345158285356504e-05, 'epoch': 0.88}
{'loss': 0.6909, 'grad_norm': 0.539218008518219, 'learning_rate': 6.192446894613869e-05, 'epoch': 0.88}
{'loss': 0.6964, 'grad_norm': 0.8857277631759644, 'learning_rate': 6.039735503871234e-05, 'epoch': 0.88}
{'loss': 0.7191, 'grad_norm': 1.0188195705413818, 'learning_rate': 5.887024113128599e-05, 'epoch': 0.89}
{'loss': 0.6911, 'grad_norm': 0.6373711824417114, 'learning_rate': 5.7343127223859624e-05, 'epoch': 0.89}
{'eval_loss': 0.6963518261909485, 'eval_runtime': 1952.8331, 'eval_samples_per_second': 61.457, 'eval_steps_per_second': 3.841, 'epoch': 0.89}
{'loss': 0.6861, 'grad_norm': 0.7424456477165222, 'learning_rate': 5.581601331643327e-05, 'epoch': 0.89}
{'loss': 0.6804, 'grad_norm': 0.6351718306541443, 'learning_rate': 5.428889940900692e-05, 'epoch': 0.89}
{'loss': 0.7155, 'grad_norm': 0.6056322455406189, 'learning_rate': 5.276178550158056e-05, 'epoch': 0.9}
{'loss': 0.6922, 'grad_norm': 0.6847458481788635, 'learning_rate': 5.123467159415421e-05, 'epoch': 0.9}
{'loss': 0.6871, 'grad_norm': 0.6563594937324524, 'learning_rate': 4.9707557686727856e-05, 'epoch': 0.9}
{'loss': 0.6955, 'grad_norm': 0.6335992217063904, 'learning_rate': 4.81804437793015e-05, 'epoch': 0.91}
{'loss': 0.6852, 'grad_norm': 0.8066267371177673, 'learning_rate': 4.6653329871875145e-05, 'epoch': 0.91}
{'loss': 0.6893, 'grad_norm': 0.6567937135696411, 'learning_rate': 4.512621596444879e-05, 'epoch': 0.91}
{'loss': 0.6813, 'grad_norm': 0.6523751616477966, 'learning_rate': 4.3599102057022434e-05, 'epoch': 0.92}
{'loss': 0.6698, 'grad_norm': 0.5852751731872559, 'learning_rate': 4.2071988149596075e-05, 'epoch': 0.92}
{'loss': 0.6921, 'grad_norm': 0.75641268491745, 'learning_rate': 4.054487424216972e-05, 'epoch': 0.92}
{'loss': 0.6937, 'grad_norm': 0.8274210095405579, 'learning_rate': 3.901776033474337e-05, 'epoch': 0.92}
{'loss': 0.6878, 'grad_norm': 0.7789375185966492, 'learning_rate': 3.749064642731701e-05, 'epoch': 0.93}
{'loss': 0.685, 'grad_norm': 0.6653401851654053, 'learning_rate': 3.596353251989066e-05, 'epoch': 0.93}
{'loss': 0.6935, 'grad_norm': 0.6370682716369629, 'learning_rate': 3.443641861246431e-05, 'epoch': 0.93}
{'loss': 0.7101, 'grad_norm': 1.1224191188812256, 'learning_rate': 3.2909304705037954e-05, 'epoch': 0.94}
{'loss': 0.6938, 'grad_norm': 0.9496079683303833, 'learning_rate': 3.1382190797611595e-05, 'epoch': 0.94}
{'loss': 0.6796, 'grad_norm': 0.6836010813713074, 'learning_rate': 2.985507689018524e-05, 'epoch': 0.94}
{'loss': 0.6847, 'grad_norm': 0.7772054672241211, 'learning_rate': 2.8327962982758884e-05, 'epoch': 0.95}
'epoch': 0.98}                                                                          5, 'epoch': 0.97
{'loss': 0.6637, 'grad_norm': 0.7412653565406799, 'learning_rate': 6.948368278789915e-06                }, 'epoch': 0.99}                                                                        , 'epoch': 0.98}
{'loss': 0.6982, 'grad_norm': 0.8023248910903931, 'learning_rate': 5.42125437136356e-06,                } 'epoch': 0.99}                                                                          'epoch': 0.98} 
{'loss': 0.6602, 'grad_norm': 0.7162567377090454, 'learning_rate': 3.894140463937205e-06'epoch': 0.98}  }, 'epoch': 0.99}                                                                        , 'epoch': 0.99}ps_per_second': 3.801, 'epoch': 0.96}
{'loss': 0.6793, 'grad_norm': 0.6918164491653442, 'learning_rate': 2.36702655651085e-06,                } 'epoch': 1.0}                                                                           'epoch': 0.99} 
{'loss': 0.6849, 'grad_norm': 0.9163804650306702, 'learning_rate': 8.399126490844952e-07, 'epoch': 0.99}, 'epoch': 1.0}                                                                                         }
100%|███████████████████████████████████████████████████████████████████████████████████ 'epoch': 1.0}  ██████████████████████████████████████████████████████████████████| 67509/67509 [20:51:4, 'epoch': 1.0} 6<00:00,  1.27it/s]There were missing keys in the checkpoint model loaded: ['encoder.emb████████████████ed_tokens.weight', 'decoder.embed_tokens.weight', 'lm_head.weight'].                    /s]There were mi
{'train_runtime': 75130.7806, 'train_samples_per_second': 14.377, 'train_steps_per_second_tokens.weight'd': 0.899, 'train_loss': 1.147833806824346, 'epoch': 1.0}
100%|███████████████████████████████████████████████████████████████████████████████████d': 0.899, 'trai██████████████████████████████████████████████████████████████████| 67509/67509 [20:52:10<00:00,  1.11s/it]                                                                     ██████████████████████████████████████████████████████████████████| 67509/67509 [20:51:46<00:00,  1.27it/s]There were missing keys in the checkpoint model l
100%|███████████████████████████████████████████████████████████████████████████████████it]███████████████████████████████████████████████████████████████████████| 9377/9377 [40:5████████████████n_loss': 1.147833806824346, 'epoch': 1.0}9<00:00,  3.81it/s]                                                                     /s]             ██████████████████████████████████████████████████| 67509/67509 [20:52:10<00:00,  1.11s/it]
Test metrics: {'test_loss': 0.6804903149604797, 'test_runtime': 2460.155, 'test_samples_per_second': 60.███████████████████████████████████████████████████████| 9377/9377 [40:59<00:00,  3.81it/s]per_second': 60.979, 'test_steps_per_second': 3.812, 'epoch': 1.0}