Cách hoạt động của mô hình Sora của OpenAI
(factorialfunds.com)- Sora dựa trên Diffusion Transformers (DiT) và Latent Diffusion, đồng thời mở rộng mô hình và tập dữ liệu huấn luyện ở quy mô lớn
- Sora cho thấy việc mở rộng các mô hình video là có giá trị, và việc tiếp tục mở rộng tương tự như với mô hình ngôn ngữ lớn (LLM) sẽ là động lực chính giúp mô hình cải thiện nhanh chóng
- Các công ty như Runway, Genmo và Pika đang xây dựng giao diện và quy trình làm việc trực quan cho các mô hình tạo video như Sora
- Việc huấn luyện Sora được ước tính cần một lượng năng lực tính toán khổng lồ, tương đương 4.200~10.500 GPU Nvidia H100 trong vòng 1 tháng
- Đối với suy luận, Sora được ước tính có thể tạo tối đa khoảng 5 phút video mỗi giờ trên mỗi GPU Nvidia H100. So với LLM, suy luận của các mô hình dựa trên khuếch tán như Sora đắt hơn nhiều lần
- Khi các mô hình như Sora được triển khai rộng rãi, chi phí tính toán cho suy luận sẽ vượt chi phí huấn luyện; “điểm hòa vốn” được ước tính nằm ở mức 15,3~38,1 triệu phút video được tạo ra, sau đó suy luận sẽ tiêu tốn nhiều tính toán hơn cả huấn luyện ban đầu. Để so sánh, số phút video được tải lên mỗi ngày là 17 triệu phút (TikTok) và 43 triệu phút (YouTube)
- Xét đến tỷ lệ video do AI tạo ra trên TikTok và YouTube, nhu cầu tối đa đối với GPU Nvidia H100 cho suy luận được ước tính vào khoảng 720.000 chiếc
Bối cảnh
- Sora thuộc họ mô hình khuếch tán. Mô hình khuếch tán là lựa chọn phổ biến cho tạo ảnh, với các mô hình nổi tiếng như DALL-E của OpenAI hay Stable Diffusion của Stability AI. Gần đây, các công ty như Runway, Genmo và Pika cũng đang khám phá việc tạo video, nhiều khả năng cũng tận dụng mô hình khuếch tán.
- Mô hình khuếch tán là một loại mô hình học máy sinh tạo, học cách tạo dữ liệu như hình ảnh hoặc video bằng cách dần đảo ngược quá trình thêm nhiễu ngẫu nhiên vào dữ liệu. Các mô hình này bắt đầu từ một mẫu nhiễu thuần túy, rồi từng bước loại bỏ nhiễu đó và tinh chỉnh các mẫu để biến chúng thành đầu ra chi tiết, có thể hiểu được.
Chi tiết kỹ thuật của Sora
-
OpenAI đã công bố một báo cáo kỹ thuật cùng với thông báo ra mắt Sora. Báo cáo này thiếu nhiều chi tiết, nhưng thiết kế của nó có vẻ chịu ảnh hưởng lớn từ bài nghiên cứu “Scalable Diffusion Models with Transformers”
-
Các tác giả của bài báo này đã đề xuất DiT, một kiến trúc dựa trên Transformer cho tạo ảnh; DiT là viết tắt của Diffusion Transformers
-
Có vẻ như Sora mở rộng hướng tiếp cận này sang tạo video. Bằng cách kết hợp báo cáo kỹ thuật của Sora với bài báo DiT, có thể có được bức tranh khá chính xác về cách mô hình Sora hoạt động
-
Sora có ba thành phần quan trọng:
- Không hoạt động trong không gian pixel mà thay vào đó thực hiện khuếch tán trong không gian tiềm ẩn (gọi là latent diffusion)
- Sử dụng kiến trúc Transformer
- Có vẻ sử dụng một tập dữ liệu rất lớn
-
Latent diffusion
- Để hiểu điểm đầu tiên là latent diffusion, hãy xét trường hợp tạo ảnh
- Có thể tạo từng pixel bằng khuếch tán, nhưng điều này rất kém hiệu quả (ví dụ, ảnh 512x512 có 262.144 pixel)
- Thay vào đó, có thể ánh xạ từ pixel sang một biểu diễn tiềm ẩn với mức độ nén nhất định, sau đó thực hiện khuếch tán trong không gian tiềm ẩn gọn hơn này, và cuối cùng giải mã từ latent trở lại không gian pixel
- Cách ánh xạ này cải thiện đáng kể độ phức tạp tính toán: thay vì chạy quá trình khuếch tán trên 512x512 = 262.144 pixel, ví dụ chỉ cần tạo 64x64 = 4.096 latent
- Ý tưởng này là đột phá cốt lõi của bài nghiên cứu “High-Resolution Image Synthesis with Latent Diffusion Models”, và là nền tảng của Stable Diffusion.
- Ví dụ về ánh xạ từ pixel sang biểu diễn tiềm ẩn là hình ảnh được lấy từ báo cáo kỹ thuật của Sora.
- Cả DiT và Sora đều tận dụng cách tiếp cận này. Với Sora, có thêm một điểm cần lưu ý là video có chiều thời gian: video được tạo thành từ các khung hình là chuỗi theo thời gian của ảnh
- Trong báo cáo kỹ thuật của Sora, bước mã hóa ánh xạ từ pixel sang không gian tiềm ẩn có vẻ diễn ra cả theo không gian (nghĩa là nén chiều rộng và chiều cao của từng khung hình) và theo thời gian (nghĩa là nén dọc theo trục thời gian)
- Để hiểu điểm đầu tiên là latent diffusion, hãy xét trường hợp tạo ảnh
-
Transformer
- Ở điểm thứ hai, cả DiT và Sora đều sử dụng kiến trúc Transformer thuần thay vì kiến trúc U-Net thường dùng
- Điều này quan trọng vì các tác giả bài báo DiT quan sát thấy rằng việc dùng Transformer dẫn tới khả năng mở rộng có thể dự đoán được, nghĩa là khi áp dụng thêm tính toán huấn luyện (huấn luyện mô hình lâu hơn, làm mô hình lớn hơn, hoặc cả hai), hiệu năng sẽ được cải thiện
- Hành vi mở rộng này là một thuộc tính quan trọng có thể được định lượng bằng cái gọi là scaling laws, vốn trước đây đã được nghiên cứu trong bối cảnh các mô hình ngôn ngữ lớn (LLM) và các mô hình tự hồi quy ở những modality khác
- Khả năng áp dụng scale để có mô hình tốt hơn là một trong những động lực chính thúc đẩy tiến bộ nhanh của LLM
- Vì thuộc tính tương tự cũng tồn tại trong tạo ảnh và video, có thể kỳ vọng cùng một công thức scaling cũng sẽ hoạt động ở đây
-
Tập dữ liệu
- Thành phần cốt lõi cuối cùng cần cho huấn luyện mô hình là dữ liệu có gắn nhãn, và đây được xem là một trong những “bí mật” quan trọng nhất để huấn luyện các mô hình như Sora
- Để huấn luyện mô hình text-to-video như Sora, cần các cặp gồm video và mô tả văn bản tương ứng của chúng
- OpenAI không nói nhiều về tập dữ liệu của mình, nhưng có ám chỉ rằng nó rất lớn: “Chúng tôi lấy cảm hứng từ các mô hình ngôn ngữ lớn có được năng lực tổng quát thông qua huấn luyện trên dữ liệu ở quy mô Internet.”
- OpenAI cũng đã công bố phương pháp gắn nhãn văn bản chi tiết cho hình ảnh, vốn được dùng để thu thập tập dữ liệu DALLE-3
- Ý tưởng chung là huấn luyện một mô hình captioner trên tập con đã được gắn nhãn của tập dữ liệu, rồi dùng mô hình captioner đó để tự động gắn nhãn phần còn lại
- Có vẻ kỹ thuật tương tự cũng được áp dụng cho tập dữ liệu của Sora
Tác động
- Tin rằng Sora sẽ tạo ra một số tác động quan trọng. Sau đây là cái nhìn ngắn gọn về những tác động đó
- Khởi đầu cho tính thực dụng của mô hình video
- Chất lượng video mà Sora có thể tạo ra là một bước đột phá rõ rệt, không chỉ ở mức độ chi tiết mà còn ở tính nhất quán theo thời gian (ví dụ, xử lý đúng tính liên tục của vật thể khi tạm thời bị che khuất, và tạo phản chiếu trên mặt nước một cách chính xác)
- Có thể tin rằng chất lượng video hiện nay đã đủ cho một số loại cảnh nhất định để được dùng trong các ứng dụng thực tế
- Ví dụ, Sora có thể sớm thay thế một phần việc sử dụng stock video footage
- Tuy vậy, vẫn còn một số thách thức:
- Chưa rõ mô hình Sora hiện tại có thể được điều khiển đến mức nào
- Vì mô hình xuất ra pixel, việc chỉnh sửa video được tạo ra là khó và tốn thời gian
- Ngoài ra, để các mô hình này thực sự hữu ích, còn cần xây dựng giao diện người dùng (UI) và quy trình làm việc trực quan
- Các công ty như Runway, Genmo, Pika và những bên khác đã bắt đầu xử lý các vấn đề này
- Kỳ vọng tiến bộ nhanh của mô hình video
- Một trong những insight cốt lõi của bài báo DiT là chất lượng mô hình được cải thiện trực tiếp nhờ thêm tài nguyên tính toán, như đã thảo luận ở trên
- Điều này tương tự với scaling laws quan sát được ở LLM
- Do đó, khi các mô hình này được huấn luyện với ngày càng nhiều tính toán hơn, có thể kỳ vọng vào tiến bộ nhanh hơn nữa về chất lượng của mô hình tạo video
- Sora cho thấy rất rõ rằng công thức này thực sự hiệu quả, và có thể dự đoán rằng OpenAI cùng các công ty khác sẽ còn tập trung mạnh hơn nữa vào hướng đi này
- Tạo dữ liệu tổng hợp và tăng cường dữ liệu
- Trong các lĩnh vực như robotics và xe tự hành, dữ liệu về bản chất là khan hiếm: trên Internet không có nhiều video về robot đang thực hiện tác vụ hay xe đang lái ngoài đời thực.
- Thông thường, các vấn đề này được tiếp cận bằng cách huấn luyện trong mô phỏng hoặc thu thập dữ liệu thực tế ở quy mô lớn (hoặc kết hợp cả hai)
- Tuy nhiên, cả hai cách tiếp cận đều gặp vấn đề là dữ liệu mô phỏng thường thiếu thực tế
- Việc thu thập dữ liệu thực tế ở quy mô lớn thì tốn kém, và rất khó thu thập đủ dữ liệu cho các sự kiện hiếm
- Các mô hình như Sora có thể cực kỳ hữu ích trong trường hợp này. Có thể nghĩ tới việc dùng chúng để tạo trực tiếp dữ liệu tổng hợp hoàn chỉnh
- Sora cũng có thể được dùng cho tăng cường dữ liệu bằng cách biến đổi video hiện có thành một diện mạo khác
- Điểm thứ hai được mô tả ở trên cho thấy Sora biến đổi video một chiếc xe màu đỏ chạy trên đường rừng thành phong cảnh rừng rậm um tùm
- Có thể hình dung việc dùng cùng kỹ thuật đó để render lại cảnh từ ban ngày sang ban đêm hoặc thay đổi điều kiện thời tiết
- Mô phỏng và world model
- Việc học cái gọi là world model là một hướng nghiên cứu đầy hứa hẹn
- Nếu đủ chính xác, các world model này có thể được dùng để huấn luyện agent trực tiếp bên trong chúng, hoặc dùng cho lập kế hoạch và khám phá.
- Có vẻ như các mô hình như Sora đang ngầm học một dạng mô phỏng cơ bản về cách thế giới thực vận hành trực tiếp từ dữ liệu video
- Những “mô phỏng emergent” này hiện vẫn có lỗi, nhưng vẫn rất thú vị: chúng gợi ý rằng có thể huấn luyện các world model như vậy từ video ở quy mô lớn
- Hơn nữa, Sora dường như có thể mô phỏng những cảnh rất phức tạp như chất lỏng, phản xạ ánh sáng, chuyển động của vải và tóc.
- OpenAI thậm chí còn đặt tiêu đề báo cáo kỹ thuật là “Video generation models as world simulators”, cho thấy họ xem đây là khía cạnh quan trọng nhất của mô hình.
- Rất gần đây, DeepMind đã trình diễn mô hình Genie, cho thấy hiệu ứng tương tự khi chỉ huấn luyện trên video của trò chơi điện tử: mô hình học cách mô phỏng các trò chơi này (và tạo ra những trò chơi mới)
- Trong trường hợp này, mô hình học cách điều kiện hóa theo hành động mà không cần quan sát trực tiếp hành động đó
- Nói cách khác, mục tiêu là cho phép học trực tiếp trong các mô phỏng này.
- Kết hợp cả hai hướng, có thể kỳ vọng các mô hình như Sora và Genie sẽ được dùng rất hữu ích để huấn luyện ở quy mô lớn các embodied agent trong các tác vụ thế giới thực, chẳng hạn như trong robotics
- Tuy nhiên, cũng có những giới hạn: vì các mô hình này được huấn luyện trong không gian pixel, chúng sẽ mô hình hóa mọi chi tiết như cách gió làm lay động ngọn cỏ, dù điều đó có thể hoàn toàn không liên quan đến tác vụ đang thực hiện
- Không gian tiềm ẩn có nén, nhưng vì vẫn phải ánh xạ ngược về pixel nên nó cần giữ lại rất nhiều thông tin; do đó chưa rõ liệu việc lập kế hoạch trong không gian tiềm ẩn này có thể đạt hiệu quả hay không
Ước tính tính toán (Compute Estimates)
- Tại Factorial Funds, người ta thích xem xét lượng tính toán được dùng cho huấn luyện và suy luận. Điều này hữu ích vì có thể cung cấp thông tin cho các dự báo về lượng tính toán cần thiết trong tương lai
- Tuy nhiên, vì gần như không có chi tiết nào về kích thước mô hình và tập dữ liệu được dùng để huấn luyện Sora, việc ước tính các con số này cũng rất khó
- Vì vậy, các ước tính trong phần này có mức độ bất định rất cao, và cần ghi nhớ điều đó khi tham khảo
- (Vì chỉ là ước tính, phần này được lược bỏ)
3 bình luận
Ngoài nội dung chính, tôi xin bổ sung thêm một vài thông tin bên lề mà cá nhân tôi biết.
Có nói rằng cả DiT và Sora đều sử dụng kiến trúc transformer thuần túy thay vì kiến trúc U-Net thường được dùng, vậy U-Net và transformer đóng vai trò gì trong trí tuệ nhân tạo? Mình đang rất rối, hu hu.
Đúng là người ngoài hành tinh rồi thật.