Trí tuệ nhân tạo
OLMo: Cải thiện Khoa học của Mô hình Ngôn ngữ
Sự phát triển và tiến bộ của mô hình ngôn ngữ trong những năm gần đây đã đánh dấu sự hiện diện của chúng gần như mọi nơi, không chỉ trong nghiên cứu NLP mà còn trong các sản phẩm thương mại và ứng dụng thực tế. Tuy nhiên, sự gia tăng nhu cầu thương mại đối với mô hình ngôn ngữ đã đến một mức độ nhất định, cản trở sự phát triển của cộng đồng. Điều này là vì hầu hết các mô hình và khả năng tiên tiến nhất đều bị giới hạn bởi các giao diện độc quyền, khiến cho cộng đồng phát triển không thể tiếp cận được với các chi tiết quan trọng về kiến trúc đào tạo, dữ liệu và quy trình phát triển. Hiện tại, không thể phủ nhận rằng những chi tiết đào tạo và cấu trúc này là rất quan trọng cho các nghiên cứu, bao gồm cả việc tiếp cận với các rủi ro và偏见 tiềm ẩn, từ đó tạo ra yêu cầu cho cộng đồng nghiên cứu phải có quyền truy cập vào một mô hình ngôn ngữ mạnh mẽ và mở thực sự.
Để đáp ứng yêu cầu này, các nhà phát triển đã tạo ra OLMo, một khuôn khổ mô hình ngôn ngữ mạnh mẽ và mở thực sự. Khuôn khổ này cho phép các nhà nghiên cứu sử dụng OLMo để xây dựng và nghiên cứu mô hình ngôn ngữ. Không giống như hầu hết các mô hình ngôn ngữ tiên tiến nhất, chỉ phát hành mã giao diện và trọng số mô hình, khuôn khổ OLMo là mã nguồn mở thực sự, với mã đánh giá công khai, phương pháp đào tạo và dữ liệu đào tạo. Mục tiêu chính của OLMo là trao quyền và thúc đẩy cộng đồng nghiên cứu mở và sự phát triển liên tục của mô hình ngôn ngữ.
Trong bài viết này, chúng ta sẽ thảo luận về khuôn khổ OLMo chi tiết, kiểm tra kiến trúc, phương pháp và hiệu suất của nó so với các khuôn khổ tiên tiến nhất hiện tại. Vậy, hãy bắt đầu.
OLMo: Cải thiện Khoa học của Mô hình Ngôn ngữ
Mô hình ngôn ngữ đã trở thành xu hướng nóng nhất trong những năm gần đây, không chỉ trong cộng đồng AI và ML mà còn trên toàn ngành công nghệ, nhờ vào khả năng thực hiện các nhiệm vụ thực tế với hiệu suất giống như con người. ChatGPT là một ví dụ điển hình về tiềm năng của mô hình ngôn ngữ, với các công ty lớn trong ngành công nghệ đang khám phá việc tích hợp mô hình ngôn ngữ vào sản phẩm của họ.
NLP, hoặc Xử lý Ngôn ngữ Tự nhiên, là một trong những ngành đã sử dụng rộng rãi mô hình ngôn ngữ trong những năm gần đây. Tuy nhiên, kể từ khi ngành công nghiệp bắt đầu sử dụng chú thích của con người cho việc căn chỉnh và đào tạo trước quy mô lớn, mô hình ngôn ngữ đã chứng kiến sự cải thiện nhanh chóng về tính khả thi thương mại, dẫn đến hầu hết các khuôn khổ ngôn ngữ và NLP tiên tiến nhất có giao diện độc quyền hạn chế, với cộng đồng phát triển không có quyền truy cập vào các chi tiết quan trọng.
Để đảm bảo sự tiến bộ của mô hình ngôn ngữ, OLMo, một mô hình ngôn ngữ mạnh mẽ và mở thực sự, cung cấp cho các nhà phát triển một khuôn khổ để xây dựng, nghiên cứu và phát triển mô hình ngôn ngữ. Nó cũng cung cấp cho các nhà nghiên cứu quyền truy cập vào mã đào tạo và đánh giá, phương pháp đào tạo, dữ liệu đào tạo, nhật ký đào tạo và điểm kiểm tra mô hình trung gian. Các mô hình tiên tiến nhất hiện tại có các mức độ mở khác nhau, trong khi mô hình OLMo đã phát hành toàn bộ khuôn khổ, từ đào tạo đến dữ liệu đến công cụ đánh giá, từ đó thu hẹp khoảng cách hiệu suất khi so sánh với các mô hình tiên tiến nhất như mô hình LLaMA2.
Để mô hình hóa và đào tạo, khuôn khổ OLMo bao gồm mã đào tạo, trọng số mô hình đầy đủ, phân tích và chỉ số đào tạo dưới dạng mã giao diện, cũng như nhật ký và chỉ số đào tạo của Weights & Biases. Đối với phân tích và xây dựng tập dữ liệu, khuôn khổ OLMo bao gồm toàn bộ dữ liệu đào tạo được sử dụng cho mô hình Dolma và WIMBD của AI2, cùng với mã tạo ra dữ liệu đào tạo. Đối với mục đích đánh giá, khuôn khổ OLMo bao gồm mô hình Catwalk của AI2 để đánh giá hạ nguồn và mô hình Paloma để đánh giá dựa trên độ phức tạp.
OLMo: Kiến trúc và Mô hình
Mô hình OLMo áp dụng kiến trúc biến đổi chỉ có bộ giải mã dựa trên Hệ thống Xử lý Thông tin Neuron và cung cấp hai mô hình với 1 tỷ và 7 tỷ tham số tương ứng, với mô hình 65 tỷ tham số đang được phát triển.

Kiến trúc của khuôn khổ OLMo cung cấp một số cải tiến so với các khuôn khổ khác, bao gồm cả thành phần biến đổi vanilla trong kiến trúc của chúng, bao gồm cả các mô hình ngôn ngữ lớn tiên tiến nhất như OpenLM, Falcon, LLaMA và PaLM. Hình dưới đây so sánh mô hình OLMo với 7 tỷ tham số với các mô hình LLM gần đây hoạt động trên số lượng tham số gần như tương đương.

Khuôn khổ OLMo chọn các siêu tham số bằng cách tối ưu hóa mô hình cho quá trình đào tạo trên phần cứng trong khi giảm thiểu rủi ro về sự phân kỳ chậm và các điểm mất mát. Với điều đó, các thay đổi chính được thực hiện bởi khuôn khổ OLMo để phân biệt nó với kiến trúc biến đổi vanilla là như sau:
Không có偏见
Không giống như Falcon, PaLM, LLaMA và các mô hình ngôn ngữ khác, khuôn khổ OLMo không bao gồm bất kỳ偏见 nào trong kiến trúc của nó để tăng cường sự ổn định của quá trình đào tạo.
Chuẩn hóa Lớp không tham số
Khuôn khổ OLMo thực hiện công thức không tham số của chuẩn hóa lớp trong kiến trúc của nó. Chuẩn hóa Lớp không tham số không cung cấp bất kỳ biến đổi affine nào trong chuẩn hóa, tức là nó không cung cấp bất kỳ lợi ích hoặc偏见 thích ứng nào. Chuẩn hóa Lớp không tham số không chỉ cung cấp nhiều bảo mật hơn so với các chuẩn hóa tham số, mà còn nhanh hơn.
Hàm kích hoạt SwiGLU
Giống như hầu hết các mô hình ngôn ngữ như PaLM và LLaMA, khuôn khổ OLMo bao gồm hàm kích hoạt SwiGLU trong kiến trúc của nó thay vì hàm kích hoạt ReLU, và tăng kích thước kích hoạt ẩn lên đến bội số gần nhất của 128 để cải thiện hiệu suất.
Định vị vị trí quay (RoPE)
Mô hình OLMo theo mô hình LLaMA và PaLM và thay thế các định vị vị trí tuyệt đối bằng Định vị vị trí quay (RoPE).
Đào tạo trước với Dolma
Mặc dù cộng đồng phát triển hiện có quyền truy cập tăng cường vào các tham số mô hình, nhưng cánh cửa để truy cập vào tập dữ liệu đào tạo trước vẫn còn đóng. Điều này là vì dữ liệu đào tạo trước không được phát hành cùng với các mô hình đóng hoặc cùng với các mô hình mở. Hơn nữa, các tài liệu kỹ thuật về dữ liệu này thường thiếu các chi tiết quan trọng cần thiết để hiểu và sao chép mô hình. Ngăn chặn này làm cho việc nghiên cứu trở nên khó khăn trong một số lĩnh vực của nghiên cứu mô hình ngôn ngữ, bao gồm cả việc hiểu cách dữ liệu đào tạo ảnh hưởng đến khả năng và hạn chế của mô hình. Khuôn khổ OLMo đã xây dựng và phát hành tập dữ liệu đào tạo trước của nó, Dolma, để tạo điều kiện cho nghiên cứu mở về đào tạo mô hình ngôn ngữ. Tập dữ liệu Dolma là một tập hợp đa nguồn và đa dạng với hơn 3 nghìn tỷ token trên 5 tỷ tài liệu được thu thập từ 7 nguồn khác nhau thường được sử dụng bởi các mô hình LLM lớn quy mô lớn để đào tạo trước và có sẵn cho công chúng. Thành phần của tập dữ liệu Dolma được tóm tắt trong bảng dưới đây.

Tập dữ liệu Dolma được xây dựng bằng cách sử dụng một pipeline gồm 5 thành phần: lọc ngôn ngữ, lọc chất lượng, lọc nội dung, trộn đa nguồn, loại bỏ trùng lặp và tạo token. OLMo cũng đã phát hành báo cáo Dolma cung cấp thêm thông tin về các nguyên tắc thiết kế và chi tiết xây dựng cùng với một tóm tắt nội dung chi tiết hơn. Mô hình cũng mã nguồn mở các công cụ tạo dữ liệu hiệu suất cao để cho phép dễ dàng và nhanh chóng tạo ra các tập dữ liệu đào tạo. Đánh giá mô hình tuân theo chiến lược hai giai đoạn, bắt đầu với đánh giá trực tuyến để đưa ra quyết định trong quá trình đào tạo mô hình và đánh giá ngoại tuyến cuối cùng để đánh giá tổng hợp từ các điểm kiểm tra mô hình. Đối với đánh giá ngoại tuyến, OLMo sử dụng khuôn khổ Catwalk, công cụ đánh giá công khai của chúng tôi có quyền truy cập vào đa dạng các tập dữ liệu và định dạng nhiệm vụ. Khuôn khổ sử dụng Catwalk cho đánh giá hạ nguồn cũng như đánh giá mô hình ngôn ngữ nội tại trên tiêu chuẩn độ phức tạp mới của chúng tôi, Paloma. OLMo sau đó so sánh nó với một số mô hình công khai bằng cách sử dụng đường ống đánh giá cố định của nó, cho cả đánh giá hạ nguồn và đánh giá độ phức tạp.
OLMo chạy một số chỉ số đánh giá về kiến trúc mô hình, khởi tạo, tối ưu hóa, lịch trình học tập và hỗn hợp dữ liệu trong quá trình đào tạo mô hình. Các nhà phát triển gọi đây là “đánh giá trực tuyến” của OLMo, vì nó là một vòng lặp trong mỗi 1000 bước đào tạo (∼4B token đào tạo) để cung cấp một tín hiệu sớm và liên tục về chất lượng của mô hình đang được đào tạo. Thiết lập các đánh giá này phụ thuộc vào đa số các nhiệm vụ cốt lõi và thiết lập thí nghiệm được sử dụng cho đánh giá ngoại tuyến của chúng tôi. OLMo không chỉ nhằm so sánh OLMo-7B với các mô hình khác về hiệu suất tốt nhất, mà còn để展示 cách nó cho phép đánh giá khoa học đầy đủ và có kiểm soát hơn.
Đào tạo OLMo
Điều quan trọng cần lưu ý là các mô hình OLMo được đào tạo bằng chiến lược tối ưu hóa ZeRO, được cung cấp bởi khuôn khổ FSDP thông qua PyTorch và như vậy, giảm đáng kể việc tiêu thụ bộ nhớ GPU bằng cách chia trọng số mô hình trên các GPU. Với điều này, ở quy mô 7B, quá trình đào tạo có thể được thực hiện với kích thước batch vi mô là 4096 token trên mỗi GPU trên phần cứng của chúng tôi. Khuôn khổ đào tạo cho mô hình OLMo-1B và -7B sử dụng kích thước batch toàn cầu không đổi khoảng 4M token (2048 thể hiện mỗi thể hiện với độ dài chuỗi 2048 token). Đối với mô hình OLMo-65B (hiện đang được đào tạo), các nhà phát triển sử dụng kích thước batch khởi động ở khoảng 2M token (1024 thể hiện), tăng gấp đôi mỗi 100B token cho đến khoảng 16M token (8192 thể hiện).
Để cải thiện hiệu suất, chúng tôi sử dụng đào tạo hỗn hợp chính xác (Micikevicius et al., 2017) thông qua các thiết lập tích hợp của FSDP và mô-đun amp của PyTorch. Mô-đun này đảm bảo rằng một số hoạt động như softmax luôn chạy ở chính xác đầy đủ để cải thiện sự ổn định, trong khi tất cả các hoạt động khác chạy ở chính xác nửa với định dạng bfloat16. Theo các thiết lập cụ thể của chúng tôi, trọng số mô hình bị chia và trạng thái tối ưu hóa cục bộ cho mỗi GPU được giữ ở chính xác đầy đủ. Trọng số trong mỗi khối biến đổi chỉ được chuyển đổi sang định dạng bfloat16 khi các tham số đầy đủ được hiện thực hóa trên mỗi GPU trong quá trình chuyển tiếp và ngược lại. Các gradient được giảm trên các GPU ở chính xác đầy đủ.
Tối ưu hóa
Khuôn khổ OLMo sử dụng tối ưu hóa AdamW với các siêu tham số sau.

Đối với tất cả các kích thước mô hình, tốc độ học tăng tuyến tính trong 5000 bước đầu tiên (∼21B token) lên đến giá trị tối đa, và sau đó giảm tuyến tính với căn bậc hai của số bước đến tốc độ học tối thiểu đã chỉ định. Sau giai đoạn khởi động, mô hình cắt các gradient để đảm bảo rằng chuẩn l-norm của gradient tham số không vượt quá 1,0. Bảng dưới đây cho thấy so sánh các thiết lập tối ưu hóa của chúng tôi ở quy mô 7B với các LLM gần đây khác cũng sử dụng AdamW.

Dữ liệu đào tạo
Đào tạo bao gồm việc tạo token các thể hiện đào tạo bằng cách sử dụng bộ tạo token từ và bộ tạo token BPE cho mô hình piece sau khi thêm một token EOS đặc biệt vào cuối mỗi tài liệu, và sau đó nhóm các khối liên tiếp gồm 2048 token để tạo thành các thể hiện đào tạo. Các thể hiện đào tạo được trộn theo cùng một cách cho mỗi lần chạy đào tạo. Thứ tự dữ liệu và thành phần chính xác của mỗi batch đào tạo có thể được tái tạo từ các artifact mà chúng tôi phát hành. Tất cả các mô hình OLMo đã phát hành đều đã được đào tạo ít nhất 2T token (một kỷ trên dữ liệu đào tạo của nó), và một số đã được đào tạo vượt quá đó bằng cách bắt đầu một kỷ thứ hai trên dữ liệu với một thứ tự trộn khác. Dữ liệu lặp lại này có ảnh hưởng không đáng kể.
Kết quả
Điểm kiểm tra được sử dụng để đánh giá OLMo-7B được đào tạo lên đến 2,46T token trên tập dữ liệu Dolma với lịch trình học tập giảm tuyến tính được đề cập trước đó. Việc tinh chỉnh thêm điểm kiểm tra này trên tập dữ liệu Dolma trong 1000 bước với tốc độ học giảm tuyến tính xuống 0 còn tăng thêm hiệu suất mô hình trên độ phức tạp và các bộ đánh giá nhiệm vụ cuối cùng được mô tả trước đó. Đối với đánh giá cuối cùng, các nhà phát triển đã so sánh OLMo với các mô hình công khai khác – LLaMA-7B, LLaMA2-7B, Pythia-6,9B, Falcon-7B và RPJ-INCITE-7B.
Đánh giá hạ nguồn
Bộ đánh giá hạ nguồn cốt lõi được tóm tắt trong bảng dưới đây.

Chúng tôi thực hiện đánh giá không có-shot bằng cách xếp hạng phân loại trong tất cả các trường hợp. Trong cách tiếp cận này, các hoàn thành văn bản (ví dụ, các lựa chọn khác nhau) được xếp hạng theo khả năng (thường được chuẩn hóa bằng một yếu tố chuẩn hóa), và độ chính xác dự đoán được báo cáo.
Trong khi Catwalk sử dụng một số phương pháp chuẩn hóa khả năng thông thường, chẳng hạn như chuẩn hóa mỗi token và chuẩn hóa mỗi ký tự, các chiến lược chuẩn hóa được áp dụng được chọn riêng cho mỗi tập dữ liệu và bao gồm cả khả năng không có điều kiện của câu trả lời. Cụ thể hơn, điều này liên quan đến việc không có chuẩn hóa cho các nhiệm vụ arc và openbookqa, chuẩn hóa mỗi token cho các nhiệm vụ hellaswag, piqa và winogrande, và không có chuẩn hóa cho các nhiệm vụ boolq, copa và sciq (tức là các nhiệm vụ ở định dạng gần với nhiệm vụ dự đoán một token đơn).

Hình dưới đây cho thấy sự tiến bộ của điểm số độ chính xác cho chín nhiệm vụ cuối cùng cốt lõi. Có thể suy luận rằng có một xu hướng tăng chung về số điểm độ chính xác cho tất cả các nhiệm vụ, ngoại trừ OBQA, khi OLMo-7B được đào tạo thêm trên nhiều token. Một bước nhảy vọt lên trong độ chính xác của nhiều nhiệm vụ giữa bước cuối cùng và bước thứ hai từ cuối cho thấy lợi ích của việc giảm tuyến tính LR xuống 0 trong 1000 bước đào tạo cuối cùng. Đối với các đánh giá nội tại, Paloma cho thấy thông qua một loạt các phân tích, từ việc kiểm tra hiệu suất trong từng lĩnh vực riêng biệt lên đến các kết quả tóm tắt hơn trên các kết hợp của các lĩnh vực. Chúng tôi báo cáo kết quả ở hai mức độ chi tiết: hiệu suất tổng hợp trên 11 trong 18 nguồn trong Paloma, cũng như các kết quả chi tiết hơn trên từng nguồn riêng lẻ.

Tư duy cuối cùng
Trong bài viết này, chúng ta đã thảo luận về OLMo, một mô hình ngôn ngữ mạnh mẽ và mở thực sự cung cấp cho các nhà phát triển một khuôn khổ để xây dựng, nghiên cứu và phát triển mô hình ngôn ngữ, cũng như cung cấp cho các nhà nghiên cứu quyền truy cập vào mã đào tạo và đánh giá, phương pháp đào tạo, dữ liệu đào tạo, nhật ký đào tạo và điểm kiểm tra mô hình trung gian. Các mô hình tiên tiến nhất hiện tại có các mức độ mở khác nhau, trong khi mô hình OLMo đã phát hành toàn bộ khuôn khổ, từ đào tạo đến dữ liệu đến công cụ đánh giá, từ đó thu hẹp khoảng cách hiệu suất khi so sánh với các mô hình tiên tiến nhất như mô hình LLaMA2.












