AI үдеткіштерін зерттеу және олардың ауқымды үлкен тілдік үлгілерді (LLM) қолдануына әсері.
Осы сериядағы хабарламалар :
Үлкен тілдік үлгідегі (LLM) қорытындыны оңтайландырудағы праймер: 1. Фондық және мәселені тұжырымдау
Үлкен тілдік үлгідегі (LLM) қорытындыларды оңтайландырудағы праймер: 2. Жасанды интеллект (AI) үдеткіштеріне кіріспе (осы пост)
Алдыңғы мақалада біз үлкен кідіріс, ресурстарды қарқынды тұтыну және масштабтау мәселелері сияқты үлкен тіл үлгісін (LLM) шығарудың қиындықтарын талқыладық. Бұл мәселелерді тиімді шешу көбінесе дұрыс аппараттық қолдауды қажет етеді. Бұл мақала AI үдеткіштерін зерттейді - AI жұмыс жүктемелерінің өнімділігін арттыруға арналған мамандандырылған аппараттық құрал, соның ішінде LLM қорытындысы - олардың архитектурасын, негізгі түрлерін және LLM-ді масштабта орналастыруға әсерін көрсетеді.
Егер сіз OpenAI және Google сияқты компаниялар миллиондаған пайдаланушыларға бір уақытта қызмет көрсететін осы ауқымды тіл үлгілерін қалай басқаратынын ойласаңыз, оның құпиясы AI үдеткіштері деп аталатын арнайы жабдықта жатыр. Дәстүрлі процессорлар жалпы мақсаттағы тапсырмаларды жақсы орындағанымен, олар AI жұмыс жүктемелерінің талаптарына оңтайландырылмаған. AI үдеткіштері, керісінше, AI тапсырмалары үшін арнайы жасалған, деректерге жоғары жылдамдықты қол жеткізуді, параллель өңдеу мүмкіндіктерін және дәлдігі төмен арифметиканы қолдауды ұсынады. Есептеулерді AI үдеткіштеріне ауыстыру арқылы ұйымдар, әсіресе LLM сияқты күрделі үлгілерді іске қосқанда айтарлықтай өнімділікке қол жеткізе алады және шығындарды азайтады. AI үдеткіштерінің кейбір жалпы түрлерін және олардың осы жұмыс жүктемелері үшін бірегей артықшылықтарын қарастырайық.
AI үдеткіштері әрқайсысы нақты AI тапсырмалары мен орталарына бейімделген бірнеше пішінде келеді. Үш негізгі түрі GPU, TPU және FPGA/ASIC болып табылады, олардың әрқайсысының бірегей мүмкіндіктері мен артықшылықтары бар:
Бастапқыда графиканы көрсету үшін әзірленген GPU параллельді өңдеу мүмкіндіктерінің арқасында терең оқыту тапсырмаларының қуатты құралына айналды. Олардың архитектурасы LLM тұжырымы сияқты тапсырмалар үшін маңызды болып табылатын жоғары өнімділік матрицалық есептеулер үшін өте қолайлы. GPU әсіресе масштабта оқыту және қорытынды жасау үшін деректер орталықтарында танымал. NVIDIA Tesla, AMD Radeon және Intel Xe сияқты графикалық процессорлар бұлттық ортада да, жергілікті ортада да кеңінен қолданылады.
Google TensorFlow негізіндегі жаттығулар мен қорытындылар үшін оңтайландырулары бар терең оқу жүктемесі үшін арнайы TPU әзірледі. TPU үлкен ауқымды AI тапсырмаларын тиімді жылдамдатуға арналған, Google қолданбаларының көпшілігін, соның ішінде іздеу мен аударманы қуаттайды. Google Cloud арқылы қол жетімді, TPUs жаттығулар мен қорытындылар үшін жоғары өнімділікті ұсынады, бұл оларды TensorFlow пайдаланушылары үшін таңдаулы таңдау жасайды.
FPGA және ASIC – нақты AI тапсырмаларын қолдайтын теңшелетін үдеткіштердің екі түрлі түрі. FPGA қайта бағдарламалануы мүмкін, бұл оларға әртүрлі AI үлгілері мен қолданбаларына бейімделуге мүмкіндік береді, ал ASIC арнайы тапсырмалар үшін арнайы жасалған, бұл жұмыс жүктемелері үшін максималды тиімділікті ұсынады. Екі түрі де деректер орталықтарында және шеттерде пайдаланылады, мұнда төмен кідіріс пен жоғары өткізу қабілеті маңызды. Мысалдарға Intel Arria және Xilinx Alveo (FPGAs) және Google Edge TPU (ASIC) жатады.
Орталық процессорлар мен AI үдеткіштерінің ерекше архитектурасы оларды әртүрлі жұмыс жүктемелеріне қолайлы етеді. Міне, ең маңызды функциялардың кейбірін салыстыру:
Анықтама: Дэвид Б. Кирк пен Вэн-мей В. Хву [1] жаппай параллельді процессорларды бағдарламалау
CPU-да ядролардың (4-8) аз екенін және дизайн төмен кідіріс пен жоғары бір ағынды өнімділікке оңтайландырылғанын ескеріңіз. Керісінше, графикалық процессорлардың мыңдаған ядролары бар және олар жоғары өткізу қабілеті мен параллельді өңдеу үшін оңтайландырылған. Бұл параллельді өңдеу мүмкіндігі графикалық процессорларға ауқымды AI жұмыс жүктемелерін тиімді өңдеуге мүмкіндік береді.
AI үдеткіштері LLM тұжырымы сияқты ауқымды AI жұмыс жүктемелерін өңдеуге өте ыңғайлы ететін бірнеше мүмкіндіктермен жасалған. Негізгі мүмкіндіктер мыналарды қамтиды:
AI үдеткіштері мыңдаған ядролары бар архитектурасының арқасында кең ауқымды параллельді өңдеуге арналған. Бұл параллелизм оларға LLM қорытындысында қажетті қарқынды матрицалық есептеулерді тиімді өңдеуге мүмкіндік береді. Көптеген үдеткіштер сонымен қатар матрицаны көбейту сияқты тензорлық операциялар үшін оңтайландырылған мамандандырылған тензорлық ядроларды қамтиды. Бұл мүмкіндіктер LLM тапсырмаларын масштабта өңдеу кезінде AI үдеткіштерін процессорларға қарағанда айтарлықтай жылдамырақ етеді.
Анықтама: Youngsuk Park және т.б. AI үдеткіштеріндегі негіз үлгілерін қорытындылауды оңтайландыру.
Үдеткіштер жоғары өткізу қабілеттілігін қамтамасыз ететін арнайы жадпен бірге келеді, бұл оларға үлкен деректер жиынына және модельдік параметрлерге минималды кідіріспен қол жеткізуге мүмкіндік береді. Бұл мүмкіндік кіріс мәтінін және үлгі параметрлерін жүктеу үшін деректерге жиі қатынасу қажет болатын LLM тұжырымы үшін өте маңызды. Өткізу қабілеті жоғары жад деректерді іздеудегі кедергілерді азайтады, нәтижесінде кідіріс азаяды және өнімділік жақсарады.
AI үдеткіштері көп құрылғыларды орнату кезінде деректерді жылдам тасымалдауды жеңілдету үшін жоғары жылдамдықты интерконнектермен жабдықталған. Бұл әсіресе жылдамдатқыштар деректерді тиімді байланыстыру және ортақ пайдалану қажет болатын бірнеше құрылғыларда LLM қорытындысын масштабтау үшін өте маңызды. Бір-біріне қосылудың жоғары өткізу қабілеттілігі үлкен деректер жиынын құрылғылар арасында бөлуге және кедергілер тудырмай тандемде өңдеуге мүмкіндік береді.
AI үдеткіштерінің тағы бір артықшылығы - олардың 8-биттік бүтін және 16-биттік өзгермелі нүктелік есептеулер сияқты дәлдігі төмен арифметиканы қолдауы. Бұл жадты пайдалануды және қуат тұтынуды азайтып, AI тапсырмаларын тиімдірек етеді. LLM тұжырымы үшін төмен дәлдіктегі есептеулер қосымшалардың көпшілігі үшін жеткілікті дәлдікті сақтай отырып, жылдамырақ өңдеуді қамтамасыз етеді. AI үдеткіштері өте бай деректер түрін таңдауға ие.
Анықтама: Youngsuk Park және т.б. AI үдеткіштеріндегі негіз үлгілерін қорытындылауды оңтайландыру.
Көптеген AI үдеткіштері NVIDIA GPU үшін cuDNN және Google TPU үшін XLA сияқты танымал AI құрылымдары үшін оңтайландырылған кітапханалармен бірге келеді. Бұл кітапханалар жалпы AI операцияларын орындау үшін жоғары деңгейлі API интерфейстерін қамтамасыз етеді және арнайы LLM үшін оңтайландыруларды қамтиды. Бұл кітапханаларды пайдалану үлгіні жылдам әзірлеуге, орналастыруға және қорытындыны оңтайландыруға мүмкіндік береді.
AI үдеткіштері үлкен жұмыс жүктемелерін тиімді өңдеу үшін кластерлерде немесе деректер орталықтарында орналастыруға мүмкіндік беретін жоғары масштабталады. Олар сондай-ақ салыстырмалы тапсырмалар үшін процессорларға қарағанда аз қуат тұтынатын, энергияны үнемдейтін етіп жасалған, бұл оларды LLM масштабындағы қорытынды сияқты есептеу қарқынды қолданбалары үшін өте қолайлы етеді. Бұл тиімділік үлкен AI үлгілерін іске қосудың операциялық құнын және қоршаған ортаға әсерін азайтуға көмектеседі.
LLM тұжырымы үшін AI үдеткіштерінің тиімділігін арттыру үшін параллелизм әдістерінің әртүрлі түрлері қолданылады:
Деректер параллелділігі кіріс деректерді бірнеше топтамаларға бөлуді және әрбір топтаманы параллельді өңдеуді қамтиды. Бұл терең оқытуды үйрету және қорытынды жасау сияқты үлкен деректер жиынын қамтитын AI жұмыс жүктемелері үшін пайдалы. Деректерді бірнеше құрылғыларға тарату арқылы AI үдеткіштері жұмыс жүктемесін тезірек өңдеп, жалпы өнімділікті жақсарта алады. LLM тұжырымындағы деректер параллелизмінің мысалы ретінде кіріс мәтінін пакеттерге бөлу және әрбір топтаманы бөлек үдеткіште өңдеу болып табылады.
Модельдік параллелизм әртүрлі модель бөліктерін параллель өңдеуге мүмкіндік беретін AI моделінің құрамдастарын бірнеше құрылғыларға бөлуді қамтиды. Бұл тәсіл әсіресе бір құрылғының жады сыйымдылығынан асатын немесе тиімді өңдеу үшін бөлінген есептеуді қажет ететін үлкен AI үлгілері үшін өте маңызды. Модельдік параллелизм үлкен тілдік модельдерде (LLM) және үлгі өлшемі айтарлықтай шектеу болатын басқа терең оқыту архитектураларында кеңінен қолданылады.
Модельдік параллелизм екі негізгі тәсілмен жүзеге асырылуы мүмкін:
Қабат ішілік параллелизм (тензорлық параллелизм) : Жеке қабаттар немесе құрамдас бөліктер құрылғылар арасында бөлінеді, әр құрылғы бір қабат ішінде есептеудің бір бөлігін өңдейді. Мысалы, трансформатор үлгілерінде назар аударатын бастар немесе желілік қабаттар бірнеше құрылғыларға таратылуы мүмкін. Бұл тәсіл байланыс шығындарын азайтады, өйткені құрылғылар тек қабат шекараларында синхрондауды қажет етеді.
Қабатаралық параллелизм (құбыр параллелдігі) : қабаттардың дәйекті топтары құрылғылар арасында таратылып, есептеу құбырын жасайды. Әрбір құрылғы нәтижелерді құбырдағы келесі құрылғыға бермес бұрын тағайындалған қабаттарды өңдейді. Бұл тәсіл әсіресе терең желілер үшін тиімді, бірақ құбырдың кешігуін енгізеді.
Тапсырма параллелизмі AI жұмыс жүктемесін бірнеше тапсырмаларға бөлуді және әрбір тапсырманы параллельді өңдеуді қамтиды. Бұл автономды жүргізу сияқты бірнеше тәуелсіз тапсырмаларды қамтитын AI жұмыс жүктемелері үшін пайдалы. Тапсырмаларды параллельді өңдеу арқылы AI үдеткіштері күрделі тапсырмаларды орындауға кететін уақытты азайтып, жалпы өнімділікті жақсарта алады. Тапсырма параллелизмі көбінесе AI үдеткіштерінде нысанды анықтау және бейнені талдау сияқты тапсырмалар үшін қолданылады.
Мәтіндік енгізулер партиясын өңдейтін 70 миллиард параметрі бар LLM қарастырайық:
AI үдеткіштері ауыр есептеу тапсырмаларын орындау үшін жиі негізгі процессормен бірге жұмыс істейді. Негізгі процессор жалпы мақсаттағы тапсырмаларға жауап береді, ал AI үдеткіштері ауыр есептеу тапсырмаларына жауап береді. Бұл әдетте бірлескен өңдеу деп аталады. Міне, AI үдеткіштері негізгі процессормен қалай жұмыс істейтінін көрсететін қарапайым диаграмма. Бірлескен өңдеуге арналған кейбір қысқаша номенклатура:
Жасанды интеллект жұмыс жүктемелерінің күрделілігі мен ауқымы өсуде, AI үдеткіштері заманауи қолданбалардың талаптарын қанағаттандыру үшін дамып келеді. AI үдеткіштерінің болашағын қалыптастыратын кейбір негізгі трендтер [3] мыналарды қамтиды:
Graphcore әзірлеген IPU жоғары тиімділікпен күрделі машиналық оқыту тапсырмаларын орындауға арналған. Олардың архитектурасы параллельді өңдеуге бағытталған, бұл оларды ауқымды AI жұмыс жүктемелеріне қолайлы етеді.
SambaNova Systems әзірлеген RDUs процессордағы деректер ағынын динамикалық түрде оңтайландыру арқылы AI жұмыс жүктемелерін жылдамдатуға арналған. Бұл тәсіл LLM тұжырымы сияқты тапсырмалар үшін өнімділік пен тиімділікті жақсартады.
NPUs терең оқыту және нейрондық желі тапсырмалары үшін мамандандырылған, AI жұмыс жүктемелеріне бейімделген деректерді тиімді өңдеуді қамтамасыз етеді. Олар құрылғыдағы AI мүмкіндіктерін қажет ететін құрылғыларға көбірек біріктіріледі.
Бұл постта біз AI жұмыс жүктемелерінің өнімділігін арттырудағы AI үдеткіштерінің рөлін, соның ішінде LLM қорытындысын талқыладық. Параллельді өңдеу мүмкіндіктерін, жоғары жылдамдықты жадты және үдеткіштердің дәлдігі төмен арифметикасын пайдалана отырып, ұйымдар ауқымды LLM қолдану кезінде өнімділіктің айтарлықтай өсуіне және шығындарды үнемдеуге қол жеткізе алады. AI үдеткіштерінің негізгі мүмкіндіктері мен түрлерін түсіну LLM қорытындысын оңтайландыру және кең ауқымды AI орналастыруларында ресурстарды тиімді пайдалануды қамтамасыз ету үшін өте маңызды. Келесі мақалада біз AI үдеткіштерін қолдана отырып, LLM-ді масштабта орналастыру үшін жүйені оңтайландыру әдістерін талқылаймыз.