Roblox-இல் 3D உருவாக்கத்திற்கான AI முடிவுகளை விரைவுபடுத்துதல்
7.8 மடங்கு வேகமான, அதிக பதிலளிப்புத்திறன் கொண்ட 3D பொருள் உருவாக்கம்

- ரோப்லாக்ஸ், அதிக பதிலளிப்புத்திறன் கொண்ட மறுஆய்வுக்காக 3D மெஷ் உருவாக்கத்தை வேகப்படுத்த CUDA கிராஃப்கள் மற்றும் KV கேச்சிங்கைச் செயல்படுத்தியது.
- வெளியீட்டின் போது, கியூப் 3D மாடல் 60.5 மில்லிவினாடிகளில் இருந்து 7.8 மில்லிவினாடிகளில் டோக்கன்களையும், 31 வினாடிகளில் இருந்து 4 வினாடிகளில் முழுப் பொருட்களையும் உருவாக்க முடிந்தது.
இந்த ஆண்டின் தொடக்கத்தில், ராப்லாக்ஸ் எங்கள் கியூப் 3D அடித்தள மாதிரியின் முதல் திறனைப் பகிர்ந்து கொண்டது. கியூப் 3D மூலம், படைப்பாளிகள் உரை உந்துதல்களிலிருந்து நேரடியாக 3D மாதிரிகள் மற்றும் சூழல்களை உருவாக்க முடியும். ஆரம்பத்திலிருந்தே, மெதுவான உருவாக்க நேரங்கள் இயல்பாகவே ஒரு மறுஆய்வு செயல்முறையாக இருப்பதைக் குலைக்கும் என்பதை உணர்ந்து, தாமதத்தை மேம்படுத்துவதற்கு நாங்கள் முன்னுரிமை அளித்தோம். மார்ச் மாதம் கியூப் 3D தொடங்கப்படுவதற்கு முன்பே, நாங்கள் இன்ஃபர்ன்ஸ் படியை டெவலப்பர்கள் மற்றும் பயனர்கள் இருவருக்கும் 7.8 மடங்கு வேகமாகவும், மேலும் பதிலளிப்பதாகவும் ஆக்கியிருந்தோம்.
வெளியீட்டிற்குப் பிறகு, பல குறிப்பிடத்தக்க அனுபவங்களில் 578,000-க்கும் மேற்பட்ட பொருட்கள் உருவாக்கப்பட்டுள்ளன. மேலும், "பூனைகள்", "பர்கர்கள்" போன்ற உரைக் குறிப்புகளைக் கொண்டு அனுபவங்களுக்குள் 3D பொருட்களை உருவாக்க பயனர்களுக்கு வழிவகை செய்வதில் டெவலப்பர்கள் ஆர்வம் காட்டினர். குறிப்பாக, குரல் அரட்டை வசதியைப் பயன்படுத்தும் பிரபலமான ஹேங்கவுட் விளையாட்டான மிக் அப் (Mic Up), பொருட்களை உருவாக்க வீரர்களுக்கு ஒரு வேடிக்கையான மற்றும் ஊடாடும் வழியை வழங்க கியூப் 3D-ஐப் பயன்படுத்தியது. அவர்களின் செயலாக்கத்தில், வீரர்கள் AI ஐகான் உட்பட கூடுதல் திறன்களுக்கான ஒரு இடது கை மெனுவைத் திறக்கலாம். அந்த ஐகானைக் கிளிக் செய்த பிறகு, வீரர்கள் ஒரு 3D பொருளை உருவாக்க ஒரு உரைப் பிரம்பை உள்ளிடலாம். பயனர்களுக்கு, நீண்ட உருவாக்கும் நேரங்கள் ஒரு தடையாக அமைகின்றன, மேலும் அவர்களின் யோசனைகள் நிகழ்நேரத்தில் 3D ஆக மாறும் மாயாஜாலத்தை இழக்கச் செய்கின்றன.
நிறுத்தி-காத்திருக்கும் ஊடாடலை, உடனடியாக பதிலளிப்பதாகவும் இயல்பாகவும் தோன்றும் அனுபவமாக மாற்றி, விரைவான சோதனைகளைச் சாத்தியமாக்க நாங்கள் விரும்பினோம். ஒரு காட்சிக்குப் பொருட்களை விரைவாகச் சேர்க்கும் திறன் டெவலப்பர்களுக்கு மிகவும் முக்கியமானது. Cube 3D-ஐ விரைவுபடுத்த, செயல்திறன் தடைகளைக் கண்டறிய நாங்கள் முதலில் இன்ஃபர்ன்ஸ் பைப்லைனைப் பகுப்பாய்வு செய்தோம். சக்திவாய்ந்த GPU-க்களைப் பயன்படுத்திய போதிலும், செயல்பாடுகளுக்கு இடையில் குறிப்பிடத்தக்க ஓய்வு நேரத்தைக் கண்டறிந்தோம்.
சிபியு-ஜிபியு திட்டமிடல் நெரிசலைத் தீர்த்தல்
நவீன ஆழமான கற்றல் கட்டமைப்புகள், GPU-வில் செயல்பாடுகளை (அல்லது கெர்னல்களை) திட்டமிட்டு தொடங்குவதற்கு CPU-ஐ நம்பியுள்ளன. CPU ஒவ்வொரு செயல்பாட்டையும் தயார் செய்து, அதை GPU-விற்கு அனுப்பி, அடுத்த செயல்பாட்டைத் தயாரிப்பதற்கு முன் உறுதிப்படுத்தலுக்காகக் காத்திருக்கிறது. இந்தக் காத்திருப்பு ஒரு திட்டமிடல் நெரிசலை உருவாக்குகிறது, இதில் CPU அடுத்த தொகுதி வேலையைத் தயாரிக்கும்போது GPU வேலையில்லாமல் இருக்கக்கூடும். சிறந்த முறையில், CPU GPU-வை விட முன்னதாகச் சென்று, செயல்பாடுகளைத் தயாரித்து வரிசைப்படுத்த வேண்டும், இதனால் GPU-விற்கு எப்போதும் வேலை இருக்க வேண்டும்.
கியூப் 3D போன்ற டிரான்ஸ்ஃபார்மர் வகை மாடல்களில் உள்ள ஆட்டோரெகிரெசிவ் டீகோடர்களுக்கு இது குறிப்பாக ஒரு சிக்கலாகும், ஏனெனில் அவை உள்ளீட்டைச் செயலாக்கி, வரிசையாக டோக்கன்களை உருவாக்க வேண்டும். இந்த மாடல்களுக்கு ஒரு தனிப்பட்ட ஜெனரேஷனுக்காக ஆயிரக்கணக்கான தனிப்பட்ட செயல்பாடுகள் தேவைப்படுகின்றன, மேலும் வரிசையில் உள்ள ஒவ்வொரு படியிலும் கணக்கீட்டுச் சுமை குவிந்துவிடுகிறது.
"நாங்கள் நான்கு பரிமாண இடைவினையை செயல்படுத்தும் ஒன்றை உருவாக்க விரும்பினோம்," என்று பொறியியல் துணைத் தலைவர் அனுபம் சிங் கூறினார், ராப்லாக்ஸ் ஏன் ஒரு ஆட்டோரெகிரசிவ் அணுகுமுறையைத் தேர்ந்தெடுத்தது என்பதை விளக்கினார். "நாங்கள் காரை உருவாக்க விரும்புவது மட்டுமல்ல; காரின் கதவைத் திறந்து உள்ளே செல்லவும் விரும்புகிறோம்."
ஒவ்வொரு செயல்பாடும் ஏற்படுத்தியது:
- ஒவ்வொரு கெர்னலையும் தயாரிக்க CPU நேரம்
- கெர்னலைத் தொடங்குதலால் ஏற்படும் கூடுதல் சுமை
- GPU செயல்படுத்தும் நேரம் (உண்மையான கணக்கீடு)
- முடிவைச் சரிபார்க்கும்போது ஒத்திசைவு மேலதிகச் சுமை
GPU-வில் விரைவாகச் செயல்படும் சிறிய செயல்பாடுகளின் விஷயத்தில், இந்த மேலதிகச் சுமை முன்கணிப்பு நேரத்தை மிஞ்சக்கூடும். மொத்த முன்கணிப்பு நேரத்தில் ஒரு சிறிய பகுதிக்கு மட்டுமே GPU தீவிரமாகக் கணக்கீடுகளைச் செய்யக்கூடும்.


CUDA வரைபடங்களைச் செயல்படுத்துதல்: இடைத்தரகரை நீக்குதல்
இந்த நெரிசலைச் சமாளிக்க, நாங்கள் CUDA கிராஃப்களைப் பயன்படுத்தினோம்—இது CPU தலையீடு இல்லாமல் GPU செயல்பாடுகளின் வரிசைகளைப் பதிவுசெய்து மீண்டும் இயக்க அனுமதிக்கும் ஒரு அம்சமாகும். Cube 3D-யின் கட்டமைப்பின் ஆட்டோரெகிரசிவ் டீகோடர் கூறு, உரைப் பிரம்புகளைச் செயலாக்கி, ஒரு நிலையான நீளமுள்ள வெக்டரின் மூலம் ஷேப் டோக்கன்களை உருவாக்குகிறது.
ஒரு பாரம்பரிய பெரிய மொழி மாதிரிக்கு (LLM) செயல்பாட்டு ரீதியாக ஒத்திருந்தாலும், எங்கள் இரட்டை-ஓட்ட டிகோடர் கட்டமைப்பில் ஒரு முக்கிய வேறுபாடு உள்ளது—இது இரண்டு இணையான கவன ஓட்டங்களைப் பயன்படுத்துகிறது. ஒரு ஓட்டம் நிலை டோக்கன்களுக்காகவும் மற்றொன்று வடிவு டோக்கன்களுக்காகவும் பிரத்யேகமாக உள்ளது. சந்தையில் கிடைக்கும் LLM முடிவு இயந்திரங்கள் எங்கள் தேவைகளுக்குப் பொருத்தமானதாக இல்லை, மேலும் எங்கள் குறிப்பிட்ட கட்டமைப்புக்கு ஏற்றவாறு வடிவமைக்கப்பட்ட ஒரு பிரத்யேக செயலாக்கத்தை நாங்கள் தேவைப்பட்டோம்.
GPU-விற்கான ஒரு மேக்ரோவை (macro) பதிவு செய்வது போல CUDA கிராஃப்களை (Graphs) கருதுங்கள். CPU ஒவ்வொரு கட்டளையையும் தனித்தனியாக வழங்குவதற்குப் பதிலாக, இது GPU செயல்பாடுகளின் ஒரு முழுமையான வரிசையை (கிராஃப்) பதிவுசெய்து, ஒரே CPU அறிவுறுத்தலுடன் முழு கிராஃபையும் தொடங்குகிறது. இந்த அணுகுமுறை, மதிப்பீட்டின் போது CPU ஒவ்வொரு செயல்பாட்டையும் தனித்தனியாக திட்டமிட வேண்டிய தேவையை நீக்குவதன் மூலம் கெர்னல் (kernel) தொடக்கச் சுமையை (overhead) வியத்தகு முறையில் குறைக்கிறது. கிராஃப் தொடங்கப்பட்டவுடன், GPU மேலும் அறிவுறுத்தல்களுக்காகக் காத்திருக்காமல், முழுமையான வரிசையைத் தன்னிச்சையாகச் செயல்படுத்துகிறது.
கூடா கிராஃப்கள் சில வரம்புகளுடன் வருகின்றன. கிராஃப் கட்டமைப்பை முன்கூட்டியே தீர்மானிக்க வேண்டியிருப்பதால், அவை ஒரு நிலையான தொகுதி அளவு மற்றும் உள்ளீட்டு பரிமாணங்களைக் கோருகின்றன. இதன் பொருள், ஒவ்வொரு தொகுதி அளவு அல்லது உள்ளீட்டு வடிவத்திற்கும் தனித்தனி கிராஃப்கள் உருவாக்கப்பட வேண்டும். எங்கள் கியூப் 3D பயன்பாட்டு நிகழ்வில், இந்த வரம்பு ஏற்றுக்கொள்ளத்தக்கதாக இருந்தது, ஏனெனில் நாங்கள் பொதுவான உள்ளீட்டு பரிமாணங்களைச் சுற்றி முடிவு செயல்முறையைத் தரப்படுத்த முடிந்தது.
எங்கள் கியூப் 3D மாடலுக்காக CUDA கிராஃப்களைச் செயல்படுத்த, நாங்கள் எங்கள் அணுகுமுறையை மாற்றியமைக்க வேண்டியிருந்தது. பாரம்பரிய LLM-களில், அட்டென்ஷன் செயல்பாடுகள் எப்போதும் ஒரே வரிசை நீளத்துடன் செய்யப்படுகின்றன, இது வேலை செய்வதற்கு ஒரு நிலையான வடிவத்தை வழங்குகிறது. இருப்பினும், எங்கள் தனிப்பயன் இரட்டை-ஓட்ட கட்டமைப்பில், சில அட்டென்ஷன் அடுக்குகள் வரிசை நீளத்தை மட்டும் அடிப்படையாகக் கொண்டு செயல்படுகின்றன, மற்றவை வரிசை மற்றும் நிலை நீளத்தின் கலவையை அடிப்படையாகக் கொண்டு செயல்படுகின்றன.
இந்த சவால்கள் இருந்தபோதிலும், CUDA கிராஃப்களைச் செயல்படுத்திய பிறகு குறிப்பிடத்தக்க முடிவுகளைக் கண்டோம். மதிப்பீட்டின் போது ஒவ்வொரு டோக்கனின் உருவாக்கும் நேரத்தை அளவிட, ஒரு வெளியீட்டு டோக்கனுக்கான நேரம் (TPOT) என்பதைப் பயன்படுத்துகிறோம். CUDA கிராஃப்களைச் செயல்படுத்திய பிறகு, எங்கள் TPOT 60.5 மில்லிவினாடிகளிலிருந்து 20.5 மில்லிவினாடிகள் என 2.9 மடங்கு மேம்பட்டது. ஒட்டுமொத்த உருவாக்கும் நேரம் 66% குறைந்து, 31 வினாடிகளிலிருந்து 10.5 வினாடிகள் ஆனது.
KV கேச்சிங்: எங்கள் வெற்றியின் அடிப்படையில்
தாமதத்தை மேலும் மேம்படுத்த, நாங்கள் KV கேச்சிங்கைச் செயல்படுத்தினோம், இது LLM இன்ஃபர்ன்ஸில் ஒரு நிலையான நடைமுறையாகும், இது தொழில் முழுவதும் மிகவும் பயனுள்ளதாக நிரூபிக்கப்பட்டுள்ளது.
கியூப் 3D போன்ற டிரான்ஸ்ஃபார்மர் அடிப்படையிலான மாதிரிகளில், ஒவ்வொரு டோக்கன் உருவாக்கத்திற்கும், முன்பு உருவாக்கப்பட்ட அனைத்து டோக்கன்களின் அடிப்படையிலும் கீ (K) மற்றும் வேல்யூ (V) மேட்ரிக்ஸ்களைக் கணக்கிட வேண்டும். வரிசை நீளமாக வளரும்போது, ஒவ்வொரு டோக்கனுக்கும் இந்த மேட்ரிக்ஸ்களை மீண்டும் கணக்கிடுவது மிகவும் செயல்திறன் குறைந்ததாகிறது.
KV கேச்சிங் இதை பின்வருமாறு தீர்க்கிறது:
- முன்பு உருவாக்கப்பட்ட அனைத்து டோக்கன்களுக்கான K மற்றும் V மேட்ரிக்ஸ்களைச் சேமித்தல்
- புதிய டோக்கன்களுக்கு மட்டுமே K மற்றும் V மேட்ரிக்ஸ்களைக் கணக்கிடுதல்
- இந்த புதிய மேட்ரிக்ஸ்களை கேச் செய்யப்பட்ட மதிப்புகளுடன் இணைத்தல்
இந்த அணுகுமுறை தேவையற்ற கணக்கீடுகளை நீக்கி, ஒவ்வொரு புதிய டோக்கனுக்கும் தேவைப்படும் வேலையைக் குறைக்கிறது. உருவாக்கப்பட்ட வரிசை நீளமாக வளரும்போது இது குறிப்பாகத் தாக்கத்தை ஏற்படுத்துகிறது.
CUDA கிராஃப் செயலாக்கத்துடன் KV கேச்சிங்கை ஒருங்கிணைப்பதற்கான எங்கள் அணுகுமுறை பாரம்பரிய LLM உள்வாங்கலைப் போன்றே இருந்தது. KV கேச்சிங்கைச் சேர்த்தது எங்கள் TPOT-ஐ வெறும் 7.8 மில்லிவினாடிகளில் குறைத்தது. ஒட்டுமொத்த உருவாக்கும் நேரம் 87% குறைந்து, அசல் 31 வினாடிகளிலிருந்து வெறும் 4 வினாடிகளானது. இந்த குறிப்பிடத்தக்க நேரக் குறைப்பு, இந்தக் கருவியைப் பயன்படுத்தும் படைப்பாளர்களுக்கு இதை மிகவும் பயனுள்ளதாக ஆக்குகிறது.


மேம்படுத்துபவர்கள் மற்றும் பயனர்கள் மீதான நிஜ உலகத் தாக்கத்தை மதிப்பிடுதல்

உகந்தமாக்கப்பட்ட கெர்னல்கள், இன்னும் வேகமான முன்கணிப்புக்கான மாதிரி குவாண்டைசேஷன், வன்பொருள்-குறிப்பிட்ட உகந்தமாக்கல்கள் மற்றும் இணை வரிசை டோக்கன் உருவாக்கம் உள்ளிட்ட தாமதத்தை மேலும் குறைத்து பயனர் அனுபவத்தை மேம்படுத்தும் நுட்பங்களை நாங்கள் ஆராய்ந்து வருகிறோம்.
நாம் முழு காட்சி உருவாக்கம் மற்றும் புரிதலுக்கு விரிவாக்கும்போது இந்தப் பணி மேலும் சிக்கலானதாகிறது, ஏனெனில் பல 3D கூறுகள் ஒரு தளவமைப்பிற்குள் ஒன்றுக்கொன்று சூழலுடன் இணைந்து செயல்பட வேண்டும். நாங்கள் உருவாக்கும் 3D பொருட்கள் மற்றும் உலகங்கள் முழுமையாகச் செயல்பட வேண்டும் என்றும் நாங்கள் விரும்புகிறோம், அதாவது கதவுகள் திறந்து மூடப்பட வேண்டும், சக்கரங்கள் சுழல வேண்டும், ইত্যাদি. அதை அடைய, முழு காட்சிகள், முழுமையாகச் செயல்படும் பொருட்கள் மற்றும் அவதாரங்களுக்கு விரிவாக்க, எங்களுக்கு விரைவான உருவாக்கம் மற்றும் திருத்தங்கள் தேவை. எங்கள் கியூப் 3D அடித்தள மாதிரியை நாங்கள் விரிவுபடுத்தும்போது, மேலும் மேம்பாடுகள் மற்றும் புதிய செயல்பாடுகளைப் பகிர்ந்துகொள்ளவும், எங்கள் படைப்பாளர் சமூகம் அவற்றைக் கொண்டு உருவாக்கும் ஆழ்ந்த ஈர்க்கக்கூடிய உலகங்களைக் காணவும் நாங்கள் ஆவலாக உள்ளோம்.


