Thủ thuật
Vì sao mô hình ngôn ngữ khuếch tán liên tục (CDLM) đang trỗi dậy mạnh mẽ?
(giờ Việt Nam)
Tóm tắt AI
Sau thời gian dài bị lu mờ bởi các mô hình tự hồi quy, CDLM đang hồi sinh nhờ những đột phá mới trong việc xử lý dữ liệu rời rạc bằng không gian nhúng liên tục, hứa hẹn thay đổi cuộc chơi trong lĩnh vực tạo sinh ngôn ngữ.
Bản dịch AI

Một loạt hoạt động gần đây trong lĩnh vực mô hình khuếch tán liên tục (continuous diffusion models) cho ngôn ngữ, sau vài năm tương đối trầm lắng, cho thấy phương pháp này đang có dấu hiệu trở lại. Các phương pháp khuếch tán rời rạc hoàn toàn (fully discrete diffusion methods) đã phần lớn thay thế những nỗ lực trước đó nhằm áp dụng khuếch tán liên tục cho ngôn ngữ, nhưng xu hướng này đang bắt đầu thay đổi. Trong bài viết này, tôi muốn xem xét kỹ hơn những gì đang diễn ra và lý do tại sao điều đó lại xảy ra vào lúc này.
Làn sóng nghiên cứu mới trong lĩnh vực này đã truyền cảm hứng để tôi viết ra một số suy nghĩ của mình. Tôi đã từng viết về các mô hình ngôn ngữ khuếch tán trước đây, vì vậy bài viết này chủ yếu đóng vai trò là bản cập nhật để bao quát mọi thứ đã xảy ra kể từ đó. Đây sẽ là một bài viết mang tính chủ quan – những góc nhìn khác và ý kiến trái chiều luôn được hoan nghênh trong phần bình luận và ở những nơi khác! Tôi sẽ thảo luận về một số khía cạnh kỹ thuật của khuếch tán liên tục cho ngôn ngữ sau, nhưng trước hết, hãy bắt đầu với bối cảnh lịch sử.
Thách thức sự thống trị của mô hình tự hồi quy (autoregressive)
Các mô hình ngôn ngữ hiện đại, nhìn chung, đều là mô hình tự hồi quy: chúng tạo ra các chuỗi từng token một. Đây là cách phân rã tự nhiên một tác vụ tạo văn bản khó thành các bước tuần tự nhỏ hơn, dễ dàng hơn. Tất cả các bước đều là những trường hợp của cùng một tác vụ cơ bản (dự đoán một token dựa trên các token đứng trước), cho phép chia sẻ tham số trên chiều chuỗi. Mặc dù có quá trình tạo tuần tự vốn có này, kiến trúc Transformer1 vẫn cho phép huấn luyện song song hiệu quả trên tất cả các vị trí chuỗi bằng cách sử dụng teacher forcing2. Điều này đã trở thành một công thức cực kỳ có khả năng mở rộng3, mang đến cho chúng ta các mô hình ngôn ngữ lớn (LLM).
Tuy nhiên, tự hồi quy không phải là cách duy nhất để xây dựng một quá trình tạo lặp cho các chuỗi. Lấy cảm hứng từ những thành công ban đầu trong lĩnh vực nghe nhìn, các nhà nghiên cứu đã tìm cách áp dụng khuếch tán vào việc tạo ngôn ngữ. Thay vì tạo một chuỗi từng phần tử một, quá trình tạo của các mô hình khuếch tán được xác định bằng cách đảo ngược một quá trình làm nhiễu, vốn dần dần phá hủy thông tin. Cách chính thống để thực hiện việc này là thêm nhiễu Gaussian từng chút một cho đến khi nó hoàn toàn lấn át tín hiệu.
2021: các mô hình khuếch tán rời rạc thời kỳ đầu
Sau những thành công ban đầu trong việc tạo hình ảnh vào năm 20194 và 20205 6, những nỗ lực đầu tiên nhằm áp dụng ý tưởng này vào ngôn ngữ đã xuất hiện vào năm 2021, bao gồm việc thay thế quá trình làm nhiễu liên tục bằng quá trình rời rạc để cho phép mô hình hóa dữ liệu phân loại: multinomial diffusion7, D3PM8 và SUNDAE9.
Vào thời điểm đó, sự thống trị của mô hình tự hồi quy chưa được xác lập vững chắc như ngày nay: GPT-310 đã gây được tiếng vang, nhưng "khoảnh khắc ChatGPT" vẫn chưa đến cho đến cuối năm 2022. Lúc bấy giờ, khuếch tán rời rạc dường như giải quyết được một số lỗ hổng lý thuyết thực sự trong mô hình tự hồi quy, như độ chệch phơi nhiễm (exposure bias) do teacher forcing và sự khó khăn tương đối khi áp dụng vào các tác vụ điền từ (infilling) và tạo văn bản có ràng buộc. Lưu ý rằng đã có một số nghiên cứu về các phương pháp phi tự hồi quy và tự hồi quy bất kỳ thứ tự nào trong những năm trước đó11 12 (đặc biệt là cho dịch máy13 14), nhưng chưa phải từ góc độ khuếch tán.
2022: khuếch tán liên tục cho dữ liệu rời rạc
Năm 2022, một vài nỗ lực áp dụng khuếch tán liên tục vào mô hình hóa ngôn ngữ đã xuất hiện, bắt đầu với Diffusion-LM15. Phương pháp này giải quyết sự không tương thích giữa dữ liệu phân loại và việc làm nhiễu bằng nhiễu Gaussian theo một cách khác: đơn giản là biểu diễn các danh mục rời rạc bằng các vector nhúng (embedding vectors) liên tục, vốn hoàn toàn phù hợp với việc làm nhiễu Gaussian. Bằng cách đó, cơ chế khuếch tán Gaussian, vốn hoạt động rất hiệu quả cho hình ảnh, có thể được áp dụng mà không cần bất kỳ thay đổi nào.
Diffusion-LM đã quảng bá những ưu điểm của mô hình tạo thay thế này, đặc biệt là đối với việc tạo văn bản có thể kiểm soát. Trong những tháng cuối năm 2022, khá nhiều bài báo khác sử dụng các biến thể của phương pháp này đã được công bố, bao gồm DiffuSeq16, SSD-LM17, Difformer18, SeqDiffuSeq19, GENIE20, LD4LG21 và cả hai bài báo mà tôi đã tham gia: self-conditioned embedding diffusion (SED)22 và continuous diffusion for categorical data (CDCD)23.
Vào thời điểm đó, sức hấp dẫn của các phương pháp liên tục này là chúng có thể tận dụng tất cả các hiểu biết, công cụ và cơ chế đang được khám phá và phát triển cho khuếch tán liên tục, khi nó hoàn toàn chiếm lĩnh lĩnh vực tạo nội dung nghe nhìn. Ví dụ, việc áp dụng một số kỹ thuật lấy mẫu và chưng cất (distillation) được phát triển cho các mô hình khuếch tán liên tục vào khuếch tán rời rạc thường ít trực diện hơn nhiều, hoặc thậm chí là hoàn toàn bất khả thi.
Cuối năm 2023: sự tuyệt chủng của khuếch tán liên tục
Sau đó, một điều thú vị đã xảy ra: sau năm 2023, hầu như tất cả các nghiên cứu mới trong lĩnh vực này đều sử dụng khuếch tán rời rạc, và khuếch tán liên tục cho ngôn ngữ đã tuyệt chủng. Một biểu đồ từ một bài báo khảo sát năm 202524 về các mô hình ngôn ngữ khuếch tán cho thấy rõ điều này:
Các phương pháp liên tục được đánh dấu màu vàng, các phương pháp rời rạc màu xanh lá cây. Sự chuyển đổi từ năm 2023 sang 2024 khá rõ rệt! Rất khó để khẳng định chắc chắn tại sao điều này lại xảy ra, nhưng tôi có thể nghĩ đến một vài yếu tố tiềm năng: một là khoảnh khắc ChatGPT, đã dần chuyển trọng tâm của nghiên cứu khuếch tán ngôn ngữ từ các ưu điểm lý thuyết và sự thanh lịch sang hiệu suất thực tế. Giờ đây, mục tiêu là cố gắng bắt kịp các mô hình tự hồi quy mạnh mẽ ở quy mô lớn, hoặc thậm chí vượt qua chúng trong các thiết lập cụ thể. Có vẻ như mọi người cảm thấy việc thu hẹp khoảng cách hiệu suất sẽ dễ đạt được hơn với các phương pháp rời rạc hoàn toàn, có lẽ vì chúng có liên quan chặt chẽ hơn về mặt khái niệm với tự hồi quy.
Một yếu tố khác có thể là khoa học về việc mở rộng quy mô các mô hình khuếch tán ngôn ngữ đã bắt đầu được khám phá, và những quan sát ban đầu đối với các phương pháp liên tục không mấy khả quan. Vào tháng 5 năm 2023, Gulrajani & Hashimoto25 đã định lượng khoảng cách hiệu quả huấn luyện cho một mô hình ngôn ngữ khuếch tán liên tục dựa trên xác suất (Plaid-1B): kém hiệu quả hơn 64 lần. (Lưu ý rằng biểu đồ trên đánh dấu Plaid là rời rạc, nhưng nó là một phương pháp liên tục.)
Vào thời điểm cộng đồng LLM vẫn tập trung nhiều vào đường biên Pareto của chi phí tính toán huấn luyện so với độ phức tạp (Chinchilla-optimality26), bất kỳ phương pháp mô hình hóa nào có hiệu quả huấn luyện kém hơn gần hai bậc độ lớn so với mô hình cơ sở tự hồi quy đều khó được coi trọng. Mô hình LLaMA27 đầu tiên, vốn thách thức sự tập trung vào hiệu quả huấn luyện này và lập luận về việc tính đến ngân sách suy luận, chỉ mới được phát hành vài tháng trước đó (tháng 2 năm 2023), vì vậy tôi tin rằng có khả năng cộng đồng vẫn chưa kịp nội hóa sự thay đổi này.
Không cần phải nói, tất cả những điều này chỉ là suy đoán. Có lẽ đó chỉ là sự trùng hợp ngẫu nhiên, và các phương pháp rời rạc cuối cùng lại có nhiều động lực hơn vào thời điểm đó hoàn toàn do may mắn. Nếu bạn có bất kỳ suy nghĩ nào về nguyên nhân gây ra sự kiện tuyệt chủng khuếch tán liên tục cuối năm 2023, tôi rất muốn nghe chúng trong phần bình luận!
Cá nhân tôi, tôi đã ngừng làm việc với các mô hình ngôn ngữ khuếch tán vào thời điểm đó (tôi quá bận rộn với việc xây dựng các mô hình tạo hình ảnh và video: Imagen và Veo, và sau đó là Nano Banana và Omni), vì vậy tôi chỉ quan sát sự phát triển này từ bên lề. Tôi thấy điều đó hơi ngạc nhiên, vì tôi tin rằng khuếch tán liên tục có một vài ưu điểm chính, như khả năng biểu diễn sự không chắc chắn ở cấp độ từng token, và một bộ công cụ phong phú gồm các thuật toán lấy mẫu và các thủ thuật để tận dụng. Từ bỏ những điều đó có vẻ như là một sai lầm, nhưng cộng đồng nghiên cứu nói chung rõ ràng đã nhận ra rằng đây là hướng đi đúng đắn.
Thích ứng khuếch tán liên tục với dữ liệu rời rạc
Chúng ta sẽ nói về những gì đã xảy ra trong không gian mô hình hóa ngôn ngữ khuếch tán gần đây hơn trong phần tiếp theo, nhưng trước hết, tôi nghĩ việc thảo luận chi tiết hơn về cách khuếch tán liên tục có thể thực sự được áp dụng cho dữ liệu rời rạc là rất hữu ích. Bối cảnh này sẽ giúp hiểu được điều gì có thể đang thúc đẩy các sự kiện gần đây.
Điều đầu tiên cần xem xét là bản chất của dữ liệu rời rạc mà chúng ta đang cố gắng mô hình hóa. Thông thường khi mọi người nói "rời rạc", họ thực sự có ý là phân loại (categorical), tức là không gian đầu ra (ở cấp độ token) là một tập hợp không có cấu trúc, và không có mối quan hệ (thứ tự hoặc cách khác) giữa các giá trị khác nhau mà mỗi biến rời rạc có thể giả định. Các hình ảnh kỹ thuật số được biểu diễn dưới dạng lưới pixel cũng là rời rạc, về mặt kỹ thuật, nhưng vì các giá trị rời rạc mà các kênh màu pixel giả định đại diện cho một tín hiệu vật lý liên tục cơ bản (cường độ ánh sáng), chúng ta có xu hướng chỉ đơn giản bỏ qua điều đó và coi chúng là liên tục.
Giả sử chúng ta đang làm việc với dữ liệu phân loại, có một vài thành phần cần thiết để làm cho khuếch tán liên tục hoạt động tốt: chiến lược nhúng (embedding strategy), hàm mất mát (loss function) và lịch trình nhiễu hợp lý. Ngoài ra, có một thủ thuật xuất hiện trong hầu hết các bài báo về chủ đề này, hóa ra lại có tác động rất lớn đến hiệu suất: tự điều hòa (self-conditioning). Chúng ta sẽ xem xét kỹ hơn từng yếu tố này. Để ngắn gọn, tôi sẽ sử dụng từ viết tắt CDLM để chỉ các mô hình ngôn ngữ khuếch tán liên tục và DDLM để chỉ các mô hình tương đương rời rạc.
Chiến lược nhúng 📍
Các mạng thần kinh hiện đại thường có các tham số và kích hoạt mang giá trị thực. Do đó, điều đầu tiên thường xảy ra trong bất kỳ mạng thần kinh nào xử lý dữ liệu rời rạc là nhúng các đầu vào rời rạc vào một không gian biểu diễn liên tục. Từ thời điểm đó, mạng chỉ thao tác với các biểu diễn mang giá trị thực. Các nhúng này thường chỉ được coi là các tham số bổ sung, có thể được tối ưu hóa cùng với phần còn lại của mô hình. Cần lưu ý rằng điều này cũng đúng với DDLM và các mô hình tự hồi quy – các thành phần bên trong của mạng thần kinh vận hành các mô hình này vẫn là liên tục.
Để áp dụng khuếch tán liên tục cho dữ liệu rời rạc, chúng ta có thể đơn giản "nâng" quá trình làm nhiễu từ không gian đầu vào rời rạc vào một không gian nhúng liên tục. Nói cách khác, so với khuếch tán rời rạc, đó chỉ là vấn đề thay đổi thứ tự các thao tác. Thay vì áp dụng làm nhiễu rời rạc rồi mới nhúng liên tục trong quá trình huấn luyện, chúng ta nhúng các đầu vào trước rồi mới áp dụng làm nhiễu liên tục.
Hình dạng và cấu trúc của không gian nhúng ảnh hưởng sâu sắc đến bản chất của quá trình làm nhiễu liên tục xảy ra bên trong nó. Nhiều chiến lược nhúng khác nhau đã được khám phá:
Tường minh (ví dụ: SSD-LM17): có thể cho rằng cách tiếp cận đơn giản nhất là sử dụng thứ gì đó như biểu diễn one-hot, trong đó mỗi phần tử trong từ vựng có kích thước \(V\) được liên kết với một vector \(V\)-chiều có \(V-1\) số 0 và một số 1 duy nhất. Vì từ vựng là một tập hợp, việc gán các biểu diễn cho các phần tử đòi hỏi phải chọn tùy ý một thứ tự cụ thể. Loại không gian nhúng này có thể gây cồng kềnh khi làm việc với các mô hình ngôn ngữ hiện đại, vì \(V\) có xu hướng khá lớn ngày nay. Một giải pháp thay thế tiềm năng là sử dụng các mẫu nhị phân nhỏ gọn thay thế, như trong Analog Bits28.
Tiền huấn luyện (ví dụ: SED22): chúng ta có thể sử dụng chiến lược học biểu diễn để học các nhúng, sau đó tái sử dụng chúng cho mô hình ngôn ngữ khuếch tán. Ví dụ, chúng có thể được mượn từ một mô hình ngôn ngữ tự hồi quy, hoặc lấy từ một mô hình ngôn ngữ hai chiều như BERT29. Chúng cũng có thể được làm cho có tính ngữ cảnh, tức là nhúng cho một token nhất định có thể phụ thuộc không chỉ vào chính token đó mà còn vào các token liền kề, tạo ra một không gian nhúng phong phú hơn21.
Học chung (ví dụ: CDCD23): chúng ta có thể cố gắng khớp các nhúng cùng với mô hình khử nhiễu trong một quy trình học duy nhất, cho phép chúng đồng thích nghi.
Cách sau có vẻ là điều tự nhiên nhất cần làm, vì việc học chung các nhúng là cách hoạt động của DDLM và LLM tự hồi quy. Một cách tiếp cận học tập một giai đoạn từ đầu đến cuối (end-to-end) cũng được coi là hấp dẫn nhất hiện nay, cả từ quan điểm khái niệm và thực tế. Nhưng vai trò nâng cao của không gian nhúng trong CDLM (so với DDLM) có nghĩa là điều này đi kèm với một số thách thức: các công thức ngây thơ dễ dẫn đến việc các nhúng bị sụp đổ hoặc phát triển không kiểm soát. Ví dụ, lỗi khử nhiễu có thể được giảm thiểu một cách bệnh lý bằng cách làm cho tất cả các nhúng giống nhau, vì vậy điều này cho thấy rằng một loại đánh đổi giữa nhiều ràng buộc hoặc các số hạng trong hàm mất mát có thể là cần thiết.
Đã có khá nhiều thảo luận trong tài liệu về tầm quan trọng của hình học không gian nhúng. Người ta thường giả định hoặc gợi ý rằng các không gian nhúng có cấu trúc ngữ nghĩa có ý nghĩa sẽ phù hợp hơn với mô hình hóa ngôn ngữ khuếch tán liên tục. Cụ thể, điều này có nghĩa là các nhúng nên được tổ chức theo cách mà một lượng nhiễu nhất định tạo ra sự nhầm lẫn tương xứng giữa các token từ góc độ ngữ nghĩa; ví dụ, nếu một lượng nhỏ nhiễu được thêm vào nhúng cho "mèo", nó có thể trở nên không thể phân biệt được với nhúng cho "chó" với cùng một lượng nhiễu được thêm vào, nhưng nó vẫn sẽ trông rất khác với nhúng cho, chẳng hạn, "cái ô", ở cùng mức nhiễu.
Tôi vẫn chưa rõ điều này thực sự quan trọng đến mức nào nếu chúng ta quan tâm đến hiệu suất mô hình hóa ngôn ngữ thô. Đây không phải là yếu tố thường được xem xét trong bối cảnh của DDLM hoặc LLM tự hồi quy. Đã có gợi ý trong tài liệu rằng một số chiến lược và mục tiêu học tập cho CDLM có hiệu ứng phân tán30 (tức là đẩy các nhúng cho các token liên quan về mặt ngữ nghĩa ra xa nhau, thay vì lại gần nhau), và điều này có thể là một điều tồi tệ, điều này chắc chắn có vẻ hợp lý.
Liên quan đến điều này là câu hỏi liệu các nhúng liên tục nên đại diện cho các token riêng lẻ, các token trong ngữ cảnh (tức là nhúng ngữ cảnh), hay thứ gì đó phân cấp hơn, như các chuỗi gồm nhiều token, hoặc thậm chí toàn bộ câu hoặc đoạn văn. Trong khi trọng tâm của bài đăng trên blog này là các phương pháp dựa trên token, tôi sẽ thảo luận ngắn gọn về các lựa chọn thay thế cấp cao hơn này (thường được đóng khung là "khuếch tán tiềm ẩn cho ngôn ngữ") sau.
Vì mục tiêu của CDLM cuối cùng là tạo ra một chuỗi token rời rạc, một chiến lược giải nhúng (unembedding strategy) cũng cần thiết. Các mạng thần kinh cho các tác vụ phân loại sử dụng phi tuyến tính softmax để đưa ra dự đoán trong không gian phân loại, và diễn giải đầu ra của mạng dưới dạng xác suất (bản thân chúng là liên tục). Cách tiếp cận này cũng có thể được sử dụng cho các bộ khử nhiễu: ngay cả khi chúng ta đang khử nhiễu các vector liên tục, chúng ta có thể sử dụng kiến thức rằng mỗi vector đại diện cho một trong số hữu hạn các phần tử từ vựng rời rạc để ràng buộc các dự đoán (trong CDCD23, chúng tôi đã tận dụng quan sát này và gọi nó là "nội suy điểm", đóng khung nó như một sự thay thế cho "khớp điểm"). Tuy nhiên, trong hầu hết các công trình, các dự đoán được thực hiện trực tiếp trong không gian nhúng liên tục, không có các ràng buộc như vậy, và một bước rời rạc hóa cuối cùng được thực hiện ở cuối quá trình lấy mẫu. Điều này thường được thực hiện đơn giản bằng cách kẹp các nhúng vào phần tử từ vựng gần nhất, nhưng quy trình cũng có thể phức tạp hơn.
Hàm mất mát 📉
Có một sự đa dạng thú vị trong các hàm mất mát được sử dụng để huấn luyện CDLM. Tôi sẽ không liệt kê tất cả các tùy chọn, nhưng tôi muốn chỉ ra một số xu hướng. Thông thường, việc lựa chọn hàm mất mát gắn liền với chiến lược giải nhúng. Nếu bộ khử nhiễu đưa ra dự đoán trực tiếp trong không gian nhúng liên tục, hàm mất mát sai số bình phương trung bình (MSE) thông thường có xu hướng được sử dụng, giống như trong các mô hình khuếch tán liên tục cho dữ liệu nghe nhìn.
Nếu bộ khử nhiễu xuất ra xác suất trên các phần tử từ vựng, nó có thể được huấn luyện bằng cách sử dụng hàm mất mát entropy chéo phân loại (categorical cross-entropy loss), điều này làm cho mọi thứ trông giống hơn với thiết lập tự hồi quy. Lưu ý rằng cách tiếp cận này chỉ hoạt động với các nhúng theo từng token và không tương thích với các nhúng ngữ cảnh hoặc cấp cao hơn: dự đoán xác suất cho mọi đầu ra có thể là khả thi ở cấp độ từng token nếu kích thước từ vựng không quá lớn, nhưng không thể vượt quá mức đó.
Một cách tiếp cận khác là bắt đầu từ nguyên lý xác suất tối đa25, và đưa ra một mục tiêu giới hạn xác suất từ bên dưới (theo cùng cách mà các bộ mã hóa tự động biến phân31 32 được huấn luyện). Một số biến thể CDLM học chung các nhúng và bộ khử nhiễu bao gồm các số hạng mất mát bổ sung để điều chỉnh hoặc ràng buộc chúng15, nhưng đôi khi các ràng buộc này được xử lý thông qua tham số hóa thay thế (ví dụ: buộc các nhúng phải là các vector được chuẩn hóa23).
Bài viết được AI dịch và tổng hợp tự động từ Hacker News Nổi bật (buzzing.cc bản dịch tiếng Trung). Liên kết bài gốc ở phía trên. Dữ liệu đồng bộ qua API công khai được ghi nguồn tại AI HOT (canonical) ↗. AIHOT.vn luôn dẫn nguồn đầy đủ — nếu bạn thấy điểm cần chỉnh sửa, hãy gửi ý kiến tại trang phản hồi.