Trí tuệ nhân tạo
Sự trỗi dậy của nhiều chuyên gia cho các mô hình ngôn ngữ lớn hiệu quả

By
Aayush Mittal mittal
Trong thế giới xử lý ngôn ngữ tự nhiên (NLP), việc theo đuổi việc xây dựng các mô hình ngôn ngữ lớn hơn và có khả năng hơn là động lực thúc đẩy nhiều tiến bộ gần đây. Tuy nhiên, khi các mô hình này tăng kích thước, các yêu cầu tính toán cho việc đào tạo và suy luận ngày càng trở nên khắt khe hơn, vượt qua giới hạn về tài nguyên phần cứng sẵn có.
Hãy cùng tìm hiểu về Hỗn hợp Chuyên gia (MoE), một kỹ thuật hứa hẹn sẽ giảm bớt gánh nặng tính toán này đồng thời cho phép đào tạo các mô hình ngôn ngữ lớn hơn và mạnh mẽ hơn. Dưới đây, chúng ta sẽ thảo luận về MoE, khám phá nguồn gốc, cơ chế hoạt động bên trong và ứng dụng của nó trong các mô hình ngôn ngữ dựa trên bộ chuyển đổi.
Nguồn gốc của sự kết hợp giữa các chuyên gia
Khái niệm Hỗn hợp các chuyên gia (MoE) có thể bắt nguồn từ đầu những năm 1990 khi các nhà nghiên cứu khám phá ý tưởng tính toán có điều kiện, trong đó các phần của mạng lưới thần kinh được kích hoạt có chọn lọc dựa trên dữ liệu đầu vào. Một trong những công trình tiên phong trong lĩnh vực này là “Sự kết hợp thích ứng của các chuyên gia địa phương” bài báo của Jacobs et al. vào năm 1991, đề xuất một khung học tập có giám sát cho một tập hợp các mạng lưới thần kinh, mỗi mạng chuyên về một vùng khác nhau của không gian đầu vào.
Ý tưởng cốt lõi đằng sau MoE là có nhiều mạng “chuyên gia”, mỗi mạng chịu trách nhiệm xử lý một tập hợp con dữ liệu đầu vào. Một cơ chế gating, điển hình là chính mạng lưới thần kinh, xác định (các) chuyên gia nào sẽ xử lý một đầu vào nhất định. Cách tiếp cận này cho phép mô hình phân bổ tài nguyên tính toán hiệu quả hơn bằng cách chỉ kích hoạt các chuyên gia có liên quan cho từng đầu vào, thay vì sử dụng toàn bộ công suất mô hình cho mỗi đầu vào.
Trong nhiều năm, nhiều nhà nghiên cứu đã khám phá và mở rộng ý tưởng về tính toán có điều kiện, dẫn đến những phát triển như MoE phân cấp, các phép tính gần đúng cấp thấp cho tính toán có điều kiện và các kỹ thuật ước tính độ dốc thông qua các nơ-ron ngẫu nhiên và các hàm kích hoạt ngưỡng cứng.
Sự kết hợp của các chuyên gia trong Transformers
Trong khi ý tưởng về Mơ đã tồn tại trong nhiều thập kỷ, việc áp dụng nó vào các mô hình ngôn ngữ dựa trên máy biến áp là tương đối gần đây. Máy biến áp, đã trở thành tiêu chuẩn thực tế cho các mô hình ngôn ngữ tiên tiến, bao gồm nhiều lớp, mỗi lớp chứa cơ chế tự chú ý và mạng nơ-ron chuyển tiếp nguồn cấp dữ liệu (FFN).
Cải tiến quan trọng trong việc áp dụng MoE cho máy biến áp là thay thế các lớp FFN dày đặc bằng các lớp MoE thưa thớt, mỗi lớp bao gồm nhiều FFN chuyên gia và một cơ chế cổng. Cơ chế gating xác định (các) chuyên gia nào sẽ xử lý từng mã thông báo đầu vào, cho phép mô hình chỉ kích hoạt có chọn lọc một tập hợp con các chuyên gia cho một chuỗi đầu vào nhất định.
Một trong những công trình đầu tiên chứng minh tiềm năng của MoE trong máy biến áp là bài báo “Mạng lưới thần kinh cực lớn: Lớp hỗn hợp các chuyên gia có cổng thưa thớt” của Shazeer et al. vào năm 2017. Công trình này đã đưa ra khái niệm về lớp MoE có cổng thưa thớt, sử dụng cơ chế gating giúp bổ sung độ thưa thớt và tiếng ồn cho quá trình lựa chọn chuyên gia, đảm bảo rằng chỉ một tập hợp con chuyên gia được kích hoạt cho mỗi đầu vào.
Kể từ đó, một số công trình khác đã nâng cao hơn nữa việc ứng dụng MoE cho máy biến áp, giải quyết các thách thức như huấn luyện không ổn định, cân bằng tải và suy luận hiệu quả. Các ví dụ đáng chú ý bao gồm Chuyển đổi Biến áp (Fedus và cộng sự, 2021), ST-MoE (Zoph và cộng sự, 2022), và GLAM (Du và cộng sự, 2022).
Lợi ích của sự kết hợp các chuyên gia đối với các mô hình ngôn ngữ
Lợi ích chính của việc sử dụng MoE trong các mô hình ngôn ngữ là khả năng mở rộng quy mô mô hình trong khi vẫn duy trì chi phí tính toán tương đối ổn định trong quá trình suy luận. Bằng cách chỉ kích hoạt có chọn lọc một tập hợp con các chuyên gia cho mỗi mã thông báo đầu vào, các mô hình MoE có thể đạt được sức mạnh biểu đạt của các mô hình dày đặc lớn hơn nhiều trong khi yêu cầu tính toán ít hơn đáng kể.
Ví dụ: hãy xem xét một mô hình ngôn ngữ có lớp FFN dày đặc gồm 7 tỷ tham số. Nếu chúng ta thay thế lớp này bằng lớp MoE gồm 7 chuyên gia, mỗi lớp có 56 tỷ tham số thì tổng số tham số tăng lên 14 tỷ. Tuy nhiên, trong quá trình suy luận, nếu chúng ta chỉ kích hoạt hai chuyên gia cho mỗi mã thông báo, thì chi phí tính toán tương đương với một mô hình dày đặc 7 tỷ tham số, vì nó tính toán hai phép nhân ma trận XNUMX tỷ tham số.
Hiệu suất tính toán này trong quá trình suy luận đặc biệt có giá trị trong các tình huống triển khai khi tài nguyên bị hạn chế, chẳng hạn như thiết bị di động hoặc môi trường điện toán biên. Ngoài ra, yêu cầu tính toán giảm trong quá trình đào tạo có thể giúp tiết kiệm năng lượng đáng kể và giảm lượng khí thải carbon, phù hợp với sự chú trọng ngày càng tăng vào thực hành AI bền vững.
Những thách thức và cân nhắc
Mặc dù các mô hình MoE mang lại những lợi ích hấp dẫn nhưng việc áp dụng và triển khai chúng cũng đi kèm với một số thách thức và cân nhắc:
- Đào tạo không ổn định: Các mô hình MoE được biết là dễ gặp phải tình trạng mất ổn định trong đào tạo hơn so với các mô hình dày đặc của chúng. Vấn đề này phát sinh từ tính chất thưa thớt và có điều kiện của các kích hoạt chuyên gia, điều này có thể dẫn đến những thách thức trong việc truyền và hội tụ độ dốc. Các kỹ thuật như bộ định tuyến z-loss (Zoph và cộng sự, 2022) đã được đề xuất để giảm thiểu những bất ổn này, nhưng vẫn cần nghiên cứu thêm.
- Tinh chỉnh và trang bị quá mức: Các mô hình MoE có xu hướng dễ bị quá khớp hơn trong quá trình tinh chỉnh, đặc biệt khi tác vụ xuôi dòng có tập dữ liệu tương đối nhỏ. Hành vi này được cho là do năng lực tăng lên và độ thưa thớt của các mô hình MoE, có thể dẫn đến sự chuyên môn hóa quá mức đối với dữ liệu đào tạo. Cần phải có các chiến lược điều chỉnh và tinh chỉnh cẩn thận để giảm thiểu vấn đề này.
- Yêu cầu bộ nhớ: Mặc dù các mô hình MoE có thể giảm chi phí tính toán trong quá trình suy luận nhưng chúng thường có yêu cầu bộ nhớ cao hơn so với các mô hình dày đặc có kích thước tương tự. Điều này là do tất cả các trọng số chuyên gia cần được tải vào bộ nhớ, mặc dù chỉ một tập hợp con được kích hoạt cho mỗi đầu vào. Hạn chế về bộ nhớ có thể hạn chế khả năng mở rộng của mô hình MoE trên các thiết bị có hạn chế về tài nguyên.
- Cân bằng tải: Để đạt được hiệu quả tính toán tối ưu, điều quan trọng là phải cân bằng tải giữa các chuyên gia, đảm bảo rằng không có chuyên gia nào bị quá tải trong khi những chuyên gia khác vẫn chưa được sử dụng đúng mức. Việc cân bằng tải này thường đạt được thông qua các tổn thất phụ trợ trong quá trình đào tạo và điều chỉnh cẩn thận hệ số công suất, hệ số này xác định số lượng mã thông báo tối đa có thể được chỉ định cho mỗi chuyên gia.
- Chi phí liên lạc: Trong các kịch bản suy luận và đào tạo phân tán, các mô hình MoE có thể đưa ra thêm chi phí liên lạc do nhu cầu trao đổi thông tin kích hoạt và độ dốc giữa các chuyên gia cư trú trên các thiết bị hoặc máy gia tốc khác nhau. Các chiến lược truyền thông hiệu quả và thiết kế mô hình nhận biết phần cứng là điều cần thiết để giảm thiểu chi phí này.
Bất chấp những thách thức này, lợi ích tiềm năng của các mô hình MoE trong việc hỗ trợ các mô hình ngôn ngữ lớn hơn và có khả năng hơn đã thúc đẩy những nỗ lực nghiên cứu đáng kể nhằm giải quyết và giảm thiểu những vấn đề này.
Ví dụ: Mixtral 8x7B và GLaM
Để minh họa ứng dụng thực tế của MoE trong các mô hình ngôn ngữ, chúng ta hãy xem xét hai ví dụ đáng chú ý: Mixtral 8x7B và GLaM.
Mixtral 8x7B là một biến thể MoE của Mô hình ngôn ngữ Mistral, được phát triển bởi Anthropic. Nó bao gồm tám chuyên gia, mỗi chuyên gia có 7 tỷ tham số, tạo ra tổng số 56 tỷ tham số. Tuy nhiên, trong quá trình suy luận, chỉ có hai chuyên gia được kích hoạt cho mỗi mã thông báo, giúp giảm chi phí tính toán một cách hiệu quả xuống mô hình dày đặc 14 tỷ tham số.
Mixtral 8x7B đã thể hiện hiệu suất ấn tượng, vượt trội so với mô hình Llama 70 tỷ tham số trong khi cung cấp thời gian suy luận nhanh hơn nhiều. Một phiên bản được điều chỉnh theo hướng dẫn của Mixtral 8x7B, được gọi là Mixtral-8x7B-Instruct-v0.1, cũng đã được phát hành, nâng cao hơn nữa khả năng của nó trong việc tuân theo các hướng dẫn bằng ngôn ngữ tự nhiên.
Một ví dụ đáng chú ý khác là GLaM (Google Language Model), mô hình MoE quy mô lớn do Google phát triển. GLaM sử dụng kiến trúc biến áp chỉ dành cho bộ giải mã và được đào tạo trên bộ dữ liệu khổng lồ 1.6 nghìn tỷ mã thông báo. Mô hình đạt được hiệu suất ấn tượng trong các bài đánh giá vài lần và một lần, phù hợp với chất lượng của GPT-3 trong khi chỉ sử dụng 3/XNUMX năng lượng cần thiết để huấn luyện GPT-XNUMX.
Thành công của GLaM có thể được quy cho kiến trúc MoE hiệu quả, cho phép huấn luyện mô hình với số lượng lớn tham số trong khi vẫn duy trì các yêu cầu tính toán hợp lý. Mô hình này cũng chứng minh tiềm năng của các mô hình MoE trong việc tiết kiệm năng lượng và bền vững hơn về mặt môi trường so với các mô hình mật độ cao tương tự.
Kiến trúc Grok-1
Grok-1 là một mô hình MoE dựa trên máy biến áp với kiến trúc độc đáo được thiết kế để tối đa hóa hiệu suất và hiệu suất. Hãy cùng tìm hiểu các thông số kỹ thuật chính:
- Thông số Kỹ thuật : Với 314 tỷ tham số đáng kinh ngạc, Grok-1 là LLM mở lớn nhất cho đến nay. Tuy nhiên, nhờ kiến trúc MoE, chỉ có 25% trọng lượng (khoảng 86 tỷ tham số) hoạt động tại bất kỳ thời điểm nào, giúp nâng cao khả năng xử lý.
- Kiến trúc: Grok-1 sử dụng kiến trúc Hỗn hợp 8 chuyên gia, với mỗi mã thông báo được xử lý bởi hai chuyên gia trong quá trình suy luận.
- Layers: Mô hình bao gồm 64 lớp máy biến áp, mỗi lớp kết hợp sự chú ý nhiều đầu và các khối dày đặc.
- Mã thông báo: Grok-1 sử dụng mã thông báo SentencePiece với kích thước từ vựng là 131,072 mã thông báo.
- Nhúng và mã hóa vị trí: Mô hình này có các phần nhúng 6,144 chiều và sử dụng các phần nhúng vị trí quay, cho phép giải thích dữ liệu động hơn so với mã hóa vị trí cố định truyền thống.
- Chú ý: Grok-1 sử dụng 48 đầu chú ý cho truy vấn và 8 đầu chú ý cho khóa và giá trị, mỗi đầu có kích thước 128.
- Độ dài ngữ cảnh: Mô hình có thể xử lý các chuỗi có độ dài lên tới 8,192 mã thông báo, sử dụng độ chính xác bfloat16 để tính toán hiệu quả.
Chi tiết về hiệu suất và triển khai
Grok-1 đã thể hiện hiệu suất ấn tượng, vượt trội so với LLaMa 2 70B và Mixtral 8x7B với điểm MMLU là 73%, cho thấy hiệu quả và độ chính xác của nó qua nhiều thử nghiệm khác nhau.
Tuy nhiên, điều quan trọng cần lưu ý là Grok-1 đòi hỏi tài nguyên GPU đáng kể do kích thước khổng lồ của nó. Việc triển khai hiện tại trong bản phát hành mã nguồn mở tập trung vào việc xác thực tính chính xác của mô hình và sử dụng một lớp MoE triển khai không hiệu quả để tránh nhu cầu sử dụng kernel tùy chỉnh.
Tuy nhiên, mô hình này hỗ trợ phân mảnh kích hoạt và lượng tử hóa 8 bit, có thể tối ưu hóa hiệu suất và giảm yêu cầu bộ nhớ.
Trong một động thái đáng chú ý, xAI đã phát hành Grok-1 theo giấy phép Apache 2.0, làm cho trọng lượng và kiến trúc của nó có thể truy cập được đối với cộng đồng toàn cầu để sử dụng và đóng góp.
Bản phát hành nguồn mở bao gồm kho lưu trữ mã ví dụ JAX minh họa cách tải và chạy mô hình Grok-1. Người dùng có thể tải xuống trọng số điểm kiểm tra bằng ứng dụng khách torrent hoặc trực tiếp thông qua HuggingFace Hub, tạo điều kiện dễ dàng truy cập vào mô hình đột phá này.
Tương lai của sự kết hợp giữa các chuyên gia trong mô hình ngôn ngữ
Khi nhu cầu về các mô hình ngôn ngữ lớn hơn và có khả năng hơn tiếp tục tăng lên, việc áp dụng các kỹ thuật MoE dự kiến sẽ có thêm động lực. Những nỗ lực nghiên cứu đang diễn ra tập trung vào việc giải quyết những thách thức còn lại, chẳng hạn như cải thiện độ ổn định trong quá trình luyện tập, giảm thiểu tình trạng trang bị quá mức trong quá trình tinh chỉnh cũng như tối ưu hóa các yêu cầu về bộ nhớ và giao tiếp.
Một hướng đầy hứa hẹn là khám phá các kiến trúc MoE phân cấp, trong đó bản thân mỗi chuyên gia bao gồm nhiều chuyên gia phụ. Cách tiếp cận này có khả năng cho phép khả năng mở rộng và hiệu quả tính toán cao hơn nữa trong khi vẫn duy trì sức mạnh biểu đạt của các mô hình lớn.
Ngoài ra, việc phát triển hệ thống phần cứng và phần mềm được tối ưu hóa cho các mô hình MoE là một lĩnh vực nghiên cứu tích cực. Các máy tăng tốc chuyên dụng và khung đào tạo phân tán được thiết kế để xử lý hiệu quả các mẫu tính toán thưa thớt và có điều kiện của các mô hình MoE có thể nâng cao hơn nữa hiệu suất và khả năng mở rộng của chúng.
Hơn nữa, việc tích hợp các kỹ thuật MoE với các tiến bộ khác trong mô hình hóa ngôn ngữ, chẳng hạn như cơ chế chú ý thưa thớt, chiến lược mã hóa hiệu quả và biểu diễn đa phương thức, có thể dẫn đến các mô hình ngôn ngữ linh hoạt và mạnh mẽ hơn nữa có khả năng giải quyết nhiều nhiệm vụ khác nhau.
Kết luận
Kỹ thuật Mixture-of-Experts đã nổi lên như một công cụ mạnh mẽ trong việc tìm kiếm các mô hình ngôn ngữ lớn hơn và có khả năng hơn. Bằng cách kích hoạt có chọn lọc các chuyên gia dựa trên dữ liệu đầu vào, các mô hình MoE đưa ra giải pháp đầy hứa hẹn cho những thách thức tính toán liên quan đến việc mở rộng quy mô các mô hình dày đặc. Mặc dù vẫn còn những thách thức cần vượt qua, chẳng hạn như tính không ổn định trong đào tạo, trang bị quá mức và yêu cầu về bộ nhớ, nhưng những lợi ích tiềm tàng của mô hình MoE về hiệu quả tính toán, khả năng mở rộng và tính bền vững môi trường khiến chúng trở thành một lĩnh vực nghiên cứu và phát triển thú vị.
Khi lĩnh vực xử lý ngôn ngữ tự nhiên tiếp tục vượt qua ranh giới của những gì có thể, việc áp dụng các kỹ thuật MoE có thể sẽ đóng một vai trò quan trọng trong việc tạo điều kiện cho thế hệ mô hình ngôn ngữ tiếp theo. Bằng cách kết hợp MoE với những tiến bộ khác trong kiến trúc mô hình, kỹ thuật đào tạo và tối ưu hóa phần cứng, chúng ta có thể mong đợi những mô hình ngôn ngữ linh hoạt và mạnh mẽ hơn nữa, có thể thực sự hiểu và giao tiếp với con người một cách tự nhiên và liền mạch.
Tôi đã dành 50 năm qua để đắm mình trong thế giới hấp dẫn của Học máy và Học sâu. Niềm đam mê và chuyên môn của tôi đã giúp tôi đóng góp cho hơn XNUMX dự án kỹ thuật phần mềm đa dạng, đặc biệt tập trung vào AI/ML. Sự tò mò không ngừng của tôi cũng đã lôi kéo tôi đến với Xử lý ngôn ngữ tự nhiên, một lĩnh vực mà tôi háo hức khám phá thêm.
Bạn có thể thích
-
Chuẩn bị cho quảng cáo bằng các mô hình ngôn ngữ lớn
-
Mô hình ngôn ngữ thay đổi câu trả lời tùy thuộc vào cách bạn nói
-
Các mô hình ngôn ngữ cá nhân hóa dễ tạo ra – và khó phát hiện hơn
-
Tương lai của quảng cáo sau cuộc đảo chính giao thông AI
-
Làm thế nào để ChatGPT nói chuyện bình thường
-
Nghiên cứu phát hiện AI hoạt động khác biệt khi biết mình đang bị thử nghiệm