Language Models from Scratch
Problem: researchers are becoming disconnected from the underlying technology.
Building small language models might not be representative of large language models

“작은 모델에서 관찰한 특성이 큰 모델에서도 동일하다고 가정할 수 없다.”
작은 모델(760M) FLOPs 비율
- MHA 35%, FFN 44% 큰 모델(175B) FLOPs 비율
- MHA 17%, FFN 80%
모델의 Scale 변화에 따른 모델의 계산 특성 변화가 일어날 수 있다. 즉 FLOPS 구성 변화에 따른 계산/메모리/하드에어 특성 변화가 있을 수 있고, 이는 병목 및 최적화 포인트의 변화 가능성이다.

Scale 증가에 따른 모델의 task 성능/행동 변화
It’s all about efficiency
How do you train the best model given a fixed set of resources?
Resources
- Data
- Compute
- Memory
- Communication bandwidth
현재는 compute-constrained이므로, 제한된 Hardware에서 최대한의 성능을 얻는 방향으로 설계한다.

Efficiency drives design decisions
- Data processing → 나쁜/불필요한 데이터에 Compute 낭비하지 않기
- Tokenization → sequence length를 줄여 Compute 효율 향상
- Model architecture → Memory/FLOPs 감소
- Training → 제한된 Compute를 효율적으로 사용
- Scaling laws → 작은 모델로 Hyperparameter 탐색
- Alignment → 원하는 목적에 맞게 모델을 조정하여 필요한 Base Model 규모 감소
Course Overview
systems() scaling_laws() data() alignment()