Các hệ thống lý luận, dù được thiết kế để gợi ý sản phẩm thay định vị trên các đường cao tốc tấp nập, đều cần tuân thủ những quy tắc phức tạp trong machine learning để đưa ra được những quyết định trong thực tế.

Mặc dù học tăng cường (Reinforcement Learning – RL) đang ngày một tiên tiến hơn, việc học qua trải nghiệm vẫn vô cùng khó khăn, nhất là trong các môi trường khó dự đoán. Ngoài ra, việc tạo ra các quy tắc cho mục tiêu phức tạp lại là một tác vụ rất tốn thời gian và tài nguyên. Chính vì vậy, ReAgent – một bộ công cụ “làm mượt” quá trình tạo ra các mô hình lý luận đã ra đời để đánh bại những trở ngại này.

ReAgent bao gồm 3 tài nguyên, cụ thể là:

  • Các mô hình đưa quyết định và tổng hợp phản hồi về những quyết định đó.
  • Một mô-đun ngoại tuyến có khả năng dự đoán được hiệu suất hoạt động của các mô hình mới sau khi triển khai trong sản xuất.
  • Một nền tảng hỗ trợ việc triển khai mô hình ở quy mô lớn, giúp thu thập các phản hồi có ích, đồng thời nhanh chóng lặp lại các tác vụ.

Cho tới hiện nay, ReAgent là nền tảng mở toàn diện nhất, được mô-đun hóa cho việc tạo ra các hệ thống lý luận sử dụng AI. Nó cũng đồng thời là nền tảng đầu tiên tích hợp các quy tắc đánh giá, cũng như những phản hồi ngoại tuyến cho việc cải thiện các mô hình. ReAgent làm cho việc xây dụng các mô hình quyết định trên thời gian thực, có quy mô trở nên dễ dàng hơn, khiến cho mọi người đều có thể chế tạo và đánh giá các quy tắc trong nghiên cứu, cũng như trong các ứng dụng sản xuất.

Cái tên “ReAgent” là ghép từ “reasoning” (lý luận) và “agents” (nhân tố), và hiện tại, nền tảng này đang được sử dụng tại Facebook, giúp điều hướng hàng tỷ quyết định mỗi ngày. Nền tảng này cũng là một trong những nỗ lực cho một mục tiêu lớn hơn – cải tiến các công nghệ tiên tiến nhất về RL, bao gồm giúp các robot tự học cách di chuyển, và tạo ra một bot chơi cờ vây với mã nguồn mở, có thể đánh bại cả những kỳ thủ chuyên nghiệp với công nghệ RL. Với khả năng tập hợp phản hồi để cải thiện các mô hình đã triển khai, ReAgent đã khiến việc ứng dụng công nghệ RL trong thực tiễn trở nên khả thi hơn.

Các bài học từ việc triển khai các hệ thống lý luận theo quy mô

ReAgent là bản mở rộng của Horizon – nền tảng RL end-to-end có mã nguồn mở đầu tiên được thiết kế để tối ưu hóa các hệ thống sản xuất quy mô lớn. Hiện nay, ReAgent đã bao hàm Horizon cùng với các tài nguyên khác, nhằm giúp các nhà nghiên cứu và kỹ sư tối ưu hóa và đánh giá hầu hết mọi mô hình quyết định, cho dù các mô hình này có sử dụng RL hay không.

Thông qua việc sử dụng Horizon trong suốt 1 năm, một bài học quan trọng đã được rút ra, đó là: Horizon cung cấp tài nguyên huấn luyện cho các mô hình RL sản xuất, sau đó cải thiện chúng trong quá trình triển khai. Tuy nhiên, thư viện hạt nhân của nền tảng này lại phù hợp hơn với các mô hình đang được phát triển, chứ không phải các mô hình đã tồn tại sẵn.

Vì vậy, một thư viện C++ nhỏ riêng cho ReAgent đã được xây dựng, với khả năng đính kèm trong mọi ứng dụng. Và trong khi Horizon thì tập trung vào các mô hình vốn đã có đủ dữ liệu cho việc học trải nghiệm, thì ReAgent lại giải quyết các vấn đề phát sinh khi tạo dựng những hệ thống mới, bới các mô hình hỗ trợ trong những tiến trình khởi điểm của việc thu thập dữ liệu học.

Trước đây, các thư viện mô hình RL mở thường yêu cần các nhà nghiên cứu phải bổ sung một lượng lỗ hổng đáng kế trước khi có thể tiến hành đánh giá và triển khai mô hình. Các nhà nghiên cứu và kỹ sư cũng tiếp cận được rất nhiều dịch vụ quyết định có tính năng cao, nhưng xét cho cùng, những dịch vụ này vẫn là dịch vụ cứ không phải công cụ, và vì vậy rất khó tích hợp vào các mô hình và dự án có sẵn.

ReAgent lại là một điểm cân bằng của 2 điều này, vừa có các công cụ mô hình có thể dùng để hoàn thiện quá trình phát triển end-to-end của mô hình mới, vừa có thể được sử dụng để đánh giá hoặc tối ưu hóa các hệ thống có sẵn, giúp các nhà phát triển tránh được việc phải làm lại nhiều tác vụ sau mỗi lần đánh giá hoặc ứng dụng.

Biến hành động thành phản hồi, biến phản hồi thành dữ liệu huấn luyện

Mỗi tài nguyên chính của ReAgent – mô hình, bộ đánh giá, nền tảng – đều có thể được sử dụng một cách riêng biệt. Nhưng tất nhiên, chúng sẽ đạt hiệu quả cao nhất khi phối hợp. Khi được kết hợp cùng nhau, các tài nguyên này có thể giúp các nhà nghiên cứu phát triển và đánh giá mô hình xử lý yêu cầu người dùng, thực hiện các tác vụ tổng hợp từ mô hình, sau đó lại thu thập các phản hồi, giúp cải thiện các tác vụ sau này.

Khi có người tương tác với một mô hình quyết định sử dụng ReAgent, nền tảng sẽ gửi một danh sách các hành động có thể thực hiện tới các mô hình huấn luyện. Mô hình này sau đó sẽ xếp hạng một tác vụ có thể thực hiện – ví dụ như gợi ý một sản phẩm. ReAgent cũng đồng thời có thể gợi ý các thay đổi trên mô hình tới bộ đánh giá ngoại tuyến, và sau đó bộ đánh giá này sẽ thử nghiệm các kế hoạch quyết định đã được cập nhật trước khi chính thức tích hợp chúng vào mô hình.

Về cơ bản, ReAgent biến dữ liệu từ người dùng thành tài nguyên huấn luyện. Khi có người tương tác với hệ thống (như nhấn vào một gợi ý hoặc đường link), thì nền tảng của ReAgent (RSP) sẽ phản hồi bằng cách tổng hợp điểm số và đánh giá một bộ hành động liên quan cho trước, sử dụng các kế hoạch quyết định có sẵn. Những kế hoạch này lại dựa trên một bộ thông số được quyết định bởi các mô hình, tồn tại sẵn trên ReAgent. Phương thức này như vậy sẽ xử lý được những khó khăn khi đưa ra những hành động được cá nhân hóa trong điều kiện thiếu hụt phản hồi – Ví dụ: thiếu hụt thông tin về cách mọi người phản hồi trước một gợi ý của hệ thống. Tuy rằng các mô hình mở của ReAgent không thể thay thế hoàn hảo những tương tác này, song chúng sẽ giúp các hệ thống quyết định hoạt động đủ hiệu quả để bắt đầu thu thập các phản hồi có liên quan.

Tuy nhiên, năng lực mạnh nhất của ReAgent nằm ở khả năng biến phản hồi thành phần thưởng của nền tảng này, giúp cải thiện các mô hình huấn luyện trực tuyến, tối ưu hóa biểu hiện của RSP trên thời thực cũng như trong huấn luyện ngoại tuyến, dẫn tới sự tối ưu trong dài hạn hơn. Khi phản hồi được gửi ngoại tuyến, hệ đánh giá sẽ phân tích chúng, sau đó các kỹ sư sẽ nắm quyền quyết định có tích hợp những phản hồi này vào cấu hình quyết định hay không. Những cấu hình quyết định nêu trên sau đó sẽ được sử dụng để cập nhật các kế hoạch quyết định của RSP, làm thay đổi các điểm số sử dụng để đánh giá những hành động tương lai.

Song song với việc sử dụng phản hồi để cải thiện các mô hình RL sâu, ReAgent cũng hỗ trợ contextual bandit và multi-armed bandit, đồng thời bao hàm các mô hình upper confidence bound (giá trị cận trên khoảng tự tin) truyền thống, cũng như các perturbed-history exploration bandit gần đây hơn, được phát triển bởi Facebook, Google Research, và DeepMind. Và với sự linh hoạt này, nền tảng sẽ có thể được áp dụng lên các hệ thống phụ thuộc vào việc ra quyết định, kể cả khi các hệ thống này không sử dụng những kỹ thuật RL.

Sử dụng thiết kế mô hình hóa để tối ưu hóa lý luận trong mọi bước của chu kỳ phát triển mô hình

Thiết kế mô hình hóa của ReAgent là vô cùng hữu ích xuyên suốt vòng đời của các mô hình quyết định, trong đó từng thời kỳ đều liên hệ với các dữ liệu tồn tại tại mỗi thời điểm. Thông thường, các mô hình này sẽ bắt đầu với rất ít dữ liệu, và vì vậy thường là các hệ thống tuân thủ quy luật và một logic cố định, giúp thu thập các phản hồi dùng cho việc huấn luyện. Sau mô hình đã được triển khai và đã thu thập được một số dữ liệu, nó sẽ có thể được cải thiện sử dụng một multi-armed bandit.

Một mô hình toàn cầu thì không cần được cá nhân hóa thêm, và vì vậy, các nhà phát triển có thể dừng lại sau khi hoàn thiện hoặc cải thiện mô hình với các tài nguyên của ReAgent. Còn nếu muốn tạo ra một mô hình cá nhân hóa, các kỹ sư sẽ phải tái triển khai mô hình nhằm giúp nó thu thập được nhiều phản hồi có văn cảnh hơn, sau đó sử dụng contextual bandit của ReAgent hoặc mô hình RL để tiếp tục tối ưu hóa hệ thống này theo thời gian thực.

Biểu đồ trên minh họa một quy trình làm việc thông thường khi xây dựng các mô hình quyết định sử dụng các tài nguyên end-to-end của ReAgent. Ban đầu, các hệ thống không có thông tin và phải ra quyết định theo các luật có sẵn – các luật này có thể được cập nhật trên nhiều máy trên thời gian thực thông qua nền tảng trong ReAgent. Sau khi có phản hồi, các multi-armed bandits với cùng bộ tham số, sẽ dần dần thích ứng, qua đó ra các quyết định tốt hơn theo thời gian. Cuối cùng, các phản hồi có văn cảnh sẽ giúp ReAgent huấn luyện các contextual bandit và mô hình RL, sau đó triển khai chúng sử dụng thư viện  TorchScript trên PyTorch, từ đó đưa ra các hành động có tính cá nhân hóa hơn.

Nếu không có phương thức end-to-end cũng như các mô-đun của ReAgent, ta sẽ cần thực hiện nhiều dự án trong mỗi bước thực hiện. Tuy nhiên, để làm nền tảng ứng dụng được xuyên suốt quá trình tạo dựng và sử dụng các mô hình quyết định, ta cần phải lưu tâm rằng, các hệ thống tại Facebook và các tổ chức khác sử dụng rất nhiều ngôn ngữ lập trình khác nhau (C++, PHP, Python…), cũng như những dịch vụ logging khác nhau, và nếu muốn có thể hỗ trợ tất cả những điều này, ta sẽ cần bỏ ra rất nhiều năm công sức.

Chính vì vậy, khi xây dựng nền tảng này, các nhà phát triển của facebook đã quyết định sẽ làm footprint nhỏ cho ReAgent: thay vì cố gắng thống nhất các hệ thống khác biệt, tạo ra một thư viện cho phép các đội ngũ tự cài các dịch vụ logging và dịch vụ cho mô hình. Thay vào đó, tập trung vào việc tối ưu hóa các chính sách tiên tiến nhất, sử dụng phản hồi.

ReAgent hiện đã được sử dụng trên quy mô lớn trên Facebook, và đã triển khai các mô hình RL đảm bảo tính nhanh chóng và liên quan của các thông báo trên Facebook và Instagram. Ngoài ra, nền tảng này cũng đưa ra tới hàng chục tỷ quyết định mỗi ngày, nhằm cung cấp một News Feed được cá nhân hóa hơn cho mỗi người, tăng độ đa dạng của các gợi ý về sticker, trong khi vẫn duy trì tỷ lệ tương tác có ý nghĩa.

Cụ thể, thay vì gợi ý một bộ sticker phổ biến cho mọi người dùng (một vấn đề tường gặp ở các hệ thống lệ thuộc vào phần thưởng), thì các mô hình sử dụng ReAgent sẽ đưa ra đa dạng các gợi ý sticker hơn. Ngoài ra, khả năng đánh giá các hành động dựa trên phản hồi của ReAgent cũng giúp các gợi ý của nền tảng này trở nên cá nhân hóa hơn theo thời gian, dẫn tới nền tảng có thể gợi ý các sticker ít phổ biến, song lại phù hợp với từng người dùng.

Và như vậy, ReAgent vừa chính xác, lại vừa đem lại các gợi ý đa dạng – nếu không có ReAgent, tính khám phá trên mạng sẽ bị giảm đi, các gợi ý mua sắm sẽ có gì ngoài các sản phẩm đã mua, và các sticker gợi ý sẽ vô cùng hạn hẹp. Quả nhiên, các gợi ý của ReAgent vẫn vừa đủ đa dạng, lại vừa có tính liên hệ cao. Và cách tiếp cận này về độ đa dạng cũng có thể được ứng dụng trên các dự án nghiên cứu, bao gồm cả những dự án không liên quan tới việc đưa ra gợi ý, nhưng lại có thể hưởng lợi từ một nền tảng luôn thúc đẩy việc khám phá.

Tương lai của ReAgent và các hệ thống lý luận sử dụng AI

Tuy rằng các hệ thống lý luận đã được ứng dụng rộng khắp trên nhiều lĩnh vực, các kỹ thuật RL và ML để tăng những lý luận cá nhân hóa đã bị hạn chế ít nhiều do không tồn tại các công cụ phát triển thống nhất. Với ReAgent, vấn đề này sẽ được giải quyết, thông qua việc cung cấp các tài nguyên mở, giúp đẩy nhanh việc triển khai các hệ thống có khả năng đưa ra các quyết định có tính liên hệ cao.

Hiện tại, các kế hoạch hiện thời của facebook với ReAgent là, tiếp tục sử dụng ML để cải thiện tính cá nhân hóa trong các dịch vụ trên Facebook, đồng thời thay thế các quy tắc định sẵn và những lý luận chung chung. Đồng thời, công ty cũng dự định làm nền tảng này dễ tiếp cận hơn, thông qua việc đưa lên cloud các tài liệu liên quan tới việc triển khai RSP.

Điều này sẽ giúp mọi người có thể sử dụng RL trong sản xuất, mở rộng kiến thức của công đồng AI xoay quanh cách sử dụng mô hình để cải thiện khả năng đưa ra quyết định và đánh giá chúng, bao gồm cả những tác vụ này trên thời gian thực. Và những ảnh hưởng của các tiến bộ này sẽ lan rộng khắp mọi lĩnh vực, từ các hệ thống thương mại điện tử tới các cơ sở hạ tầng phát triển. Đồng thời, chúng có thể sẽ giúp các nhà phát triển xây dựng nhiều phiên bản của cùng một website, khám phá các ảnh hưởng của mỗi thay đổi trước khi triển khai những thay đổi đó.

Còn trong dài hạn, ReAgent có thể sẽ trở thành nền tảng được ưa thích khi xây dựng các mô hình quyết định, cũng như trong đánh giá chính sách trước và trong quá trình triển khai. Với tính linh hoạt và các công cụ phát triển end-to-end, nền tảng này có thể kích thích việc sử dụng lý luận cá nhân hóa trên quy mô lớn, cụ thể là trong những nghiên cứu mới nhất trên nhiều lĩnh vực AI, đồng thời hỗ trợ các hệ thống quyết định tự động trên toàn thế giới.

Bạn có thể xem hướng dẫn sử dụng ReAgent tại ĐÂY. Bản hướng dẫn tương tác này sẽ nêu rõ những lợi ích của nền tảng ReAgent, bao gồm cách chúng tối ưu hóa các mô hình RL, multi-armed bandit, và contextual bandit. Phiên bản đầy đủ có thể được tải tại ĐÂY.

FPT TechInsight
Theo Facebook AI

Tin liên quan: