18 पॉइंट द्वारा xguru 2024-03-22 | 3 टिप्पणियां | WhatsApp पर शेयर करें
  • Sora(सोरा) Diffusion Transformers(DiT) और Latent Diffusion पर आधारित है, और मॉडल व training dataset दोनों को बड़े पैमाने पर scale किया गया है
  • सोरा दिखाता है कि video model को scale करना मूल्यवान है, और बड़े भाषा मॉडल(LLM) की तरह अतिरिक्त scaling मॉडल को तेजी से बेहतर बनाने की मुख्य ताकत होगी
  • Runway, Genmo, और Pika जैसी कंपनियाँ Sora जैसे video generation model के लिए intuitive interface और workflow बना रही हैं
  • सोरा की training के लिए 1 महीने तक 4,200~10,500 Nvidia H100 GPU के बराबर अनुमानित भारी computing power की आवश्यकता है
  • inference के मामले में, अनुमान है कि Sora प्रति Nvidia H100 GPU प्रति घंटे अधिकतम लगभग 5 मिनट का video generate कर सकता है. LLM की तुलना में, सोरा जैसे diffusion-आधारित model का inference कई गुना अधिक महंगा है
  • जैसे-जैसे सोरा जैसे मॉडल व्यापक रूप से deploy होंगे, inference compute training compute पर हावी हो जाएगा, और 'break-even point' का अनुमान 15.3 million~38.1 million मिनट video generation पर है. इसके बाद मूल training की तुलना में inference पर अधिक compute लगेगा. तुलना के लिए, प्रतिदिन upload होने वाले video की मात्रा 17 million मिनट(TikTok) और 43 million मिनट(YouTube) है
  • TikTok और YouTube पर AI द्वारा generate किए गए video के हिस्से को ध्यान में रखते हुए, inference के लिए Nvidia H100 GPU की अधिकतम मांग लगभग 7.2 लाख होने का अनुमान है

पृष्ठभूमि

  • Sora diffusion model की श्रेणी में आता है. diffusion model image generation के लिए लोकप्रिय विकल्प हैं, जिनमें OpenAI का DALL-E और Stability AI का Stable Diffusion जैसे प्रसिद्ध मॉडल शामिल हैं. हाल के समय में Runway, Genmo, और Pika जैसी कंपनियाँ video generation पर काम कर रही हैं, और संभावना है कि वे भी diffusion model का उपयोग कर रही हों
  • diffusion model एक प्रकार का generative machine learning model है, जो data में जोड़े गए random noise की प्रक्रिया को धीरे-धीरे उलटकर image या video जैसे data generate करना सीखता है. ये मॉडल शुद्ध noise pattern से शुरू होते हैं, फिर धीरे-धीरे इस noise को हटाते हैं और pattern को refine करके समझने योग्य और विस्तृत output में बदलते हैं

सोरा के तकनीकी विवरण

  • OpenAI ने Sora की घोषणा के साथ एक technical report प्रकाशित की. यह report विवरणों में सीमित है, लेकिन इसका design काफी हद तक "Scalable Diffusion Models with Transformers" शोधपत्र से प्रभावित दिखता है

  • इस शोधपत्र के लेखकों ने image generation के लिए Transformer-आधारित architecture DiT प्रस्तावित किया, जो Diffusion Transformers का संक्षिप्त रूप है

  • लगता है कि Sora इसी काम को video generation तक बढ़ाता है. Sora की technical report और DiT paper को साथ पढ़ने पर Sora मॉडल के काम करने की काफी सटीक तस्वीर मिलती है

  • Sora के तीन महत्वपूर्ण हिस्से हैं:

    • यह pixel space में काम नहीं करता, बल्कि latent space में diffusion करता है(इसे latent diffusion कहा जाता है)
    • यह Transformer architecture का उपयोग करता है
    • ऐसा लगता है कि यह बहुत बड़े dataset का उपयोग करता है
  • latent diffusion

    • पहले बिंदु, latent diffusion, को समझने के लिए image generation पर विचार करें
      • diffusion का उपयोग करके हर pixel generate किया जा सकता है, लेकिन यह बहुत अक्षम है(उदाहरण के लिए, 512x512 image में 262,144 pixel होते हैं)
      • इसके बजाय, pixel को किसी compressed latent representation में map किया जा सकता है, फिर इस अधिक compact latent space में diffusion किया जाता है, और अंत में latent से वापस pixel space में decode किया जाता है
      • यह mapping computational complexity को काफी कम करती है: 512x512 = 262,144 pixel पर diffusion process चलाने के बजाय, उदाहरण के लिए केवल 64x64 = 4,096 latent generate करने होते हैं
      • यह विचार "High-Resolution Image Synthesis with Latent Diffusion Models" शोधपत्र की मुख्य breakthrough थी, और यही Stable Diffusion की नींव है
    • pixel से latent representation में mapping का उदाहरण Sora technical report की एक image से लिया गया है
    • DiT और Sora दोनों इस approach का उपयोग करते हैं. Sora के मामले में एक अतिरिक्त बात यह है कि video में time dimension भी होता है: video, image के समयक्रम में व्यवस्थित frame से बना होता है
    • Sora की technical report में ऐसा प्रतीत होता है कि pixel से latent space में map करने वाला encoding चरण spatial रूप से(यानी हर frame की width और height को compress करना) और temporal रूप से(यानी समय के साथ compress करना) दोनों तरह से होता है
  • Transformer

    • दूसरे बिंदु के रूप में, DiT और Sora दोनों सामान्यतः उपयोग होने वाले U-Net architecture के बजाय vanilla Transformer architecture का उपयोग करते हैं
    • यह महत्वपूर्ण है क्योंकि DiT paper के लेखकों ने देखा कि Transformer का उपयोग predictable scaling देता है, यानी यदि अधिक training compute लगाया जाए(मॉडल को अधिक समय तक train किया जाए, मॉडल को बड़ा बनाया जाए, या दोनों), तो performance बेहतर होती है
    • यह scaling behavior एक महत्वपूर्ण गुण है, जिसे तथाकथित scaling laws से मापा जा सकता है, और इसका अध्ययन पहले बड़े भाषा मॉडल(LLMs) तथा अन्य modality में autoregressive model के संदर्भ में किया गया है
    • बेहतर model पाने के लिए scale करने की क्षमता, LLMs में तेज प्रगति की प्रमुख ताकतों में से एक रही है
    • चूँकि image और video generation में भी यही गुण मौजूद है, इसलिए उम्मीद की जा सकती है कि यहाँ भी यही scaling recipe काम करेगी
  • dataset

    • मॉडल training के लिए आखिरी महत्वपूर्ण तत्व labeled data है, और Sora जैसे मॉडल की training में इसे सबसे महत्वपूर्ण गुप्त घटक माना जाता है
    • Sora जैसे text-to-video model को train करने के लिए video और उनके text description की जोड़ी चाहिए
    • OpenAI अपने dataset के बारे में बहुत कम बताता है, लेकिन यह संकेत देता है कि वह बहुत बड़ा है: "We were inspired by large language models that acquire general-purpose capabilities from training on internet-scale data."
    • OpenAI ने images पर विस्तृत text label लगाने की एक विधि भी सार्वजनिक की थी, जिसका उपयोग DALLE-3 dataset एकत्र करने में किया गया
    • सामान्य विचार यह है कि dataset के labeled subset पर एक captioner model train किया जाए, और फिर उसी captioner model से बाकी dataset को अपने-आप label किया जाए
    • लगता है कि Sora के dataset पर भी यही तकनीक लागू की गई है

प्रभाव

  • माना जाता है कि Sora के कुछ महत्वपूर्ण प्रभाव होंगे. अब उन प्रभावों को संक्षेप में देखें
  • video model की व्यावहारिकता की शुरुआत
    • Sora द्वारा generate किए जा सकने वाले video की quality, केवल detail level में ही नहीं बल्कि temporal consistency के मामले में भी, स्पष्ट breakthrough है(उदाहरण के लिए, जब कोई वस्तु अस्थायी रूप से छिप जाती है तो उसकी स्थायित्व को सही तरह से संभालना, और पानी में reflection को सही ढंग से generate करना)
    • अब ऐसा माना जा सकता है कि कुछ प्रकार के scene के लिए video quality वास्तविक application में उपयोग के लिए पर्याप्त है
    • उदाहरण के लिए, Sora जल्द ही कुछ stock video footage के उपयोग की जगह ले सकता है
    • लेकिन अभी भी कुछ चुनौतियाँ बाकी हैं:
      • यह स्पष्ट नहीं है कि मौजूदा Sora model कितना controllable है
      • चूँकि model pixel output देता है, इसलिए generated video को edit करना कठिन और समय लेने वाला है
      • इन model को वास्तव में उपयोगी बनाने के लिए intuitive user interface(UI) और workflow बनाना भी आवश्यक है
      • Runway, Genmo, Pika आदि जैसी कंपनियाँ पहले से ही इन समस्याओं पर काम कर रही हैं
  • video model में तेज प्रगति की उम्मीद
    • DiT paper की मुख्य समझों में से एक यह थी कि model quality अतिरिक्त compute से सीधे बेहतर होती है, जैसा ऊपर चर्चा की गई
    • यह LLMs में देखे गए scaling laws जैसा है
    • इसलिए जैसे-जैसे इन model को अधिक compute के साथ train किया जाएगा, video generation model की quality में और तेज प्रगति की उम्मीद की जा सकती है
    • Sora स्पष्ट रूप से दिखाता है कि यह recipe वास्तव में काम करती है, और उम्मीद है कि OpenAI सहित अन्य कंपनियाँ भी इस दिशा में और अधिक ध्यान देंगी
  • synthetic data generation और data augmentation
    • robotics और autonomous vehicle जैसे क्षेत्रों में data स्वाभाविक रूप से दुर्लभ है: इंटरनेट पर कार्य करते robot या चलते vehicle के video प्रचुर मात्रा में उपलब्ध नहीं हैं
    • आम तौर पर इन समस्याओं से निपटने के लिए simulation में training या वास्तविक दुनिया से बड़े पैमाने पर data collection(या दोनों का संयोजन) का उपयोग किया गया है
    • लेकिन दोनों approaches इस समस्या से जूझती हैं कि simulation data अक्सर अवास्तविक होता है
    • वास्तविक दुनिया का data बड़े पैमाने पर इकट्ठा करना महंगा है, और rare event पर पर्याप्त data जुटाना चुनौतीपूर्ण है
    • Sora जैसे model यहाँ बहुत उपयोगी हो सकते हैं. माना जाता है कि इन्हें सीधे पूर्ण synthetic data generate करने के लिए इस्तेमाल किया जा सकता है
    • Sora का उपयोग existing video को अलग रूप देने वाले data augmentation के लिए भी किया जा सकता है
    • ऊपर बताए गए दूसरे बिंदु में Sora एक लाल कार के जंगल-पथ पर दौड़ते video को घने tropical jungle दृश्य में बदलते हुए दिखाता है
    • इसी तकनीक से किसी scene को day से night में re-render करना या weather condition बदलना भी कल्पना की जा सकती है
  • simulation और world model
    • तथाकथित world model सीखना एक आशाजनक research direction है
    • यदि ये पर्याप्त सटीक हों, तो ऐसे world model के भीतर सीधे agent को train किया जा सकता है या planning और exploration के लिए उनका उपयोग किया जा सकता है
    • Sora जैसे model video data से सीधे यह आधारभूत simulation अप्रत्यक्ष रूप से सीखते दिखते हैं कि वास्तविक दुनिया कैसे काम करती है
      • यह "emergent simulation" अभी त्रुटिपूर्ण है, लेकिन फिर भी रोचक है: यह संकेत देता है कि शायद video से ऐसे world model को बड़े पैमाने पर train किया जा सकता है
      • इसके अलावा, Sora liquid, light reflection, fabric, और hair movement जैसे बहुत जटिल scene को simulate करने में सक्षम लगता है
      • OpenAI ने अपनी technical report का शीर्षक "Video generation models as world simulators" रखा, जिससे स्पष्ट है कि वह इसे model का सबसे महत्वपूर्ण पहलू मानता है
    • बहुत हाल में DeepMind ने Genie मॉडल का प्रदर्शन किया, जिसने केवल video game के video पर train होकर समान प्रभाव दिखाया: मॉडल ने इन games को simulate करना सीखा(और नए भी बनाए)
      • इस मामले में model ने सीधे observation के बिना action पर condition करना सीख लिया
      • दूसरे शब्दों में, लक्ष्य ऐसे simulation के भीतर सीधे learning को संभव बनाना है
    • दोनों को मिलाकर देखें, तो Sora और Genie जैसे model वास्तविक दुनिया के कार्यों में बड़े पैमाने पर embodied agent(जैसे robotics में) को train करने में बहुत उपयोगी हो सकते हैं
    • लेकिन सीमाएँ भी हैं: ये model pixel space में train होते हैं, इसलिए इन्हें हर तरह की बारीकी model करनी पड़ती है, जैसे हवा घास की पत्तियों को कैसे हिलाती है, जो किए जा रहे कार्य के लिए बिल्कुल अप्रासंगिक हो सकता है
    • latent space compressed होता है, लेकिन उसे pixel में वापस map भी किया जा सकना चाहिए, इसलिए इसमें बहुत-सी जानकारी संरक्षित रहनी पड़ती है. इस वजह से यह स्पष्ट नहीं है कि इसी latent space में planning कुशलतापूर्वक की जा सकती है या नहीं

compute अनुमान (Compute Estimates)

  • Factorial Funds training और inference में उपयोग किए गए compute को देखना पसंद करता है. यह उपयोगी है क्योंकि इससे भविष्य में आवश्यक compute के अनुमान लगाने में मदद मिल सकती है
  • लेकिन Sora को train करने में उपयोग किए गए model size और dataset के बारे में बहुत कम विवरण उपलब्ध हैं, इसलिए इन संख्याओं का अनुमान लगाना भी कठिन है
  • इसलिए इस section के अनुमान बहुत अनिश्चित हैं, और इन्हें उसी सावधानी के साथ देखना चाहिए
  • (यह भाग केवल अनुमान है, इसलिए इसे छोड़ा गया है)

3 टिप्पणियां

 
soon0698 2024-03-23

सामग्री के साथ-साथ मैं अपनी तरफ़ से कुछ निजी TMI भी जोड़ रहा/रही हूँ.

  • Diffusion Transformers(DiT) का नेतृत्व उस समय Berkeley के PhD छात्र William Peebles ने किया था, और उस पेपर को सबसे प्रतिष्ठित computer vision conference CVPR में साफ़ तौर पर 'नवीनता का अभाव (Lack of Novelty)' कहकर अस्वीकार कर दिया गया था. बाद में यह ICCV में प्रकाशित हुआ, और लेखक ने graduation के बाद OpenAI जॉइन किया और तुरंत Sora प्रोजेक्ट का नेतृत्व किया.
  • DiT की architecture, Diffusion model + Transformer architecture है. उस समय Diffusion model में U-Net संरचना का उपयोग करके image restoration में बेहतरीन performance पहले से अच्छी तरह ज्ञात थी, लेकिन इसमें उसे CNN-आधारित तरीके के बजाय Vision Transformer और Patchify संरचना में बदला गया. इसलिए पेपर का मुख्य फ़ोकस ViT architecture को अपनाकर 'Scaling Law' को साबित करने पर है, और वास्तविक प्रस्तावित विधि पर मुख्य पाठ में एक पेज से भी कम जगह दी गई है.
  • आम लोगों की रुचि के विपरीत, अकादमिक जगत के लोग इस तरह की दिशा को धीरे-धीरे अधिक ध्यान और citation मिलते देख काफ़ी चिंता जता रहे हैं. वजह यह है कि अगर अधिक (अच्छा) data, विशाल computing resources, और अंत में Scaling Law की गारंटी देने वाली architecture ही काफ़ी हो, तो फिर किसी चतुर hacking या नए invention की ज़रूरत ही नहीं लगती. अगर शोधकर्ताओं की मेहनत से निकाली गई smart techniques की तुलना में सिर्फ़ 100 और GPU जोड़ देने का नतीजा हमेशा बेहतर निकले, तो यह बहुत सुखद एहसास नहीं होगा.
 
yangisu12 2024-03-22

कहा गया था कि DiT और Sora दोनों आमतौर पर इस्तेमाल होने वाले U-Net architecture की बजाय vanilla transformer architecture का उपयोग करते हैं, तो AI में U-Net और transformer की क्या भूमिका होती है? मैं बहुत कन्फ्यूज़ हूँ T_T

 
mhj5730 2024-03-22

ये तो एलियन लग रहे हैं, हाहा