1 điểm bởi GN⁺ 2024-08-29 | 1 bình luận | Chia sẻ qua WhatsApp
  • GameNGen tạo ra các chuyển cảnh của game kinh điển DOOM chỉ bằng mô hình mạng nơ-ron, cho phép tương tác thời gian thực mà không cần engine truyền thống riêng
  • Chạy ở mức trên 20fps trên một TPU đơn, với mục tiêu duy trì chất lượng hình ảnh và độ phản hồi ngay cả trong các chuỗi chơi dài
  • Dự đoán khung hình tiếp theo đạt PSNR 29.4, và trong các clip ngắn, người đánh giá chỉ phân biệt được game thật với mô phỏng ở mức nhỉnh hơn đoán ngẫu nhiên một chút
  • Việc huấn luyện dựa trên nhật ký hành động và quan sát do tác tử RL tạo ra; mô hình khuếch tán sinh khung hình tiếp theo từ các khung hình quá khứ và chuỗi hành động
  • Để giảm drift tự hồi quy tích lũy trong quá trình suy luận, Gaussian noise được thêm vào các khung ngữ cảnh khi huấn luyện, đóng vai trò quan trọng đối với độ ổn định hình ảnh trong thời gian dài

Mô phỏng DOOM chạy chỉ bằng mạng nơ-ron

  • GameNGen là engine game dựa trên mô hình mạng nơ-ron, cho phép tương tác thời gian thực dọc theo các quỹ đạo dài trong môi trường phức tạp
  • Demo là kết quả mô phỏng bản ghi thời gian thực cảnh người chơi DOOM chỉ bằng mô hình mạng nơ-ron GameNGen
  • Hiệu năng và chất lượng tập trung vào việc làm giảm khả năng phân biệt với lượt chơi thật
    • Mô phỏng DOOM theo cách tương tác ở mức trên 20fps trên một TPU đơn
    • Dự đoán khung hình tiếp theo đạt PSNR 29.4
    • Mức PSNR này tương đương với nén JPEG có mất dữ liệu
    • Người đánh giá chỉ phân biệt được clip game ngắn và clip mô phỏng ở mức hơi tốt hơn đoán ngẫu nhiên
  • Tài liệu liên quan có tại PaperArxiv

Dữ liệu huấn luyện và cấu hình mô hình sinh

  • Việc thu thập dữ liệu được thực hiện bằng cách huấn luyện một tác tử RL tự động, thay vì thu thập lượt chơi của con người ở quy mô lớn
    • Lưu lại hành động và quan sát từ các episode huấn luyện của tác tử
    • Nhật ký hành động và quan sát đã lưu trở thành dữ liệu huấn luyện cho mô hình sinh
  • Mô hình sinh tái sử dụng Stable Diffusion v1.4, một mô hình khuếch tán nhỏ
    • Sinh khung hình tiếp theo với điều kiện là chuỗi hành động trước đó và các khung quan sát
    • Để giảm drift phát sinh trong suy luận tự hồi quy, Gaussian noise được thêm vào các khung ngữ cảnh đã mã hóa khi huấn luyện
    • Việc bơm noise này giúp mô hình hiệu chỉnh thông tin được lấy mẫu từ các khung hình trước, và rất quan trọng để duy trì độ ổn định hình ảnh trong thời gian dài
  • Autoencoder tiền huấn luyện của Stable Diffusion v1.4 nén các patch 8x8 pixel thành 4 kênh tiềm ẩn
    • Trong dự đoán khung hình game, xuất hiện các artifact dễ thấy ở các chi tiết nhỏ và đặc biệt là thanh HUD phía dưới
    • Để nâng cao chất lượng ảnh, chỉ decoder của autoencoder tiềm ẩn được huấn luyện với MSE loss trên pixel của khung hình mục tiêu

1 bình luận

 
GN⁺ 2024-08-29
Các ý kiến trên Hacker News
  • Tôi ngạc nhiên vì có vẻ các mô hình khuếch tán chứa nhiều nguyên nhân-kết quả-tính tuần tự hơn tưởng tượng
    Việc Google dùng SD 1.4 làm lõi của mô hình khuếch tán cũng là một lời nhắc hay rằng các mô hình mở vẫn hữu ích ngay cả với những công ty độc quyền đám mây khổng lồ
    Điều gây ấn tượng trong phần tóm tắt là 1) họ cho agent chơi Doom để về cơ bản thu được dữ liệu huấn luyện vô hạn, 2) họ thêm nhiễu Gaussian vào các khung hình gốc rồi thưởng cho việc “chỉnh sửa” lại các khung hình tiếp theo, và điều này là then chốt cho việc “render” ổn định về lâu dài
    Điểm cuối đặc biệt thú vị vì trực giác là dạy cho mô hình khả năng sửa lỗi và tính ổn định
    Tôi cũng tò mò liệu có thể xem mô hình này như một “mô hình nền tảng Doom”, rồi fine-tune theo phong cách ảnh chân thực hoặc ray tracing để dễ có được phần render đẹp mắt hơn không

    • Nếu xem kỹ video demo thì nên hạ mức kỳ vọng về “nguyên nhân-kết quả-tính tuần tự” xuống một chút
      Người chơi hầu như không quay lại, nhưng khi nhân vật thực sự quay lại và nhìn lại cùng một thứ thì nó đã thay đổi khá nhiều. Căn phòng có tường xám và biển báo hình tam giác đặc biệt dễ thấy
      Điều này phù hợp với hành vi dự kiến ở mô hình khuếch tán. Được huấn luyện trên hàng tỷ khung hình gameplay, nó tạo khá tốt khung hình “tiếp theo” hợp lý dựa trên vài khung hình trước đó, nhưng không thật sự hiểu sâu các ràng buộc logic của trò chơi theo kiểu ghi nhớ cấu trúc màn chơi
    • Để làm rõ một vài hiểu lầm: bản thân mô hình khuếch tán không duy trì trạng thái
      Có thể một số khái niệm như nguyên nhân-kết quả đã được mã hóa trong trọng số, nhưng mô hình chỉ render từng khung hình một. Ngay từ đầu nó là mô hình text-to-image, không phải text-to-video
      Thay vì văn bản, trạng thái và khung hình trước đó được đưa vào làm đầu vào để dự đoán khung hình tiếp theo
      Nhiễu được thêm vào khung hình trước trước khi đưa vào mô hình SD, và agent học tăng cường không phải là thứ “chỉnh sửa” nó
      Mục tiêu khử nhiễu được dùng rộng rãi trong học máy; về mặt trực giác, nó buộc mô hình dự đoán phải tận dụng ngữ cảnh như các khung hình hoặc từ xung quanh
      Ở đây, nó giúp ngăn các lỗi nhỏ phát sinh từ tính ngẫu nhiên của mô hình khuếch tán sinh tích lũy thành hiện tượng trôi tự hồi quy. Trong Figure 4, hiện tượng trôi như vậy xuất hiện khi người chơi đứng yên
    • Đây không hẳn là một trò chơi, mà gần với ký ức về video gameplay dự đoán khung hình tiếp theo dựa trên vài khung hình trước đó hơn
      Kiểu như “có thể tưởng tượng chuyện gì đã xảy ra tiếp theo”
      Tôi muốn gọi nó là kiểu nén video kém hiệu quả nhất thế giới
      Điều tôi thật sự muốn thấy là năng lực dự đoán thực sự, tức trí tưởng tượng. Trong phần tóm tắt thì không thấy rõ
      Mô hình được huấn luyện trên bộ map cổ điển; nếu đưa vào vài khung hình gameplay của một map lạ, nó sẽ làm gì? Nó có thể tưởng tượng phần tiếp theo tốt đến mức nào?
    • Nghĩ rằng các tập đoàn lớn dồn toàn bộ tài nguyên vào mọi dự án là một ngộ nhận phổ biến
      Bài báo này có bốn đồng tác giả. Chắc họ đã nhận được khá nhiều tài nguyên, nhưng dù vậy có lẽ vẫn phải chia sẻ trong pool tài nguyên được phân bổ cho bộ phận nghiên cứu
      Ngay cả Google cũng chỉ có Gemini với một vài phiên bản mà thôi
    • Nếu là Google thì hẳn họ là bên hiểu rõ điểm này nhất sau bản ghi nhớ LLM từ lâu trước đây. Đại ý là “chúng ta đang thua khi cố chống lại hoặc cạnh tranh với các mô hình mở”: https://www.semianalysis.com/p/google-we-have-no-moat-and-ne...
  • Chỉ riêng việc thứ này hoạt động được đã đáng kinh ngạc đến khó tin, và việc còn render được 20fps cũng rất ấn tượng
    Vì phải mã hóa khung hình trước đó cùng hành động rồi đưa vào mô hình ở mỗi bước, nên trông giống như đang pha trộn mô hình khuếch tán với mạng nơ-ron hồi quy
    Nói trừu tượng thì có cảm giác mô hình đang mơ về trò chơi mà nó đã chơi rất nhiều, còn đầu vào thời gian thực thì thay đổi trạng thái của giấc mơ đó
    Tự hỏi liệu con người có phải cũng là một cỗ máy dự đoán khoảnh khắc tiếp theo, chỉ là có tích hợp thêm nhiều ký ức hơn một chút hay không

    • Việc con người có năng lực như vậy khá hợp lý
      Nếu đảo ngược logic và xem khung hình tiếp theo như một giả thuyết được dự đoán là kết quả của khung hình hiện tại, thì việc so sánh “giả thuyết” này với cảm giác thực tế sẽ dễ xử lý phần sai khác hơn là xử lý toàn bộ đầu vào cảm giác
      Như Richard Dawkins đã nói trong một podcast gần đây[1], gen là những cỗ máy dự đoán xuất sắc vì sự sống còn phụ thuộc vào dự đoán. Nghĩ đến lượng tài nguyên dành cho thị giác, khả năng tạo ra dự đoán thị giác là điều rất khớp
      Vậy aphantasia cho ta biết điều gì?
      [1] https://podcasts.apple.com/dk/podcast/into-the-impossible-wi...
    • Con người thực sự có thể là như vậy. Ít nhất Lisa Feldman Barrett nhìn nhận như thế
      Đáng nghe podcast của Lex Fridman “Counterintuitive Ideas About How the Brain Works”[2]. Bà giải thích rằng não hoạt động hiệu quả nhất bằng các dự đoán liên tục hơn là phản ứng, cùng nhiều điểm khác
      Bà cũng là một người truyền đạt khoa học rất giỏi nên nghe rất cuốn
      [1] https://en.wikipedia.org/wiki/Lisa_Feldman_Barrett
      [2] https://www.youtube.com/watch?v=NbdRIVCBqNI&t=1443s
    • Đúng vậy. Hãy xem mã hóa dự đoán: https://en.wikipedia.org/wiki/Predictive_coding
    • Nó đang chạy trên toàn bộ v5 TPU: https://cloud.google.com/blog/products/ai-machine-learning/i...
      Không rõ so với GPU tiêu dùng cao cấp như 3090 thì thế nào, nhưng INT8 TFLOPS trông có vẻ tương đương. TPU có ít bộ nhớ hơn (16GB so với 24GB), còn các thông số khác thì tôi không rõ
      Dù vậy vẫn có gì đó không khớp. SD thường mất ít nhất vài giây để tạo một kết quả chất lượng cao ngay cả trên 3090, còn ở đây gần như nhanh hơn cả một bậc hai chữ số. Điều này nghe như TPU áp đảo GPU trong tác vụ này
      Có vẻ nó tạo ảnh độ phân giải thấp (320x240), nhưng vẫn cảm thấy quá nhanh
    • Xem con người như “cỗ máy dự đoán khoảnh khắc tiếp theo” có vẻ quá quy giản
      Có cảm giác bắt đầu từ AI rồi suy ngược lên, đóng khung mọi nhận thức thành “bộ dự đoán thứ gì đó tiếp theo”
      Rốt cuộc chỉ là lặp lại cuộc tranh luận về vẹt xác suất
  • Sau khi xem luồng thảo luận này, tôi nghĩ đáng để chỉ ra rằng bài báo này không mô tả một hệ thống nhận đầu vào của người dùng theo thời gian thực rồi phản ánh vào đầu ra
    Tuy vậy, tôi cảm thấy cách diễn đạt trong phần tóm tắt ngụ ý khá mạnh rằng chuyện đó đang xảy ra
    Họ huấn luyện trên một lượng dữ liệu lớn về việc tác nhân chơi DOOM, và cung cấp các mẫu video để người dùng đánh giá, nhưng không phải theo kiểu người dùng đưa đầu vào vào mô phỏng theo thời gian thực để “chơi DOOM” ở khoảng 20 FPS
    Trong bài báo có những câu như “vẫn còn các câu hỏi cốt lõi như làm sao tạo trò chơi hiệu quả ngay từ đầu, hay làm sao tận dụng tốt nhất đầu vào của con người”, “mục tiêu cuối cùng là cho người chơi con người tương tác với mô phỏng”, đây là các manh mối
    Quan trọng nhất là thiếu hẳn một mục mô tả gameplay thời gian thực của người dùng

    • Vì mô hình chưa được công bố nên không thể trực tiếp đánh giá chất lượng gameplay, nhưng một tác giả đã nói rằng nó “chơi được, và video trên trang dự án là gameplay thực tế”: https://x.com/shlomifruchter/status/1828850796840268009
      Video ở đầu https://gamengen.github.io/ cũng mở đầu bằng câu “đây là các bản ghi thời gian thực của người đang chơi game”
      Nhìn vào những tuyên bố này thì có vẻ đến cuối dự án họ đã tạo ra một hệ thống có thể chơi được để đặt trước con người. Chỉ là có thể điều đó chưa đúng vào thời điểm bản nháp được đăng lên arXiv
    • Ban đầu tôi cũng nghĩ vậy, nhưng đọc lại bài báo chứ không phải phần tóm tắt thì khác
      Bài viết nói “A là tập hợp các lần nhấn phím và chuyển động chuột…”, và “…để điều kiện hóa theo hành động, chúng tôi học embedding A_emb cho từng hành động”
      Tức là quá trình diffusion của mô hình này được điều kiện hóa không phải bằng từ ngữ, mà bằng embedding hành động A đến từ hành vi người dùng
      Sau đó, khung hình bắt đầu đã thêm nhiễu được mã hóa thành biểu diễn tiềm ẩn và được nối thêm làm điều kiện thứ hai vào biểu diễn tiềm ẩn có nhiễu
      Kết cục là đây là một mô hình diffusion được huấn luyện chỉ bằng hình ảnh Doom, và tạo khung hình tiếp theo dựa trên điều kiện là khung Doom hiện tại cùng hành động của người dùng
      Vì vậy có thể nói người dùng thực sự đang chơi
      Dù vậy, việc này khả thi cũng không phải điều đáng kinh ngạc. Về cơ bản nó là một bản ghi thần kinh của trò chơi, nhưng là một demo công nghệ rất hay
    • Đúng là bài báo nên viết rõ hơn phần này, nhưng vì câu trong mục 5.2.3 nên tôi cho rằng nó chơi được và đã có người chơi
      “Khi chơi mô hình theo cách thủ công, một số khu vực rất dễ với cả hai, một số khu vực rất khó với cả hai, và ở một số khu vực tác nhân chơi tốt hơn nhiều”
      Có thể tôi thiếu trí tưởng tượng, nhưng tôi không nghĩ ra cách diễn giải hợp lý nào khác cho cụm “chơi mô hình theo cách thủ công”
    • Nội dung được mô tả khiến tôi nhớ đến dự án thú vị này:
      https://www.youtube.com/watch?v=udPY5rQVoW0
      “Playing a Neural Network's version of GTA V: GAN Theft Auto”
    • Điều đó sai rồi. Đây là một mô phỏng tương tác mà con người có thể chơi
      “Figure 1: a human player is playing DOOM on GameNGen at 20 FPS.”
      Câu trong phần tóm tắt mơ hồ nên đã gây ra nhiều nhầm lẫn ở đây, nhưng bài báo thì rõ ràng ở điểm này
      Khá thất vọng khi thông tin sai như vậy lại được upvote cao trên một diễn đàn có nhiều chuyên gia kỹ thuật
  • Cuộc truy cầu chạy Doom trên mọi thứ vẫn tiếp tục
    Nói về mặt kỹ thuật, đây chẳng phải là anti-Doom vĩ đại nhất có thể, tức là Doom với yêu cầu phần cứng cao nhất sao?
    Nếu đặt thông số phần cứng trên một trục tuyến tính thì thật buồn cười là giờ Doom nằm ở cả hai đầu

    • Khi đọc đoạn này, tôi tưởng ý là về mặt kỹ thuật nó hoàn toàn không chạy Doom
      Tức là không phải port rồi chạy Doom mà không có môi trường phần cứng/phần mềm gốc của Doom, mà là chạy Doom không có chính Doom
    • Nếu là Doom có yêu cầu phần cứng cao nhất, chẳng phải chỉ cần đặt mục tiêu render ray casting cao tùy ý là cũng làm được sao?
    • Đây là No-Doom
    • Anti-Doom thực sự vĩ đại sẽ là khi các mô hình như thế này được lồng vô hạn, mô hình dự đoán mô hình, và ở cuối chuỗi đó mới dự đoán Doom
      Cấp độ anti-Doom tiếp theo là một mô hình tạo ra mô hình rồi mô hình đó tạo ra đầu ra Doom
    • Phép ví von gần hơn ở đây có lẽ là “chạy Minecraft bên trong Minecraft”: https://news.ycombinator.com/item?id=32901461
  • Yêu cầu hệ thống của Doom:
    RAM 4MB, dung lượng đĩa 12MB
    Stable Diffusion v1 gồm UNet 860M và CLIP ViT-L/14 (540M), kích thước checkpoint 4,27GB, EMA đầy đủ 7,7GB
    Chạy trên TPU-v5e; hiệu năng tính toán tối đa mỗi chip là bf16 197 TFLOPs, Int8 393 TFLOPs; dung lượng và băng thông HBM2 là 16GB và 819GBps; băng thông kết nối giữa các chip là 1600Gbps
    Xét về tốc độ thì khá ấn tượng, nhưng dư địa cải thiện vẫn cực kỳ lớn. Về dung lượng thì lẽ ra có thể học thuộc hàng trăm lần, vậy mà có vẻ nó vẫn chưa ghi nhớ hoàn toàn trò chơi
    Vì thế rõ ràng còn rất nhiều dư địa cho các cách tối ưu. Tuy nhiên ở đây mục tiêu là ghi nhớ, nên không rõ những kỹ thuật đó sẽ ảnh hưởng thế nào đến công nghệ hiện có
    Điểm thú vị là điều này có nghĩa: nếu “chơi” đủ nhiều, tự động hóa, và dùng nhiều lưu trữ cùng tính toán hơn hẳn, ta có thể bóc tách được trò chơi
    Tôi tò mò so sánh chi phí và thời gian với việc thuê một kỹ sư reverse engineering Doom. Việc cho phép bao nhiêu kiến thức nền cũng khá mơ hồ. Xét đến mô hình tiền huấn luyện và môi trường ViZDoom, tôi cũng thắc mắc liệu mã nguồn Doom có nằm trong T5 không, và họ đã dùng checkpoint ViT nào
    Tôi rất muốn xem checkpoint của mô hình này. Nếu mọi người mổ xẻ nó, chắc sẽ tìm ra những thứ thật sự thú vị
    https://www.reddit.com/r/gaming/comments/a4yi5t/original_doo...
    https://huggingface.co/CompVis/stable-diffusion-v-1-4-origin...
    https://cloud.google.com/tpu/docs/v5e
    https://github.com/Farama-Foundation/ViZDoom
    https://zdoom.org/index

    • Nhận xét đó đúng, nhưng trong bối cảnh nghiên cứu này thì không phải điểm cốt lõi
      Đúng là chi phí tính toán vô lý nếu so với trò chơi gốc, và cũng thiếu những yếu tố cơ bản như tính toán trước hay lưu trữ
      Nhưng có thể xem những thứ đó là vấn đề sẽ được giải quyết quanh phát hiện này, hoặc tự nhiên cải thiện theo thời gian, hoặc trở nên kém quan trọng hơn như một nút thắt cổ chai
      Bước đột phá thật sự là có thể mô hình hóa chuỗi khung hình nhận biết ngữ cảnh như vậy mà không cần mã hóa tường minh. Điều đó đúng cả từ góc nhìn game thuần túy lẫn góc nhìn mô phỏng nói chung
    • Việc “bóc tách” trò chơi chỉ là một phần nhỏ
      Ý nghĩa lớn hơn là có thể tạo game từ video đời thực
      Nếu cần một trình mô phỏng bay hoàn hảo, chỉ cần gắn GoPro trong buồng lái của mọi máy bay chở khách trong 1 năm
  • Đọc các bình luận đã chết trong những bài kiểu này lúc nào cũng vui. Tôi thích việc họ chỉ ra nó vô nghĩa đến mức nào
    Một số người nên học cách tạo ra thứ gì đó chỉ vì niềm vui khi tạo ra nó
    Cái này có hữu ích không? Thật ra không mấy. Có thú vị không? Chắc chắn là có
    Không phải mọi thứ đều cần được tạo ra vì lợi nhuận. Cũng không nhất thiết phải được tạo ra để làm thế giới tốt đẹp hơn
    Đôi khi mục đích có thể là học hỏi, thử thách và kiểm chứng khả năng
    Thời gian tận hưởng không bao giờ là lãng phí. Có người lúc lâm chung sẽ hối tiếc vì đã không tận hưởng nhiều hơn

    • Sự hoài nghi và phê phán trong luồng này nhắm vào sự thổi phồng AI
      Câu “cái này thật sự tuyệt vời” hàm ý rằng trong tương lai gần có thể thay thế mọi phần mềm bằng mô hình AI để tạo ra bất kỳ trải nghiệm video game nào có thể tưởng tượng
      Thực tế thì đây là dạng Doom kém hiệu quả và ít đáng tin cậy nhất từng được tạo ra. Nó dùng lượng tính toán lớn hơn đúng nghĩa hàng triệu lần so với những PC x86 đời đầu vốn đã có thể render và chơi Doom theo thời gian thực
      Tất nhiên đây vẫn là một màn biểu diễn vui
    • Rất đúng. Văn hóa hustle trông như một căn bệnh lan rộng đã thay thế văn hóa maker vui vẻ của thập niên 80-90
      Cũng có mặt khó tránh. Chi phí sinh hoạt ngày càng đắt đỏ và việc lãng mạn hóa doanh nhân như rockstar đã dẫn đến lối tư duy hustle này
    • Hiện giờ thí nghiệm này trông có vẻ vô nghĩa
      Nhưng tôi nhớ thời người ta viết về khả năng của “radio Internet”. Thay vì bắn sóng phát thanh vào không trung như trước để hàng nghìn chiếc radio bắt nghe, một máy chủ nào đó sẽ gửi lượng gói tin khổng lồ qua những sợi dây đồng cực dài đến hàng nghìn endpoint
      Thậm chí việc các endpoint còn gửi ngược gói ACK lên cái máy chủ tội nghiệp để duy trì kết nối trông như một sự lãng phí năng lực tính toán, dây dẫn và năng lượng
      Vậy mà giờ chúng ta đang cày phim Netflix qua chính những sợi dây đồng đó
      Tôi không nói game sẽ bị thay thế bằng các mô hình khuếch tán mơ ra hình ảnh tiếp theo dựa trên đầu vào người dùng, nhưng một biến thể của nó có thể trở thành sáng tạo nghệ thuật tương tác hoặc một hình thức giải trí mới
    • Tôi không cho rằng cái này vô dụng. Nó là bước đệm để tiến tới tạo ra các trò chơi hoàn toàn mới
    • Tôi tò mò về dấu chân carbon của niềm vui đó
  • Dù ấn tượng, nhưng khó đồng ý. Mô hình khuếch tán không phải là game engine
    Game engine là thành phần thúc đẩy trò chơi tiến triển theo trục thời gian. Vì vậy nó giống động cơ ô tô, và cái tên cũng bắt nguồn từ đó
    Để động cơ hoạt động, không cần một chiếc xe hoàn chỉnh hay con đường để chạy
    Thứ ở trên gần với việc sao chép tương tác động những gì xảy ra khi đặt một chiếc xe lên một con đường cho trước, và phải chạy thử bằng một chiếc xe đang hoạt động cả triệu lần
    Nếu là engine, nó phải hoạt động được cả khi đi off-road

    • Đây có vẻ giống một phê bình về một mô hình kết quả được huấn luyện cụ thể hơn là về mô hình khuếch tán nói chung
      Thay vì nói ở thì hiện tại rằng “cần một chiếc xe đang hoạt động trên đường để làm việc đó”, nói ở thì quá khứ rằng “đã cần thứ đó để huấn luyện nó làm việc ấy” mới đúng hơn
      Cũng không rõ vì sao một game engine sử dụng các khái niệm rút ra từ cách những engine khác vận hành lại không còn là game engine nữa
      Nếu xét mô hình khuếch tán nói chung, cũng như các mô hình khuếch tán thông thường không chỉ tạo ra đúng những gì giống hệt ảnh huấn luyện mà còn có thể nội suy hoặc áp dụng các khái niệm riêng lẻ để tạo đầu ra mới, dường như không có lý do gì để giả định cách tiếp cận này không thể hoạt động ngoài “đường thử” đã được huấn luyện
    • Đây là điểm thú vị
      Theo một nghĩa nào đó, nó là game engine được mô phỏng huấn luyện bằng dữ liệu từ game engine thật
      Nhưng nếu một game engine mô phỏng đang hoạt động có thể “thúc đẩy trò chơi”, thì tôi cho rằng tự thân nó đã là game engine. Cách đạt được điều đó không quan trọng
      Một bên là con người tạo nội dung, bên kia mô phỏng nội dung game sẵn có, nhưng người chơi không bận tâm
      Có thể tưởng tượng loại “game engine sinh tạo” này cũng có thể đi off-road. Tức là ngoại suy xem điều gì sẽ xảy ra khi đi tới một nơi chưa từng thấy
      Thậm chí khả năng ngoại suy của loại mô hình này có thể tốt hơn game engine truyền thống. Trong game engine thông thường, nếu vô tình đi xuyên qua tường thì màn hình sẽ trống rỗng, nhưng mô hình này có thể vừa tiến triển vừa bịa tiếp
  • Vì đã loại bỏ điều kiện văn bản trong mô hình SD nên nó không có trong đó, nhưng có thể tưởng tượng rằng trong tương lai gần ta sẽ tạo được những trò chơi mới thú vị chỉ bằng prompt văn bản
    Để học DOOM trông như thế nào và vận hành ra sao thì đã phải dùng học tăng cường, nhưng điều đó không nhất thiết có nghĩa là bài toán con gà và quả trứng
    Tương tự như việc LLM dù chỉ được huấn luyện bằng văn bản có sẵn vẫn có thể viết ra câu chuyện mới
    Một trong những thách thức lớn nhất của cách tiếp cận này có lẽ sẽ là game thế giới mở, nơi số trạng thái khả dĩ gần như vô hạn
    Bài báo cũng nói rằng họ gặp khó khăn trong việc khiến tác tử học tăng cường khám phá hoàn toàn mọi ngóc ngách của DOOM
    Có lẽ Factorio hay Dwarf Fortress sẽ chưa được mô phỏng sớm đâu. Có lẽ vậy

    • Với đủ năng lực tính toán, trọng số mạng nơ-ron sẽ hội tụ thành một biểu diễn tiềm ẩn được nén rất mạnh của mã nguồn DOOM
      Thậm chí có thể còn nhỏ hơn chính mã nguồn. Có lẽ người trong lĩnh vực này có thể chỉnh lại
      Đến lúc đó, về cơ bản là đang “render” trò chơi bằng cách nội suy mã nguồn trong không gian tiềm ẩn. Như thể có cả một máy tính trong không gian tiềm ẩn, có engine, asset, texture và phần mềm render
      Với một máy tính đủ mạnh, cũng có thể tưởng tượng việc nội suy trong không gian tiềm ẩn giữa các trò như Factorio và TF2. Rồi có thể điều chỉnh không gian tiềm ẩn này bằng cách đặt điều kiện lên những khía cạnh gameplay mong muốn
      Tương lai như vậy sẽ đến rất nhanh ở một số phần của pipeline, chẳng hạn công đoạn cuối của render. Ví dụ DLSS đã được thương mại hóa rồi
      Biết đâu một ngày nào đó khi mọi người đều bị bắt vít vào metaverse nơ-ron, doanh thu của Nvidia lại quay về với game
      Việc họ chọn DOOM thật sự rất hay
    • Tương tự, cũng có thể chạy một game engine cực kỳ đơn giản chỉ xuất ra cỡ wireframe độ phân giải thấp, rồi upscale nó
      Tức là dồn toàn bộ công sức vào cơ chế game, không dùng cho chất lượng hình ảnh
      Tôi kỳ vọng cách này sẽ tốt hơn trong việc giảm sự bất nhất về hình ảnh, kiểu như khi quay đầu đi rồi nhìn lại thì con quỷ đỏ biến thành đồng minh màu xanh
    • Nếu nghĩ rằng có thể tạo “một trò chơi mới thú vị chỉ bằng prompt văn bản”, thì cứ thử tự viết prompt đó xem
      Có thể bắt đầu với một game platform tương đối đơn giản như Mario
      Khi viết được khoảng 300 trang mà vẫn mới giải thích chừng một nửa, bạn sẽ hiểu vì sao đây là suy nghĩ đầy hy vọng
    • Thật ra không phải vậy. Đây là tái hiện màn đầu tiên của Doom. Không có thứ gì mới được tạo ra cả
    • Video game trong tương lai gần sẽ thay đổi cực kỳ lớn
      Có thể một người sẽ trò chuyện với mô hình và tạo ra thứ ở cấp độ các tựa AAA ngày nay
      Hãy nghĩ đến làn sóng game 2D cuộn ngang trên Steam, nhưng thay vào đó là game 3D nhập vai chân thực như ảnh, vật lý siêu thực tế như dòng nước, lửa lan, lốc xoáy, và có khả năng biến đổi/xây dựng hoàn toàn
      Kiểu như mô hình đã được tiền huấn luyện bằng video đời thực, còn game chỉ là một “phong cách” tinh chỉnh nhẹ phân phối tiên nghiệm về ngoại hình, bối cảnh và câu chuyện
  • Nếu đã phải tạo game trước rồi thì mô hình khuếch tán mới là game engine à? Cần game để huấn luyện mô hình. Không phải bài toán con gà và quả trứng sao?

    • Có vài ý tưởng
      Có thể tạo một phiên bản game engine không chạy thời gian thực, rồi dùng mạng nơ-ron làm xấp xỉ thời gian thực
      Cũng có thể chỉnh thêm các thứ như HUD vào video quay ngoài đời, rồi huấn luyện mạng nơ-ron mô phỏng hiện thực thay vì Doom
      Bài báo này dùng 900 triệu khung hình, nếu là 30fps thì có vẻ tương đương khoảng 1 năm video. Cải tiến thuật toán có thể làm giảm nhu cầu huấn luyện
      Một năm video thực ra cũng không phải lượng quá lớn. Ví dụ có thể tuyển 500 người, gắn GoPro, gia tốc kế và con quay hồi chuyển lên đầu và súng bắn sơn, rồi cho họ chơi paintball trong một cuối tuần là có thể thu được một năm video
    • Nếu huấn luyện bằng nhiều trò chơi, thì cũng như mô hình tạo ảnh có thể tạo ra những hình ảnh mới chưa từng tồn tại, nó có thể tạo ra những trò chơi mới chưa từng tồn tại
    • Bước tiếp theo có lẽ là thêm hướng dẫn bằng văn bản để tạo ra các trò chơi không tồn tại
    • Chẳng phải cũng có thể nói điều tương tự về ảnh sinh tạo sao?
    • Trong tương lai, các kỹ thuật machine learning khoa học có thể mã hóa vật lý và các quy luật đã biết vào mô hình để tạo thành mô hình nền tảng
      Rồi các mô hình khác ở bên trên chỉ fine-tune các chi tiết để tùy biến trò chơi
  • Mô hình khuếch tán không thể trở thành game engine. Vì game engine phải có khả năng tạo trò chơi mới và thay đổi luật của trò chơi hiện có theo thời gian thực
    Thậm chí phải có thể thay đổi cả những quy tắc không hiển thị trên màn hình
    Những công cụ như vậy rất thú vị, nhưng cũng như mọi sự thổi phồng về AI, chúng cần có tuyên bố miễn trừ
    Công cụ này không tạo ra trò chơi, mà chỉ lấy mẫu từ trò chơi do con người tạo ra để sinh ra hình ảnh bên ngoài của các khung hình và cơ chế chơi

    • Nếu một quy tắc không bao giờ hiển thị trên màn hình đã thay đổi, thì nó có thực sự thay đổi không?
      “Chỉ” sinh ra thôi ư? Tôi hiểu rằng về mặt cơ học thì có thể đơn giản, nhưng việc nén được một phân phối có điều kiện phong phú như vậy hoàn toàn không có vẻ đơn giản
    • Họ chỉ huấn luyện trên một trò chơi và chỉ nhúng các đầu vào điều khiển
      Nếu huấn luyện trên nhiều trò chơi và nhúng nhiều thông tin hơn nhiều về từng trò chơi, có khả năng ta sẽ có thể chỉ định prompt mô tả trò chơi rồi chơi nó
    • Tôi muốn thấy một trò chơi được render bằng asset low-poly hoặc được phân đoạn theo cách nào đó, rồi dùng mô hình khuếch tán để thêm chi tiết đồ họa chân thực hoặc cách điệu
      Như vậy có thể thu được lợi ích thực tế trong khi khắc phục vấn đề về tính nhất quán
    • Tiêu đề nên là “Mô hình khuếch tán có thể được dùng để render khung hình khi có đầu vào của người dùng”
    • Rốt cuộc chẳng phải chỉ là tạo ra video gameplay hơi khác so với video dùng để huấn luyện thôi sao?