10 điểm bởi ninebow 2024-10-29 | Chưa có bình luận nào. | Chia sẻ qua WhatsApp

Nghiên cứu tổng quan toàn diện về mô hình ngôn ngữ nhỏ (SLM) (Small Language Models: Survey, Measurements, and Insights)

Giới thiệu bài báo

Những tiến bộ gần đây của mô hình ngôn ngữ đang chia thành hai xu hướng. Thứ nhất là mô hình ngôn ngữ lớn (LLM, Large Language Model), được vận hành trong các trung tâm dữ liệu quy mô lớn bằng cách sử dụng hàng triệu GPU. Các mô hình này xử lý những tác vụ ngôn ngữ nâng cao và hướng tới việc giải quyết các vấn đề phức tạp như khoa học bằng trí tuệ nhân tạo. Tuy nhiên, các LLM như vậy đòi hỏi chi phí cao và nguồn lực tính toán khổng lồ, nên rất khó triển khai trên thiết bị cá nhân.

Ngược lại, mô hình ngôn ngữ nhỏ (SLM, Small Language Model) được thiết kế để có thể triển khai trên các thiết bị bị giới hạn tài nguyên, chẳng hạn như điện thoại thông minh, máy tính bảng và thiết bị đeo. Mục tiêu của các mô hình ngôn ngữ nhỏ là giúp AI trở nên dễ tiếp cận với mọi người hơn bằng cách cung cấp trí tuệ nhân tạo thực tiễn và hiệu quả về chi phí. Bài báo này là khảo sát tổng hợp đầu tiên về SLM, phân tích các mô hình ngôn ngữ nhỏ đã được công bố trong vài năm gần đây xét trên các khía cạnh đổi mới kỹ thuật, hiệu năng và chi phí chạy trên thiết bị.

Kiến trúc, bộ dữ liệu và huấn luyện của mô hình ngôn ngữ nhỏ (SLM)

Tổng quan về mô hình ngôn ngữ nhỏ (SLM, Small Language Model)

SLM có kích thước nhỏ hơn các mô hình ngôn ngữ sở hữu số lượng tham số lớn, nhưng đã chứng minh hiệu năng trong nhiều tác vụ như suy luận thường thức, giải toán và học trong ngữ cảnh. Qua đó, chúng cho thấy tiềm năng của AI có thể chạy trực tiếp trên thiết bị.

Nghiên cứu này xem xét các SLM đang tăng mạnh từ cuối năm 2023 và đã chọn 59 SLM theo các tiêu chí sau để đánh giá hiệu năng và chi phí:

  • Kích thước mô hình của SLM được định nghĩa là từ 100M đến 5B, và chỉ xem xét các mô hình công khai trọng số có thể đánh giá được.

  • Để đảm bảo hiệu năng tốt và khả năng triển khai thực tế, chỉ xem xét các mô hình sử dụng kiến trúc Transformer chỉ giải mã. Tức là các mô hình kiến trúc như RWKV và Mamba không được đưa vào.

  • Vì khảo sát này tập trung vào kiến thức nền tảng thu được trong quá trình tiền huấn luyện, nên chỉ xem xét các mô hình gốc (Base Model), ngoại trừ các mô hình chỉ cung cấp phiên bản đã tinh chỉnh theo chỉ dẫn (Instruct Fine-tuned) như Microsoft Phi và StabilityAI StableLM.

  • Ngoài ra, các mô hình phái sinh được tạo ra bằng cách fine-tuning từ mô hình đã tiền huấn luyện cũng bị loại trừ.

Danh sách các mô hình được chọn theo những tiêu chí trên như sau:

Kiến trúc mô hình của SLM (Model Architecture)

Kiến trúc mô hình của SLM dựa trên Transformer và có nhiều biến thể khác nhau. Cốt lõi của kiến trúc Transformer là attention đa đầu (Multi-Head Attention, MHA) và mạng nơ-ron truyền thẳng (Feed-Forward Neural Network, FFN). MHA cho phép tập trung vào các phần khác nhau của dữ liệu đầu vào, từ đó nâng cao hiệu quả xử lý song song. Trong các mô hình gần đây, đã có nhiều thử nghiệm đa dạng ở cơ chế attention, FFN và hàm kích hoạt như sau:

  1. Cơ chế attention (Attention Mechanisms):

    • Attention đa đầu (Multi-Head Attention, MHA): Cơ chế chú ý đồng thời đến nhiều phần của dữ liệu đầu vào, là thành phần cốt lõi của Transformer.
    • Group-Query Attention (GQA): Cách nhóm nhiều giá trị truy vấn để giảm độ phức tạp tính toán của attention.
    • Multi-Query Attention (MQA): Cách giảm độ phức tạp tính toán bằng cách cho phép các phép chiếu khóa và giá trị khác nhau cho mỗi truy vấn.
  2. Mạng nơ-ron truyền thẳng (Feed-Forward Network, FFN):

    • FFN tiêu chuẩn (Standard FFN): Cấu trúc mạng đơn giản gồm hai lớp.
    • FFN có cổng (Gated FFN): Cấu trúc nâng cao hiệu năng bằng cách bổ sung một lớp cổng.
  3. Tỷ lệ mở rộng chiều của mạng nơ-ron truyền thẳng (The intermediate ratio of the FFN): Đây là chỉ số biểu thị kích thước của lớp ẩn (hidden layer) dưới dạng tỷ lệ so với kích thước chiều đầu vào, thường dùng để thể hiện tỷ lệ mở rộng chiều. Tỷ lệ này càng lớn thì FFN càng có thể học được các mẫu phức tạp hơn, nhưng chi phí tính toán cũng tăng lên. Trong FFN tiêu chuẩn, tỷ lệ này thường vào khoảng 4; còn trong Gated FFN, tỷ lệ nằm trong khoảng từ 2 đến 8.

  4. Hàm kích hoạt (Activation Functions): Trong SLM, ReLU (đơn vị tuyến tính chỉnh lưu, Rectified Linear Unit), GELU (đơn vị tuyến tính lỗi Gaussian, Gaussian Error Linear Uni), $GELU_{tanh}$ và SiLU (đơn vị tuyến tính sigmoid, Sigmoid Linear Unit) chủ yếu được sử dụng. Năm 2022, ReLU được dùng nhiều nhất; năm 2023 là GELU và các biến thể của nó; và bước sang năm 2024, SiLU là hàm kích hoạt được sử dụng rộng rãi nhất.

  5. Chuẩn hóa lớp (Layer Normalization): Chuẩn hóa lớp sử dụng LayerNorm và RMSNorm. RMSNorm đang ngày càng được dùng nhiều hơn, góp phần nâng cao độ ổn định trong quá trình huấn luyện mô hình.

  6. Kích thước từ vựng (Vocabulary Size): Kích thước từ vựng là số lượng token duy nhất mà SLM có thể nhận diện. Các SLM gần đây chủ yếu có kích thước từ vựng từ 50.000 trở lên, và người ta xác nhận rằng kích thước từ vựng càng lớn thì hiệu năng càng được cải thiện.

Đối với 59 mô hình đã chọn ở trên, nếu tổng hợp sự thay đổi theo thời gian của phân bố 6 biến thể nêu trên thì như sau:

Thông qua việc xem xét các kiến trúc này, có thể nhận thấy những đổi mới trong kiến trúc mô hình (Model Architecture Innovations):

  1. Chia sẻ tham số (Parameter Sharing)

    • Chia sẻ tham số là kỹ thuật được dùng trong mô hình ngôn ngữ lớn (LLM) để tái sử dụng cùng một tập trọng số ở nhiều tầng hoặc nhiều thành phần của mạng. Cách tiếp cận này có thể giảm đáng kể số lượng tham số của mô hình, từ đó dẫn đến huấn luyện và suy luận hiệu quả hơn trong khi vẫn duy trì hiệu năng.
    • Chia sẻ Embedding-lm_head (Embedding-lm_head sharing): Chia sẻ trọng số của embedding với lớp lm_head cuối cùng là kỹ thuật chia sẻ trọng số phổ biến nhất. Đây là việc chia sẻ ở lớp embedding từ và hoàn toàn không liên quan đến RoPE (Rotary Position Encoding). Các mô hình như Gemma và Qwen đều sử dụng kỹ thuật chia sẻ này.
    • Chia sẻ attention/FFN theo tầng (Layer-wise Attention/FFN sharing): Cách này tái sử dụng cùng một tập trọng số trên nhiều tầng của mô hình. Đây là đặc điểm thường thấy trong các SLM/LLM mà mọi lớp Transformer đều chia sẻ cùng tham số. Ví dụ, MobiLLaMA chia sẻ trọng số FFN của tất cả các khối Transformer, còn MobileLLM chia sẻ trọng số Attention và FFN giữa hai khối Transformer liền kề.
  2. Co giãn tham số theo tầng (Layer-wise Parameter Scaling)

    • Kỹ thuật này được đề xuất và sử dụng trong OpenELM. Các SLM trước đây dùng cùng một cấu hình cho mỗi tầng Transformer của mô hình, nên tham số được phân bổ đồng đều giữa các tầng. Khác với các mô hình đó, mỗi tầng Transformer trong OpenELM có cấu hình khác nhau (ví dụ: số lượng head và số chiều của FFN), vì vậy mỗi tầng của mô hình có thể sử dụng số lượng tham số khác nhau. Nhờ đó, OpenELM có thể tận dụng tốt hơn mức ngân sách tham số sẵn có (available parameter budget) để đạt độ chính xác cao hơn.
  3. Bù phi tuyến tính (Nonlinearity Compensation)

    • PanGu-$\pi$ phân tích các mô hình ngôn ngữ mới nhất để giải quyết vấn đề sụp đổ đặc trưng (feature collapse problem). Đây là vấn đề xảy ra trong học biểu diễn không gian chiều cao như LLM, khi mô hình học ra các đặc trưng giống hệt hoặc rất tương tự nhau cho nhiều đầu vào khác nhau. Để giải quyết vấn đề này, PanGu-$\pi$ cho phép bù phi tuyến tính cho các hàm kích hoạt như GELU hoặc ReLU, đồng thời scale độ lớn của đầu ra từng tầng để giữ biên độ biến thiên của giá trị đầu ra ở mức ổn định.

> #### Những insight chính: Có 2 quan sát quan trọng về cấu trúc mô hình của SLM:
> 1. Tính đến tháng 8 năm 2024, kiến trúc SLM phổ biến thường áp dụng GQA (Group-Query Attention), Gated FFN sử dụng hàm kích hoạt SiLU, tỷ lệ mở rộng FFN (Intermediate Ratio of FFN) trong khoảng 2~8, RMSNorm và kích thước từ vựng (Vocabulary Size) trên 50 nghìn. Tuy nhiên, các thiết lập này chủ yếu mang tính thực nghiệm (empirical), chưa được kiểm chứng một cách nghiêm ngặt và công khai.
> 2. Đổi mới trong cấu trúc transformer của SLM còn hạn chế. Ngoại trừ kỹ thuật chia sẻ Embedding-lm_head, chưa quan sát được bằng chứng mạnh mẽ cho thấy các kỹ thuật khác vượt trội hơn cấu trúc transformer truyền thống (Vanilla Transformer). Ngoài ra, chúng cũng chưa được nhiều nhóm nghiên cứu hay công ty áp dụng hoặc nghiên cứu rộng rãi, nên cần được kiểm chứng thêm trong tương lai.

Bộ dữ liệu huấn luyện (Training Dataset)

Hiệu năng của SLM phụ thuộc rất lớn vào bộ dữ liệu được sử dụng để huấn luyện. Nghiên cứu này đã xem xét 12 bộ dữ liệu công khai mà các mô hình SLM sử dụng:

Tên Số token Miền chính Mô tả và mục đích sử dụng
The Pile 825B khoa học, bài báo học thuật, văn bản web, tài liệu pháp lý Đây là bộ dữ liệu kết hợp nhiều tập dữ liệu nhỏ khác nhau, bao gồm văn bản từ nhiều miền, được dùng để cải thiện năng lực hiểu tổng quát của mô hình.
FineWeb-Edu 1.3T/5.4T văn bản giáo dục, sách giáo khoa, tài liệu học tập Đây là bộ dữ liệu quy mô lớn gồm các văn bản liên quan đến giáo dục được lọc từ FineWeb, được dùng nhằm cải thiện hiệu năng mô hình trong các tác vụ liên quan đến học tập và lĩnh vực giáo dục.
StarCoder 35B mã Python Đây là bộ dữ liệu chứa mã viết bằng ngôn ngữ lập trình Python, được dùng để huấn luyện mô hình cho các tác vụ tạo mã và lập trình.
Cosmopedia 25B văn bản tổng hợp, tài liệu giáo dục Đây là bộ dữ liệu gồm văn bản tổng hợp, bao gồm sách giáo khoa, bài blog, truyện và bài viết WikiHow, giúp mô hình học được nhiều phong cách viết và ngữ cảnh khác nhau.
RefinedWeb 5T tài liệu web, bài báo tin tức, blog, tài liệu kỹ thuật Đây là bộ dữ liệu web chất lượng cao được trích xuất từ CommonCrawl và lọc rất nghiêm ngặt, được dùng để học kiến thức đa miền rộng rãi cho các tác vụ xử lý ngôn ngữ tự nhiên.
RedPajama 1.2T dữ liệu web, tin tức, mạng xã hội Bộ dữ liệu này chứa lượng lớn dữ liệu văn bản được trích xuất từ các snapshot của CommonCrawl và được dùng để huấn luyện mô hình dựa trên văn bản web.
Dolma - văn bản tiếng Anh đã loại bỏ trùng lặp Đây là corpus tiếng Anh đã được loại bỏ trùng lặp bằng thuật toán MinHash, được dùng để tối ưu hiệu năng mô hình thông qua dữ liệu tinh lọc sau khi loại bỏ văn bản lặp lại.
WuDaoCorpora 4T văn bản tiếng Trung Đây là corpus quy mô lớn dựa trên dữ liệu tiếng Trung, gồm 3T token dữ liệu huấn luyện và 1.08T ký tự tiếng Trung, được dùng để huấn luyện mô hình ngôn ngữ tiếng Trung.
RoBERTa CCNewsV2 - bài báo tin tức Đây là phiên bản cập nhật của bộ dữ liệu tin tức từ CommonCrawl, được dùng cho các tác vụ xử lý ngôn ngữ tự nhiên dựa trên dữ liệu tin tức mới nhất.
PushShift Reddit - dữ liệu mạng xã hội (bài đăng Reddit) Đây là dữ liệu được thu thập từ một nền tảng chuyên thu thập, phân tích và lưu trữ dữ liệu Reddit, được dùng để huấn luyện mô hình ngôn ngữ hội thoại và tương tác trên mạng xã hội.
DCLM-baseline 1.35T văn bản web Đây là corpus chuẩn hóa được trích xuất từ Common Crawl, được dùng làm bộ dữ liệu cho các mô hình ngôn ngữ tiền huấn luyện và phù hợp với nhiều tác vụ đánh giá khác nhau.
CulturaX 6.3T văn bản đa ngữ Đây là bộ dữ liệu văn bản đa ngữ khổng lồ gồm 167 ngôn ngữ, được dùng làm nguồn văn bản quy mô lớn để huấn luyện mô hình đa ngữ.

Khi xem xét xu hướng sử dụng bộ dữ liệu tiền huấn luyện của các SLM được nghiên cứu từ năm 2022 đến 2024, có thể thấy như sau:

Trong năm 2022 và 2023, bộ dữ liệu tiền huấn luyện được sử dụng rộng rãi nhất là The Pile, nhưng gần đây đã có thêm nhiều bộ dữ liệu được đề xuất, cho thấy phạm vi lựa chọn đang ngày càng đa dạng hơn. Bước sang năm 2024, The Pile không còn được dùng cho tiền huấn luyện SLM nữa, trong khi các bộ dữ liệu như RefinedWebRedPajama đang dần được sử dụng rộng rãi hơn. Điều này cho thấy các nỗ lực nghiên cứu và kỹ thuật nhằm xây dựng bộ dữ liệu tiền huấn luyện chất lượng tốt hơn đang diễn ra rất tích cực.

Tiếp theo, nghiên cứu đã xem xét hiệu năng của SLM theo bộ dữ liệu tiền huấn luyện được sử dụng. Các SLM ra mắt trong 3 năm gần đây được chia thành 4 nhóm theo quy mô tham số (<1B / 1B-1.4B / 1.5-2B / 2.5B-3B), sau đó sắp xếp theo độ chính xác trung bình trong từng nhóm (trung bình của hai loại độ chính xác: suy luận/hiểu biết thường thức và giải quyết vấn đề), với kết quả như dưới đây:

Từ các kết quả này, có thể thấy hai bộ dữ liệu mới được phát hành gần đây là DCLM(DataComp-LM)FineWeb-Edu cho hiệu năng vượt trội hơn so với các bộ dữ liệu khác. Điểm chung của hai bộ dữ liệu này là đều áp dụng lọc dữ liệu dựa trên mô hình.

Ngoài ra, dù năng lực coding không phải là tác vụ chính của SLM triển khai trên thiết bị, dữ liệu coding vẫn thường được đưa vào các bộ dữ liệu tiền huấn luyện như StarCoder. Điều này có thể xuất phát từ niềm tin phổ biến rằng dữ liệu coding có thể giúp cải thiện năng lực suy luận của mô hình.

Tiếp theo, nghiên cứu xem xét số lượng token dùng trong tiền huấn luyện và kích thước mô hình cũng như số lượng token dùng trong tiền huấn luyện và độ chính xác trung bình.

Trước hết, theo định luật Chinchilla (Chinchilla Law), nghiên cứu về mối quan hệ giữa kích thước mô hình và lượng dữ liệu huấn luyện sử dụng (số token) cho rằng tỷ lệ tối ưu giữa số lượng tham số của mô hình và số token huấn luyện nên vào khoảng 20. Ví dụ, với mô hình 1B, bộ dữ liệu huấn luyện cần có quy mô khoảng 20B token.

Kết quả phân tích thống kê về kích thước và số token huấn luyện của các SLM ra mắt từ năm 2022 đến 2024 (hình bên dưới, bên trái (a)) cho thấy, nhìn chung mô hình càng lớn thì số token dùng để huấn luyện càng nhiều, và các mô hình càng mới cũng có xu hướng được huấn luyện với nhiều token hơn. Điểm đáng chú ý là các SLM, bất kể kích thước mô hình, đều được huấn luyện với số token nhiều hơn rất nhiều so với mức mà định luật Chinchilla đề xuất (thường trên 1.5T token).

Khi phân tích số token mà SLM sử dụng trong tiền huấn luyện và độ chính xác trung bình (hình bên dưới, bên phải (b)), nhìn chung hai chỉ số này có tương quan dương (positive correlation), và điều này thể hiện rõ khi số token huấn luyện dưới 700B. Tuy nhiên, khi số token huấn luyện vượt quá 1T, tương quan trở nên yếu hơn vì chất lượng dữ liệu huấn luyện quan trọng hơn số lượng token huấn luyện.

Những insight chính: có 2 quan sát chủ đạo về tập dữ liệu huấn luyện của SLM:
  • Chất lượng dữ liệu huấn luyện có ý nghĩa cực kỳ quan trọng đối với hiệu năng của SLM, và gần đây đang nhận được ngày càng nhiều sự chú ý trong nghiên cứu SLM. Nói chung, tác động của chất lượng dữ liệu lên SLM thường lớn hơn tác động của lượng dữ liệu và kiến trúc mô hình. Một xu hướng đáng chú ý trong nghiên cứu dataset là sử dụng lọc dựa trên mô hình, với các ví dụ tiêu biểu như FineWeb-Edu(1.3T/5.4T) và DCLM-baseline(4T). Các SLM được huấn luyện bằng hai dataset này đã cho thấy hiệu năng cạnh tranh so với các SLM được huấn luyện trên dataset đóng.
  • Gần đây, SLM được huấn luyện bằng lượng token rất lớn (thường từ 1.5T trở lên), gần như không xét đến kích thước mô hình. Trong một số trường hợp, lượng dữ liệu dùng cho huấn luyện còn khác biệt theo từng model. (Ví dụ: Qwen2-0.5B dùng 12T token, nhưng Qwen2-1.5B chỉ dùng 7T token.) Điều này có nghĩa là chúng được huấn luyện "quá mức (over-training)" đáng kể so với định luật Chinchilla, và kiểu huấn luyện quá mức này được dùng để triển khai các SLM mạnh hơn bằng cách đầu tư thêm thời gian huấn luyện.

Thuật toán huấn luyện (Training Algorithm)

Có nhiều thuật toán khác nhau để huấn luyện SLM. Các thuật toán huấn luyện chính gồm Maximal Update Parameterization(μP), chưng cất tri thức (Knowledge Distillation), và chiến lược tiền huấn luyện hai giai đoạn (Two Stage Pre-training).

  1. Maximal Update Parameterization(μP): Đảm bảo huấn luyện ổn định bất kể độ rộng layer của mô hình bằng cách kiểm soát khởi tạo mô hình (initialization), learning rate theo từng layer (layer-wise learning rate), độ lớn kích hoạt (activation magnitude), v.v. Phương pháp này không chỉ cải thiện tính ổn định của huấn luyện mà còn cải thiện khả năng chuyển giao hyperparameter huấn luyện từ mô hình nhỏ sang mô hình lớn, nhờ đó có thể dùng cùng learning rate, v.v. Cerebras-GPT huấn luyện mô hình bằng kỹ thuật này.

  2. Chưng cất tri thức (Knowledge Distillation): Đây là khái niệm được dùng phổ biến trong mô hình ngôn ngữ lớn (LLM), nhằm trích xuất tri thức có giá trị từ một mô hình giáo viên lớn và phức tạp để huấn luyện một mô hình học sinh nhỏ hơn và hiệu quả hơn. Kỹ thuật chưng cất tri thức (KD) này hoạt động bằng cách tối thiểu hóa sự khác biệt giữa đầu ra của hai mô hình, để mô hình học sinh có thể học xấp xỉ hành vi và dự đoán của mô hình giáo viên. LaMini-GPT và Gemma-2 đã sử dụng kỹ thuật này.

  3. Tiền huấn luyện hai giai đoạn (Two Stage Pre-training): Đúng như tên gọi, đây là chiến lược huấn luyện mô hình qua 2 giai đoạn khác nhau. Trước tiên, ở giai đoạn tiền huấn luyện (Pretraining Phase), mô hình được huấn luyện bằng lượng lớn dữ liệu chất lượng thấp. Quá trình này đòi hỏi nhiều tài nguyên tính toán hơn. Sau đó, ở giai đoạn tinh chỉnh dần (Annealing Phase), dữ liệu SFT (Supervised Fine-Tuning) chất lượng cao, tập trung vào tác vụ cụ thể sẽ được trộn với dữ liệu tiền huấn luyện để sử dụng. MiniCPM đang dùng kỹ thuật này.

Năng lực của SLM (Capabilities)

Dataset và chỉ số đánh giá SLM (Evaluation Datasets and Metrics)

Nghiên cứu này sắp xếp 12 dataset dùng để đánh giá năng lực của SLM thành 3 nhóm: suy luận thường thức (Commonsense Reasoning), giải quyết vấn đề (Problem-Solving), và toán học suy luận (Mathematics):

Tên Loại Mô tả và mục đích sử dụng
HellaSwag Suy luận thường thức Kiểm tra khả năng hiểu mô tả và đánh giá việc hoàn thành câu khả dĩ.
TruthfulQA Suy luận thường thức Dataset đánh giá xem mô hình có tránh cung cấp thông tin sai hay không.
Winogrande Suy luận thường thức Dataset đánh giá năng lực suy luận thường thức thông qua việc giải quyết mơ hồ đại từ.
CommonsenseQA Suy luận thường thức Cung cấp các bài toán suy luận thường thức dạng trắc nghiệm đòi hỏi kiến thức đời sống hằng ngày.
PIQA Suy luận thường thức Dataset đánh giá suy luận thường thức vật lý và tương tác giữa các đối tượng.
OpenBookQA Suy luận thường thức Bao gồm các bài toán khoa học mở yêu cầu kết hợp kiến thức khoa học với thường thức.
BoolQ Suy luận thường thức Đánh giá năng lực suy luận thường thức và suy luận thực tế thông qua câu hỏi có/không.
ARC Easy Giải quyết vấn đề Dataset gồm các bài toán khoa học đơn giản để kiểm tra kiến thức phổ thông và suy luận.
ARC Challenge Giải quyết vấn đề Cung cấp các câu hỏi thi khoa học phức tạp đòi hỏi tích hợp kiến thức.
MMLU Giải quyết vấn đề Dataset đánh giá năng lực giải quyết vấn đề trên nhiều lĩnh vực học thuật khác nhau.
GSM8K Suy luận toán học Dataset đánh giá năng lực suy luận toán học ở cấp tiểu học.
Minerva Math Suy luận toán học Đánh giá năng lực suy luận toán học nâng cao trên nhiều chủ đề khác nhau.

Khi đánh giá, độ chính xác (Accuracy), được tính bằng tỷ lệ giữa số dự đoán đúng và tổng số mẫu trong toàn bộ dataset đánh giá, được dùng làm chỉ số chính. Trong các lĩnh vực suy luận thường thức, giải quyết vấn đề và các bài toán toán học, việc đánh giá tập trung vào việc mô hình có chọn đúng đáp án hay cung cấp lời giải chính xác đến mức nào.

Hiệu năng tổng thể của SLM (Overall Capabilities)

Các thí nghiệm đã được tiến hành trên những SLM được chọn lọc cho ba nhóm tác vụ: suy luận thường thức, giải quyết vấn đề và toán học, và tiến bộ đạt được được phân tích như hình bên dưới. Nhìn chung, có thể thấy hiệu năng đã cải thiện đáng kể; cụ thể, từng nhóm tác vụ tăng lần lượt 10.4%, 13.5% và 13.5%. Trong khi đó, mô hình ngôn ngữ lớn mã nguồn mở LLaMA chỉ đạt mức cải thiện trung bình 7.5% trong cùng giai đoạn:

Đặc biệt, dòng Phi của Microsoft, được huấn luyện trên dataset đóng, đã cho thấy hiệu năng vượt trội hơn tất cả các mô hình khác khi đạt mức tương đương với LLaMA 3.1 7B mới nhất về quy mô (67.6% ở suy luận thường thức, 72.4% ở giải quyết vấn đề). Dù vẫn còn một số khoảng cách trong lĩnh vực toán học, chênh lệch giữa SLM và LLM trong suy luận tổng quát đang thu hẹp rất nhanh. Dù có những ngoại lệ như Qwen2, nhìn chung vẫn có xu hướng kích thước mô hình càng lớn thì hiệu năng càng cao.

Dù một số SLM tiên phong vẫn được huấn luyện bằng dataset đóng, khoảng cách giữa mô hình mã nguồn mở và mô hình đóng trong tác vụ suy luận thường thức đang dần thu hẹp. Ví dụ, SmolLM và DCLM-1B cho thấy hiệu năng rất nổi bật trong lĩnh vực suy luận thường thức nhờ các dataset chất lượng cao như DCLM và FineWeb-Edu (đạt lần lượt 64.2% và 63.8%). Tuy nhiên, ở các tác vụ đòi hỏi suy luận hoặc logic phức tạp, đặc biệt là toán học, khoảng cách vẫn còn đáng kể do vẫn thiếu các dataset chất lượng cao.

Những insight chính: Có 4 quan sát nổi bật trong sự phát triển của SLM:
  • Từ năm 2022 đến 2024, SLM đã cải thiện hiệu năng đáng kể trên nhiều tác vụ ngôn ngữ khác nhau. Nhìn chung, chúng cho thấy mức cải thiện rất lớn, vượt qua cả các cải tiến của LLaMA-7B (phiên bản 1/2/3/3.1). Những kết quả này cho thấy có thể kỳ vọng SLM giải quyết được nhiều tác vụ hạ nguồn khác nhau ngay trên thiết bị.
  • Dòng mô hình Phi liên tục thể hiện hiệu năng tối tân nhất (state-of-the-art) trên phần lớn tác vụ. Tính đến tháng 9 năm 2024, Phi-3-mini đã đạt độ chính xác ngang với Llama-3.1-8B. Hiệu năng này được cho là nhờ kỹ thuật dữ liệu tỉ mỉ của Microsoft, nhưng cũng có thể xuất phát từ instructive tuning trên các tập dữ liệu cụ thể và khả năng quá khớp tiềm ẩn (potential overfitting).
  • Nhìn chung, kích thước mô hình càng lớn thì hiệu năng cũng tăng theo, nhưng vẫn có những ngoại lệ như Qwen2-1.5B. Những ngoại lệ này cho thấy các mô hình nhỏ hơn vẫn có thể đạt hiệu năng xuất sắc ở một số tác vụ nhất định.
  • Trong lĩnh vực suy luận thường thức, hiệu năng của các SLM được huấn luyện bằng tập dữ liệu mã nguồn mở đang dần thu hẹp khoảng cách với các SLM đóng. Tuy vậy, ở các tác vụ đòi hỏi suy luận hoặc logic phức tạp vẫn còn khoảng cách đáng kể, cho thấy cần có các tập dữ liệu tập trung vào suy luận toán học.

Năng lực học trong ngữ cảnh (In-Context Learning Capabilities)

Học trong ngữ cảnh (In-Context Learning, ICL) là một năng lực quan trọng của SLM, tức khả năng thực hiện tác vụ mới dựa trên ngữ cảnh đầu vào được cung cấp. Nghiên cứu đã tiến hành thí nghiệm về năng lực học trong ngữ cảnh (ICL) bằng cách sử dụng nhiều mô hình khác nhau và các biến thể kích thước 2B của từng mô hình trên 8 tác vụ, bao gồm suy luận thường thức và giải quyết vấn đề. Nhìn chung, SLM có thể thu được lợi ích đáng kể trên mọi bài toán. Tuy nhiên, với các tập dữ liệu đơn giản như HellaSwagPIQA, hiệu năng lại tương tự nhau bất kể số lượng ví dụ ICL (ICL shots). Ngoài các trường hợp đó, trung bình việc học trong ngữ cảnh với 5 ví dụ (5-shot) cải thiện hiệu năng zero-shot thêm 2,1% trên toàn bộ tác vụ.

Đáng chú ý, mô hình Gemma2 cho thấy mức cải thiện lớn nhất với độ chính xác tăng 4,8%. Ngược lại, mô hình LaMini lại ghi nhận mức suy giảm hiệu năng hơn 2%. Từ đó, nghiên cứu đưa ra giả thuyết rằng LaMini có thể đang quá khớp (overfitting) với tập dữ liệu huấn luyện, nên khi cung cấp thêm ví dụ thì nhiễu có thể phát sinh.

Nhìn chung, có thể xác nhận rằng khi kích thước mô hình SLM tăng lên, hiệu năng học trong ngữ cảnh (ICL capability) của SLM cũng được cải thiện.

Những insight chính: Có 2 quan sát nổi bật về năng lực học trong ngữ cảnh của SLM:
  • Nhìn chung, phần lớn SLM đều sở hữu một mức năng lực học trong ngữ cảnh nhất định. Tuy nhiên, năng lực này biểu hiện khác nhau tùy theo loại tác vụ: đa số SLM cải thiện rõ rệt trên tác vụ Arc Challenge, nhưng mức cải thiện lại rất nhỏ với HellaSwag hay PIQA.
  • Kích thước mô hình SLM càng lớn thì năng lực học trong ngữ cảnh có xu hướng mạnh hơn so với các mô hình nhỏ. Một số SLM quy mô nhỏ như LaMini thậm chí còn cho thấy hiện tượng suy giảm hiệu năng khi sử dụng học trong ngữ cảnh.

Chi phí chạy thực tế của SLM (Runtime Cost)

Chi phí chạy thực tế (Runtime Cost) của SLM bao gồm độ trễ (latency) và mức sử dụng bộ nhớ (memory footprint) phát sinh khi chạy mô hình trên thiết bị thực tế. Nghiên cứu này đánh giá hiệu năng runtime của SLM và phân tích kết quả thí nghiệm trên nhiều loại phần cứng khác nhau. Đồng thời, nghiên cứu cũng giải thích ảnh hưởng của kiến trúc mô hình (architecture) và lượng tử hóa (quantization) lên hiệu năng, qua đó đề cập cách SLM có thể được tối ưu hóa trong môi trường thời gian thực.

Khi đo chi phí chạy, nghiên cứu sử dụng 2 loại thiết bị biên (Edge Device) sau. Một là Jetson Orin, thường được dùng trên các thiết bị biên như drone hoặc robot cỡ nhỏ; hai là smartphone, thiết bị phổ biến trong đời sống hằng ngày, cụ thể như sau:

Tên thiết bị Loại phần cứng Thông số kỹ thuật (Specification)
Jetson Orin NX 16GB GPU 1024-core NVIDIA Ampere architecture GPU with 32 tensor cores, 16G DRAM
MEIZU 18Pro CPU Snapdragon 888, 8G RAM

Ngoài ra, do cách đo số lượng tham số chính thức của từng mô hình khác nhau, các tác giả đã sử dụng giá trị tham số lấy từ llama.cpp. Việc đo được chia thành giai đoạn prefill và giai đoạn decode tại thời điểm suy luận; trừ khi được nêu riêng, độ dài prompt được đặt là 50 và độ dài sinh token cũng được đặt là 50. Đồng thời, để tránh suy giảm hiệu năng do quá nhiệt (thermal throttling), các bài kiểm tra được thực hiện với khoảng cách 10 giây, và để đo các mô hình lớn hơn, nghiên cứu đã áp dụng lượng tử hóa 4-bit (quantization).

  • Đo độ trễ: Tùy theo kích thước mô hình, nghiên cứu đo thời gian tạo token đầu tiên (prefill) và thời gian tạo từng token tiếp theo (decode).
  • Đo mức sử dụng bộ nhớ: Nghiên cứu đo mức sử dụng KV cache và bộ đệm bộ nhớ để phân tích mô hình chiếm bao nhiêu bộ nhớ.

Tổng quan về chi phí chạy (Overview)

Tổng quan về độ trễ suy luận (Inference Latency) và mức sử dụng bộ nhớ (Memory Footprint) của các SLM được đề cập trong nghiên cứu này như sau:

  • Inference Latency (độ trễ suy luận): Độ trễ suy luận của SLM được chia thành ba khoảng theo kích thước mô hình: 0.1-1B, 1-2B, 2-3B. Trong từng khoảng này, các mô hình cho thấy độ trễ tương đối tương đồng. Cụ thể, ảnh hưởng của kiến trúc mô hình lên độ trễ cũng rất đáng kể. Ví dụ, Qwen2-0.5B có thời gian tạo token đầu tiên dài hơn 1,46 lần so với các mô hình khác cùng kích thước, trong khi Qwen1.5-0.5B lại cho hiệu năng tương tự OpenELM-1.1B dù bản thân nhỏ hơn.

    • Giai đoạn Prefill: Giai đoạn prompt đầu vào được xử lý và KV cache được tạo ra, trong đó nhiều token được xử lý song song.
    • Giai đoạn Decode: Giai đoạn dự đoán token tiếp theo dựa trên từng token đã sinh ra, yêu cầu nhiều tài nguyên bộ nhớ hơn.
  • Memory Footprint (mức sử dụng bộ nhớ): Mức sử dụng bộ nhớ của SLM thay đổi theo kích thước mô hình và độ dài ngữ cảnh (context length). Đặc biệt, các mô hình như Bloom-560M và Gemma-2B sử dụng nhiều bộ nhớ hơn do có kích thước từ vựng rất lớn (256.000). Trong khi đó, dòng OpenELM tiết kiệm bộ nhớ bằng cách sử dụng GQA (Group-Query Attention) để giảm kích thước của KV cache.

> #### Những insight chính: Có 3 quan sát chính về chi phí thực thi của SLM:
> - Ngoài kích thước mô hình, kiến trúc mô hình cũng ảnh hưởng đến độ trễ. Ví dụ, Qwen1.5-0.5B có nhiều tham số hơn Qwen2-0.5B 25,4%, nhưng lại chạy nhanh hơn 31,9% trên Jetson Orin. Điều này cho thấy khi phát triển SLM, cần tối ưu theo phần cứng sẽ được triển khai.
> - Ảnh hưởng của kiến trúc mô hình đến tốc độ suy luận thể hiện rõ hơn ở giai đoạn prefill so với giai đoạn decode. Lý do là mật độ tính toán ở giai đoạn prefill cao hơn, trong khi giai đoạn decode chủ yếu bị ràng buộc bởi bộ nhớ (memory-bound). Sự khác biệt trong kiến trúc mô hình dễ tác động hơn trong các kịch bản bị ràng buộc bởi tính toán (compute-bound). Ví dụ, các mô hình rộng hơn và nông hơn có mức độ song song tính toán (computational parallelism) cao hơn.
> - Mức sử dụng bộ nhớ khi thực thi nhìn chung có tương quan tuyến tính với kích thước mô hình. Tuy nhiên, một số mô hình có kích thước từ vựng (vocabulary size) lớn hơn sẽ dùng nhiều bộ nhớ hơn so với các mô hình khác có kích thước tương tự. Ví dụ, họ mô hình Bloom có kích thước từ vựng là 250.880, lớn hơn khoảng 5 đến 8 lần so với phần lớn mô hình khác.

Tác động của lượng tử hóa và phần cứng (Impact of Quantization and Hardware)

Trước tiên, để xem lượng tử hóa (Quantization) ảnh hưởng như thế nào đến chi phí thực thi của SLM, nhóm nghiên cứu đã đo độ trễ của mô hình Phi-1.5 trước lượng tử hóa (FP16) và với năm phương pháp lượng tử hóa khác nhau (Q8_0, Q6_K, Q5_K, Q4_K_M, Q3_K):

Trên thiết bị di động, khả năng hỗ trợ phép toán int8 có thể còn hạn chế, nhưng vẫn có thể giảm hiệu quả overhead truy cập bộ nhớ. Điều này là do dữ liệu được nén nhờ độ chính xác thấp hơn, từ đó cải thiện khả năng tận dụng cache. Mỗi phương pháp thực hiện lượng tử hóa theo n-bit; Qn_K và Qn_K_M sử dụng phương pháp k-quant để lượng tử hóa các mô hình có số lượng tham số ở mức trung bình xuống n bit, còn Qn_0 là lượng tử hóa đối xứng.

Hiệu quả của lượng tử hóa ở giai đoạn Prefill là khi độ dài prompt ngắn, lượng tử hóa giúp giảm độ trễ ít nhất 25%. Tuy nhiên, khi độ dài prompt tăng lên, hiệu quả này giảm dần; khi độ dài prompt tiến gần 50, các phương pháp lượng tử hóa Q6_K và Q3_K cho độ trễ tương đương hoặc thậm chí dài hơn mô hình FP16 không lượng tử hóa. Các phương pháp Q8_0, Q4_K_M, Q5_K mang lại cải thiện hiệu năng ổn định, trong đó Q4_K_M cho kết quả tốt nhất, trung bình giảm 50% độ trễ.

Hiệu quả của lượng tử hóa ở giai đoạn Decode nhất quán hơn, với độ trễ giảm tối đa 75% và tối thiểu 17%. Tương tự giai đoạn Prefill, Q4_K_M là phương pháp hiệu quả nhất, còn Q6_K là kém hiệu quả nhất.

> #### Những insight chính: Có 2 quan sát chính về tác động của lượng tử hóa đến chi phí thực thi của SLM:
> - Lợi ích của lượng tử hóa thể hiện rõ hơn ở giai đoạn decode so với giai đoạn prefill. Trên thiết bị di động, lượng tử hóa chủ yếu giúp giảm overhead truy cập bộ nhớ. Vì giai đoạn decode bị ảnh hưởng nhiều hơn bởi băng thông bộ nhớ, nên có thể thu được nhiều lợi ích hơn từ lượng tử hóa so với giai đoạn prefill vốn chịu ảnh hưởng của tính toán nhiều hơn.
> - Độ chính xác lượng tử hóa (Quantization Precision) càng đều đặn (regular) thì hiệu năng càng cao. Lượng tử hóa 3-bit cho tỷ lệ nén cao hơn 4-bit, nhưng lượng tử hóa 4-bit lại mang lại hiệu năng tốt hơn ở cả giai đoạn prefill và decode. Nguyên nhân khiến 3-bit cho hiệu năng thấp hơn là do độ rộng bit không đều (irregular bit-width) khiến hỗ trợ tối ưu hóa phần cứng còn hạn chế, đồng thời phát sinh thêm overhead do căn chỉnh và padding dữ liệu (data alignment & padding). Vì vậy, dù tỷ lệ nén thấp hơn, lượng tử hóa 4-bit vẫn hiệu quả hơn; tương tự, lượng tử hóa 5-bit và 6-bit tuy có tỷ lệ nén cao hơn nhưng vẫn cho độ trễ suy luận tương đương hoặc cao hơn lượng tử hóa 8-bit.

Tiếp theo, để đo tác động của phần cứng (Hardware) đến chi phí thực thi của SLM, nhóm nghiên cứu đã thử nghiệm mô hình Bloom-1B1 trên Jetson Orin NX 16GB (dùng GPU) và Meizu 18 Pro (dùng CPU):

Ở giai đoạn Prefill, khi độ dài prompt ngắn, Jetson Orin cho hiệu năng nhanh hơn Meizu 18 Pro từ 10 đến 20 lần. Ngoài ra, khi độ dài prompt tăng lên, ưu thế hiệu năng của Jetson càng trở nên rõ rệt hơn. Khi prompt dài hơn, thời gian tạo token đầu tiên trên cả hai thiết bị đều tăng tuyến tính, nhưng Jetson vẫn duy trì hiệu năng ổn định ngay cả với prompt dài hơn.

Ở giai đoạn Decode, khi số lượng token được tạo tăng lên, độ trễ trên mỗi token của Meizu 18 Pro tăng mạnh. Đặc biệt, độ trễ tăng vọt từ token đầu tiên đến token thứ 10, sau đó mới ổn định. Sự gia tăng độ trễ đột ngột này trên Meizu 18 Pro là do nhiệt độ tăng lên, vì DVFS (Dynamic Voltage and Frequency Scaling) hoặc thermal throttling điều chỉnh mức tiêu thụ điện năng và tần số, làm giảm hiệu quả tính toán. Trong khi đó, Jetson nhờ hệ thống làm mát hiệu quả hơn nên có ít biến động độ trễ cho đến khi tạo ra 30 token, và chỉ sau đó mới quan sát thấy độ trễ tăng lên.

> #### Những insight chính: Có 2 quan sát chính về tác động của phần cứng đến chi phí thực thi của SLM:
> - Trong khi giai đoạn decode tạo từng token một theo tuần tự, thì ở giai đoạn prefill, các token trong prompt có thể được xử lý song song, vì vậy GPU cho hiệu năng nhanh hơn rất nhiều.
> - Trong các tác vụ suy luận dài, Jetson cho độ ổn định hiệu năng tốt hơn so với smartphone. Điều này là do Jetson có cấu trúc phần cứng tương đối đơn giản hơn nên việc tản nhiệt (heat dissipation) thuận lợi hơn.

Phân tích độ trễ và bộ nhớ (Latency and Memory Breakdown)

Để phân tích chi tiết hơn độ trễ, nhóm nghiên cứu đã xem xét tỷ trọng mà từng lớp (layer) và phép toán (operation) chiếm trong tổng độ trễ đối với các mô hình Qwen1.5-0.5B và Qwen2-0.5B:

Hai mô hình Qwen1.5-0.5B và Qwen2-0.5B có kích thước tương tự nhau, nhưng khác biệt về độ trễ (latency). Thông qua phân tích chi tiết độ trễ của từng mô hình, nhóm nghiên cứu đã đo phân bố thời gian mà từng lớp (Embedding, Attention, FFN, LM_Head) chiếm giữ.

Ở giai đoạn Prefill, trong mô hình Qwen1.5, lớp attention chiếm tỷ trọng lớn hơn lớp FFN. Điều này là do kích thước KV cache tăng lên khiến lớp attention đòi hỏi nhiều tính toán hơn. Ngược lại, ở mô hình Qwen2, lớp FFN chiếm tỷ trọng lớn hơn lớp attention. Đây là hiện tượng xuất phát từ việc lớp FFN của Qwen2 rộng hơn.

Ở giai đoạn Decode, tỷ trọng tính toán của attention trong mô hình Qwen1.5 còn tăng lên hơn nữa. Điều này là do token được tạo ra phải tương tác với các token đã được tạo trước đó, nên cần nhiều phép tính hơn; xu hướng này càng rõ rệt khi kích thước KV cache tăng lên. Ở mô hình Qwen2, lớp FFN vẫn chiếm nhiều thời gian nhất, vì độ rộng tính toán của FFN lớn hơn nên mất nhiều thời gian hơn.

Nếu phân tích theo operator, ở cả hai mô hình, phép toán nhân ma trận-vectơ (matrix-vector multiplication, mul_mat_vec_q) chiếm hơn 80% tổng thời gian tính toán. Đặc biệt, trong mô hình Qwen2-0.5B, do lớp FFN rộng hơn nên phép toán mul_mat_vec_q chiếm tỷ trọng còn lớn hơn.

Ngoài ra, khi phân tích mức sử dụng bộ nhớ (Memory), có thể thấy như sau:

Kết quả phân tích nhấn mạnh rằng không chỉ kích thước mô hình (model size) mà cả kích thước từ vựng (vocabulary size) cũng ảnh hưởng lớn đến mức sử dụng bộ nhớ. Từ vựng mà mô hình sử dụng càng lớn thì bộ đệm tính toán (Compute Buffer) dùng ở tầng đầu ra càng lớn. Ví dụ, mô hình Bloom-560M có kích thước từ vựng là 250.880, khiến bộ đệm tính toán của mô hình này đạt 492MB, tức dùng nhiều bộ nhớ hơn 3,5 lần so với OpenELM-1.1B có kích thước từ vựng là 32.000.

Ngoài ra, các mô hình sử dụng GQA(Group-Query Attention) có KV Cache nhỏ hơn các mô hình sử dụng MHA(Multi-Head Attention). Chẳng hạn, kích thước KV cache của mô hình OpenELM-3B là 164MB, nhỏ hơn khoảng 3,9 lần so với mô hình StableLM-zephyr-3B.

Khi độ dài ngữ cảnh (context length) tăng lên, bộ đệm tính toán (Compute Buffer)KV Cache trở thành các yếu tố quyết định chính của mức sử dụng bộ nhớ mô hình. Trong dòng mô hình Qwen2, khi độ dài ngữ cảnh đạt 131.072, Compute Buffer và KV Cache chiếm từ 83% đến 87% tổng mức sử dụng bộ nhớ. Ngược lại, với Qwen1.5, ở độ dài ngữ cảnh tối đa 32.768, hai yếu tố này chiếm từ 85% đến 90% tổng bộ nhớ.

Thông qua phân tích này, có thể thấy rõ tác động của kích thước từ vựng (Vocabulary Size) và độ dài ngữ cảnh (Context Length) đến mức sử dụng bộ nhớ của SLM; kích thước từ vựng càng lớn và ngữ cảnh càng dài thì mức sử dụng bộ nhớ càng tăng nhanh.

Kết luận và hướng nghiên cứu trong tương lai

Đến nay, nghiên cứu đã tiến hành khảo sát toàn diện và đo lường hiệu năng đối với các mô hình ngôn ngữ nhỏ (SLM) có kích thước từ 100M đến 5B, đồng thời đánh giá hiệu năng và chi phí vận hành của mô hình. Qua đó, bài viết phân tích thành tựu và giới hạn hiện tại của SLM, đồng thời đề xuất nhiều chủ đề nghiên cứu cần được tiếp tục trong tương lai:

  • Thiết kế phối hợp và tối ưu hóa đồng thời giữa kiến trúc SLM và bộ xử lý(Co-design and co-optimizations of SLM architecture and device processors.): Hiệu năng của SLM có thể thay đổi rất lớn tùy theo cấu hình kiến trúc ngay cả trong cùng một kích thước mô hình. Ví dụ, tỷ lệ độ sâu-độ rộng của transformer, loại attention, hàm kích hoạt đều có ảnh hưởng rất lớn đến tốc độ thực thi. Đặc biệt, việc lượng tử hóa SLM để có thể chạy hiệu quả trên các bộ xử lý tối ưu cho phép toán số nguyên như NPU(Neural Processing Unit) là rất quan trọng. Để đạt được trade-off tối ưu giữa độ chính xác và tốc độ, việc thiết kế kiến trúc và tối ưu hóa phù hợp với phần cứng cụ thể là điều thiết yếu, và một hướng đi có thể là tìm kiếm kiến trúc được tối ưu cho tốc độ trước giai đoạn tiền huấn luyện.

  • Xây dựng tập dữ liệu tổng hợp chất lượng cao(Constructing high-quality synthetic dataset): Các tập dữ liệu tiền huấn luyện gần đây như DCLM và FineWeb-Edu đã cải thiện đáng kể hiệu năng của SLM. Đổi mới cốt lõi của các tập dữ liệu này là sử dụng mô hình đã được tiền huấn luyện để lọc dữ liệu chất lượng cao từ các corpus quy mô lớn. Nghiên cứu về dữ liệu tổng hợp vẫn đang ở giai đoạn đầu và còn rất nhiều tiềm năng. Việc xây dựng quy trình quản lý dữ liệu tổng hợp được chuẩn hóa như khử trùng lặp dữ liệu, lọc, pha trộn và đánh giá là rất cấp thiết.

  • Mở rộng luật Chinchilla có tính đến môi trường triển khai(A deployment-aware Chinchilla law for model scaling): Theo luật Chinchilla, để tối ưu hiệu năng mô hình cần có sự cân bằng giữa kích thước mô hình và quy mô dữ liệu huấn luyện (số token), khoảng 1:20. Tuy nhiên, vì SLM phải phù hợp với bộ nhớ và năng lực tính toán hạn chế của thiết bị, chúng có xu hướng sử dụng lượng dữ liệu huấn luyện lớn hơn rất nhiều. Cách tiếp cận này hiệu quả đến một mức độ nhất định, nhưng không thể mở rộng dữ liệu huấn luyện vô hạn, nên việc tìm ra phương pháp mở rộng dữ liệu tối ưu vẫn là một bài toán chưa được giải quyết. Ngoài ra, không chỉ quy mô dữ liệu, chi phí huấn luyện và suy luận mà cả vòng đời và lợi ích kinh tế của SLM cũng cần được xem xét; khi áp dụng tính thưa sparsity như MoE(Mixture-of-Experts, mô hình trộn chuyên gia), vấn đề này càng trở nên phức tạp hơn.

  • Học liên tục on-device để cá nhân hóa(Continual on-device learning for personalization): Khi SLM được triển khai trên thiết bị, có thể tận dụng dữ liệu trên thiết bị (On-Device Data) để đạt hiệu năng tốt hơn hoặc cá nhân hóa mà không cần lo ngại về rò rỉ dữ liệu. Cách tiếp cận đầu tiên là dùng kỹ thuật RAG(Retrieval-Augmented Generation) để đưa dữ liệu cá nhân vào prompt. Cách này làm tăng thời gian tạo text embedding và xử lý prompt, đồng thời phát sinh vấn đề phải lưu dữ liệu phục vụ cá nhân hóa trên thiết bị trong thời gian dài. Cách tiếp cận thứ hai là fine-tuning SLM, qua đó nhúng tri thức cần thiết cho cá nhân hóa vào trọng số mô hình và có thể xóa dữ liệu sau khi tinh chỉnh. Tuy nhiên, fine-tuning on-device tiêu tốn nhiều bộ nhớ và năng lượng nên có thể gây ra vấn đề tài nguyên nghiêm trọng. Chẳng hạn, có thể nghiên cứu các phương pháp áp dụng tối ưu hóa không đạo hàm bậc không (zeroth-order optimization) để không phải lưu giá trị kích hoạt trong bộ nhớ và có thể tận dụng bộ tăng tốc phần cứng ở giai đoạn suy luận.

  • Phối hợp giữa SLM và LLM trên thiết bị và đám mây(Device-cloud SLM-LLM collaboration): Dù năng lực của SLM đang phát triển nhanh, khoảng cách với các mô hình ngôn ngữ lớn (LLM) chạy trên đám mây vẫn còn tồn tại. Để giải quyết điều này, sự phối hợp giữa thiết bị và đám mây sẽ là một chủ đề nghiên cứu quan trọng. Về trực giác, SLM có thể xử lý các tác vụ dễ giải quyết ngay trên thiết bị, còn LLM trên đám mây có thể đóng vai trò bộ lọc xử lý các tác vụ phức tạp. Tuy nhiên, cần có mô-đun ra quyết định để phân biệt tác vụ nào SLM có thể xử lý và tác vụ nào thì không, và vẫn cần thêm nghiên cứu để tìm ra cách phối hợp phù hợp giữa thiết bị và đám mây.

  • Vấn đề công bằng trong đánh giá hiệu năng SLM(Benchmarking SLMs fairly): SLM gặp vấn đề quá khớp, đặc biệt trên các benchmark được dùng rộng rãi như GSM8k. Ngoài ra, nhiều SLM được huấn luyện bằng tập dữ liệu không công khai nên khó so sánh hiệu năng một cách công bằng. SLM chủ yếu chạy on-device, do đó chúng thực hiện các tác vụ khác với trong môi trường đám mây. Các SLM triển khai trên smartphone có xu hướng xử lý những tác vụ nhạy cảm với dữ liệu người dùng, và vì các tác vụ chuyên biệt kiểu ad-hoc task này không có trong benchmark hiện tại nên có thể bị loại khỏi những tiêu chí đánh giá quan trọng.

  • SLM áp dụng tính thưa(Sparse SLMs): Hiện nay hầu như chưa có nhiều nghiên cứu áp dụng tính thưa (Sparsity) cho SLM. Lý do là so với LLM, SLM được dự đoán sẽ có mức độ sparsity tương đối thấp hơn, nên lợi ích về tăng tốc hoặc tiết kiệm bộ nhớ từ sparsity có thể bị hạn chế. Ngoài ra, các kiến trúc dựa trên tính thưa như MoE(Mixture-of-Experts, mô hình trộn chuyên gia) có thể làm tăng độ phức tạp tính toán thay vì giảm mức sử dụng bộ nhớ, vì vậy có thể không phù hợp với các thiết bị bị giới hạn bộ nhớ. Có thể mở rộng SLM hơn nữa bằng cách tận dụng bộ nhớ ngoài của smartphone (ví dụ: flash memory) để lưu các trọng số cố định (Cold Weights) và nạp khi cần, nhưng các phương pháp như vậy vẫn cần được nghiên cứu thêm về những vấn đề như độ trễ I/O cũng như duy trì khả năng tương thích với các bộ tăng tốc phần cứng dị thể (heterogeneous).

Bài khảo sát toàn diện về mô hình ngôn ngữ nhỏ: Small Language Models: Survey, Measurements, and Insights

https://arxiv.org/abs/2409.15790

Trang chủ dự án

https://ubiquitouslearning.github.io/TinyLLMLeaderBoard/#/slm

Kho lưu trữ GitHub

https://github.com/UbiquitousLearning/SLM_Survey


Bài viết này được tổng hợp dựa trên nội dung do mô hình GPT tóm lược, nên có thể có những điểm được sắp xếp khác với nội dung hoặc ý định của nguyên tác. Nếu bạn quan tâm đến chủ đề này, hãy tham khảo thêm cả bài gốc! Nếu trong lúc đọc bạn phát hiện nội dung gượng gạo hoặc sai sót, mong bạn cho biết qua phần bình luận. 🤗

⚠️Quảng cáo⚠️: Bạn thấy bài viết này do 🔥Cộng đồng người dùng PyTorch Hàn Quốc🇰🇷 tổng hợp có hữu ích không? Nếu đăng ký thành viên, chúng tôi sẽ gửi các bài viết nổi bật qua email💌 cho bạn! (Mặc định là Weekly, nhưng cũng có thể đổi sang Daily.)

Chưa có bình luận nào.

Chưa có bình luận nào.