Што такое маштабаванасць штучнага інтэлекту?

Што такое маштабаванасць штучнага інтэлекту?

Калі вы калі-небудзь назіралі, як дэманстрацыйная мадэль спраўляецца з невялікай тэставай нагрузкай, а потым завісае ў той момант, калі з'яўляюцца рэальныя карыстальнікі, вы пазнаёміліся са злыднем: маштабаваннем. Штучны інтэлект прагны — да дадзеных, вылічэнняў, памяці, прапускной здольнасці — і, як ні дзіўна, да ўвагі. Дык што ж такое маштабаванасць ШІ на самой справе, і як яе дасягнуць, не перапісваючы ўсё кожны тыдзень?

Артыкулы, якія вам могуць спадабацца пасля гэтага:

🔗 Што такое прадузятасць штучнага інтэлекту, тлумачыцца проста
Даведайцеся, як схаваныя прадузятасці ўплываюць на рашэнні штучнага інтэлекту і мадэлююць вынікі.

🔗 Кіраўніцтва для пачаткоўцаў: што такое штучны інтэлект
Агляд штучнага інтэлекту, асноўныя канцэпцыі, тыпы і паўсядзённыя прымяненні.

🔗 Што такое вытлумачальны штучны інтэлект і чаму ён важны
Даведайцеся, як вытлумачальны штучны інтэлект павышае празрыстасць, давер і адпаведнасць патрабаванням рэгулявання.

🔗 Што такое прагназуючы штучны інтэлект і як ён працуе
Зразумейце прагназуемы штучны інтэлект, распаўсюджаныя выпадкі выкарыстання, перавагі і абмежаванні.


Што такое маштабаванасць штучнага інтэлекту? 📈

Маштабаванасць штучнага інтэлекту — гэта здольнасць сістэмы штучнага інтэлекту апрацоўваць больш дадзеных, запытаў, карыстальнікаў і выпадкаў выкарыстання, захоўваючы пры гэтым прадукцыйнасць, надзейнасць і выдаткі ў дапушчальных межах. Гэта не проста большыя серверы, а больш разумныя архітэктуры, якія падтрымліваюць нізкую затрымку, высокую прапускную здольнасць і стабільную якасць па меры росту крывой. Падумайце пра эластычную інфраструктуру, аптымізаваныя мадэлі і назіральнасць, якая сапраўды паказвае, што не так.

 

Маштабаванасць штучнага інтэлекту

Што робіць ШІ добрым: маштабаванасць ✅

Калі маштабаванасць штучнага інтэлекту зроблена добра, вы атрымліваеце:

  • Прадказальная затрымка пры рэзкіх або працяглых нагрузках 🙂

  • Прапускная здольнасць, якая расце прыкладна прапарцыйна дададзенаму абсталяванню або рэплікам

  • Эфектыўнасць выдаткаў , якая не павялічваецца з кожным запытам

  • Стабільнасць якасці па меры дыверсіфікацыі рэсурсаў і павелічэння аб'ёмаў

  • Аперацыйны спакой дзякуючы аўтаматычнаму маштабаванню, трасіроўцы і разумным SLO

Пад капотам гэта звычайна спалучае гарызантальнае маштабаванне, пакетную апрацоўку, кэшаванне, квантаванне, надзейнае абслугоўванне і прадуманыя палітыкі выпуску, звязаныя з бюджэтамі памылак [5].


Маштабаванасць штучнага інтэлекту супраць прадукцыйнасці супраць ёмістасці 🧠

  • Прадукцыйнасць — гэта хуткасць выканання аднаго запыту ў ізаляцыі.

  • Прапускная здольнасць — гэта колькасць запытаў, якія вы можаце апрацаваць адначасова.

  • Маштабаванасць штучнага інтэлекту — гэта тое, ці павялічвае ёмістасць і падтрымлівае стабільную прадукцыйнасць даданне рэсурсаў, ці выкарыстанне больш разумных метадаў, не павялічваючы пры гэтым ваш рахунак ці пейджар.

Маленькае адрозненне, гіганцкія наступствы.


Чаму маштабаванне ўвогуле працуе ў штучным інтэлекце: ідэя законаў маштабавання 📚

Шырока распаўсюджаная ідэя ў сучасным машынным навучанні заключаецца ў тым, што страты паляпшаюцца прадказальным чынам па меры маштабавання памеру мадэлі, дадзеных і вылічэнняў — у разумных межах. Існуе таксама аптымальны для вылічэнняў баланс паміж памерам мадэлі і навучальнымі токенамі; маштабаванне абодвух разам лепшае маштабаванне толькі аднаго. На практыцы гэтыя ідэі ўплываюць на бюджэты на навучанне, планаванне набораў дадзеных і кампрамісы ў абслугоўванні [4].

Кароткі пераклад: большае можа быць лепшым, але толькі калі маштабаваць уваходныя дадзеныя і вылічваць прапарцыйна — інакш гэта як надзець трактарныя шыны на ровар. Выглядае інтэнсіўна, але нікуды не вядзе.


Гарызантальна супраць вертыкальна: два рычагі маштабавання 🔩

  • Вертыкальнае маштабаванне : большыя скрынкі, больш магутныя графічныя працэсары, больш памяці. Проста, часам дорага. Добра падыходзіць для навучання аднаго вузла, вываду з нізкай затрымкай або калі ваша мадэль адмаўляецца правільна шардаваць.

  • Гарызантальнае маштабаванне : больш рэплік. Найлепш працуе з аўтамаштабаваннем , якое дадае або выдаляе пады на аснове паказчыкаў працэсара/графічнага працэсара або карыстальніцкіх праграм. У Kubernetes HorizontalPodAutoscaler маштабуе пады ў адказ на попыт — ваш базавы кантроль натоўпу пры піках трафіку [1].

Анекдот (кампазітны): Падчас гучнага запуску проста ўключэнне пакетнай апрацоўкі на баку сервера і дазвол аўтамаштабаванню рэагаваць на глыбіню чаргі стабілізавалася на p95 без якіх-небудзь змяненняў у кліенце. Непрыкметныя перамогі ёсць перамогі.


Поўны стэк маштабаванасці штучнага інтэлекту 🥞

  1. Узровень дадзеных : хуткія сховішчы аб'ектаў, вектарныя індэксы і струменевая перадача, якія не будуць перашкаджаць вашым трэнерам.

  2. Навучальны ўзровень : размеркаваныя фрэймворкі і планавальнікі, якія апрацоўваюць паралелізм дадзеных/мадэляў, кантрольныя пункты, паўторныя спробы.

  3. Абслугоўваючы ўзровень : аптымізаваныя асяроддзя выканання, дынамічнае пакетнае аб'яднанне , старонкавая ўвага для LLM, кэшаванне, струменевая перадача токенаў. Triton і vLLM часта выступаюць тут у якасці галоўнай аўдыторыі [2][3].

  4. Аркестрацыя : Kubernetes для эластычнасці праз HPA або карыстальніцкія аўтамаштабавальнікі [1].

  5. Назіральнасць : трасы, метрыкі і журналы, якія адсочваюць шлях карыстальніка і мадэлююць паводзіны ў прадукце; распрацоўвайце іх з улікам вашых SLO [5].

  6. Кіраванне і выдаткі : эканоміка кожнага запыту, бюджэты і функцыі адключэння для некантралюемых працоўных нагрузак.


Параўнальная табліца: інструменты і шаблоны для маштабавання штучнага інтэлекту 🧰

Трохі няроўна наўмысна — бо рэальнае жыццё такое.

Інструмент / Узор Аўдыторыя Прыблізная цана Чаму гэта працуе Заўвагі
Kubernetes + HPA Каманды платформы Адкрыты зыходны код + інфраструктура Маштабуе пады па гарызанталі па меры рэзкага росту паказчыкаў Карыстальніцкія паказчыкі — гэта золата [1]
NVIDIA Трытон Выснова SRE Бясплатны сервер; відэакарта $ Дынамічнае пакетнае аб'яднанне павялічвае прапускную здольнасць Наладзіць праз config.pbtxt [2]
vLLM (PagedAttention) Каманды магістра права Адкрыты зыходны код Высокая прапускная здольнасць дзякуючы эфектыўнаму падключэнню кэша KV Выдатна падыходзіць для доўгіх падказак [3]
Асяроддзе выканання ONNX / TensorRT Зануды-перфаратары Бясплатныя / пастаўшчыковыя інструменты Аптымізацыя на ўзроўні ядра памяншае затрымку Шляхі экспарту могуць быць складанымі
Узор RAG Каманды праграм Інфра + індэкс Пераносіць веды на пошук; маштабуе індэкс Выдатна падыходзіць для свежасці

Паглыбленае апусканне 1: хітрасці падачы, якія зрушаць справу з мёртвай кропкі 🚀

  • Дынамічнае пакетнае аб'яднанне групуе невялікія выклікі вываду ў большыя пакеты на серверы, што значна павялічвае выкарыстанне графічнага працэсара без змяненняў з боку кліента [2].

  • Падпампаваная ўвага захоўвае значна больш размоў у памяці шляхам падпампоўкі кэшаў KV, што паляпшае прапускную здольнасць пры паралельнасці [3].

  • Аб'яднанне і кэшаванне запытаў для аднолькавых падказак або ўбудаванняў дазваляе пазбегнуць дубліравання працы.

  • Спекулятыўнае дэкадаванне і струменевая перадача токенаў памяншаюць успрыманую затрымку, нават калі насценны гадзіннік амаль не рухаецца.


Паглыбленае апусканне 2: Эфектыўнасць на ўзроўні мадэлі - квантызацыя, дыстыляцыя, абрэзка 🧪

  • Квантаванне зніжае дакладнасць параметраў (напрыклад, 8 біт/4 біт), каб скараціць аб'ём памяці і паскорыць вывад; заўсёды пераацэньвайце якасць задачы пасля змяненняў.

  • Дыстыляцыя перадае веды ад вялікага настаўніка да меншага вучня, які сапраўды падабаецца вашаму абсталяванню.

  • Структураваная абрэзка прадугледжвае найменшы ўплыў цяжараў/галоў.

Будзем шчырымі, гэта як паменшыць памер чамадана, а потым настойваць на тым, каб увесь абутак усё яшчэ падыходзіў. У нейкім сэнсе гэта так, у асноўным.


Паглыбленае апусканне 3: Маштабаванне дадзеных і навучання без перапынкаў 🧵

  • Выкарыстоўвайце размеркаванае навучанне, якое хавае складаныя часткі паралелізму, каб вы маглі хутчэй запускаць эксперыменты.

  • Памятайце пра законы маштабавання : прадумана размяркоўвайце бюджэт паміж памерам мадэлі і токенамі; маштабаванне абодвух разам эфектыўна з пункту гледжання вылічэнняў [4].

  • Навучальныя праграмы і якасць дадзеных часта ўплываюць на вынікі больш, чым людзі прызнаюць. Лепшыя дадзеныя часам пераўзыходзяць большую колькасць дадзеных — нават калі вы ўжо ўпарадкавалі большы кластар.


Паглыбленае апусканне 4: RAG як стратэгія маштабавання ведаў 🧭

Замест таго, каб перавучваць мадэль, каб яна адпавядала зменлівым фактам, RAG дадае крок пошуку на этапе вываду. Вы можаце падтрымліваць мадэль стабільнай і маштабаваць індэкс і пошукавыя сістэмы па меры росту корпуса. Элегантна — і часта танней, чым поўнае перавучванне для праграм з вялікай колькасцю ведаў.


Назіральнасць, якая акупляецца 🕵️♀️

Нельга маштабаваць тое, чаго не відаць. Дзве важныя рэчы:

  • Метрыкі для планавання магутнасцей і аўтаматычнага маштабавання: працэнтылі затрымкі, глыбіня чаргі, памяць графічнага працэсара, памеры пакетаў, прапускная здольнасць токенаў, частата трапленняў у кэш.

  • Трасы, якія ідуць пасля аднаго запыту праз шлюз → атрыманне → мадэль → пасляапрацоўку. Звяжыце вымярэнні са сваімі SLO, каб панэлі кіравання адказвалі на пытанні менш чым за хвіліну [5].

Калі панэлі кіравання адказваюць на пытанні менш чым за хвіліну, людзі імі карыстаюцца. Калі не, то робяць выгляд, што адказваюць.


Абароны надзейнасці: SLO, бюджэты памылак, разумныя разгортванні 🧯

  • Вызначце SLO для затрымкі, даступнасці і якасці вынікаў, а таксама выкарыстоўвайце бюджэты памылак , каб збалансаваць надзейнасць з хуткасцю выпуску [5].

  • Размяшчайцеся за раздзяляльнікамі руху, рабіце канарэйкі і праводзьце ценявыя тэсты перад глабальнымі пераключэннямі. Ваша будучае «я» будзе дасылаць закускі.


Кантроль выдаткаў без драмы 💸

Маштабаванне — гэта не толькі тэхнічная задача, але і фінансавая. Разглядайце гадзіны працы графічнага працэсара і токены як першакласныя рэсурсы з улікам адзінкавай эканомікі (кошт за 1 тыс. токенаў, за ўбудаванне, за вектарны запыт). Дадавайце бюджэты і абвесткі; святкуйце выдаленне рэчаў.


Простая дарожная карта да маштабаванасці штучнага інтэлекту 🗺️

  1. Пачніце з SLO для затрымкі p95, даступнасці і дакладнасці задач; перадавайце метрыкі/трасы ў першы дзень [5].

  2. Выберыце стэк абслугоўвання , які падтрымлівае пакетную і бесперапынную пакетную апрацоўку: Triton, vLLM або эквіваленты [2][3].

  3. Аптымізуйце мадэль : квантуйце там, дзе гэта дапамагае, уключыце больш хуткія ядра або дыстылюйце для канкрэтных задач; праверце якасць з дапамогай рэальных ацэнак.

  4. Архітэктар для эластычнасці : Kubernetes HPA з правільнымі сігналамі, асобнымі шляхамі чытання/запісу і рэплікамі вываду без захавання стану [1].

  5. Выкарыстоўвайце пошук, калі важная свежасць, каб маштабаваць свой індэкс замест таго, каб перавучваць яго кожны тыдзень.

  6. Замкніце цыкл выдаткаў : усталюйце эканоміку адзінкі і праводзьце штотыднёвыя агляды.


Распаўсюджаныя тыпы паломак і хуткія рашэнні 🧨

  • Загрузка графічнага працэсара на 30%, а затрымка нізкая

    • Уключыце дынамічную пакетную апрацоўку , асцярожна павялічце ліміты пакетаў і пераправерце паралельнасць сервера [2].

  • Прапускная здольнасць падае з-за доўгіх запытаў

    • Выкарыстоўвайце абслугоўванне, якое падтрымлівае падключаную ўвагу і наладжвайце максімальную колькасць адначасовых паслядоўнасцей [3].

  • Засланкі аўтаматычнага маштабавання

    • Згладжванне паказчыкаў з дапамогай вокнаў; маштабаванне па глыбіні чаргі або карыстальніцкія токены ў секунду замест выкарыстання выключна працэсара [1].

  • Кошты рэзка ўзраслі пасля запуску

    • Дадайце паказчыкі кошту на ўзроўні запытаў, уключыце квантызацыю, дзе гэта бяспечна, кэшуйце найбольш частыя запыты і абмяжуйце частату найгоршых парушальнікаў.


Кіраўніцтва па маштабаванасці штучнага інтэлекту: кароткі кантрольны спіс ✅

  • SLO і бюджэты памылак існуюць і бачныя

  • Паказчыкі: затрымка, tps, памяць GPU, памер пакета, токен/с, трапленне ў кэш

  • Трасіроўкі ад уваходу да мадэлі і да постпрацэсаў

  • Абслугоўванне: пакетная апрацоўка, наладжванне паралельнасці, цёплыя кэшы

  • Мадэль: квантаваная або дыстыляваная, дзе гэта дапамагае

  • Інфра: HPA настроены з правільнымі сігналамі

  • Шлях пошуку свежасці ведаў

  • Эканоміка адзінкі часта пераглядаецца


Занадта доўга не чытаў і заключныя заўвагі 🧩

Маштабаванасць штучнага інтэлекту — гэта не адна функцыя і не сакрэтны перамыкач. Гэта мова шаблонаў: гарызантальнае маштабаванне з аўтамаштабаваннем, пакетная апрацоўка на баку сервера для больш эфектыўнага выкарыстання, эфектыўнасць на ўзроўні мадэлі, пошук для выгрузкі ведаў і назіральнасць, якая робіць разгортванне сумным. Дадайце SLO і гігіену выдаткаў, каб усе былі ўзгодненыя. Вы не атрымаеце ідэальны вынік з першага разу — ніхто не атрымліваецца — але з правільнымі цыкламі зваротнай сувязі ваша сістэма будзе расці без адчування халоднага поту а 2-й гадзіне ночы 😅


Спасылкі

[1] Дакументацыя Kubernetes - Аўтамаштабаванне гарызантальнага подаў - чытаць далей
[2] NVIDIA Triton - дынамічны пакетавальнік - чытаць далей
[3] Дакументацыя vLLM - старонкавая ўвага - чытаць далей
[4] Хофман і інш. (2022) - Навучанне мадэляў вялікіх моў, аптымальных для вылічэнняў - чытаць далей
[5] Працоўны дапаможнік Google SRE — Укараненне SLO — чытаць далей

Знайдзіце найноўшы штучны інтэлект у афіцыйнай краме памочнікаў штучнага інтэлекту

Пра нас

Назад да блога