Giới thiệu
Trong bài viết này, chúng ta sẽ tìm hiểu về “Learning from Human Feedback”. Ban đầu, tôi đã đề cập đến “Reinforcement Learning from Human Feedback” vì đây là thuật ngữ phổ biến hiện nay. Tuy nhiên, thực tế còn có nhiều phương pháp khác để học từ phản hồi của con người.
Phần đầu tiên, chúng ta sẽ khám phá các cách thu thập phản hồi từ con người cho các mô hình sinh văn bản. Trọng tâm sẽ đặt vào các tác vụ sinh nội dung, bởi chúng phức tạp hơn nhiều so với các bài toán phân loại thông thường. Sau khi thảo luận kỹ về phương pháp thu thập, chúng ta sẽ chuyển sang cách học từ những tín hiệu phản hồi này.
Maximum Likelihood Training
Hiện tại, phương pháp huấn luyện phổ biến nhất là Maximum Likelihood. Mục tiêu của phương pháp này là tối đa hóa khả năng dự đoán từ tiếp theo trong một câu dựa trên các từ trước đó. Điều này giúp xác định tổn thất (loss) của đầu ra dựa trên đầu vào, trong đó đầu vào có thể là một đoạn văn bản và đầu ra là câu trả lời tương ứng.
Tuy nhiên, phương pháp Maximum Likelihood Training gặp phải nhiều vấn đề. Dưới đây là ba ví dụ cụ thể về những vấn đề này.
Some Mistakes are Worse than Others
Mục tiêu cuối cùng là tạo ra đầu ra chất lượng, và một số dự đoán sai có thể gây ra vấn đề lớn hơn cho chất lượng đầu ra. Ví dụ, trong hệ thống nhận dạng giọng nói hoặc dịch thuật, nếu bạn muốn câu "please send this package to Pittsburgh" nhưng hệ thống lại chuyển thành "please send a package to Pittsburgh", thì đây không phải là vấn đề lớn. Tuy nhiên, nếu hệ thống chuyển thành "please send this package to Tokyo", thì đây là một vấn đề nghiêm trọng vì gói hàng có thể đến sai địa điểm.
Ngoài ra, nếu hệ thống thay đổi câu thành "bleeping send this package to Pittsburgh" thay vì "please", điều này có thể gây ra vấn đề trong hệ thống dịch vụ khách hàng, vì khách hàng có thể không hài lòng và không quay lại. Từ góc độ của phương pháp Maximum likelihood, tất cả các từ này chỉ là các token, và việc sai một token này được coi là tương đương với sai một token khác. Đây chính là một vấn đề cần được xem xét.
The “Gold Standard” in MLE can be Bad
Một vấn đề khác là tiêu chuẩn vàng trong Maximum Likelihood Estimation có thể không phải lúc nào cũng tốt, đôi khi không đạt được kết quả mong muốn. Các tập dữ liệu (corpora) thường chứa những đầu ra mà chúng ta không muốn mô hình ngôn ngữ tạo ra, chẳng hạn như các bình luận độc hại trên Reddit hay thông tin sai lệch. Một khía cạnh khác mà nhiều người chưa nghĩ đến là phần lớn dữ liệu trực tuyến hiện nay được tạo tự động, ví dụ như từ dịch máy. Nhiều bản dịch trực tuyến có nguồn gốc từ Google Dịch năm 2016, khi chất lượng dịch còn kém hơn nhiều so với hiện tại, dẫn đến các bản dịch tự động có chất lượng thấp.
Exposure Bias
Vấn đề cuối cùng là "exposure bias". Hiện tượng này xảy ra khi phương pháp huấn luyện MLE không xét đến tính cần thiết của việc sinh nội dung và quá phụ thuộc vào ngữ cảnh chuẩn.
Khi xem xét lại phương trình MLE, phần y_<T luôn được coi là chính xác và là đầu ra tốt. Điều này dẫn đến việc mô hình phụ thuộc quá mức vào các đầu ra tốt. Một ví dụ điển hình là hiện tượng mô hình lặp lại nội dung nhiều lần. Chẳng hạn, khi bạn nói "I am going to Pittsburgh", khả năng cao là từ "Pittsburgh" sẽ xuất hiện lại trong các câu tiếp theo vì chủ đề đang nói về Pittsburgh.
Bản chất của exposure bias là do mô hình chưa từng được tiếp xúc với các lỗi trong quá khứ nên không thể xử lý chúng hiệu quả. Để khắc phục vấn đề này, chúng ta có thể sử dụng các thuật toán huấn luyện thay thế. Cụ thể là sinh ra nhiều đầu ra khác nhau, đánh giá thấp một số đầu ra và phạt mô hình khi nó tạo ra những đầu ra kém chất lượng. Reinforcement Learning Basics: Policy Gradient (Review of Karpathy 2016) What is Reinforcement Learning? Hiện nay, học tăng cường đang trở thành phương pháp được ưa chuộng nhất để học từ phản hồi của con người. Mặc dù có các phương pháp thay thế như học dựa trên biên (margin-based losses).
Học tăng cường là một phương pháp học mà trong đó chúng ta có một môi trường (X), khả năng thực hiện các hành động (A), và nhận được phần thưởng trễ (R). Một ví dụ điển hình là trò chơi Pong: X là hình ảnh quan sát, A là hành động lên hoặc xuống, và R là kết quả thắng/thua cuối cùng.
Trong bối cảnh xử lý ngôn ngữ tự nhiên, chúng ta có thể áp dụng học tăng cường như thế nào? Ví dụ, trong một tác vụ hội thoại, X có thể là lịch sử hội thoại, A là từ tiếp theo được tạo ra, và R là phần thưởng nhận được tại một thời điểm nào đó, không nhất thiết ngay sau khi tạo từ.
Đối với các tác vụ khác như sinh mã, X có thể là trình biên dịch và ngữ cảnh mã xung quanh, A là từng token trong mã, và R là phần thưởng sau một chuỗi hành động dài. Phần thưởng này có thể đến từ trình biên dịch, mô hình đánh giá độ dễ đọc của mã, hoặc tốc độ thực thi.
Một điểm thú vị của học tăng cường là khả năng sáng tạo trong việc thiết kế phần thưởng R, điều này không dễ thực hiện nếu chỉ dùng phương pháp maximum likelihood. Nó cho phép chúng ta tạo ra phần thưởng phù hợp với mục tiêu đầu ra mong muốn. Why Reinforcement Learning in NLP? Học tăng cường có thể được áp dụng trong nhiều tình huống trong NLP, và dưới đây là ba lý do chính:
Kịch bản đối thoại: Trong các hệ thống đối thoại, người dùng thường đưa ra phản hồi dưới dạng "thích" hoặc "không thích". Đây là một ví dụ điển hình của học tăng cường, nơi mà phần thưởng được nhận muộn, phụ thuộc vào phản hồi của người dùng trong suốt cuộc đối thoại. Trung tâm cuộc gọi: Học tăng cường đã được sử dụng trong các hệ thống đối thoại tại trung tâm cuộc gọi. Nếu một cuộc gọi được xử lý thành công mà không cần sự can thiệp của nhân viên, hệ thống sẽ nhận được phần thưởng lớn. Ngược lại, nếu cuộc gọi phải chuyển cho nhân viên hoặc người gọi tức giận và cúp máy, phần thưởng sẽ giảm hoặc trở thành tiêu cực. Biến ẩn và Chain of Thought: Trong một số trường hợp, các biến ẩn có thể ảnh hưởng đến kết quả đầu ra. Một Chain of Thought không tốt vẫn có thể dẫn đến câu trả lời đúng, điều này khiến việc đánh giá chất lượng Chain of Thought trở thành một bài toán học tăng cường. Hơn nữa, một số chỉ số đánh giá ở cấp độ chuỗi yêu cầu toàn bộ chuỗi được tạo ra trước khi có thể tối ưu hóa, điều này cũng tạo ra cơ hội cho việc áp dụng học tăng cường.
Supervised MLE Trong học có giám sát, hàm mất mát MLE (Maximum Likelihood Estimation) thực chất là logarit của xác suất: l_super (Y,X)=-log P(Y| X)
Trong bối cảnh học tăng cường, phương pháp này còn được gọi là học bắt chước (imitation learning), bởi về bản chất, mô hình đang học cách thực hiện các hành động bằng cách bắt chước từ một "người thầy". Tuy nhiên, cần lưu ý rằng học bắt chước không chỉ giới hạn ở phương pháp học có giám sát MLE - còn nhiều biến thể khác của học bắt chước, nhưng đây là một trong những cách tiếp cận phổ biến. Self Training Tiếp theo, chúng ta sẽ nói về kỹ thuật tự huấn luyện (self-training). Ý tưởng cốt lõi của phương pháp này là lấy mẫu hoặc tìm giá trị lớn nhất từ mô hình hiện tại. Y ̂∼P(Y|X) or Y ̂∼〖argmax〗_Y P(Y|X) Sau đó sử dụng các mẫu này để maximize likelihood. Khác với maximize likelihood thông thường - vốn dựa trên đầu ra chuẩn, phương pháp này lại sử dụng chính đầu ra của mô hình làm chuẩn. l_self (X)=-log P(Y ̂| X)
Tuy nhiên, cách tiếp cận này có một nhược điểm đáng kể: khi không có cơ chế kiểm soát chất lượng đầu ra, mô hình sẽ tối ưu hóa cả đầu ra tốt lẫn xấu. Điều này có nghĩa là nếu mô hình tạo ra đầu ra kém chất lượng, nó sẽ càng củng cố những lỗi sai đã có. Mặc dù vậy, trong một số trường hợp, self-training vẫn có thể cải thiện độ chính xác, đặc biệt khi mô hình ban đầu có độ chính xác trên 50%. Điều này có thể đạt được nhờ vào các cơ chế điều chuẩn ngầm và kỹ thuật early stopping.
Có một số phương pháp thay thế hiệu quả hơn self-training: Co-training (Blum and Mitchell 1998): sử dụng nhiều mô hình và chỉ chọn những câu mà các mô hình đều đồng thuận. Một phương pháp khác là thêm nhiễu vào đầu vào để khớp với nhiễu trong đầu ra (He et al. 2020), chẳng hạn như sử dụng word-based dropout.
Tóm lại, mặc dù self-training có thể hữu ích, nhưng sẽ có những lựa chọn tốt hơn nếu bạn có thể xây dựng được hàm reward. Policy Gradient/ REINFORCE Việc tối ưu hoá policy là một phần quan trọng trong học tăng cường. Một trong những phương pháp đơn giản nhất là Policy Gradient, hay REINFORCE. Cốt lõi của phương pháp này là thêm một thành phần để điều chỉnh hàm mất mát theo giá trị phần thưởng. Thay vì chỉ áp dụng self-training đơn thuần, ta nhân nó với một giá trị phần thưởng. Cách tiếp cận này cho phép tăng khả năng xuất hiện của những đầu ra có phần thưởng cao và giảm khả năng của những đầu ra có phần thưởng thấp. l_REINFORCE (X,Y ̂ )=-R(Y,Y ̂ ) log P(Y ̂| X)
Một điểm thú vị là phương pháp này có thể tương đương với Maximum Likelihood Estimation trong một số điều kiện đặc biệt. Cụ thể, khi sử dụng hàm đánh giá nhị phân (zero-one loss), tức là gán giá trị phần thưởng bằng 1 khi đầu ra dự đoán (Y hat) hoàn toàn khớp với đầu ra thật (Y), và bằng 0 trong các trường hợp còn lại, phương pháp này sẽ tương đương với MLE.
Tuy nhiên, điều này cũng cho thấy ưu điểm của Policy Gradient/REINFORCE: nó linh hoạt hơn nhiều so với MLE. Thay vì chỉ giới hạn ở giá trị 0 và 1 cho việc khớp hoàn toàn, ta có thể sử dụng các hàm phần thưởng đa dạng hơn, ví dụ như cho điểm một phần (partial credit) hoặc chấp nhận nhiều đầu ra đúng tiềm năng khác nhau. Điều này mở ra nhiều khả năng ứng dụng phong phú hơn trong thực tế. Credit Assignment for Rewards Một thách thức lớn trong các phương pháp học tăng cường là làm sao xác định được chính xác hành động nào dẫn đến phần thưởng. Kịch bản lý tưởng nhất là sau mỗi hành động (ví dụ như sinh ra một token), chúng ta nhận được phản hồi trực tiếp từ người dùng (như thumbs up hoặc thumbs down) để biết họ thích hay không thích token đó. Tuy nhiên, điều này không khả thi trong thực tế - chẳng hạn, người dùng sẽ không thể đánh giá từng token khi sử dụng ChatGPT.
Thực tế, chúng ta thường chỉ nhận được phần thưởng sau khi đã thực hiện một chuỗi nhiều hành động, và khó xác định được hành động cụ thể nào đóng góp vào phần thưởng đó. Hiện nay có một số cách để giải quyết vấn đề này:
Cách phổ biến nhất là "không giải quyết" - tức là kỳ vọng thuật toán tối ưu hóa sẽ tự động phân bổ credit. Điều này thường được thực hiện bằng cách gán phần thưởng bằng nhau cho mỗi token trong đầu ra. Sử dụng phần thưởng giảm dần từ các sự kiện tương lai. Ví dụ với chatbot có 20 lượt tương tác: nếu người dùng cho thumbs up ở lượt thứ 20, ta có thể gán phần thưởng 1.0 cho lượt thứ 19, 0.5 cho lượt thứ 18, 0.25 cho lượt thứ 17, và cứ thế. Logic ở đây là cảm xúc tích cực của người dùng có khả năng bị ảnh hưởng nhiều hơn bởi những tương tác gần đây.
Về nguồn của phần thưởng, có thể là: Phản hồi trực tiếp từ người dùng (thumbs up/down) Từ một mô hình phần thưởng được huấn luyện trước Lý thuyết thì có thể học đồng thời mô hình phần thưởng cùng với mô hình chính
Mặc dù việc triển khai cơ bản của phương pháp này - lấy mẫu và tối ưu hóa hàm mục tiêu - không quá phức tạp nếu đã có nguồn phần thưởng, học tăng cường vẫn có thể rất bất ổn định. Để đạt hiệu quả tốt, chúng ta cần áp dụng thêm một số kỹ thuật đặc biệt. Stabilizing Reinforcement Learning Problems with Reinforcement Learning Học tăng cường thường gặp nhiều vấn đề về tính ổn định. Có hai nguyên nhân chính dẫn đến tình trạng này:
Thứ nhất, khi huấn luyện, mô hình chỉ lấy mẫu và tính toán dựa trên một đầu ra cụ thể, trong khi tồn tại vô số đầu ra khác có thể được tối ưu hóa. Điều này khác biệt so với phương pháp Maximum Likelihood Estimation (MLE). Trong MLE, mô hình luôn so sánh đầu ra chuẩn với tất cả các đầu ra khả dĩ trong không gian, từ đó tăng trọng số cho đầu ra chuẩn và giảm trọng số cho các đầu ra còn lại. Ngược lại, trong học tăng cường, việc chỉ dựa vào một đầu ra được lấy mẫu - vốn có thể sai - tạo ra sự bất ổn định. Vấn đề này đặc biệt nghiêm trọng khi làm việc với không gian đầu ra lớn, chẳng hạn như toàn bộ từ vựng của mô hình.
Thứ hai, việc sử dụng phần thưởng âm (negative rewards) cũng gây ra bất ổn định. Khi áp dụng phần thưởng âm, trọng số của một chuỗi đầu ra cụ thể sẽ bị giảm xuống - điều này có thể hữu ích trong một số trường hợp, ví dụ như khi mô hình tạo ra nội dung độc hại. Tuy nhiên, bên cạnh nội dung độc hại đó còn có số lượng lớn các đầu ra vô nghĩa không phải là câu tiếng Anh hợp lệ. Điều này có thể khiến mô hình dần đi chệch khỏi phân phối mô hình ngôn ngữ tự nhiên ban đầu của nó.
Đây là những thách thức lớn trong học tăng cường, và các nhà nghiên cứu đã phát triển nhiều chiến lược khác nhau để ổn định quá trình học này. Pre-training with MLE (Ranzato et al. 2016) Đầu tiên, một chiến lược để ổn định quá trình học tăng cường là pre-training với Maximum Likelihood Estimation (MLE). Quy trình thực hiện khá đơn giản: Đầu tiên, ta bắt đầu với một mô hình đã được pre-train, sau đó mới chuyển sang giai đoạn học tăng cường.
Hiện nay, đây được xem là phương pháp hiển nhiên và không ai làm việc với mô hình ngôn ngữ lại bỏ qua bước này. Tuy nhiên, chiến lược này cũng có những hạn chế đáng chú ý:
Chỉ áp dụng được trong những tình huống có thể thực hiện MLE. Ví dụ, nó không hoạt động hiệu quả khi bạn cần dự đoán các biến ẩn không có trong không gian dữ liệu gốc. Gặp khó khăn trong một số trường hợp thực tế. Ví dụ, khi bạn muốn xây dựng một chatbot phục vụ khách hàng cho một công ty với danh mục sản phẩm mà mô hình ngôn ngữ chưa từng "nhìn thấy" trước đó. Nếu mô hình không được cung cấp thông tin về danh mục sản phẩm (chẳng hạn thông qua RAG), nó sẽ phải tìm kiếm trong một không gian quá rộng và khó có thể hội tụ với các mục tiêu mô hình hóa ngôn ngữ đề ra.
Để khắc phục những hạn chế này, bạn cần tạo ra ít nhất một số dữ liệu huấn luyện có giám sát để training với MLE. Regularization to an Existing Model (e.g. Schulman et al. 2017) Sau pre-training, bước tiếp theo để ổn định mô hình trong học tăng cường là áp dụng điều chuẩn (regularization) với một mô hình có sẵn. Mục đích chính là ngăn mô hình mới đi quá xa so với mô hình gốc. Ví dụ, khi bạn gán phần thưởng âm cho các phát ngôn độc hại, bạn vẫn muốn mô hình duy trì khả năng sinh ngôn ngữ tự nhiên của nó. Có hai phương pháp điều chuẩn phổ biến:
Điều chuẩn KL: Phương pháp này bao gồm hai thành phần chính: Thành phần thứ nhất tập trung vào cải thiện phần thưởng: So sánh xác suất của mô hình cũ và mô hình mới kết hợp với tín hiệu phần thưởng để tăng khả năng sinh ra các chuỗi có phần thưởng cao.
Thành phần thứ hai là điều chuẩn KL: Giữ cho phân phối xác suất của mô hình mới tương đồng với mô hình cũ.
Tham số beta trong điều chuẩn KL có thể được điều chỉnh để kiểm soát mức độ tương đồng mong muốn giữa hai mô hình. PPO (Proximal Policy Optimization):
PPO sử dụng phương pháp clipping (cắt giới hạn) cho các đầu ra.
Phương pháp định nghĩa một tỷ lệ thể hiện mức độ mô hình mới tăng trọng số cho các chuỗi có phần thưởng cao. rat(Y,X)=P(Y|X; θ)/P(Y|X; θ_old )
Bằng cách lấy giá trị nhỏ nhất giữa tỷ lệ gốc và phiên bản bị cắt giới hạn, PPO khuyến khích mô hình: Tránh những thay đổi quá lớn trong không gian tìm kiếm
Quay trở lại mô hình gốc nếu không gian mới cho kết quả kém hơn
Ngăn chặn việc sinh ra các đầu ra vô nghĩa có phần thưởng thấp
PPO từng rất phổ biến, nhưng gần đây nhiều người đã chuyển sang sử dụng các chiến lược thay thế dựa trên điều chuẩn KL. Cả hai phương pháp đều có ưu điểm riêng, trong đó KL regularization được đánh giá là đơn giản hơn về mặt khái niệm.
Các phương pháp này đã được tích hợp sẵn trong nhiều thư viện phổ biến như Hugging Face TRL (Transformer Reinforcement Learning). Adding a Baseline Trong quá trình dịch câu, việc thiết lập một Baseline (mức chuẩn) cho phần thưởng là rất quan trọng. Ý tưởng cơ bản là chúng ta có những kỳ vọng về phần thưởng cho từng câu. Ví dụ, khi dịch câu "This is an easy sentence" và câu "buffalo buffalo buffalo", câu đầu tiên có thể nhận được phần thưởng 0.8, trong khi câu thứ hai chỉ nhận được 0.3.
Tuy nhiên, nếu câu đầu tiên thực sự dễ và câu thứ hai lại khó, thì việc nhận phần thưởng 0.8 cho câu dễ là không hợp lý, trong khi phần thưởng 0.3 cho câu khó lại cho thấy chúng ta đang đi đúng hướng.
Để điều chỉnh phần thưởng một cách hợp lý, chúng ta sử dụng công thức: phần thưởng - Baseline. Kết quả sẽ cho ra giá trị âm cho câu đầu tiên và giá trị dương cho câu thứ hai. Mục tiêu là dự đoán trước độ khó của từng ví dụ và điều chỉnh phần thưởng dựa trên đó. Như vậy, việc có một mô hình Baseline để dự đoán độ khó là rất cần thiết để cải thiện quá trình đánh giá. l_baseline (X)=-(R(Y ̂,Y)-B(Y ̂)) log P(Y ̂| X) Calculating Baselines Khi triển khai Baseline, mục tiêu chính là giảm phương sai của phần thưởng và giúp quá trình học ổn định hơn. Có hai phương pháp phổ biến:
Dự đoán phần thưởng cuối cùng: Phương pháp này sử dụng một mô hình để dự đoán phần thưởng cuối cùng với một số đặc điểm quan trọng:
Mô hình chỉ xem xét dữ liệu đầu vào hoặc các trạng thái trung gian
Không được sử dụng kết quả dự đoán thực tế của mô hình chính
Có thể áp dụng ở nhiều cấp độ: Cấp độ câu: một baseline cho mỗi câu
Cấp độ decoder: baseline cho từng trạng thái của decoder
Việc triển khai được thực hiện bằng cách huấn luyện một mô hình hồi quy dựa trên các phần thưởng nhận được. Điểm quan trọng là baseline không được phép sử dụng bất kỳ dự đoán thực tế nào từ mô hình chính - nếu không nó sẽ không còn đóng vai trò là một baseline nữa. Tính trung bình phần thưởng trong batch: Đây là phương pháp đơn giản nhưng vẫn hiệu quả:
Tính giá trị trung bình của phần thưởng trong một batch dữ liệu
Trừ giá trị trung bình này khỏi phần thưởng của mỗi mẫu
Ví dụ: Nếu phần thưởng trung bình trong batch là 0.4, ta sẽ trừ 0.4 từ phần thưởng của mỗi mẫu để tính toán phần thưởng điều chỉnh
Phương pháp này dễ triển khai và đặc biệt hiệu quả khi làm việc với các batch dữ liệu lớn.
Constrasting Pairwise Examples (e.g. Rafailov et al. 2023) Một cách tiếp cận đặc biệt trong việc tạo baseline là so sánh các cặp ví dụ hoặc các đầu ra khác nhau cho cùng một đầu vào. Phương pháp này cho phép học trực tiếp từ sự ưu tiên của con người và mang lại sự ổn định cao hơn, vì ta có thể chắc chắn về việc đầu ra nào tốt hơn đầu ra nào.
DPO (Direct Preference Optimization) là một phương pháp gần đây trở nên phổ biến dựa trên ý tưởng này. Cách thức hoạt động của DPO:
Cơ chế cốt lõi:
Tính toán tỷ lệ xác suất giữa mô hình mới và mô hình cũ
Tăng xác suất cho đầu ra tốt, giảm xác suất cho đầu ra kém Tham số β trong DPO:
Đóng vai trò như một hyperparameter
Ảnh hưởng đến kích thước bước gradient
Tác động đến hàm sigmoid trong công thức: β lớn hơn sẽ "kéo giãn" sigmoid. Điều này ảnh hưởng đến cách mô hình phản ứng với những khác biệt nhỏ trong giá trị So sánh với PPO:
DPO có cấu trúc tương tự PPO ở việc sử dụng các tỷ lệ xác suất
Tuy nhiên, DPO có một hạn chế quan trọng: yêu cầu các đánh giá theo cặp. Không thể huấn luyện mô hình nếu không có các đánh giá theo cặp này
Increasing Batch Size Trong quá trình huấn luyện học tăng cường, một vấn đề thường gặp là phương sai cao hơn so với Maximum Likelihood Estimation. Điều này chủ yếu do việc lấy mẫu và các yếu tố khác.
Một giải pháp đơn giản để cải thiện sự ổn định là tăng kích thước batch. Cụ thể, bạn có thể tăng số lượng ví dụ hoặc số lần chạy trước khi thực hiện cập nhật để ổn định quá trình học. Nếu bạn gặp vấn đề về độ ổn định sau khi đã thử các kỹ thuật khác, việc tăng kích thước batch có thể giúp giải quyết vấn đề này.
Ngoài ra, một phương pháp khác mà nhiều người thường áp dụng là lưu trữ nhiều lần chạy trước đó. Việc thực hiện các lần chạy và thu thập phần thưởng thường tốn kém, vì vậy việc lưu trữ các lần chạy đã thực hiện sẽ giúp bạn cập nhật tham số với các lô dữ liệu lớn một cách hiệu quả hơn. Resources https://phontron.com/class/anlp2024/lectures/#reinforcement-learning-feb-22 Recommended Reading: Deep Reinforcement Learning Tutorial (Karpathy 2016) Recommended Reading: Human Feedback Survey (Fernandes et al. 2023) Reference: Course in Machine Learning Chapter 17 (Daume) Reference: Reinforcement Learning Textbook (Sutton and Barto 2016) Reference: TrueSkill (Sakaguchi et al. 2014) Reference: Multi-dimensional Quality Metrics Reference: Large-scale MQM Annotation (Freitag et al. 2021) Reference: BERTScore (Zhang et al. 2019) Reference: COMET (Rei et al. 2020) Reference: GEMBA (Kocmi and Federmann 2023) Reference: AutoMQM (Fernandes et al. 2023) Reference: WMT Metrics Shared Task (Freitag et al. 2023) Reference: SummEval (Fabbri et al. 2020) Reference: Summarization Evaluation through QA (Eyal et al. 2019) Reference: Minimum Risk Training for NMT (Shen et al. 2015) Reference: REINFORCE (Williams 1992) Reference: Co-training (Blum and Mitchell 1998) Reference: Revisiting Self-training (He et al. 2020) Reference: Adding Baselines (Dayan 1990) Reference: Sequence-level Training for RNNs (Ranzato et al. 2016) Reference: PPO (Schulman et al. 2017) Reference: DPO (Rafailov et al. 2023)