หลักการทำงานของโมเดล Sora ของ OpenAI
(factorialfunds.com)- Sora เป็นระบบที่อิงกับ Diffusion Transformers (DiT) และ Latent Diffusion โดยขยายทั้งตัวโมเดลและชุดข้อมูลฝึกในระดับมหาศาล
- Sora แสดงให้เห็นว่าการขยายโมเดลวิดีโอมีคุณค่า และการขยายเพิ่มเติมในลักษณะคล้ายกับโมเดลภาษาขนาดใหญ่ (LLM) จะเป็นแรงขับสำคัญที่ทำให้โมเดลดีขึ้นอย่างรวดเร็ว
- บริษัทอย่าง Runway, Genmo และ Pika กำลังสร้างอินเทอร์เฟซและเวิร์กโฟลว์ที่ใช้งานง่ายสำหรับโมเดลสร้างวิดีโอแบบ Sora
- คาดว่าการฝึก Sora ต้องใช้พลังประมวลผลมหาศาล เทียบเท่ากับ Nvidia H100 GPU จำนวน 4,200~10,500 ตัวเป็นเวลา 1 เดือน
- ในด้านการอนุมาน คาดว่า Sora สามารถสร้างวิดีโอได้สูงสุดราว 5 นาทีต่อชั่วโมงต่อ Nvidia H100 GPU หนึ่งตัว เมื่อเทียบกับ LLM แล้ว การอนุมานของโมเดลแบบ diffusion เช่น Sora มีต้นทุนสูงกว่าหลายเท่า
- เมื่อมีการนำโมเดลแบบ Sora ไปใช้อย่างแพร่หลาย ภาระคอมพิวต์ฝั่งอนุมานจะมากกว่าคอมพิวต์ฝั่งฝึก โดยคาดว่าจุดคุ้มทุนจะอยู่ที่การสร้างวิดีโอ 15.3~38.1 ล้านนาที หลังจากนั้นจะใช้คอมพิวต์กับการอนุมานมากกว่าการฝึกเดิม เทียบกับวิดีโอที่อัปโหลดต่อวันคือ 17 ล้านนาที (TikTok) และ 43 ล้านนาที (YouTube)
- เมื่อพิจารณาสัดส่วนวิดีโอที่ AI สร้างบน TikTok และ YouTube คาดว่าความต้องการสูงสุดของ Nvidia H100 GPU สำหรับการอนุมานอาจอยู่ราว 720,000 ตัว
ภูมิหลัง
- Sora จัดอยู่ในกลุ่ม diffusion model ซึ่งเป็นทางเลือกยอดนิยมสำหรับการสร้างภาพ โดยมีโมเดลชื่อดังอย่าง DALL-E ของ OpenAI และ Stable Diffusion ของ Stability AI ช่วงหลังมานี้บริษัทอย่าง Runway, Genmo และ Pika ก็เริ่มสำรวจการสร้างวิดีโอ ซึ่งมีแนวโน้มสูงว่าจะใช้ diffusion model เช่นกัน
- diffusion model คือโมเดลการเรียนรู้ของเครื่องเชิงกำเนิดชนิดหนึ่งที่เรียนรู้การสร้างข้อมูล เช่น ภาพหรือวิดีโอ โดยค่อย ๆ ย้อนกระบวนการเติม noise แบบสุ่มลงในข้อมูล โมเดลเหล่านี้เริ่มจากรูปแบบ noise ล้วน แล้วค่อย ๆ ลบ noise ออกและปรับแต่งรูปแบบให้กลายเป็นผลลัพธ์ที่เข้าใจได้และมีรายละเอียด
รายละเอียดทางเทคนิคของ Sora
-
OpenAI เผยแพร่รายงานทางเทคนิคพร้อมกับการเปิดตัว Sora แม้รายงานนี้จะมีรายละเอียดไม่มาก แต่ดูเหมือนว่าการออกแบบจะได้รับอิทธิพลอย่างมากจากงานวิจัยเรื่อง “Scalable Diffusion Models with Transformers”
-
ผู้เขียนงานวิจัยนี้เสนอ DiT ซึ่งเป็นสถาปัตยกรรมแบบ Transformer สำหรับการสร้างภาพ โดย DiT ย่อมาจาก Diffusion Transformers
-
ดูเหมือนว่า Sora จะขยายแนวทางนี้ไปสู่การสร้างวิดีโอ เมื่อนำรายงานทางเทคนิคของ Sora มารวมกับงานวิจัย DiT ก็จะพอเห็นภาพได้ค่อนข้างแม่นยำว่าโมเดล Sora ทำงานอย่างไร
-
Sora มีองค์ประกอบสำคัญ 3 ส่วน:
- ไม่ได้ทำงานใน pixel space แต่ทำ diffusion ใน latent space แทน (เรียกว่า latent diffusion)
- ใช้สถาปัตยกรรม Transformer
- ดูเหมือนว่าจะใช้ชุดข้อมูลขนาดใหญ่มาก
-
Latent Diffusion
- เพื่อเข้าใจประเด็นแรกเรื่อง latent diffusion ลองพิจารณาการสร้างภาพ
- เราสามารถสร้างแต่ละพิกเซลด้วย diffusion ได้ แต่ไม่มีประสิทธิภาพอย่างมาก (เช่น ภาพ 512x512 มี 262,144 พิกเซล)
- ทางเลือกคือแมปจากพิกเซลไปเป็น latent representation ที่มีการบีบอัดบางส่วน จากนั้นทำ diffusion ใน latent space ที่กะทัดรัดกว่านี้ และสุดท้ายค่อยถอดรหัสจาก latent กลับไปยัง pixel space
- การแมปนี้ช่วยลดความซับซ้อนในการคำนวณอย่างมาก: แทนที่จะรันกระบวนการ diffusion บน 512x512 = 262,144 พิกเซล ก็อาจต้องสร้างเพียง 64x64 = 4,096 latent เท่านั้น
- แนวคิดนี้คือจุดก้าวหน้าหลักของงานวิจัย “High-Resolution Image Synthesis with Latent Diffusion Models” และเป็นรากฐานของ Stable Diffusion
- ตัวอย่างการแมประหว่างพิกเซลไปยัง latent representation เป็นภาพจากรายงานทางเทคนิคของ Sora
- ทั้ง DiT และ Sora ใช้แนวทางนี้ ในกรณีของ Sora ยังมีข้อพิจารณาเพิ่มเติมคือวิดีโอมีมิติเวลา: วิดีโอประกอบด้วยเฟรมซึ่งเป็นลำดับภาพตามเวลา
- จากรายงานทางเทคนิคของ Sora ดูเหมือนว่าขั้นตอน encoding จากพิกเซลไปยัง latent space เกิดขึ้นทั้งในเชิงพื้นที่ (หมายถึงการบีบอัดความกว้างและความสูงของแต่ละเฟรม) และในเชิงเวลา (หมายถึงการบีบอัดตลอดช่วงเวลา)
- เพื่อเข้าใจประเด็นแรกเรื่อง latent diffusion ลองพิจารณาการสร้างภาพ
-
Transformer
- ประเด็นที่สองคือ ทั้ง DiT และ Sora ใช้สถาปัตยกรรม vanilla Transformer แทนสถาปัตยกรรม U-Net ที่นิยมใช้กันทั่วไป
- เรื่องนี้สำคัญเพราะผู้เขียนงานวิจัย DiT สังเกตว่าการใช้ Transformer ทำให้เกิด scaling ที่คาดการณ์ได้ หมายความว่าเมื่อเพิ่มคอมพิวต์สำหรับการฝึก (ไม่ว่าจะฝึกนานขึ้น ทำให้โมเดลใหญ่ขึ้น หรือทั้งสองอย่าง) ประสิทธิภาพก็จะดีขึ้น
- พฤติกรรมการ scaling นี้เป็นคุณสมบัติสำคัญที่สามารถอธิบายเชิงปริมาณได้ด้วยสิ่งที่เรียกว่า scaling laws และเคยมีการศึกษามาก่อนในบริบทของโมเดลภาษาขนาดใหญ่ (LLMs) และโมเดล autoregressive ในโมดาลิตีอื่น ๆ
- ความสามารถในการเพิ่มสเกลเพื่อให้ได้โมเดลที่ดีขึ้นคือหนึ่งในแรงขับหลักของความก้าวหน้าอย่างรวดเร็วของ LLMs
- เนื่องจากคุณสมบัติเดียวกันนี้มีอยู่ในการสร้างภาพและวิดีโอด้วย จึงคาดได้ว่าสูตรการ scaling แบบเดียวกันจะใช้ได้ที่นี่เช่นกัน
-
ชุดข้อมูล
- องค์ประกอบหลักสุดท้ายที่จำเป็นต่อการฝึกโมเดลคือข้อมูลที่มีป้ายกำกับ ซึ่งถือว่าเป็นส่วนผสมลับที่สำคัญที่สุดอย่างหนึ่งในการฝึกโมเดลแบบ Sora
- การฝึกโมเดล text-to-video แบบ Sora ต้องมีคู่ข้อมูลระหว่างวิดีโอกับคำอธิบายข้อความของวิดีโอนั้น
- OpenAI ไม่ได้พูดถึงชุดข้อมูลของตนมากนัก แต่บอกเป็นนัยว่ามีขนาดใหญ่มาก: “ได้รับแรงบันดาลใจจากโมเดลภาษาขนาดใหญ่ที่ได้ความสามารถทั่วไปจากการฝึกบนข้อมูลระดับอินเทอร์เน็ต”
- OpenAI ยังเปิดเผยวิธีติดป้ายข้อความอย่างละเอียดให้กับภาพ ซึ่งถูกใช้ในการเก็บรวบรวมชุดข้อมูลของ DALLE-3
- แนวคิดทั่วไปคือฝึกโมเดล captioner จากชุดย่อยของข้อมูลที่มีการติดป้ายกำกับ แล้วใช้ captioner นั้นติดป้ายข้อมูลส่วนที่เหลือโดยอัตโนมัติ
- ดูเหมือนว่าเทคนิคเดียวกันนี้จะถูกใช้กับชุดข้อมูลของ Sora ด้วย
ผลกระทบ
- เชื่อว่า Sora จะก่อให้เกิดผลกระทบสำคัญหลายด้าน ต่อไปนี้คือภาพรวมแบบสั้น ๆ ของผลกระทบเหล่านั้น
- จุดเริ่มต้นของการใช้งานจริงของโมเดลวิดีโอ
- คุณภาพของวิดีโอที่ Sora สร้างได้ถือเป็นความก้าวหน้าที่ชัดเจน ไม่ใช่แค่ในระดับรายละเอียด แต่รวมถึงความสอดคล้องตามเวลาด้วย (เช่น จัดการความคงอยู่ของวัตถุได้ถูกต้องเมื่อวัตถุถูกบังชั่วคราว และสร้างภาพสะท้อนในน้ำได้อย่างแม่นยำ)
- เชื่อว่าคุณภาพวิดีโอในตอนนี้ดีพอแล้วสำหรับฉากบางประเภทที่นำไปใช้ในแอปพลิเคชันจริงได้
- ตัวอย่างเช่น Sora อาจเข้ามาแทนที่การใช้ stock video footage บางส่วนได้ในไม่ช้า
- อย่างไรก็ตาม ยังมีความท้าทายที่เหลืออยู่:
- ยังไม่ชัดเจนว่าโมเดล Sora ปัจจุบันควบคุมได้มากน้อยเพียงใด
- เนื่องจากโมเดลส่งออกเป็นพิกเซล การแก้ไขวิดีโอที่สร้างขึ้นจึงทำได้ยากและใช้เวลามาก
- นอกจากนี้ การทำให้โมเดลเหล่านี้มีประโยชน์ยังต้องอาศัยการสร้างส่วนติดต่อผู้ใช้ (UI) และเวิร์กโฟลว์ที่ใช้งานง่าย
- บริษัทอย่าง Runway, Genmo, Pika และรายอื่น ๆ กำลังทำงานกับปัญหาเหล่านี้อยู่แล้ว
- คาดว่าโมเดลวิดีโอจะพัฒนาอย่างรวดเร็ว
- หนึ่งในข้อค้นพบหลักของงานวิจัย DiT คือคุณภาพของโมเดลดีขึ้นโดยตรงเมื่อเพิ่มคอมพิวต์ ดังที่กล่าวไว้ข้างต้น
- สิ่งนี้คล้ายกับ scaling laws ที่พบใน LLMs
- ดังนั้น เมื่อโมเดลเหล่านี้ได้รับการฝึกด้วยคอมพิวต์ที่มากขึ้นเรื่อย ๆ ก็สามารถคาดหวังความก้าวหน้าเพิ่มเติมอย่างรวดเร็วในด้านคุณภาพของโมเดลสร้างวิดีโอได้
- Sora แสดงให้เห็นอย่างชัดเจนว่าสูตรนี้ใช้ได้จริง และคาดว่าบริษัทอื่น ๆ รวมถึง OpenAI จะมุ่งไปในทิศทางนี้มากขึ้น
- การสร้างข้อมูลสังเคราะห์และการเพิ่มข้อมูล
- ในสาขาอย่างหุ่นยนต์และรถยนต์ไร้คนขับ ข้อมูลเป็นสิ่งที่หายากโดยธรรมชาติ: บนอินเทอร์เน็ตไม่ได้มีวิดีโอของหุ่นยนต์ที่กำลังทำงานหรือยานพาหนะที่กำลังขับมากมาย
- โดยทั่วไป ปัญหาเหล่านี้ถูกจัดการด้วยการฝึกในสภาพจำลอง หรือเก็บข้อมูลจากโลกจริงในระดับใหญ่ (หรือใช้ทั้งสองวิธีร่วมกัน)
- แต่ทั้งสองแนวทางต่างเผชิญปัญหาที่ว่าข้อมูลจากการจำลองมักไม่สมจริง
- การเก็บข้อมูลจากโลกจริงในระดับใหญ่มีค่าใช้จ่ายสูง และการเก็บข้อมูลเหตุการณ์หายากให้เพียงพอก็เป็นเรื่องท้าทาย
- โมเดลอย่าง Sora อาจมีประโยชน์อย่างมากในจุดนี้ โดยอาจใช้สร้างข้อมูลสังเคราะห์แบบครบถ้วนได้โดยตรง
- Sora ยังอาจใช้ทำ data augmentation โดยแปลงวิดีโอเดิมให้มีลักษณะต่างออกไป
- ประเด็นที่สองที่อธิบายไว้ข้างต้นแสดงให้เห็นว่า Sora สามารถเปลี่ยนวิดีโอของรถสีแดงที่วิ่งบนถนนในป่าให้กลายเป็นภูมิทัศน์ป่าดงดิบหนาทึบได้
- จึงสามารถจินตนาการได้ว่าด้วยเทคนิคเดียวกัน เราอาจ re-render ฉากจากกลางวันเป็นกลางคืน หรือเปลี่ยนสภาพอากาศได้
- การจำลองและ world models
- การเรียนรู้สิ่งที่เรียกว่า world models เป็นทิศทางการวิจัยที่มีอนาคต
- หากมีความแม่นยำเพียงพอ world models เหล่านี้อาจใช้ฝึกเอเจนต์ภายในโดยตรง หรือใช้สำหรับการวางแผนและการสำรวจ
- ดูเหมือนว่าโมเดลอย่าง Sora จะเรียนรู้การจำลองพื้นฐานของการทำงานของโลกจริงจากข้อมูลวิดีโอโดยปริยาย
- “การจำลองที่ผุดขึ้นมาเอง” เหล่านี้ยังมีข้อบกพร่องในปัจจุบัน แต่ก็น่าสนใจมาก เพราะบ่งชี้ว่าเราอาจฝึก world models จากวิดีโอได้ในระดับใหญ่
- ยิ่งไปกว่านั้น Sora ดูเหมือนจะสามารถจำลองฉากที่ซับซ้อนมากได้ เช่น ของเหลว การสะท้อนแสง การเคลื่อนไหวของผ้า และเส้นผม
- OpenAI ตั้งชื่อรายงานทางเทคนิคว่า “Video generation models as world simulators” ซึ่งแสดงชัดว่ามองว่านี่เป็นแง่มุมที่สำคัญที่สุดของโมเดล
- ไม่นานมานี้ DeepMind ได้สาธิตโมเดล Genie ซึ่งแสดงผลลัพธ์คล้ายกันโดยฝึกจากวิดีโอของวิดีโอเกมเพียงอย่างเดียว: โมเดลเรียนรู้วิธีจำลองเกมเหล่านี้ (และสร้างสิ่งใหม่ขึ้นมา)
- ในกรณีนี้ โมเดลเรียนรู้วิธีวางเงื่อนไขตามการกระทำโดยไม่ต้องสังเกตการกระทำโดยตรง
- กล่าวอีกอย่าง เป้าหมายคือทำให้การเรียนรู้โดยตรงภายในสภาพจำลองเหล่านี้เป็นไปได้
- เมื่อรวมทั้งสองแนวทางเข้าด้วยกัน จึงมองว่าโมเดลอย่าง Sora และ Genie อาจมีประโยชน์อย่างมากในการฝึก embodied agents ในงานโลกจริงในระดับใหญ่ (เช่น ในหุ่นยนต์)
- อย่างไรก็ตาม ยังมีข้อจำกัด: เนื่องจากโมเดลเหล่านี้ถูกฝึกใน pixel space จึงต้องสร้างแบบจำลองรายละเอียดทุกอย่าง เช่น ลมพัดใบหญ้าอย่างไร ซึ่งอาจไม่เกี่ยวข้องกับงานที่กำลังทำเลย
- แม้ latent space จะถูกบีบอัด แต่ก็ยังต้องเก็บข้อมูลไว้มากเพราะต้องสามารถแมปกลับเป็นพิกเซลได้ จึงยังไม่ชัดเจนว่าการวางแผนใน latent space นี้จะมีประสิทธิภาพหรือไม่
การประเมินคอมพิวต์ (Compute Estimates)
- ที่ Factorial Funds ชอบพิจารณาปริมาณคอมพิวต์ที่ใช้ทั้งในการฝึกและการอนุมาน เพราะมีประโยชน์ต่อการคาดการณ์ว่าต้องใช้คอมพิวต์มากเพียงใดในอนาคต
- อย่างไรก็ตาม เนื่องจากแทบไม่มีรายละเอียดเกี่ยวกับขนาดโมเดลและชุดข้อมูลที่ใช้ฝึก Sora การประเมินตัวเลขเหล่านี้จึงทำได้ยาก
- ดังนั้น ค่าประมาณในส่วนนี้จึงมีความไม่แน่นอนสูงมาก และควรคำนึงถึงจุดนี้ไว้เมื่ออ้างอิง
- (เป็นเพียงค่าประมาณ จึงขอละส่วนนี้ไว้)
3 ความคิดเห็น
ขอเสริมเนื้อหาพร้อมเกร็ดเล็กเกร็ดน้อยที่ผมรู้เป็นการส่วนตัวด้วย
Scaling Lawผ่านการนำสถาปัตยกรรม ViT มาใช้เป็นส่วนใหญ่ และวิธีการที่เสนอจริง ๆ ในตัวบทความมีเนื้อหาไม่ถึงหนึ่งหน้าด้วยซ้ำScaling Lawได้ ก็ดูเหมือนว่าจะไม่จำเป็นต้องมีการแฮ็กอย่างชาญฉลาดหรือสิ่งประดิษฐ์ใหม่ใด ๆ อีกต่อไป ถ้าผลลัพธ์จากการเพิ่ม GPU เข้าไปอีกแค่ 100 ใบ ดีกว่าเทคนิคอันชาญฉลาดที่นักวิจัยคิดค้นขึ้นมาเสมอ ก็คงไม่ใช่ความรู้สึกที่น่ายินดีสักเท่าไรนักเขาบอกว่า DiT กับ Sora ต่างก็ใช้สถาปัตยกรรมทรานส์ฟอร์เมอร์แบบพื้นฐานแทนสถาปัตยกรรม U-Net ที่ใช้กันโดยทั่วไป แล้ว U-Net กับทรานส์ฟอร์เมอร์ทำหน้าที่อะไรใน AI กันแน่ครับ? ผมงงมากเลย T_T
เหมือนพวกมนุษย์ต่างดาวเลยนะ ตัวสั่น