NVIDIA H100 सह Llama 2 70B सुपरचार्ज करणे

त्वरित LLM इन्फरन्सचा प्रवास

The journey of accelerated LLM inference

Perplexity च्या आन्सर इंजिनमध्ये परफॉर्मन्सचा पाठपुरावा आम्हाला NVIDIA आणि AWS द्वारे ऑफर केलेले नवीनतम तंत्रज्ञान स्वीकारण्यास प्रवृत्त करतो. या ब्लॉगमधून, आम्ही आमच्या नवीनतम प्रयोगांचे परिणाम सामायिक करण्यास उत्सुक आहोत: विविध हार्डवेअर आणि सॉफ्टवेअर सेटिंग्जमधील Llama 2 70B इन्फरन्सची तुलना.

आमचे LLM इन्फरन्स प्लॅटफॉर्म, pplx-api, ओपन-सोर्स लायब्ररीद्वारे समर्थित अत्याधुनिक स्टॅकवर तयार केले आहे. ऑक्टोबरमध्ये pplx-api चा सार्वजनिक बीटा सुरू झाल्यापासून, आम्ही स्केलिंग आव्हानांचे निराकरण करत आहोत आणि मोठ्या प्रमाणावर यश मिळवण्यासाठी आमच्या कॉन्फिगरेशनला सर्वोत्तम कसे ट्यून करावे हे शिकत आहोत. यामुळे आम्हाला खालील मार्गदर्शक प्रश्नांसह प्रयोग चालवण्यास प्रवृत्त केले:

इतर सर्व सेटिंग्ज समान असताना, आमचे GPU NVIDIA A100 वरून NVIDIA H100 वर बदलण्यापासून मिळणारा प्रत्यक्ष परफॉर्मन्स फायदा काय आहे?

8-बिट फ्लोटिंग पॉइंट (fp8) क्वाँझायझेशनचा कार्यक्षमतेचा फायदा काय आहे, ज्यासाठी H100 मध्ये मूळ समर्थन जोडले गेले आहे? या क्वाँझायझेशनची अचूकता किंमत काय आहे?

टेंसर पॅरॅलिझम आणि बॅच आकार लेटन्सी आणि टोकन थ्रूपुटवर कसा प्रभाव टाकतात?

वरील गोष्टी लक्षात घेता, कोणते कॉन्फिगरेशन परफॉर्मन्स आणि खर्च-कार्यक्षमतेचा सर्वात स्केलेबल समतोल साधते?

प्रयोगात्मक सेटअप

नेटवर्क लेटन्सी टाळण्यासाठी आम्ही खालील प्रयोग स्थानिक बेंचमार्कची मालिका म्हणून चालवला.

महत्त्वाचे मेट्रिक्स:

लेटन्सी: इन्फरन्स सर्व्हरला त्याचा संपूर्ण प्रतिसाद तयार करण्यासाठी लागणारा एकूण वेळ.

थ्रूपुट: इन्फरन्स सर्व्हर सर्व वापरकर्ते आणि विनंत्यांमध्ये प्रति सेकंद, प्रति GPU तयार करू शकेल अशा आउटपुट टोकन्सची संख्या.

स्थिरांक:

खालील घटक मुख्य मेट्रिक्सवर प्रभाव टाकतील, म्हणून आम्ही प्रयोगाच्या विविध चाचण्यांमध्ये ते सुसंगत ठेवले.

AI मॉडेल

LLM च्या आकारासह परफॉर्मन्स स्केल होतो. अधिक पॅरामीटर्सना अधिक गणना आवश्यक असते ज्यामुळे इन्फरन्स मंद होते. उदाहरणार्थ, इतर सेटिंग्ज समान असताना Llama 2 13B हा Llama 2 70B पेक्षा जलद आहे. आम्ही या प्रयोगात Llama 2 70B वर कायम राहतो कारण आम्हाला सर्वात सक्षम ओपन सोर्स मॉडेल्स सर्व्ह करण्यासाठी ऑप्टिमाइझ करायचे आहे.

इनपुट/आउटपुट टोकन डेटासेट

प्रत्येक नमुना विनंती/प्रतिसाद जोडीमधील इनपुट आणि आउटपुट टोकन्सची मात्रा परफॉर्मन्स मोजमापांवर प्रभाव टाकू शकते. सामान्यतः, आउटपुट टोकन जनरेशन एकूण प्रतिसाद वेळेवर वर्चस्व गाजवते. जेव्हा सॅम्पलिंग डेटा LLM कडून फक्त "होय/नाही" प्रतिसाद प्रवृत्त करतो, तेव्हा LLM ला निबंध लिहिण्यास सांगणाऱ्या नमुन्यांच्या तुलनेत प्रतिसाद जलद असतो. आमचा डेटासेट 512 आउटपुट टोकन्स प्रवृत्त करणाऱ्या 1024 इनपुट टोकन्ससह कृत्रिम विनंत्यांनी बनलेला आहे. Llama2 70B च्या आमच्या सार्वजनिक तैनातीवरील रहदारीचे निरीक्षण केलेले वितरण जुळवण्यासाठी हे वितरण निवडले गेले.

सॉफ्टवेअर आवृत्ती

NVIDIA TensorRT-LLM (रिलीज v0.5.0) हे LLM इन्फरन्स ऑप्टिमाइझ करण्यासाठी एक ओपन-सोर्स लायब्ररी आहे. 2023 च्या उत्तरार्धात रिलीज झालेले, हे NVIDIA चे अनेक इन्फरन्स ऑप्टिमायझेशन्स एकत्रित करते आणि या प्रयोगाच्या मुख्य पॅरामीटर्ससाठी कस्टमायझेशनचा लवचिक थर प्रदान करते: बॅच आकार, क्वाँझायझेशन आणि टेंसर पॅरॅलिझम.

चलन

आम्ही कॉन्फिगरेशनच्या 4 अक्षांवर प्रयोग केले: टेंसर पॅरॅलिझम, GPU आर्किटेक्चर, क्वाँझायझेशन आणि कमाल बॅच आकार. हे अक्ष एकमेकांशी जोडलेले आहेत कारण त्या प्रत्येकाD GPU मेमरीच्या गंभीर बॉटलनेक संसाधनाच्या संदर्भात तडजोड दर्शवतात.

GPU आर्किटेक्चर

नववी पिढी Hopper (H100-HBM3-80GB / p5.48xlarge) GPU आर्किटेक्चर त्याच्या आधीच्या Ampere (A100-SXM4-80GB / p4de.24xlarge) पेक्षा वैशिष्ट्यांची प्रचंड यादी पॅक करते, ज्यामध्ये 2x-6x गणना दर आणि जवळपास 2x GPU मेमरी बँडविड्थ समाविष्ट आहे. GPU मेमरी बँडविड्थ इन्फरन्ससाठी एक महत्त्वपूर्ण मेट्रिक आहे कारण इन्फरन्सच्या मॅट्रिक्स गुणाकाराचा प्राथमिक लेटन्सी बॉटलनेक GPU मेमरीवरून संगणकीय रजिस्टर्समध्ये मॉडेल डेटाचे गीगाबाइट्स लोड करण्यापासून येतो. या आकडेवारीच्या आधारावर, आम्ही गृहीत धरले की NVIDIA H100 आणि A100 ची ऍपल-टू-ऍपल तुलना लेटन्सी आणि थ्रूपुट दोन्हीमध्ये 2x सुधारणा प्रदर्शित करेल.

NVIDIA H100 आणि A100 मधील आणखी एक मुख्य फरक म्हणजे H100 टेंसर कोर मूळपणे 8-बिट फ्लोटिंग पॉइंट (fp8) सूचनांसाठी समर्थन जोडतो, जे खाली तपशीलवार वर्णनानुसार पुढील ऑप्टिमायझेशनचे दरवाजे उघडते. म्हणूनच आम्ही विशेषतः H100 साठी fp8 आणि fp16 वापरतो.

या प्रयोगात प्रति-GPU मेमरी सुसंगत ठेवण्यासाठी, आम्ही आमच्या NVIDIA A100 आणि H100 दोन्हीसाठी 8x80GB GPU मेमरी असलेले नोड्स वापरले. उच्च बॅच आकार सक्षम करण्याव्यतिरिक्त, GPU मेमरी महत्त्वाची आहे कारण द्रुत प्रवेशासाठी सर्व्हर सुरू करताना मॉडेलचे पॅरामीटर्स GPU मेमरीमध्ये लोड केले जातात. उदाहरणार्थ, जर आपल्या मॉडेलमधील प्रत्येक 70 अब्ज पॅरामीटर्स 16-बिट फ्लोटिंग पॉइंट नंबर असेल, तर मॉडेल सुमारे 140GB आकाराचे आहे, जे एकाच GPU वर बसत नाही. त्यामुळे टेंसर पॅरॅलिझमची गरज भासते, ज्याचे आपण खाली स्पष्टीकरण देतो.

टेंसर पॅरॅलिझम

टेंसर पॅरॅलिझम म्हणजे इन्फरन्स सर्व्हर चालवण्यासाठी वापरल्या जाणाऱ्या GPU उपकरणांची संख्या. जेव्हा आपण अनेक GPU वाटप करतो, तेव्हा Llama2 70B चालवण्यासाठी किमान आवश्यक मेमरी बजेटपर्यंत पोहोचण्यात आम्हाला मदत करण्यासाठी TensorRT-LLM त्यांची संसाधने एकत्र करते. आमचे गृहीतक आहे की उच्च टेंसर पॅरॅलिझमच्या तुलनेत कमी टेंसर पॅरॅलिझममुळे उच्च लेटन्सी (प्रत्येक बॅच पूर्ण करण्यासाठी कमी संसाधने वापरल्यामुळे) परंतु प्रति GPU उच्च थ्रूपुट (उत्तम वापरामुळे) मिळेल.

क्वाँझायझेशन

क्वाँझायझेशन म्हणजे न्यूरल नेटवर्क्सद्वारे वापरल्या जाणाऱ्या वजनांमधील आणि सक्रियकरणामधील अचूकता कमी करणे. जेव्हा आपण fp16 वरून fp8 वर स्विच करतो तेव्हा GPU मेमरीचा वापर अर्धा करण्यासाठी आपण हे तंत्र वापरतो. यामुळे कमी एकूण GPU मेमरी वापरासह समान मॉडेल चालवणे शक्य होते, ज्यामुळे कमी टेंसर पॅरॅलिझम सक्षम होतो, ज्यामुळे थ्रूपुट वाढतो.

क्वाँझायझेशनच्या अंमलबजावणीमध्ये अचूकता कमी करण्याची क्षमता असते. अशा प्रकारे, आम्ही WikiText कॉर्पसवर वाक्यातील प्रत्येक पुढील टोकन LLM किती चांगले अंदाज वर्तवते याचे माप असलेल्या त्यांच्या पप्लेक्सिटी स्टॅटिस्टिकची तुलना करून विविध अचूकतेसाठी अचूकतेचे मूल्यांकन केले. 8-बिट फ्लोटिंग पॉईंट आणि 8-बिट वेट विथ 8-बिट ऍक्टिव्हेशन आणि स्मूथक्वान्ट (w8a8 SQ) साठी, WikiText वर fp16 च्या तुलनेने पप्लेक्सिटीमध्ये कोणताच महत्त्वपूर्ण बदल (< 1%) झाला नाही, त्यामुळे आम्हाला पुढे जाण्याचा आत्मविश्वास वाटला. तथापि, w4a16 ने पप्लेक्सिटीमध्ये महत्त्वपूर्ण 7% बदल दर्शविला, जो संभाव्यतः आणखी कमी अचूकता आणि int4 आणि fp16 मधील आवश्यक गतिमान रूपांतरणांमुळे असू शकतो.

बॅच आकार

संसाधन मर्यादित सिस्टममधून परफॉर्मन्स बाहेर काढण्यासाठी बॅचिंगद्वारे पॅरॅलिझम ही एक उत्कृष्ट धोरण आहे. न्यूरल नेटवर्कमधून प्रत्येक फॉरवर्ड पासमध्ये एकाधिक विनंत्यांवर प्रक्रिया करून, बॅचिंग काही लेटन्सीच्या किंमतीवर थ्रूपुट वाढवते असे ओळखले जाते. बॅचिंगमुळे उच्च GPU मेमरी वापर देखील होतो कारण KV कॅशेचा आकार जो लक्ष केंद्रित करण्याच्या यंत्रणेचे व्यवस्थापन करतो तो बॅच आकारासह रेषीयपणे वाढतो.

Llama 2 70B च्या बाबतीत (ज्यामध्ये 80 लेअर्स आहेत), 4096 संदर्भाच्या आकारासाठी बॅच आकार 32 सह fp16, KV कॅशेचा आकार तब्बल 40 GB बाहेर येतो. यामुळे Llama 2 70B fp16, ज्याचे वजन एकटेच 140GB घेते, ते टेंसर पॅरॅलिझम 2 (TP-2) वर उपलब्ध 160GB GPU मेमरीमध्ये आरामात बसण्यापासून प्रतिबंधित होते.

परिणाम

आम्ही प्रयोगाच्या 4 चल सुसंगत संयोजनांमधून गेलो आणि खाली सर्वात अंतर्ज्ञानी ट्रेंड सादर केले.

आकृती 1 - पाच वेगवेगळ्या कॉन्फिगरेशनमधील बदलत्या बॅच आकारासह विनंत्यांची लेटन्सी, सर्व टेंसर पॅरॅलिझम 8 सह, जे उपलब्ध 8 GPU सह सर्वोत्तम लेटन्सी देते. प्रत्येक कॉन्फिगरेशनमध्ये, बॅच आकार 1 वरून 32 पर्यंत वाढवताना लेटन्सी सामान्यतः दुप्पट होते आणि 32 वरून 128 पर्यंत पुन्हा दुप्पट होते. पुरेशा मोठ्या बॅच आकारावर, H100 A100 च्या तुलनेत लेटन्सी अंदाजे अर्धी करते. A100 मिश्र अचूकता वापरते कारण आर्किटेक्चरमध्ये fp8 साठी मूळ समर्थनाचा अभाव आहे. स्मूथक्वान्ट (SQ) सह w8a8 हे fp8 सारखे असण्याचा हेतू आहे.

H100 fp16 → fp8 आणि A100 fp16 → SmoothQuant सह w8a8 यांची तुलना करताना क्वाँझायझेशनची लेटन्सी सुधारणा 10% च्या आसपास आहे. तथापि, मिश्र अचूकता w4a16 प्रत्यक्षरीत्या कमी बॅच आकारांवर चांगली कामगिरी करते आणि fp16 च्या तुलनेत उच्च बॅच आकारांवर वाईट कामगिरी करते. हे कमी ऑप्टिमाइझ केलेले कॉम्प्युट कर्नल, int4 आणि fp16 मधील कास्टिंग वेळ आणि w4a16 अजूनही ऍक्टिव्हेशनसाठी 16-बिट फ्लोटिंग पॉईंट्स वापरते, परिणामी KV कॅशेच्या परिमाणांमध्ये कोणतीही बचत होत नाही यासह अनेक घटकांमुळे असू शकते. w4a16 ने कमी अचूकता देखील दर्शवल्यामुळे, आम्ही असा निष्कर्ष काढतो की आपण A100s साठी w8a8 SQ आणि H100s साठी fp8 वर टिकून राहिले पाहिजे.

आकृती 2 - विविध आर्किटेक्चर, क्वाँझायझेशन आणि बॅच आकारासह TP-8 कॉन्फिगरेशनमधील थ्रूपुट. प्रत्येक आर्किटेक्चर आणि क्वाँझायझेशनसाठी, बॅच आकार हा सर्वात मोठा म्हणून निवडला गेला ज्याने 25600ms (512 टोकन्ससाठी प्रति सेकंद 20 टोकन्स) च्या लेटन्सी आवश्यकता पाळली, जेणेकरून आम्ही समान लेटन्सी असलेल्या कॉन्फिगरेशनची तुलना करू शकू. या आवश्यकतानुसार, BS-128 सह H100 समान क्वाँझायझेशन (fp16) वापरणाऱ्या A100 BS-64 च्या तुलनेत 228% थ्रूपुटपर्यंत पोहोचतो आणि दुप्पट बॅच आकार असूनही कमी प्रतिसाद लेटन्सी देखील आहे. fp8 सह क्वाँझायझेशन हा घटक 251% पर्यंत सुधारतो.

आमच्या पहिल्या दोन आकृत्यांमध्ये, आम्ही केवळ TP-8 चे कॉन्फिगरेशन सादर करतो. जेव्हा दोन्ही fp16 / BS-128 / TP-8 वापरतात तेव्हा H100 A100 च्या तुलनेत 54% लेटन्सी आणि 184% थ्रूपुट साध्य करतो, जे H100 वर fp8 वापरताना 49% लेटन्सी आणि 202% थ्रूपुट पर्यंत सुधारते. परफॉर्मन्स मधील या सुधारणेचे श्रेय H100 आणि A100 मधील गणना शक्ती आणि मेमरी बँडविड्थ मधील वाढीस दिले जाऊ शकते. विशेष म्हणजे, कमी बॅच आकारांच्या अंतर्गत हा फरक कमी स्पष्ट होतो जिथे वापर कमी असू शकतो.

जसजसे आम्ही आमचे प्लॅटफॉर्म तयार करतो, तसतसे थ्रूपुट जास्तीत जास्त वाढवताना आम्हाला आमच्या वापरकर्त्यांसाठी काही लेटन्सी आवश्यकतांचा आदर करायचा आहे. अशा प्रकारे, समान बॅच आकारावर A100 विरुद्ध H100 ची तुलना करण्याऐवजी, केवळ अशा कॉन्फिगरेशन अंतर्गत त्यांच्या थ्रूपुटची तुलना करणे आमच्यासाठी अधिक अर्थपूर्ण ठरते जिथे ते लेटन्सी आवश्यकता पूर्ण करतात. आम्ही 512 आउटपुट टोकन्स पूर्ण करण्यासाठी 25600ms लेटन्सीवर एक कटऑफ सेट केला आणि आम्हाला आढळले की H100 / TP-8 / fp8 / BS-128 हे A100 / TP-8 / fp16 / BS-64 च्या तुलनेत 251% थ्रूपुट देते, कारण ते कमी लेटन्सीवर दुप्पट बॅच आकारावर प्रक्रिया करण्यास सक्षम आहे. क्वाँझायझेशनमुळे GPU मेमरी बचत होते हे लक्षात घेता, आता टेंसर पॅरॅलिझम ऑप्टिमायझेशनचा पुढील स्तर कसा वाढवू शकतो याचे मूल्यांकन करण्याची आम्हाला गरज आहे.

आकृती 3 - H100 fp8 साठी बदलणारे बॅच आकार आणि टेंसर पॅरॅलिझम मधील लेटन्सी. बॅच आकार 1 वरून 32 पर्यंत वाढवताना लेटन्सी सामान्यतः दुप्पट होते आणि 32 वरून 128 पर्यंत पुन्हा दुप्पट होते. बॅच आकार समान असताना TP-2 सातत्याने TP-8 पेक्षा अंदाजे दुप्पट मंद असते. बॅच आकार दुप्पट करताना टेंसर पॅरॅलिझम दुप्पट केल्याने लेटन्सी तुलनेने स्थिर राहते कारण प्रति GPU प्रक्रिया केलेल्या बॅचची संख्या समान राहते.

क्वाँझायझेशन आणि आर्किटेक्चरचा विचार केला तर, स्पष्ट विजेते आहेत: H100 A100 वर डोमिनेट करतो आणि कमी-अचूक क्वाँझायझेशन मेमरी वापर, लेटन्सी आणि थ्रूपुट सुधारते. तथापि, बॅच आकार आणि टेंसर पॅरॅलिझम आमच्या मुख्य मेट्रिक्समध्ये तडजोड दर्शवतात. मोठा बॅच आकार वाढलेल्या लेटन्सी आणि मेमरी वापराच्या किंमतीवर थ्रूपुटसाठी ऑप्टिमाइझ करतो. दुसरीकडे, उच्च टेंसर पॅरॅलिझम उपलब्ध मेमरीचा एकूण पूल वाढवतो आणि लेटन्सीसाठी ऑप्टिमाइझ करतो, परंतु वितरित मॅट्रिक्स गुणाकाराच्या सिंक्रोनायझेशन खर्चामुळे आणि अधिक GPU संसाधने लॉक केल्यामुळे थ्रूपुटशी तडजोड करतो.

आकृती 4 - H100 fp8 साठी बदलणारे बॅच आकार आणि टेंसर पॅरॅलिझम मधील थ्रूपुट. सर्वोच्च थ्रूपुट TP-2 BS-128 मधून येतो, A100/TP-8/fp16/BS-64 च्या बेसमार्गाच्या तुलनेत 460%. तथापि, TP-2 BS-128 हा आकृती 3 मधील सर्वात मंद निकाल देखील आहे.

आमच्या प्रयोगाचे थ्रूपुट-मॅक्सिमाइझिंग कॉन्फिगरेशन H100 / fp8 / TP-2 / BS-128 आहे, प्रति GPU प्रति सेकंद 767 आउटपुट टोकन्सवर. A100 / fp16 / TP-8 / BS-64 पेक्षा ही 460% सुधारणा आहे. तथापि, हे दुप्पट लेटन्सीच्या किंमतीवर येते - 512 आउटपुट टोकन्ससाठी 42000ms जवळ - त्यामुळे ते उत्पादन कॉन्फिगरेशन म्हणून अनुपयुक्त असू शकते. TP-4 BS-128 (26188ms प्रतिसाद वेळेवर 626 tok/sec/gpu) आणि TP-2 BS-32 (18821ms प्रतिसाद वेळेवर 435 tok/sec/gpu) चे परिणाम आमच्या मुख्य मेट्रिक्सवर चांगल्या तडजोडी दर्शवू शकतात.

निष्कर्ष

आमचे परिणाम हे प्रदर्शित करतात की:

समान कॉन्फिगरेशन दिले तर A100 च्या तुलनेत H100 वापरून आपण 54% लेटन्सी आणि 184% थ्रूपुट गाठतो, जे H100 जेव्हा fp8 साठी त्याच्या मूळ समर्थनाचा फायदा घेते तेव्हा अनुक्रमे 49% आणि 202% पर्यंत सुधारते.

लेटन्सी मर्यादेच्या अधीन असताना थ्रूपुट जास्तीत जास्त वाढवताना, H100 / fp8 / TP-8 / BS-128 हे A100 / TP-8 / fp16 / BS-64 च्या तुलनेत 251% थ्रूपुट देते, कारण ते जलद गतिने दुप्पट बॅचवर प्रक्रिया करू शकते.

fp8 सह TP-2 सह H100 चा फायदा घेऊन, आपण लेटन्सीमध्ये 10% पेक्षा कमी वाढीसह, A100 / fp16 / TP-8 / BS-128 च्या 373% थ्रूपुट साध्य करू शकतो.

बॅच आकार आणि टेंसर पॅरॅलिझम LLM इन्फरन्स सिस्टमच्या ऑपरेटरला थ्रूपुट आणि लेटन्सी दरम्यान तडजोड सादर करतात.

या निकालांमुळे आम्हाला आमच्या पूर्वीच्या A100 संचलित हार्डवेअर स्टॅकमध्ये H100 GPU वर संपूर्ण संक्रमणाबद्दल आत्मविश्वास वाटतो. NVIDIA द्वारे विज्ञापित परफॉर्मन्स लाभांची पुष्टी करण्यास सक्षम झाल्याबद्दल आम्हाला आनंद होत आहे आणि त्वरित हार्डवेअरमधील त्यांच्यापुढील यशस्वी कामगिरीची आम्ही वाट पाहत आहोत.

पुढे काय आहे

ऑप्टिमायझेशनसाठी आमचीपुढील सीमा स्ट्रक्चर्ड स्पार्सिटी आणि int4 अचूकतेची अचूकता आणि परफॉर्मन्स प्रभावाची तपासणी करणे आहे, ज्यामुळे Llama 2 70B ची GPU मेमरी फूटप्रिंट लक्षणीयरीत्या कमी होऊ शकते आणि लेटन्सीमध्ये 2x पर्यंत सुधारणा मिळू शकतात. अत्यंत जलद इन्फरन्सचा प्रवास सुरू ठेवण्यास आम्ही उत्सुक आहोत आणि आमच्या वापरकर्त्यांना आमच्या प्लॅटफॉर्मच्या शीर्षस्थानी शक्तिशाली अनुप्रयोग तयार करण्यास सक्षम करण्याची आशा बाळगतो.

नजीकच्या काळात, pplx-api दर मर्यादा हटवेल आणि तथ्यांसाठी ग्राउंडिंगसह इंटरनेट-संचालित LLM सह अधिक सानुकूल Perplexity LLM ऑफर करेल.

perplexity.ai/pro वर Perplexity Pro साठी साइन अप करा. आमच्या अत्याधुनिक pplx-api मध्ये प्रवेश मिळवा आणि तुमच्या प्रकल्पांमध्ये या प्रगत क्षमतांचा लाभ घ्या. आमच्या ब्लॉगवर pplx-api बद्दल अधिक शोधा.

AI चे भविष्य घडवण्याबद्दल उत्सुक आहात? आम्ही हायरिंग करत आहोत! मोठ्या प्रमाणावरील, जनरेटिव्ह LLM इन्फरन्सस्ट्रक्चर चालवणाऱ्या टीमचा भाग व्हा. Perplexity Careers वर संधी शोधा.

लेखक:

आरश हेदरीत, ग्रिगोरी अलेक्सेयेव्ह, केविन हू, डेनिस यारॅट्स