Lensa ML

Scaling Laws

Langkah 1 dari 6: Power Law

Garis lurus di sumbu log-log

Eksponen α0.076
Eksponen Kaplan:
0.010.11101M10M100M1B10B100B1T10× parameter×0.839Parameter N (skala log)L = 4.0 · (N / 1M)^−0.076ilustratif: loss 4,0 di 1M parameter
Kemiringan log-log
−0.076
Loss per 10× parameter
×0.839
Parameter agar loss separuh
9139×
Loss di 1T parameter
1.40

Setiap 10× parameter mengalikan loss dengan 0,839, turun 16,1%. Memangkas loss separuh butuh model 9139× lebih besar, itu sebabnya kenaikan di model bahasa harganya berorde-orde lebih mahal.

Geser Eksponen α, lalu klik tiga eksponen Kaplan untuk membandingkan ukuran model, data, dan komputasi. Kaplan et al. (2020) mengukur kemiringan ini pada model bahasa transformer dan menemukan tren yang bertahan di lebih dari tujuh orde magnitudo, dari model mungil sampai miliaran parameter. Bentuknya, L(N) = (N_c / N)^α, tidak punya konstanta, jadi loss diprediksi terus turun menuju nol. Fit yang lebih baru menambahkan suku irreducible E, yaitu entropy teks itu sendiri, yang membuat garisnya mendatar pada skala sangat besar.

Langkah 2 dari 6: Komputasi Training

C ≈ 6ND operasi floating-point

Parameter N6.74B
Token training D2.00T
1B10B100B1T10T10M100M1B10B100B1TC=10¹⁸C=10²⁰C=10²²C=10²⁴C=10²⁶8.1×10²² FLOPsParameter NToken DC = 6 × 6.74B × 2.00T = 8.1×10²² FLOPs
Komputasi training
8.1×10²²
Token per parameter
297
Hari-A100
7501
Hari di 1.000 GPU
7.50

Model chat 7B dengan 2T token menghabiskan 8,1×10²² FLOPs: 7501 GPU-hari pada 125 TFLOP/s per GPU (ilustratif), atau 7,5 hari di 1.000 GPU.

Geser Parameter N dan Token training D, atau klik preset 7B, lalu lihat titiknya melintasi garis putus-putus berbiaya sama. Faktor 6 menghitung satu perkalian dan satu penjumlahan per parameter per token di forward pass, lalu sekitar dua kali itu di backward pass. Aturan ini mengabaikan attention atas konteks, yang kecil ketika lebar model jauh lebih besar daripada panjang sequence. Paper Llama 2 melaporkan 184.320 GPU-jam A100 untuk model 7B-nya, sekitar 7.700 GPU-hari, dekat dengan estimasi ini.

Langkah 3 dari 6: Fit Chinchilla

Loss dari parameter dan token

Parameter N6.74B
Token training D2.00T
23451B10B100B1T10TE = 1.69, irreducible lossbatas bawah 6.74B parameter: 1.875L = 2.023Token training D (skala log)Loss (nats/token)Loss = E + A/N^0.34 + B/D^0.281.69= 2.0205
Prediksi loss
2.023
Irreducible E
1.69
Suku model
0.185
Suku data
0.148

Kedua suku berdekatan (0,185 untuk ukuran, 0,148 untuk data), jadi tidak ada yang dominan. Loss bernilai 2,023, yaitu 0,333 di atas irreducible loss 1,69.

Atur Parameter N, lalu sapu Token training D dan lihat loss mendekati batas bawah untuk ukuran itu. Hoffmann et al. melatih lebih dari 400 model, dari 70 juta sampai lebih dari 16B parameter dengan 5B sampai 500B token, lalu mencocokkan rumus tiga suku ini ke loss akhirnya. Loss dinyatakan dalam nats per token pada teks training mereka, jadi angkanya tidak berlaku untuk dataset atau tokenizer lain. Pindah ke Refit 2024 untuk melihat himpunan konstanta lain yang dicocokkan ke data yang sama.

Langkah 4 dari 6: Model Compute-Optimal

Ukuran terbaik untuk anggaran tetap

Anggaran komputasi C (FLOPs)1.0×10²³
1.92.32.73.110M100M1B10B100B1T10T14.6B parameter, 1.14T tokenParameter N (token D = C / 6N turun saat N naik)Loss
Parameter optimal
14.6B
Token optimal
1.14T
Token per parameter
78.2
Loss terendah
2.005

Pada 1,0×10²³ FLOPs, fit yang tercetak di paper menempatkan optimum di 14,6B parameter dan 78 token per parameter, dan rasionya naik seiring C karena α ≠ β. Chinchilla sendiri dilatih pada 20; refit 2024 atas data yang sama mendarat jauh lebih dekat ke angka itu.

Geser Anggaran komputasi C dan lihat dasar mangkuk bergeser ke kanan seiring anggaran naik. Menyamakan turunan E + A/N^α + B/(C/6N)^β dengan nol menghasilkan N_opt ∝ C^(β/(α+β)) dan D_opt ∝ C^(α/(α+β)). Dua metode lain dari Hoffmann sama-sama menemukan eksponen sekitar 0,5, artinya parameter dan token sebaiknya tumbuh seimbang. Chinchilla, dengan 70B parameter dan 1,4T token, memakai komputasi yang sama dengan Gopher 280B dan mengunggulinya di sebagian besar benchmark. Konstanta yang tercetak tidak sejalan dengan metode-metode itu; Besiroglu et al. (2024) mencocokkan ulang dan mendapatkan rasio sekitar 20.

Langkah 5 dari 6: Over-Training

Habiskan komputasi training untuk menghemat saat serving

Token untuk model 7B2.00T
1.92.12.32.52.710²¹10²²10²³10²⁴frontier compute-optimalmodel 7B, token bertambah →297 tok/paramKomputasi training C (FLOPs)Loss
Token per parameter
297
Tambahan loss dibanding optimal
0.007
Model optimal, loss sama
12.4B
Tambahan komputasi, loss sama
1.15×

Pada 297 token per parameter, model 7B menghabiskan komputasi 1,15× dari yang dibutuhkan model compute-optimal 12,4B untuk loss yang sama. Sebagai gantinya, ukurannya 1,84× lebih kecil, jadi setiap token yang dihasilkan butuh FLOPs 1,84× lebih sedikit saat serving.

Geser Token untuk model 7B dari sekitar 32B sampai 20T dan bandingkan jalur merah muda dengan frontier hijau limau. Menghasilkan satu token butuh sekitar 2N FLOPs, jadi model yang akan melayani triliunan token terus menanggung ukurannya setelah training selesai. Paper LLaMA yang asli memakai argumen ini untuk melatih model kecil jauh melewati titik compute-optimal. Llama 2 7B melihat 2T token, sekitar 300 per parameter, dan Llama 3 8B melihat sekitar 15T, hampir 1.900 per parameter, dengan loss yang masih turun.

Langkah 6 dari 6: Yang Luput dari Scaling Laws

Data berulang, perbedaan hasil, kemampuan mendadak

Epoch pada data yang sama4
0U5U10U15U20U110203040jika setiap token baruplafon 16.4UEpoch (U = token unik yang tersedia)
Token terlihat
4U
Token efektif
3.73U
Nilai epoch berikutnya
82%

4 epoch menghasilkan 3,73U token efektif dari 4U yang terlihat, 93% dari nilai data baru. Hukum bergaya Chinchilla mengasumsikan setiap token baru.

Klik tiap tab: Data berulang, Kaplan vs Chinchilla, dan Kemampuan mendadak, lalu geser slider-nya. Muennighoff et al. (2023) menemukan bahwa data yang diulang sampai sekitar 4 epoch hampir sebagus data baru; kurvanya memakai konstanta hasil fit mereka, R ≈ 15,4. Aturan Kaplan dan Chinchilla berbeda antara lain karena run Kaplan memakai satu jadwal learning rate untuk semua panjang run dan modelnya lebih kecil. Hukum loss* juga tidak mengatakan apa pun soal kualitas data: teks yang disaring atau sintetis bisa menggeser seluruh kurva ke bawah.

Apa itu scaling laws dalam machine learning?

Scaling laws adalah rumus empiris yang memprediksi loss model dari ukurannya, data training-nya, dan komputasi yang dihabiskan. Pada model bahasa, loss turun mengikuti power law terhadap masing-masing faktor itu, jadi grafik di sumbu log-log nyaris berupa garis lurus sepanjang banyak orde magnitudo. Hukum yang di-fit pada run kecil dan murah lalu bisa memperkirakan loss run yang 1.000 kali lebih besar.

Lab memakai scaling laws untuk merencanakan training run sebelum menghabiskan komputasi. Mereka menentukan berapa parameter yang pantas untuk anggaran GPU tertentu, berapa token yang perlu dikumpulkan, dan apakah arsitektur atau campuran data baru layak diperbesar. Paper Chinchilla tahun 2022 memakainya untuk menunjukkan bahwa sebagian besar model besar saat itu terlalu besar untuk datanya, dan temuan ini mengubah cara model terbuka seperti Llama dilatih.

Ide utama

  • Loss model bahasa turun mengikuti power law terhadap parameter, data, dan komputasi, yang tampak sebagai garis lurus di sumbu log-log.
  • Training transformer padat menghabiskan sekitar 6 FLOPs per parameter per token, jadi C ≈ 6ND.
  • Fit Chinchilla membagi loss menjadi bagian irreducible, suku untuk ukuran model, dan suku untuk data.
  • Untuk anggaran komputasi tetap, model terbaik tumbuh kira-kira sebesar akar kuadrat komputasi, dekat 20 token per parameter.
  • Model untuk serving berat dilatih jauh melewati titik itu, karena model yang lebih kecil lebih murah di setiap token yang dihasilkan.
  • Scaling laws memprediksi loss, bukan kemampuan tertentu, dan mengasumsikan data baru dengan kualitas tetap.

Pertanyaan umum

Apa itu aturan Chinchilla 20 token per parameter?

Hoffmann et al. (2022) menemukan bahwa untuk anggaran training tetap, loss paling rendah saat model melihat sekitar 20 token per parameter. Chinchilla mengikutinya dengan 70B parameter dan 1,4T token, sekitar 5,9 × 10²³ FLOPs menurut C ≈ 6ND, dan mengungguli Gopher 280B, yang memakai komputasi serupa dengan 300B token. Aturan ini hanya soal komputasi training; Llama 2 7B melihat 2T token, sekitar 300 per parameter, karena model yang lebih kecil lebih murah saat serving.

Bagaimana scaling laws dipakai untuk merencanakan training run?

Tim melatih serangkaian model kecil dengan resep yang sama, mencocokkan power law ke loss akhirnya, lalu mengekstrapolasi ke anggaran yang direncanakan. Laporan teknis GPT-4 menjelaskan prediksi loss akhir dari model yang dilatih dengan komputasi 1.000 sampai 10.000 kali lebih sedikit. Fit yang sama membantu memilih ukuran model, jumlah token, dan learning rate sebelum run mahal dimulai.

Apa itu irreducible loss?

Bagian loss yang tidak hilang oleh ukuran model atau jumlah data berapa pun, yaitu suku E dalam rumus Chinchilla. Bagian ini mencerminkan keacakan teks itu sendiri: banyak token berikutnya tidak bisa diprediksi dari konteks. Nilainya bergantung pada dataset dan tokenizer, jadi E sebesar 1,69 nats per token hanya berlaku untuk data tempat nilai itu dicocokkan.

Apakah scaling laws berlaku di luar model bahasa?

Ya. Power law serupa sudah diukur untuk model gambar, video, suara, dan multimodal, juga untuk reinforcement learning. Eksponen dan konstantanya berbeda menurut domain dan arsitektur, jadi hukumnya harus dicocokkan ulang untuk tiap kasus, bukan disalin dari model bahasa.

Apakah scaling laws mencakup komputasi inference?

Hukum klasik hanya mencakup komputasi training. Riset yang lebih baru mempelajari dua pertukaran lain: melatih model lebih kecil lebih lama untuk menghemat biaya inference, dan menghabiskan lebih banyak komputasi saat menjawab, lewat penalaran lebih panjang atau banyak sampel jawaban, untuk menaikkan akurasi pada model yang tetap. Keduanya mengikuti kurva empirisnya sendiri.

Penjelasan terkait

Referensi

  1. Kaplan et al. (2020), "Scaling Laws for Neural Language Models"
  2. Hoffmann et al. (2022), "Training Compute-Optimal Large Language Models"
  3. Besiroglu et al. (2024), "Chinchilla Scaling: A replication attempt"
  4. Muennighoff et al. (2023), "Scaling Data-Constrained Language Models"
  5. Schaeffer et al. (2023), "Are Emergent Abilities of Large Language Models a Mirage?"

Terakhir diperbarui