LLM & NLP

Scaling laws và Chinchilla: vì sao model nhỏ ngày càng mạnh

Tóm tắt

Kaplan 2020 cho thấy lỗi giảm theo luật luỹ thừa khi tăng model, dữ liệu và compute. Chinchilla 2022 chỉ ra cần cân bằng tham số và dữ liệu; ngày nay model nhỏ được train rất kỹ để rẻ khi chạy, nên hãy chọn model bằng eval.

Vì sao các công ty AI đổ hàng tỷ USD vào GPU và dữ liệu? Vì có một quy luật đủ ổn định để lập kế hoạch: scaling laws. Tăng kích thước model, lượng dữ liệu và lượng tính toán thì lỗi của model giảm theo một đường có thể dự đoán. Hai nghiên cứu định hình cách cả ngành huấn luyện LLM là của OpenAI (Kaplan và cộng sự, 2020) và DeepMind với Chinchilla (Hoffmann và cộng sự, 2022). Chúng cho kết luận khác nhau, và điểm khác đó rất đáng giá.

Kaplan 2020: lỗi giảm theo luật luỹ thừa

  • Loss của language model giảm theo luật luỹ thừa (power law) theo số tham số, lượng dữ liệu và compute, trên nhiều bậc độ lớn.
  • Chi tiết kiến trúc như độ sâu hay độ rộng ảnh hưởng ít hơn nhiều so với quy mô tổng thể.
  • Model lớn hơn học hiệu quả hơn trên mỗi mẫu dữ liệu.
  • Kết luận thực tế lúc đó: với ngân sách compute cố định, nên train model rất lớn và dừng sớm trước khi hội tụ.

Chinchilla 2022: cân bằng tham số và dữ liệu

DeepMind huấn luyện hơn 400 model ở nhiều kích cỡ và thấy các model lớn thời đó bị thiếu dữ liệu. Để tối ưu compute, số tham số và số token huấn luyện nên tăng theo tỷ lệ ngang nhau.

ModelTham sốToken huấn luyện
Gopher280 tỷ300 tỷ
Chinchilla70 tỷ1,4 nghìn tỷ

Cùng ngân sách compute với Gopher, Chinchilla nhỏ hơn 4 lần nhưng train trên nhiều dữ liệu hơn, và vượt Gopher, GPT-3 (175 tỷ) lẫn Megatron-Turing NLG (530 tỷ) trên nhiều benchmark. Quy tắc ngón tay cái thường được trích từ kết quả này là khoảng 20 token cho mỗi tham số.

Sau Chinchilla: tối ưu cho lúc chạy

"Compute-optimal" chỉ tối ưu chi phí huấn luyện. Nhưng một model được gọi hàng tỷ lần, nên chi phí suy luận mới là phần lớn. Vì vậy nhiều model mở sau này cố ý train model nhỏ trên lượng token vượt xa tỷ lệ Chinchilla: tốn thêm compute lúc train để được một model nhỏ, rẻ và nhanh khi phục vụ.

Ý nghĩa với người dùng và người làm sản phẩm

  • Model nhỏ hiện đại không "yếu" như trước: được train trên nhiều dữ liệu hơn, chúng đủ tốt cho phân loại, trích xuất, tóm tắt.
  • Dữ liệu chất lượng cao là tài nguyên khan hiếm: đây là lý do các nhà cung cấp đầu tư vào dữ liệu tổng hợp và lọc dữ liệu.
  • Tiến bộ đến từ nhiều trục: ngoài tham số và dữ liệu, compute lúc suy luận (thinking, reasoning) cũng là một trục scaling mới.

Rủi ro khi hiểu sai

  • Loss thấp ≠ hữu ích hơn ở mọi việc: scaling laws dự đoán loss trung bình, không dự đoán chính xác một kỹ năng cụ thể sẽ xuất hiện lúc nào.
  • Ngoại suy quá xa: các hệ số được đo trong một khoảng nhất định; kéo đường ra xa hơn nhiều bậc là đánh cược.
  • "Cứ chọn model to nhất": với nhiều tác vụ, model nhỏ train kỹ cho chất lượng tương đương với chi phí thấp hơn nhiều.

Áp dụng thế nào?

  • Dev: Thử model nhỏ nhất trước với bộ eval của bạn; chỉ nâng lên khi đo được khác biệt.
  • Tech Lead: Tính tổng chi phí theo lượng gọi thực tế; chi phí suy luận thường lấn át mọi thứ khác.
  • PM: Đừng đánh giá model qua số tham số; hãy hỏi chất lượng trên tác vụ của bạn và giá trên mỗi triệu token.

Nguồn & tham khảo

  1. Scaling Laws for Neural Language Models — Kaplan et al. (arXiv)
  2. Training Compute-Optimal Large Language Models — Hoffmann et al. (arXiv)