Адаптаванне VLM-аў, эмбедзінгаў, мовы, зразкаў відобразжэння і відеа за межам тексту
Кожныя модалітэты маюць свои прыгнёчныя факторы. Дазнаеце, як налаштаваць VLM-ы, эмбеддэры, ASR, TTS, генераторы зображэнняў і відэа за дапамою правильнага батчавання, кэрнаў, кэшавання і квантызаціі.
Адаптаванне мовнага модэля, які працуе толькі з текстамі, — гэта задача, яка ўжо дастаткова рашаная, таму людзі спрыяюць яе методы як універсальныя. Аднак гэта не так. Калі вы выпускаеце рэальны продукт, генераванне текста стае толькі адним з калькі этапаў, і кожны з яных мае свою прычыну спаду выдатковасці. Метод налаштавання, які удвойчывае швальнасць роботы LLM, можа быць безпарадны для модэля на адмішчанні данных, а генераванне зображэнняў чы відэа стварае свае проблемы з вычысленнямі чы атэнцыяй. Хутчэй вы пазнаеце модэлі, якія спрацоўваюць з візуальным і тэкстовым матэрыялам, прыстроі для адмішчання данных, ASR, TTS, пераклад голасу ў голас, генераторы зображэнняў і відэа; пачнуцься з двух базовых способаў выканання, а пасля будуць рассмотреныя показнікі, выбор апаратуры, кэшаванне, квантызацыя, групаванне дадзенняў і компромісы ў якасці для кожнага з яных. Галоўная ідея: інжынерыя інферэнсу залежыць ад характару завадбы.
Чаму адна схема не працюе
Рэальныя прыемкі спаўнююць модэлі ў ланцоўку. Голасавы асистэнт можа прыjąць аудыя, запрацаваць распазнаванне мовы, аналізаваць текст, а пасля синтэзаваць мову. Система дакументаў можа працаваць з PDF через OCR, модэль візуальнага аналізу і эмбеддынгі пры выкарыстоўванні інформацыі, а пасля — з LLM. Відэо-інструмент можа перакануць текст у створаны кліп праз ітератывны процес адчышчэння від шуму і, нарэшце, декодаванне медыя-контэнту.
Кожны крок у гэй ланцоўцы мае свой профіль виткаў, таму тое, што оптымізуецца, таксама зменшваецца. Тое, што робіць автарегрэсіўны модэль мовы швыракім, не можа проста быць застосаванам да практык з адобразамі чы відеамі.
Два патэрны апанаваюць большасць случаў
Практычна кожная генератывныя система паследуе аднам з двух патэрнаў.
Першы — генераванне автарегрэсіўна. Модэль стварае выход адно крок за раз, пры чым кожны токен залежыць ад таго, што было раней:
Input
↓
Token 1
↓
Token 2
↓
Token 3
↓
...
Это знайомы цикл LLM. Моделі візуальна-мовнага аналізу, системы імплейментавання, створаныя на аднаковых мовных моделях, декодэры ASR і багатыя моделі TTS могу запозыцьваць вельмі што з ідэй, выкарыстоўваных у трансфармерных сэрвісах.
Другі спосаб — ітератыўнае адчышчэнне шуму, падход на базе дифузіі, пры яком шумны пачатковы стан поступова удосконаляецца шаг за шагам:
Random / noisy latent
↓
Step 1
↓
Step 2
↓
Step 3
↓
...
↓
Final image/video
Стварэнне зображэнняў і відэа большасцю адбываецца тут.
Гэта мае значэнне, каліхоць нельга вжываць адну і тую ж апісацыю латэнсы, праўоўерткі чы сэрцацыя для всіх практыкаў. Для чат-ботаў важліваў ёсць вялічына часу да першага токена. Для синтэзы голасу значным ёсць час да першага значамічнага аудыя-сигналу. Для дзейнаў дугага транскрыбавання часта важлівы фактар рэальнага часу. Для стварэння зображэнняў скасаванне крокаў дэнаізацыі можа быць эфектывнейшым за змену латэнсы кернеля. Для відэа атанцыя і вельмі большыя тэнзоры можу перакрыць усю рабочую навантажэння.
Моделі візуя-мовы ператвараюць зображэнняў у токены
VLM супакоюе кодэр візуя з мовной моделлю. Кодэр ператварае пікселі ў представленні, якія мовная модель можа чытаць разам з тэкстам:
Image / Video
│
▼
Vision Encoder
│
▼
Visual Tokens
│
▼
Language Model
│
▼
Text Response
Цікавым наследкам ёсць тое, што зображэнне падлягае ў удзьціненне дужына вхіднага сэквэнсу. Адно зображэнне высокай разнаёмкі можа стварыць прыблізна тыячу візуальных токэнаў. Чым больш візуальных деталяў, тым больш токэнаў, а значыць — больш контексту і большы кэш KV.
Таму налагоджэнне VLM дужа супаноўваецца з налагоджэнням LLM з дзяўным контекстам. Можна выкарыстоваць квантаваныя кэшы KV, спекулятивную декодацыю, кэшаванне прыфіксаў, тэнзорны паралелізм, пераказванне кэша на іншы прыстрой чы аддзеленне прадзейства прадварнага заполнення ад декодавання. Перадзеясце прыфіксаў ёсць корыстным, у чырвоныя рэгламенты для павтараючыхся зображэнняў і чатоў з калькама раундав, а ў меру таго, як вхідныя даны становяцца дужэй, карыснае значэнне набірае кераванне памяцю.
Розумеўце відэа быстра становіцца даскладным
Зображэння купуюцца за певную цену. Відэа яе збільшывае. Пры 24 кадрах за секунду нават короткі кліп стварае вельмі велику колькасць візуальных токенав. Кліп у высокай яшчыне працэйнасці трываласцю чатыро секунды, у прынцыпе, можа мятчы 100 000 вхідных токенав пры якомнай практычной дэсамплірацыі.
Это робіць дэсамплірацыю галоўным спосабам для падбору між яшчынай і швальнасцю. Вы можете знизіць разлічваўнасць, частоту кадраў, колькасць кадраў або колькасць візуальных токенав, прычаму кожная змена адбирае інфармацыю. Таму не трэба думаць пра тым, як прышвыдзіць обробку відэа. Неабходна запытацца, якая ўсё ж мінімальная візуальная рэпрэзентацыя яшчэ падтрымлівае стандарты яшчыны прыкладнага програмнага забезпечэння. Гэта справжняя падход да інжынерыі обробкі даных: налагодзіце саму роботу, а не толькі ядро.
Моделі Omni-modal не завжды ўсё рашэння
Індустрыя працюе над моделямі, якія можаць приймаць і выдаваць калькі разных форматаў даных адразу:
Text ─────┐
Image ────┤
Audio ────┼──► Omni Model ──► Text / Audio / Image
Video ────┘
Гэта звучыць ідеяльна, але загальна прыемна караецца. Спецыяльны модель OCR можа пераможаць магчымасці OCR, якія ўжо є ў велікім VLM, а спецыяльна створаны модель для розпазнавання голасу можа працаваць эфектывней, чым загальная мультімодальная модель. Таму системы для практычнага викорыстання часта стаюць ланцоўкамі спецыялістаў:
┌──► OCR
PDF/Image ───┤
├──► Vision Model
└──► Embedding Model
│
▼
LLM
Эксплеяцыйяга, яка следуе за гэтым, — зрабіць кожы компонент незалежнайм таяким, абы можна было іго оптимізаваць та масшытаць.
Моделі embedding хочацякіяе пропусзачысть
Моделі embedding фундаментальнасаціяльно веярэтакіяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя
Document / Image
↓
Embedding Model
↓
[0.12, -0.43, 0.87, ...]
Этыя вектары забезпечваюць роботу RAG, семантычнага пошуку, рэкамендацый, памяці агента і выкарыстоўвання дакументаў. Найважлівейшым є формат завантажэння, і два такія форматы выглядаюць аблічна разнымі.
Одним з такіх форматаў є масовая імбеддынг, напрыклад, калі дзесяць мільйонаў дакументаў запускаюцца ў базу дадзенаў вектараў:
10 million documents
↓
Embedding pipeline
↓
Vector database
Там перавыграўляюць прахідная здатнась і вартасць. Іншы варіант — це онлайн-пошук, дзе запит корыстувальніка адразу ж вставляецца і шукаецца:
User query
↓
Embedding
↓
Vector search
Там мілісекунды граюць важлівую ролю. Калі абяклаванне і час обробкі ў якім-небудзь ступені сяродзе, часта кращым рашэнням стае аднаэтажная реалізацыя, калі ўсё можна налаштаваць пад сае цялевыя задачы.
Выразнасць і сумеснасць
Эмбеддінгі даўаюць ўсё больш параметра для балансавання якосці і швальнасці — габарыты вектора. Векторы можу прымкнуць сотні аб тыясячы значэнняў. Большыя векторы зберагаюць больш мэтак, але падвайнаюць витраты на зберагачча, выкарыстоўванне і расчытак схожасці. Дзеякія савэчныя методы эмбеддінга падтрымліваюць зменную эфектыўную выразнасць, створаную самэлькі з урахоўваннем гэтага балансавання.
Існуе таксама распашчанне. Два векторы з аднаковай дужыною не ўсега можна пораўняваць, калі кожны модэль эмбеддінга стварае сае семантычнае прастор. Замена модэля не ўсега падобная да замены адной API на іншую. Зазвычай трэба перадумаць систему выкарыстоўвання ўсё пад яе контролем.
Групаванне — галоўны спосаб працы з эмбеддінгамі
У працэ па-іншым чынам, чым у автарегрэсіўнага декодавання, моделі з умяшчэнням токенав працуюць пераважна паралельна, што зміняе стратэгію. Кэшаванне прыфіксаў і роздзелванне процэсаў прадзействавання/декодавання не ёсць ключовымі элементамі тут. Неабходна сфокусавацца на вялікіх пакетах дадзеных, шырокай токэнацыі, аранжаванні ў чергу, гораздкай масштабаванні, оптымізаваных кэрнелях і процэсах квантывацыі. Моделі з умяшчэнням можу працаваць з набліжна большымі пакетамі, чым генератывныя моделі — іноды дзесяткі або сотні вхідных дадзеных за раз.
Разумныя нараджэнчыя рашэння включаюць наявнасць чергі і менеджера пакетаў пры калькольніках-рэплікантах:
Requests
↓
Queue
↓
Batch Manager
↓
GPU Replica 1
GPU Replica 2
GPU Replica 3
GPU Replica 4
Для працы з великім об’ёмам дадзеных, адна GPU на кожную горизонтальна раскладзеную копію частае выконваецца краща, чым складная мнага-GPU модель, працюючая паралельна.
Распазнаванне мовы: дэкодэр выступае галоўным элементам
ASR перакладае аудыя ў текст. Тыповы процес складаецца з прадзеявання, кодэра і дэкодэра:
Audio
↓
Audio preprocessing
↓
Encoder
↓
Autoregressive Decoder
↓
Transcript
ASR не ўраджае LLM, але яго декодэр працюе як такі і займае большую частку часу на обробку. Чырай таму оптымізаціі у стыле LLM ёсць выключна эфектывныя. Для рэальнага транскрыбавання ключовым паказателем ня ёсць проста шчыльнасць перадачы даных. Сістэма павінна працаваць мгновенна, і разумны цільвы паказателю — адпаведна 200 мс на весь цикл обробкі фрагмента аудыя.
Стрыемная перадача змінюе ўсё
Адна з найбольшых перадоў ASR не выклікае жадных змян у модэлі, а толькі іншую структуру ўраджэння даных. У працоўным режыме не павінна выклікватыся схема загрузкі, чакання і прыёму даных:
Upload audio
↓
Wait
↓
Receive transcript
Перайце на непаўзлівы прыем:
Continuous Audio
↓
VAD
↓
Audio Chunks
↓
ASR GPU
↓
Streaming Transcript
WebSocket заставляе стрым застацься ачытым, паколькі модель дэтэкціі актывасці голасу выбірае тыя часткі, якія маюць значны аудыя. Урок заключаецца ў тым, што карэнтна скорасць працы не завжды ёстся проблемай часу выканання. Інодзе оптымізація архітектуры дае найбольшы эфект.
Длігія записы трэбуюць паралелізма
Длігія файлы — гэта не тое ж сама рэч, як інтэрактыўнае диктуванне. У замест на працю з імі па порядку:
Chunk 1 → Chunk 2 → Chunk 3 → Chunk 4
Можна стварыць паралельную лінію обработкі:
┌──► GPU 1 ──► Chunk 1
Audio → VAD ─────┼──► GPU 2 ──► Chunk 2
├──► GPU 3 ──► Chunk 3
└──► GPU 4 ──► Chunk 4
↓
Stitch by time
Вы трапляецеся без часткі контексту, якай могла бы быть перыякорана, але зарабатваеце вялікую працэздольнасць. Паказнік рэальнага часу ёсць корыстным паказнікам для длігай транскрыпцыі, а паралельная обработка частак падходзіць для задач з вялікай працэздольнасцю. Ёжы захаваць якасць, трэба дадаць пасляобрабатку, якая выяўляе падозрэльную павтарэнне і перзапускае толькі проблемныя частакі.
TTS: мета — не больш токэнаў за секунду
Прыведчык тексту ў голас працюе у працоўнай парадзе, адваротная да ASR:
Text
↓
TTS Model
↓
Audio Tokens
↓
Audio Decoder
↓
Waveform
Сучасныя модэлі TTS часта выкарыстоўваюць архітектуры, падобныя LLM, таму оптымізаваныя керні, обробка пакетаў дадзеных і вычысленні з низкай точнасцю пераходзяць з сэрвірування LLM. Аднак паметыкі разлічаюцца ў тонкай дзеязе. Генераванне 500 аудыя-токенаў за секунду не є кращым за 100, якщо декодэр аудыя патрабуе толькі майже рэальнага часу выходу. Калі генераванне становіцца рэальным часам, пытанне стае ў тым, сколькі адночасных корыстувачаў можа падтрымаць адна GPU. Гэта оптымізацыя па трэбам продукту, а не па паметыку.
Генераванне зображэнняў: адмовіцца ад інстынктав LLM
Средства генеравання зображэнняў — это пераважна ітератывныя средства падчышэння, а не средства запісу токен за токенам:
Noise
↓
Denoising Step 1
↓
Denoising Step 2
↓
...
↓
Image
У працэ па адкодаванні LLM галоўным лімітам зазвычай являецца вычыслювальная моц, таму пропускна здатнасць памяці больш не ёст канкрэтным працоўным вызваннем. У такіх ситуацыях акцэнт перакладаецца на выбір кернелаў, ўзаўмешчанне кернелаў, эфектывае выкарыстоўванне механізма атэнцыі, налашоўкі аперацый GEMM, компіляванне коду за дапамогою Torch, зменшэння точнасі і скасыць частку задач з усунення шума.
Кернелы маюць вялікое значэнне
Кернелы атэнціі ўплываюць па-особліву на процес стварэння зображэнняў. Залежна ад архітектуры GPU і спосабу рэалізацыі, можна выбраць оптымізаваныя варыянты, такія як FlashAttention, DeepGEMM, CuTe і CUTLASS. Аперацыі нормалізаціі, такія як RMSNorm, таксама є адлічнымі варыянтамі для узаўмешчання.
Найважлівейшы урок заключаецца ў тым, што найкращы механізм выводу залежыць як ад обсягу роботы, так і ад апаратнага забезпечэння. PyTorch дае гнучкасць, спецыялізаваныя рэалізацыі выкорыстоўвають настроеныя кернелі, а компіляцыя можа з’еднаць операцыі ў шлях, прызначаны для GPU. Правильная адпаведь выходзіць з тэставання вашага реальнага моделі на вашам рэальным апаратным забезпечэнні.
Эфектыўны трык для процэсу дифузіі
Моделі дифузіі выконваюць багато крокаў. Першыя з іх ствараюць загальную структуру, а пасляўшыя дапрацоўваюць деталі. Це стварае можлівасць — скорачыць дорогі процес керавання ў пасляўшыях кроках. Одны з падходаў выключае керавання без класіфікатора на пазніх этапах, заўсёды зберагчы колькість крокаў. У прыкладзе з 50 крокамі канцентрацыя помилак у моделі зменшаецца з 100 до 80, пры чым якосьтва заўсёды застаецца на тым жа роўні.
Конкрэтны трюк мае меншое значэнне, чым прынцып. Не кожна ітерацыя равным чынам спрыяе фінальнам рэзултату, і оптымізацыя выводу можа скорастаць за рахунак гэтага дзісбалансу.
Стварэнне відэа — гэта іншы масштаб
Стварэнне відэа — гэта стварэнне зображэння з дадзенай часовой высотай. Дзе лятэнтна форма зображэння ёсць:
Height × Width
Відеа з латэнтным форматам стае:
Height × Width × Time
Гэта робіць задачу обробкі дадзеных ўсё больш складной. Відеа залежыць ад вычысловых можаў, і системы часта займаюць цэлыя вузлы з колькімаў GPU з мінімальным размерам пакетаў, нават з пакетам аднае елемента, таму што всі GPU саўместна працуюць над адним кліпам.
Гэта чыста раздзеляе це ад генеравання тексту. У случае з текстам большы пакет можа падняць прахіднасць. У випадку з відеам пакетаванне можа мала дапамагчы, адколі ўжо одна генерацыя може спрацаваць большую частку вычысловых ресурсоў. Таму найшвыжэйшы спосаб зробіць відеа дешавей часта — адным з быстрэйшых модэляў.
Атанцыя домінуе ў відеа
У генераванні відеа атанцыя може зайняць вельмі большую частку вычысловых ресурсоў — за оценкамі, 70-80 процэнтав у дзеякіх заведамасцях. Гэта змінюе прыоритэты. Уместо таго, каб пераважна квантаваць вагі, інжынеры працуюць над ядрамі атанцыі, квантавацыяй атанцыі, кэшаваннем, паралелізам контексту і паралельным выкананнем на рэвэлі GPU.
Кэшаванне для відеа працуе інакше
Стварэнне відказоў на відеа не выкарыстоўвае падход з автарегрэсійным KV-кашуваннем. У замен системы перадаюць у павторны выкарыстоўванне часткі ранейшых вычыслаў двума основнымі спосабамі. Кашуванне па кроках часу перадае у павторны выкарыстоўванне рэзультаты выбраных крокаў адшумоўвання. Кашуванне трансфармера перадае у павторны выкарыстоўванне скрытыя станы та прыпіняе вычыслення частак трансфармера. І адны, і другія можу значна прышвартаваць працэс, а таксама можу серйозна паспрабаваць якосьць, залежна ад алгорытму. Таму трэба спрыятаць кожнай оптымізацыі як ціклу:
Optimization
↓
Speed ↑
↓
Quality ?
↓
Evaluate
↓
Production
Ніколы не прыяжджайце, што оптымізацыя кэшавання ў безпеце, толькі таму, што відэа застаецца прыемнай на выгляд.
Квантызацыя адпаведае бутлнэку
Для LLM-модэляў квантызацыя зазвычай нацэлена на большыя лінейныя слоі і вагі, адколі вычысленні LLM часта обмежваюцца пропускной здатнасцю памяці. Генераванне відэа обмежваеца вычыслювальными магчымасцямі, у першую чаргу атэнцыёй, таму сама атэнцыя становіцца прываблівай метай для квантызацыі. Але атэнцыя таксама вельмі чутліва да числовых пакрыцэнняў.
Існуюць два варыянты. Вы можете квантавацыяваць блакі па выкарыстоўванні форматаў мікраскалярацыі, такіх як MXFP8, альбо можете квантавацыяваць выборча, змінюючы точнасць па кроках:
Early steps → FP16
Middle steps → Lower precision
Late steps → Lower precision
альбо па шарах:
Input layer → FP16
Hidden layers → Lower precision
Output layer → FP16
Зберагаеце тачнасць там, дзе модель ўразліва, і оптымізаваце там, дзе гэта не патрэбна.
Не існуе універсальнай оптымізацыі
У разных форматах стратэгіі успеху здаюцца абсалютна рознымі:
| Modality | Dominant Concern | High-Value Techniques |
| ---------------- | --------------------------- | ----------------------------------------------------- |
| VLM | Long visual context | KV optimization, caching, parallelism |
| Embeddings | High request volume | Batching, queueing, horizontal scaling |
| ASR | Decoder latency | Optimized decoder, streaming, parallel chunks |
| TTS | Real-time concurrency | Streaming, batching, efficient decoding |
| Image generation | Compute | Kernel fusion, compilation, fewer expensive passes |
| Video generation | Massive compute + attention | Attention kernels, caching, quantization, parallelism |
Самэтна інжыніярыя інферэнцыя ближэй да працы с системамі, чым простае прышвытканне скорасці LLM.
Вывыкі
- Мультімодальная інферэнцыя залежыць ад навантажэння. Найкращая архітектура адпавядае шаблону выканання і трэбаванням продукту.
- Аутарегрэсіўныя та дыфузыйныя моделі маюць прынцыпова разныя узкія месцы.
- VLM-ы ператвараюць візуальны вхід у дапаможны контэкст, таму налаштаванні KV-cache і дзейства, зв’язаныя з дзействам дужо длігага контэксту, маюць большое значэнне.
- Сістэмы эмбеддынга большасцю сталквуюцца з проблемамі пакетавання дадзеных і працэздатнасці, а не з проблемамі затрымкі декодавання.
- Прыросты ASR даюцца пераважна за рахунак оркестрацыі та стрімінгу, а не толькі швэйжэйшых кэрнэў.
- Для TTS, калі скорасць генеравання перавышае скорасць рэальнага часу, налаштаванні стаюць пытаннем канкурэнтных корыстувачаў.
- Генераванне адпраўкі залежыць ад вычысловых моцаў, таму кэрнэў, процесы фюзыі, компіляцыі і скасавання крокаў дэнайзінгу маюць важлівое значэнне.
Куди це веде
Продукти на основі ШІ все більше стають багатомодальними за замовчуванням. Текст, зображення, аудіо, відео та ембеддинги все частіше інтегруються в одне застосунок, тож завдання змінюється з налаштування однієї моделі на оптимізацію всього потоку обробки даних. Питання тепер полягає не в тому, яку техніку оптимізації використати, а в тому, де саме знаходиться вузьке місце у цьому конкретному завданні та який компроміс можна зробити для його усунення.
Такі падчынныя парадыксы дапраўдзяюцца як у випадку, калі адна GPU служыць для запуску модэлю з імбеддінгам, так і у випадку кластэра з калькольнікаў GPU, які генеруе відразуе відеа. Пазнайомцыся з навантажэнням, выяві прычыны спаду карыстоўнасці, пераканайся, якія компрэсіі ты гатовы прыйняць, і налаштавай цэлую систему, а не толькі модэль.