OpenAI Five là nhóm năm con bot Dota 2 của OpenAI, và ngày 13/4/2019 ở San Francisco chúng đã thắng OG, nhà vô địch The International, với tỉ số 2–0. Câu chuyện đáng quan tâm vì nó không chỉ là một trận thắng: các nhà nghiên cứu muốn biết liệu thêm máy móc và thời gian có thay được những phát minh mới hay không. Bài này tóm tắt tập video về hành trình từ năm 2016 đến thời GPT-3.
Tóm tắt nhanh
OpenAI Five thắng OG nhờ một lần huấn luyện kéo dài khoảng mười tháng, mà OpenAI tính tương đương 45.000 năm chơi Dota. Thuật toán không phải điều gì mới: nhóm phóng to một thuật toán học tăng cường có sẵn (PPO). Tuy nhiên bot vẫn thua con người ở Đấu trường công khai, vì nó ngừng học khi đã lên sân khấu. Bước ngoặt thật sự là bản chạy lại: huấn luyện một con bot mới từ số không, tốn khoảng một phần năm tài nguyên mà vẫn thắng bản đã hạ OG.
Diễn biến chính
2016: OpenAI tìm một ngọn núi riêng
Mùa đông năm 2016, OpenAI mới một tuổi và chưa có chiến tích nào nổi bật. Trước đó, tháng 3/2016, AlphaGo của DeepMind vừa thắng Lee Sedol. Dota 2 là thử thách khó hơn nhiều: một ván bot phải ra khoảng 20.000 quyết định, mỗi bước có từ vài nghìn đến hàng vạn lựa chọn, bản đồ bị che bởi sương mù, và năm người phải phối hợp với nhau.
Theo báo cáo của nhóm, bot đọc dữ liệu qua API mà hãng Valve mở cho người viết chương trình, chứ không nhìn màn hình như người.
Tháng 8/2017: thắng Dendi ở TI7
Nhóm do Greg Brockman dẫn đầu bắt đầu từ thể thức nhỏ nhất: một chọi một, đường giữa, vị tướng Shadow Fiend. Bot không xem băng của cao thủ mà tự đấu với chính nó, thắng thì được thưởng, thua thì bị trừ điểm. Tại The International lần thứ bảy ở Seattle, bot thắng SumaiL ngày 10/8 rồi thắng Dendi ngày 11/8.
Ngay đêm đó, người chơi bình thường tìm ra cách dụ bot rời trụ và làm nó rối. Theo một nguồn tin, cả 50 món thưởng treo cho người thắng bot đều có chủ. Bài học là bot mạnh trong thế giới nó từng gặp và yếu khi bước ra ngoài.
2018: năm đấu năm và con số 180 năm mỗi ngày
Tháng 6/2018, OpenAI công bố bot tự chơi lượng ván bằng khoảng 180 năm mỗi ngày, chạy trên 128.000 lõi CPU và 256 GPU thuê trên mây. Năm bot là năm bản sao của cùng một mạng nơ-ron có trí nhớ ngắn hạn, cùng một núm "tinh thần đội" được vặn dần từ 0 lên 1 để phần thưởng của một bot thành phần thưởng của cả đội.
Ngày 5/8/2018, bot thắng 2–1 trước nhóm cựu tuyển thủ và bình luận viên. Cuối tháng 8, tại The International 2018 ở Vancouver, luật gần Dota thật hơn và bot thua cả paiN Gaming lẫn một đội ngôi sao Trung Quốc.
2018–2019: những ca "phẫu thuật" bộ não bot
Valve cập nhật game khoảng hai tuần một lần, mỗi lần như xé và dựng lại thế giới của bot. Thay vì luyện lại, các kỹ sư "phẫu thuật" mạng nơ-ron: ghép phần mới, nối lại, giữ nguyên những gì đã học. Họ làm hơn 20 ca như vậy, ca cuối cách trận OG tám ngày. Từ 30/6/2018 đến tháng 4/2019, OpenAI Five là một lần huấn luyện liên tục duy nhất.
Ở trận gặp OG, phản xạ trung bình của bot là 217 mili giây, chỉ nhỉnh hơn người bình thường chút ít. Nó thắng nhờ lối chơi lạ: dồn tài nguyên cho một tướng, đổi đường liên tục, tung chiêu mạnh ngay thay vì để dành, và hồi sinh bằng vàng từ rất sớm.
Tháng 4–5/2019: Đấu trường và bản chạy lại
Từ 18 đến 21/4/2019, OpenAI mở Đấu trường cho cả Internet đấu với bot. Bot chơi 7.257 ván, thắng 99,4%, nhưng 29 đội người vẫn giành được 42 chiến thắng. Alpha Red, đội Thái Lan, là đội đầu tiên thắng; về sau có đội thắng tới mười ván. Người chơi tìm ra các điểm yếu: bot lúng túng khi bị đẩy lẻ nhiều đường, mua đồ cứng nhắc, và không thể học thêm.
Ngày 18/5/2019, nhóm huấn luyện một bot hoàn toàn mới từ đầu. Chỉ khoảng hai tháng và khoảng 20% tài nguyên, nó thắng hơn 98 trên 100 trận trước bản cuối. Sau đó, bộ mã được dùng cho bàn tay robot xoay khối Rubik, còn bài học về quy mô đi tiếp sang mô hình ngôn ngữ: luật mở rộng công bố đầu năm 2020, rồi GPT-3. Năm 2024, Jakub Pachocki, thành viên đội Dota năm xưa, trở thành nhà khoa học trưởng của OpenAI.
Điều còn tranh cãi hoặc cần thận trọng
- Con số 45.000 năm do chính OpenAI tự tính bằng cách cộng dồn các ván chạy song song. Con số 180 năm mỗi ngày được báo chí ghi cho một bot hay cả đội tùy nơi.
- Tỉ lệ 99,4% ở Đấu trường có tính cả những ván người chơi bỏ cuộc (3.140 ván), và các ván đó được tính là bot thắng.
- Tin đồn bot "thấy toàn bản đồ" không đúng theo báo cáo: bot vẫn chịu sương mù, chỉ là nó thấy cùng lúc những thông tin mà người phải bấm chuột mới xem được.
- Bot chơi một Dota thu nhỏ: chỉ 17 trên hơn 100 tướng, bỏ một số món đồ, và phần mua đồ do kỹ sư viết tay. Báo cáo của nhóm cũng nói trận thắng không chứng minh bot hiểu Dota rộng.
- Nói bot thắng chỉ nhờ sức kéo là quá đơn giản: theo báo cáo, chất lượng dữ liệu và kỹ thuật phẫu thuật cũng quan trọng.
- Một số chi tiết kể lại mang tính giai thoại, như việc Pachocki và Sidor là bạn học cấp ba, hay thông tin về 50 món thưởng. Các nguồn cũng không thống nhất về tỉ số trận OG (2–1 trong một bài báo, 2–0 trong báo cáo) và tổng số trận ở Đấu trường.
Vì sao câu chuyện này đáng nhớ?
Trận thắng OG chưa chứng minh máy hiểu Dota hơn người. Bản chạy lại mới là khoảnh khắc đáng chú ý: khi công thức đã đúng, sức tính toán có thể đứng vào chỗ của phát minh, và công thức ấy sau đó tiếp tục xuất hiện ở những lĩnh vực khác.
Nhưng Đấu trường cho thấy mặt còn lại. Sau bốn ngày, vài nghìn game thủ đã bẻ gãy thứ được luyện suốt 45.000 năm, vì họ còn học còn bot thì đã dừng. Sức kéo đưa máy lên đỉnh, nhưng không dạy nó đứng vững khi mặt đất đổi hình.
Câu hỏi thường gặp
OpenAI Five có thật sự thắng nhà vô địch thế giới không?
Có. Ngày 13/4/2019 nó thắng OG, đội vô địch The International 2018, với tỉ số 2–0 theo báo cáo của nhóm. Một bài báo ghi 2–1 nên các nguồn có chỗ không khớp.
Con số 45.000 năm luyện tập nghĩa là gì?
Đó là tổng thời gian chơi mà OpenAI tính bằng cách cộng dồn hàng nghìn ván chạy song song trong khoảng mười tháng. Con số này do OpenAI tự công bố.
Bot thắng nhờ phản xạ nhanh hơn người?
Không. Phản xạ trung bình của bot là 217 mili giây, chỉ nhỉnh hơn người bình thường một chút. Nó thắng nhờ lối chơi khác thường và sự phối hợp.
Bot có bị con người đánh bại không?
Có. Bot thua paiN Gaming và một đội ngôi sao Trung Quốc ở The International 2018, rồi thua 42 ván trước 29 đội người ở Đấu trường tháng 4/2019.
Bản chạy lại là gì?
Là con bot huấn luyện lại từ số không từ ngày 18/5/2019. Nó dùng khoảng 20% tài nguyên, mất khoảng hai tháng và thắng hơn 98 trên 100 trận trước bản đã hạ OG.
Nguồn tham khảo
- Berner et al. — Dota 2 with Large Scale Deep Reinforcement Learning (arXiv:1912.06680, 2019)
- Schulman et al. — Proximal Policy Optimization Algorithms (arXiv:1707.06347, 2017)
- Greg Brockman — OpenAI Five Finals Intro (2019)
- The Register — What does it take for an OpenAI bot to best Dota 2 heroes? (25/6/2018)
- The Register — OpenAI bots thrash team of Dota 2 semi-pros (6/8/2018)
- The Register — OpenAI retires Dota 2 bots after beating OG (15/4/2019)
- Vice/Motherboard — 'We Will Win': OpenAI's Dota 2 Team Is Crushing Humans Online (19/4/2019)
- GamesBeat — OpenAI's Dota 2 bot defeated 99.4% of players in public matches (22/4/2019)
- PCGamesN — AI team beats OG (14/4/2019)
- Nextgov — For the First Time, AI Crushed a Professional Dota 2 Player (8/2017)
Bài viết tóm tắt từ video của kênh; nội dung mang tính giới thiệu.


