paint-brush
Үлкен тілдік үлгідегі (LLM) қорытындыны оңтайландырудағы праймер: 2. Жасанды интеллект (AI) үдеткіштеріне кіріспебойынша@mandliya
645 оқулар
645 оқулар

Үлкен тілдік үлгідегі (LLM) қорытындыны оңтайландырудағы праймер: 2. Жасанды интеллект (AI) үдеткіштеріне кіріспе

бойынша Ravi Mandliya8m2024/11/07
Read on Terminal Reader

Тым ұзақ; Оқу

Бұл пост AI үдеткіштерін және олардың ауқымды үлкен тіл үлгілерін (LLM) қолданудағы әсерін зерттейді.
featured image - Үлкен тілдік үлгідегі (LLM) қорытындыны оңтайландырудағы праймер: 2. Жасанды интеллект (AI) үдеткіштеріне кіріспе
Ravi Mandliya HackerNoon profile picture

AI үдеткіштерін зерттеу және олардың ауқымды үлкен тілдік үлгілерді (LLM) қолдануына әсері.


Осы сериядағы хабарламалар :

  1. Үлкен тілдік үлгідегі (LLM) қорытындыны оңтайландырудағы праймер: 1. Фондық және мәселені тұжырымдау

  2. Үлкен тілдік үлгідегі (LLM) қорытындыларды оңтайландырудағы праймер: 2. Жасанды интеллект (AI) үдеткіштеріне кіріспе (осы пост)


Алдыңғы мақалада біз үлкен кідіріс, ресурстарды қарқынды тұтыну және масштабтау мәселелері сияқты үлкен тіл үлгісін (LLM) шығарудың қиындықтарын талқыладық. Бұл мәселелерді тиімді шешу көбінесе дұрыс аппараттық қолдауды қажет етеді. Бұл мақала AI үдеткіштерін зерттейді - AI жұмыс жүктемелерінің өнімділігін арттыруға арналған мамандандырылған аппараттық құрал, соның ішінде LLM қорытындысы - олардың архитектурасын, негізгі түрлерін және LLM-ді масштабта орналастыруға әсерін көрсетеді.

Неліктен AI үдеткіштері?

Егер сіз OpenAI және Google сияқты компаниялар миллиондаған пайдаланушыларға бір уақытта қызмет көрсететін осы ауқымды тіл үлгілерін қалай басқаратынын ойласаңыз, оның құпиясы AI үдеткіштері деп аталатын арнайы жабдықта жатыр. Дәстүрлі процессорлар жалпы мақсаттағы тапсырмаларды жақсы орындағанымен, олар AI жұмыс жүктемелерінің талаптарына оңтайландырылмаған. AI үдеткіштері, керісінше, AI тапсырмалары үшін арнайы жасалған, деректерге жоғары жылдамдықты қол жеткізуді, параллель өңдеу мүмкіндіктерін және дәлдігі төмен арифметиканы қолдауды ұсынады. Есептеулерді AI үдеткіштеріне ауыстыру арқылы ұйымдар, әсіресе LLM сияқты күрделі үлгілерді іске қосқанда айтарлықтай өнімділікке қол жеткізе алады және шығындарды азайтады. AI үдеткіштерінің кейбір жалпы түрлерін және олардың осы жұмыс жүктемелері үшін бірегей артықшылықтарын қарастырайық.

AI үдеткіштерінің түрлері

AI үдеткіштері әрқайсысы нақты AI тапсырмалары мен орталарына бейімделген бірнеше пішінде келеді. Үш негізгі түрі GPU, TPU және FPGA/ASIC болып табылады, олардың әрқайсысының бірегей мүмкіндіктері мен артықшылықтары бар:

Графикалық өңдеу блоктары (GPU)

Бастапқыда графиканы көрсету үшін әзірленген GPU параллельді өңдеу мүмкіндіктерінің арқасында терең оқыту тапсырмаларының қуатты құралына айналды. Олардың архитектурасы LLM тұжырымы сияқты тапсырмалар үшін маңызды болып табылатын жоғары өнімділік матрицалық есептеулер үшін өте қолайлы. GPU әсіресе масштабта оқыту және қорытынды жасау үшін деректер орталықтарында танымал. NVIDIA Tesla, AMD Radeon және Intel Xe сияқты графикалық процессорлар бұлттық ортада да, жергілікті ортада да кеңінен қолданылады.

Тензорлық өңдеу қондырғылары (ТПУ)

Google TensorFlow негізіндегі жаттығулар мен қорытындылар үшін оңтайландырулары бар терең оқу жүктемесі үшін арнайы TPU әзірледі. TPU үлкен ауқымды AI тапсырмаларын тиімді жылдамдатуға арналған, Google қолданбаларының көпшілігін, соның ішінде іздеу мен аударманы қуаттайды. Google Cloud арқылы қол жетімді, TPUs жаттығулар мен қорытындылар үшін жоғары өнімділікті ұсынады, бұл оларды TensorFlow пайдаланушылары үшін таңдаулы таңдау жасайды.

Өрісте бағдарламаланатын қақпа массивтері (FPGA) / қолданбалы интегралды схемалар (ASIC)

FPGA және ASIC – нақты AI тапсырмаларын қолдайтын теңшелетін үдеткіштердің екі түрлі түрі. FPGA қайта бағдарламалануы мүмкін, бұл оларға әртүрлі AI үлгілері мен қолданбаларына бейімделуге мүмкіндік береді, ал ASIC арнайы тапсырмалар үшін арнайы жасалған, бұл жұмыс жүктемелері үшін максималды тиімділікті ұсынады. Екі түрі де деректер орталықтарында және шеттерде пайдаланылады, мұнда төмен кідіріс пен жоғары өткізу қабілеті маңызды. Мысалдарға Intel Arria және Xilinx Alveo (FPGAs) және Google Edge TPU (ASIC) жатады.

Орталық процессорлар мен AI үдеткіштері арасындағы негізгі айырмашылықтар

Орталық процессорлар мен AI үдеткіштерінің ерекше архитектурасы оларды әртүрлі жұмыс жүктемелеріне қолайлы етеді. Міне, ең маңызды функциялардың кейбірін салыстыру:

  • Архитектура : Орталық процессорлар жалпы мақсаттағы процессорлар болғанымен, AI үдеткіштері AI жұмыс жүктемелері үшін оңтайландырылған мамандандырылған аппараттық құрал болып табылады. Орталық процессорлар әдетте ядролары аз, бірақ жоғары сағаттық жылдамдықтарға ие, бұл оларды жылдам бір ағынды өнімділікті қажет ететін тапсырмалар үшін өте қолайлы етеді. Дегенмен, AI үдеткіштерінде параллель өңдеу және жоғары өткізу қабілеті үшін оңтайландырылған мыңдаған ядролар бар.
  • Дәлдік және жад : процессорлар көбінесе жалпы есептеу тапсырмаларын қолдайтын жоғары дәлдіктегі арифметикалық және үлкен кэш жадын пайдаланады. Керісінше, AI үдеткіштері 8-бит немесе 16-бит сияқты дәлдігі төмен арифметиканы қолдайды, дәлдікке көп зиян келтірместен жад ізін және энергияны тұтынуды азайтады — LLM қорытындысының кілті.
  • Энергия тиімділігі : жоғары қарқынды AI тапсырмаларына арналған, үдеткіштер процессорларға қарағанда бір операцияға айтарлықтай аз қуат тұтынады, бұл масштабта орналастырылған кезде шығындарды үнемдеуге және қоршаған ортаға әсерді азайтуға ықпал етеді.


Орталық процессор мен графикалық процессордың архитектурасын салыстыратын диаграмма, негізгі сандар мен параллельді өңдеу мүмкіндіктеріндегі айырмашылықтарды көрсетеді. Анықтама: Дэвид Б. Кирк пен Вэн-мей В. Хву [1] жаппай параллельді процессорларды бағдарламалау


CPU-да ядролардың (4-8) аз екенін және дизайн төмен кідіріс пен жоғары бір ағынды өнімділікке оңтайландырылғанын ескеріңіз. Керісінше, графикалық процессорлардың мыңдаған ядролары бар және олар жоғары өткізу қабілеті мен параллельді өңдеу үшін оңтайландырылған. Бұл параллельді өңдеу мүмкіндігі графикалық процессорларға ауқымды AI жұмыс жүктемелерін тиімді өңдеуге мүмкіндік береді.

AI үдеткіштерінің негізгі мүмкіндіктері және LLM қорытындысына әсері

AI үдеткіштері LLM тұжырымы сияқты ауқымды AI жұмыс жүктемелерін өңдеуге өте ыңғайлы ететін бірнеше мүмкіндіктермен жасалған. Негізгі мүмкіндіктер мыналарды қамтиды:

Параллельді өңдеу

AI үдеткіштері мыңдаған ядролары бар архитектурасының арқасында кең ауқымды параллельді өңдеуге арналған. Бұл параллелизм оларға LLM қорытындысында қажетті қарқынды матрицалық есептеулерді тиімді өңдеуге мүмкіндік береді. Көптеген үдеткіштер сонымен қатар матрицаны көбейту сияқты тензорлық операциялар үшін оңтайландырылған мамандандырылған тензорлық ядроларды қамтиды. Бұл мүмкіндіктер LLM тапсырмаларын масштабта өңдеу кезінде AI үдеткіштерін процессорларға қарағанда айтарлықтай жылдамырақ етеді.

AI үдеткішіндегі тығыз және сирек матрицаны көбейту Анықтама: Youngsuk Park және т.б. AI үдеткіштеріндегі негіз үлгілерін қорытындылауды оңтайландыру.

Өткізу қабілеті жоғары жад

Үдеткіштер жоғары өткізу қабілеттілігін қамтамасыз ететін арнайы жадпен бірге келеді, бұл оларға үлкен деректер жиынына және модельдік параметрлерге минималды кідіріспен қол жеткізуге мүмкіндік береді. Бұл мүмкіндік кіріс мәтінін және үлгі параметрлерін жүктеу үшін деректерге жиі қатынасу қажет болатын LLM тұжырымы үшін өте маңызды. Өткізу қабілеті жоғары жад деректерді іздеудегі кедергілерді азайтады, нәтижесінде кідіріс азаяды және өнімділік жақсарады.

Жоғары жылдамдықты интерконнект өткізу қабілеттілігі

AI үдеткіштері көп құрылғыларды орнату кезінде деректерді жылдам тасымалдауды жеңілдету үшін жоғары жылдамдықты интерконнектермен жабдықталған. Бұл әсіресе жылдамдатқыштар деректерді тиімді байланыстыру және ортақ пайдалану қажет болатын бірнеше құрылғыларда LLM қорытындысын масштабтау үшін өте маңызды. Бір-біріне қосылудың жоғары өткізу қабілеттілігі үлкен деректер жиынын құрылғылар арасында бөлуге және кедергілер тудырмай тандемде өңдеуге мүмкіндік береді.

Төмен дәлдікті арифметика

AI үдеткіштерінің тағы бір артықшылығы - олардың 8-биттік бүтін және 16-биттік өзгермелі нүктелік есептеулер сияқты дәлдігі төмен арифметиканы қолдауы. Бұл жадты пайдалануды және қуат тұтынуды азайтып, AI тапсырмаларын тиімдірек етеді. LLM тұжырымы үшін төмен дәлдіктегі есептеулер қосымшалардың көпшілігі үшін жеткілікті дәлдікті сақтай отырып, жылдамырақ өңдеуді қамтамасыз етеді. AI үдеткіштері өте бай деректер түрін таңдауға ие.

AI үдеткіштерінде қолдау көрсетілетін деректер түрлері. Анықтама: Youngsuk Park және т.б. AI үдеткіштеріндегі негіз үлгілерін қорытындылауды оңтайландыру.

Оңтайландырылған кітапханалар мен жақтаулар

Көптеген AI үдеткіштері NVIDIA GPU үшін cuDNN және Google TPU үшін XLA сияқты танымал AI құрылымдары үшін оңтайландырылған кітапханалармен бірге келеді. Бұл кітапханалар жалпы AI операцияларын орындау үшін жоғары деңгейлі API интерфейстерін қамтамасыз етеді және арнайы LLM үшін оңтайландыруларды қамтиды. Бұл кітапханаларды пайдалану үлгіні жылдам әзірлеуге, орналастыруға және қорытындыны оңтайландыруға мүмкіндік береді.

Масштабтау және энергия тиімділігі

AI үдеткіштері үлкен жұмыс жүктемелерін тиімді өңдеу үшін кластерлерде немесе деректер орталықтарында орналастыруға мүмкіндік беретін жоғары масштабталады. Олар сондай-ақ салыстырмалы тапсырмалар үшін процессорларға қарағанда аз қуат тұтынатын, энергияны үнемдейтін етіп жасалған, бұл оларды LLM масштабындағы қорытынды сияқты есептеу қарқынды қолданбалары үшін өте қолайлы етеді. Бұл тиімділік үлкен AI үлгілерін іске қосудың операциялық құнын және қоршаған ортаға әсерін азайтуға көмектеседі.

AI үдеткіштеріндегі параллелизм

LLM тұжырымы үшін AI үдеткіштерінің тиімділігін арттыру үшін параллелизм әдістерінің әртүрлі түрлері қолданылады:

Деректер параллелдігі

Деректер параллелділігі кіріс деректерді бірнеше топтамаларға бөлуді және әрбір топтаманы параллельді өңдеуді қамтиды. Бұл терең оқытуды үйрету және қорытынды жасау сияқты үлкен деректер жиынын қамтитын AI жұмыс жүктемелері үшін пайдалы. Деректерді бірнеше құрылғыларға тарату арқылы AI үдеткіштері жұмыс жүктемесін тезірек өңдеп, жалпы өнімділікті жақсарта алады. LLM тұжырымындағы деректер параллелизмінің мысалы ретінде кіріс мәтінін пакеттерге бөлу және әрбір топтаманы бөлек үдеткіште өңдеу болып табылады.

AI үдеткіштеріндегі деректер параллелдігі

Модельдік параллелизм

Модельдік параллелизм әртүрлі модель бөліктерін параллель өңдеуге мүмкіндік беретін AI моделінің құрамдастарын бірнеше құрылғыларға бөлуді қамтиды. Бұл тәсіл әсіресе бір құрылғының жады сыйымдылығынан асатын немесе тиімді өңдеу үшін бөлінген есептеуді қажет ететін үлкен AI үлгілері үшін өте маңызды. Модельдік параллелизм үлкен тілдік модельдерде (LLM) және үлгі өлшемі айтарлықтай шектеу болатын басқа терең оқыту архитектураларында кеңінен қолданылады.

Модельдік параллелизм екі негізгі тәсілмен жүзеге асырылуы мүмкін:

Қабат ішілік параллелизм (тензорлық параллелизм) : Жеке қабаттар немесе құрамдас бөліктер құрылғылар арасында бөлінеді, әр құрылғы бір қабат ішінде есептеудің бір бөлігін өңдейді. Мысалы, трансформатор үлгілерінде назар аударатын бастар немесе желілік қабаттар бірнеше құрылғыларға таратылуы мүмкін. Бұл тәсіл байланыс шығындарын азайтады, өйткені құрылғылар тек қабат шекараларында синхрондауды қажет етеді.

AI үдеткішіндегі тензорлық параллелизм

Қабатаралық параллелизм (құбыр параллелдігі) : қабаттардың дәйекті топтары құрылғылар арасында таратылып, есептеу құбырын жасайды. Әрбір құрылғы нәтижелерді құбырдағы келесі құрылғыға бермес бұрын тағайындалған қабаттарды өңдейді. Бұл тәсіл әсіресе терең желілер үшін тиімді, бірақ құбырдың кешігуін енгізеді.

AI үдеткішіндегі құбыр параллелдігі

Тапсырма параллелдігі

Тапсырма параллелизмі AI жұмыс жүктемесін бірнеше тапсырмаларға бөлуді және әрбір тапсырманы параллельді өңдеуді қамтиды. Бұл автономды жүргізу сияқты бірнеше тәуелсіз тапсырмаларды қамтитын AI жұмыс жүктемелері үшін пайдалы. Тапсырмаларды параллельді өңдеу арқылы AI үдеткіштері күрделі тапсырмаларды орындауға кететін уақытты азайтып, жалпы өнімділікті жақсарта алады. Тапсырма параллелизмі көбінесе AI үдеткіштерінде нысанды анықтау және бейнені талдау сияқты тапсырмалар үшін қолданылады.

AI үдеткішіндегі тапсырма параллелизмі

Мәтіндік енгізулер партиясын өңдейтін 70 миллиард параметрі бар LLM қарастырайық:

  • Деректер параллелділігі : Кіріс партиясы бірнеше GPU арқылы бөлінеді, әрқайсысы кірістердің бір бөлігін дербес өңдейді.
  • Тензорлық параллелизм : Трансформатор үлгісінің назар аударатын бастары бірнеше құрылғыларға таратылады, әр құрылғы бастардың ішкі жиынын өңдейді.
  • Құбыр параллелдігі : Трансформатор үлгісінің қабаттары дәйекті топтарға бөлінеді, әр топ құбырлы түрде басқа құрылғымен өңделеді.
  • Тапсырма параллелдігі : бірнеше тәуелсіз қорытынды сұраулары бір уақытта әртүрлі үдеткіш қондырғыларында өңделеді.

AI үдеткіштеріндегі бірлескен өңдеу режимі

AI үдеткіштері ауыр есептеу тапсырмаларын орындау үшін жиі негізгі процессормен бірге жұмыс істейді. Негізгі процессор жалпы мақсаттағы тапсырмаларға жауап береді, ал AI үдеткіштері ауыр есептеу тапсырмаларына жауап береді. Бұл әдетте бірлескен өңдеу деп аталады. Міне, AI үдеткіштері негізгі процессормен қалай жұмыс істейтінін көрсететін қарапайым диаграмма. Бірлескен өңдеуге арналған кейбір қысқаша номенклатура:

  • Хост : Негізгі процессор. Ол бағдарламаның негізгі ағынына жауап береді. Ол негізгі деректерді жүктеу және енгізу/шығару операцияларын өңдеу арқылы тапсырманы реттейді. Бірлескен өңдеу режимінде хост процесті бастайды, деректерді AI Accelerators жүйесіне тасымалдайды және нәтижелерді алады. Ол барлық есептелмейтін логиканы өңдейді және санды AI үдеткіштеріне қалдырады.
  • Құрылғы : AI үдеткіштері. Олар ауыр есептеу тапсырмаларына жауап береді. Хосттан деректерді алғаннан кейін, үдеткіш оны мамандандырылған жадқа жүктейді және матрицаны көбейту сияқты AI жұмыс жүктемелері үшін оңтайландырылған параллельді өңдеуді орындайды. Ол өңдеуді аяқтағаннан кейін нәтижелерді сақтайды және оларды қайтадан хостқа жібереді.

Бірлескен өңдеу жұмыс процесі

AI үдеткіштеріндегі дамып келе жатқан тенденциялар

Жасанды интеллект жұмыс жүктемелерінің күрделілігі мен ауқымы өсуде, AI үдеткіштері заманауи қолданбалардың талаптарын қанағаттандыру үшін дамып келеді. AI үдеткіштерінің болашағын қалыптастыратын кейбір негізгі трендтер [3] мыналарды қамтиды:

Интеллектуалды өңдеу бірліктері (IPU)

Graphcore әзірлеген IPU жоғары тиімділікпен күрделі машиналық оқыту тапсырмаларын орындауға арналған. Олардың архитектурасы параллельді өңдеуге бағытталған, бұл оларды ауқымды AI жұмыс жүктемелеріне қолайлы етеді.

Қайта конфигурацияланатын деректер ағыны бірліктері (RDU)

SambaNova Systems әзірлеген RDUs процессордағы деректер ағынын динамикалық түрде оңтайландыру арқылы AI жұмыс жүктемелерін жылдамдатуға арналған. Бұл тәсіл LLM тұжырымы сияқты тапсырмалар үшін өнімділік пен тиімділікті жақсартады.

Нейрондық өңдеу бірліктері (NPU)

NPUs терең оқыту және нейрондық желі тапсырмалары үшін мамандандырылған, AI жұмыс жүктемелеріне бейімделген деректерді тиімді өңдеуді қамтамасыз етеді. Олар құрылғыдағы AI мүмкіндіктерін қажет ететін құрылғыларға көбірек біріктіріледі.

Қорытынды

Бұл постта біз AI жұмыс жүктемелерінің өнімділігін арттырудағы AI үдеткіштерінің рөлін, соның ішінде LLM қорытындысын талқыладық. Параллельді өңдеу мүмкіндіктерін, жоғары жылдамдықты жадты және үдеткіштердің дәлдігі төмен арифметикасын пайдалана отырып, ұйымдар ауқымды LLM қолдану кезінде өнімділіктің айтарлықтай өсуіне және шығындарды үнемдеуге қол жеткізе алады. AI үдеткіштерінің негізгі мүмкіндіктері мен түрлерін түсіну LLM қорытындысын оңтайландыру және кең ауқымды AI орналастыруларында ресурстарды тиімді пайдалануды қамтамасыз ету үшін өте маңызды. Келесі мақалада біз AI үдеткіштерін қолдана отырып, LLM-ді масштабта орналастыру үшін жүйені оңтайландыру әдістерін талқылаймыз.

Анықтамалар

  • [1] Жаппай параллель процессорларды бағдарламалау Дэвид Б. Кирк және Вэн-мей В. Хву.
  • [2] Youngsuk Park және т.б. AI үдеткіштеріндегі негіз үлгілерін қорытындылауды оңтайландыру.
  • [3] Дамып келе жатқан AI/ML үдеткіштерін бағалау: IPU, RDU және NVIDIA/AMD GPU Hongwu Peng және т.б.


L O A D I N G
. . . comments & more!

About Author

Ravi Mandliya HackerNoon profile picture
Ravi Mandliya@mandliya
Machine Learning Engineer focused on building AI-driven recommendation systems and exploring AI safety.

ТЕГТЕРДІ АЛУ

БҰЛ МАҚАЛА БАСҚАРҒАН...