1 điểm bởi GN⁺ 2024-12-15 | 1 bình luận | Chia sẻ qua WhatsApp
  • Byte Latent Transformer (BLT) là một kiến trúc mới cho mô hình ngôn ngữ lớn (LLM) ở cấp byte, đạt hiệu năng tương đương các mô hình dựa trên tokenization nhưng cải thiện đáng kể hiệu quả suy luận và độ bền vững
  • Mã hóa byte thành các patch có kích thước động, trong đó patch hoạt động như đơn vị tính toán chính
    • Phân chia patch động: phân bổ nhiều tài nguyên tính toán hơn cho dữ liệu có độ phức tạp cao dựa trên entropy của byte tiếp theo
  • Nghiên cứu scaling có kiểm soát FLOP đầu tiên cho mô hình dựa trên byte:
    • Mở rộng tới 8B (8 tỷ) tham số, 4 nghìn tỷ (4T) byte huấn luyện
    • Xác nhận khả năng huấn luyện mô hình trên byte thô mà không cần từ vựng (vocabulary) cố định

Kết quả chính

  1. Huấn luyện và suy luận hiệu quả:
    • Chọn patch dài khi dữ liệu dễ dự đoán để giảm lượng tính toán
    • Mô hình điều chỉnh patch động theo độ phức tạp để tối ưu hóa tài nguyên
  2. Cải thiện scaling:
    • Cho hiệu năng tốt hơn mô hình dựa trên tokenization ở cùng chi phí suy luận cố định
    • Đảm bảo hiệu quả scaling bằng cách đồng thời tăng kích thước patch và kích thước mô hình
  3. Cải thiện hiệu năng định tính:
    • Nâng cao khả năng suy luận và khái quát hóa: cải thiện về chất lượng trong suy luận lý do và xử lý dữ liệu thưa (long-tail)
    • Vượt qua các giới hạn của cách tiếp cận dựa trên từ vựng cố định

Ý nghĩa

  • BLT xử lý byte thô mà không cần tokenization, đồng thời chứng minh hiệu quả của việc huấn luyện trên dữ liệu và mô hình quy mô lớn
  • Mang lại hiệu năng vượt trội hơn so với chi phí suy luận, đồng thời gợi mở tiềm năng của thế hệ LLM cấp byte tiếp theo
  • Đặc biệt, khi xử lý dữ liệu phức tạp, phương pháp patch động cho thấy khả năng trở thành một tiêu chuẩn mới cho mô hình hóa thích ứng

1 bình luận

 
GN⁺ 2024-12-15
Ý kiến Hacker News
  • Vào mùa hè khi BERT ra mắt, tôi làm ở một startup dùng mô hình CNN dựa trên ký tự cho các tác vụ phân loại. Các thành viên trong nhóm quan tâm đến word vector, nhưng cho rằng số lượng từ ngoài từ điển quá nhiều nên có thể dẫn đến thất bại

    • Ngay cả trong các "mô hình nền tảng" thì từ ngoài từ điển vẫn là vấn đề
    • Mô hình dựa trên ký tự đang cho kết quả khá ổn, nhưng cũng có ý kiến cho rằng việc lưu "từ điển" trong mạng nơ-ron là không hiệu quả
    • Tôi đã rời dự án trước đó vì tin chắc rằng các cách tiếp cận như Word2Vec sẽ thất bại
    • Khi byte pair encoding được giới thiệu, tôi nói rằng đó là phương pháp tokenization đầu tiên mà tôi có thể ủng hộ
    • Tôi mong có thể làm việc với nhãn ký tự. Tôi không thiện cảm với tokenizer
  • Cấu trúc phân cấp khá thú vị, nhưng hơi tiếc vì chỉ có hai tầng. Xây thêm nhiều tầng hơn có thể sẽ là hướng nghiên cứu tiếp theo

    • Cần chú ý đến việc phân bổ ngân sách FLOP theo từng tầng
    • Cần tìm cách nhóm các patch thành những đơn vị lớn hơn
  • Mô hình sử dụng một mô hình nhỏ để tạo patch bằng cách dự đoán khả năng của ký tự tiếp theo trong chuỗi đầu vào

    • Ví dụ: xác suất ký tự tiếp theo là 'a' có thể là 100%, hoặc 'a' và 'b' mỗi ký tự có thể là 10%
    • Gom các ước lượng ký tự lại với nhau để tạo thành patch (hoặc token)
  • Sampling là một điểm khó của LLM, nhưng cũng mở ra những cách dùng thú vị như luôn ép đầu ra là JSON hợp lệ hoặc điều chỉnh nhiệt độ để thu được các phân phối đa dạng

    • Trong BLT, có thể nghĩ tới cách đưa các byte được phép/bị cấm vào decoder như đầu vào bổ sung rồi lặp lại quá trình giải mã cho đến khi thu được đầu ra hợp lệ
  • Có câu hỏi về việc liệu AI có thể được tiền huấn luyện trên các tệp nhị phân hay không

  • Có câu hỏi về việc liệu có thể làm tokenization theo cách ngầm định để chỉ cung cấp byte (hoặc ký tự) cho mô hình hay không

  • Trích dẫn liên quan của Karpathy: tokenization nằm ở trung tâm của rất nhiều điều kỳ quặc trong LLM

    • Lý do LLM không thể đánh vần từ ngữ là vì tokenization
    • Lý do LLM không thể xử lý các tác vụ xử lý chuỗi đơn giản là vì tokenization
    • Lý do LLM yếu với các ngôn ngữ không phải tiếng Anh là vì tokenization
    • Lý do LLM yếu trong số học đơn giản là vì tokenization
    • Lý do GPT-2 gặp khó khăn không cần thiết với việc lập trình Python là vì tokenization
    • Lý do LLM đột ngột dừng lại khi thấy chuỗi "<|endoftext|>" là vì tokenization
    • Lý do xuất hiện cảnh báo "trailing whitespace" là vì tokenization
    • Lý do LLM bị lỗi khi được hỏi về "SolidGoldMagikarp" là vì tokenization
    • Lý do nên ưu tiên YAML hơn JSON trong LLM là vì tokenization
    • Lý do LLM thực ra không làm language modeling đầu-cuối thực sự là vì tokenization
    • Cội nguồn thực sự của đau khổ chính là tokenization
  • Đây là mô hình gồm 3 thành phần

    • Encoder: nhận các nhóm byte và xuất ra trạng thái ẩn/mã hóa gọi là patch
    • Transformer: xử lý mã hóa của các patch theo cách tự hồi quy
    • Decoder: xuất các byte từ phần mã hóa đã được transformer xử lý
    • Hàm mất mát dựa trên cross-entropy giữa các byte (dự đoán byte tiếp theo)
  • Cách nhóm các byte

    • Dùng ngưỡng entropy: nếu entropy của chuỗi byte thấp hơn ngưỡng thì sẽ nhóm lại
    • Đây là mô hình được học từ dữ liệu
  • Có lợi thế so với byte pair tokenization trong các LLM hiện tại

    • Encoder/decoder hoạt động như một phương thức tokenization có thể "học được"
    • Đánh đổi về hiệu quả tốt hơn (đối với các chuỗi byte có thể dự đoán được, encoder có thể "offload" phần nỗ lực tính toán khỏi transformer chính)
    • Như lịch sử đã cho thấy, các hệ thống học đầu-cuối sẽ vượt qua những cơ chế do con người thiết kế
  • Tôi từng nghĩ rằng chúng ta sắp bước vào thời kỳ trì trệ