Audio2Face-3D на GX10: лицева анимация по глас
Audio2Face-3D на NVIDIA получава звукозапис на реч и връща движенията на лицето на аватар: устни, челюст, очи. Тук минаваме по пътя, описан в официалната документация: контейнер, проверка на здравето, примерен клиент, лицензи и правилата за говорещи лица. Предупреждаваме отсега: GB10 не е сред изброените в документацията графични процесори, а ние не сме пускали нищо на такава машина.
audio2face-3d:2.0, gRPC е на порт 52000, проверката на здравето е по HTTP на порт 8000. Бележката, че езикът не е проблем, също е махната: не е потвърдена. Добавихме: лицензите по части, забраната за разпознаване на емоции, факта, че облачният адрес на каталога е спрян, ограниченията за видовете графични процесори и правилата по Регламента за ИИ. Примерът вече не е свързан с конкретна организация.
01Какво ще научиш
- Какво получава и какво връща Audio2Face-3D: аудио вход, анимация на лицето на изход.
- Как се стартира контейнерът по документацията и как се избира профил според графичния процесор.
- Как да провериш, че услугата е готова, и да пуснеш примерния клиент.
- Какви са лицензите на отделните части и какво не е позволено (разпознаване на емоции).
- Защо говорещото лице трябва да казва, че е ИИ, и кога е нужно писмено съгласие.
- Как да измериш собствените си числа, вместо да вярваш на чужди.
02Преди да започнеш
- Машина с графичен процесор на NVIDIA, Docker и NVIDIA Container Toolkit. Не сме проверявали всичко това на GB10.
- Личен ключ за NGC (каталога на NVIDIA), създаден на страницата за ключове в акаунта ти. Ключът е тайна: не го записвай в файл, който споделяш.
- Python 3 с
venvи Git за примерния клиент. - Кратък звукозапис във формат WAV: 16 kHz, 16 бита, един канал (това показва примерният клиент в изхода си).
- Свободно място за образа и моделите. Колко точно, не твърдим: документацията не го дава в частите, които прочетохме.
Какво казва документацията (към 03.10.2026)
| Тема | Какво пише |
|---|---|
| Версия и образ | Контейнер nvcr.io/nim/nvidia/audio2face-3d:2.0; gRPC на порт 52000; HTTP на порт 8000 за здраве, метрики и версия |
| Персонажи | Готови модели james (по подразбиране), claire, mark и multi (дифузионен). Това са имена на еталонните лица на NVIDIA, не на реални хора от нашия свят |
| Готови профили | За A10G, A30, L4, L40S, RTX 4090, RTX 5080, RTX 5090, RTX 6000 Ada, RTX PRO 6000 Blackwell и B200. За карти без профил (като пример са дадени A100 и H100) двигателите се изграждат локално. GB10 не е в списъка |
| CUDA | Версията, която показва nvidia-smi в контейнера, трябва да е 12.8 или по-висока и под 13.0 (препоръчва се 12.9). Не сме проверявали как това се връзва с GB10 |
| Инсталация | Стъпките в документацията са за Ubuntu 24.04 и хранилища за x86_64. Дали контейнерът има вариант за ARM64, не потвърдихме |
| Модел v3.0 (описание в Hugging Face) | Около 180 милиона параметъра; трансформър и дифузия; на изхода — движение на кожата, езика, челюстта и очите. Известно ограничение: при лош звук устните може да се движат неточно |
| Облачен адрес на каталога | Страницата в build.nvidia.com отбелязва, че облачната крайна точка е спряна. Урокът ползва само изтегляния контейнер |
Лицензи (по официалните страници, 03.10.2026)
| Част | Лиценз по страницата | На какво да внимаваш |
|---|---|---|
| SDK и приставки | MIT | Кодът, не моделите |
| Рамка за обучение | Apache | Само ако обучаваш свои модели |
| Модели (напр. Audio2Face-3D-v3.0) | NVIDIA Open Model License; описанието казва „ready for commercial/non-commercial use“ | Прочети самия лиценз за твоята употреба |
| Audio2Emotion | Собствен („custom“) лиценз | Употреба само заедно с Audio2Face |
| Примерен набор данни | Само за оценка | Не за обучение на продукт |
| Контейнер (NIM) | NVIDIA Software License Agreement и специфичните условия за продукти с ИИ | Различен договор от горните |
03Стъпки
-
Правила, преди да има лице
- Казваме, че е ИИ. Чл. 50, пар. 1 на Регламент (ЕС) 2024/1689: системите, предназначени да взаимодействат пряко с хора, се проектират така, че засегнатите да са информирани, че имат работа със система с ИИ, освен ако е очевидно. Говорещо лице на екран в зала не е очевидно за всеки посетител: сложи ясен надпис.
- Не имитираме реален човек. Чл. 50, пар. 4 изисква оповестяване при дийпфейк съдържание. Лице и глас на истински човек се ползват само с негово писмено съгласие и с оповестяване. Дали си „доставчик“ или „ползвател“ по смисъла на Регламента, е правен въпрос.
- Не четем емоции. Виж забраната в „Преди да започнеш“.
Текстът е от EUR-Lex както е публикуван; по чл. 113 Регламентът се прилага от 2 август 2026 г., с изброените там изключения. Не сме проверявали за по-късни изменения.
-
Влез в каталога на NVIDIA
bashexport NGC_API_KEY=<твоят-ключ> echo "$NGC_API_KEY" | docker login nvcr.io --username '$oauthtoken' --password-stdinПотребителското име
$oauthtokenе буквално така: то казва, че влизаш с ключ, а не с парола. Командата е по документацията и не е пускана от нас. -
Стартирай контейнера
Първо виж кои профили съществуват, после стартирай с автоматичен избор:
bashdocker run -it --rm --network=host --gpus all \ --entrypoint nim_list_model_profiles \ nvcr.io/nim/nvidia/audio2face-3d:2.0 docker run -it --rm --network=host --gpus all \ -e NGC_API_KEY=$NGC_API_KEY \ nvcr.io/nim/nvidia/audio2face-3d:2.0- Профилът трябва да съвпада с картата. Всеки профил съдържа двигатели (TensorRT), изградени за конкретен вид карта. Чужд профил се сваля, но не работи.
- Автоматичният избор винаги сваля „james“. За друг персонаж задаваш профил с
NIM_MANIFEST_PROFILEпо таблицата в документацията. - Няма готов профил? Документацията описва локално изграждане на двигателите с
NIM_DISABLE_MODEL_DOWNLOAD=trueиPERF_A2F_MODEL; първото пускане отнема няколко минути. За GB10 не знаем дали това върви. - Грешно име на модел се прощава мълчаливо: контейнерът се връща към „james_v2.3.1“. Прочети в записите кой модел е зареден.
Не сме пускали тези команди.
-
Провери, че услугата е готова
bashcurl -s http://localhost:8000/v1/health/readyДокументацията показва отговор със състояние „ready“. Има и
/v1/health/live,/v1/metricsи/v1/version. -
Пусни примерния клиент
bashgit clone https://github.com/NVIDIA/Audio2Face-3D-Samples.git cd Audio2Face-3D-Samples git checkout tags/v2.0 cd scripts/audio2face_3d_microservices_interaction_app python3 -m venv .venv source .venv/bin/activate pip3 install ../../proto/sample_wheel/nvidia_ace-1.2.0-py3-none-any.whl pip3 install -r requirements.txt python3 a2f_3d.py health_check --url 0.0.0.0:52000 python3 a2f_3d.py run_inference ../../example_audio/Mark_neutral.wav config/config_james.yml -u 0.0.0.0:52000При успех клиентът пише състояние
SUCCESSи записва папка с резултата. Според документацията в нея има:animation_frames.csv(движенията на лицето),out.wav(получения звук),a2f_3d_input_emotions.csvиa2f_3d_smoothed_emotion_output.csv(емоциите: подадените и изгладените във времето). Командите са по документацията и не са пускани от нас. -
Със собствен звук и с двигател за лица
- Подай собствен WAV (16 kHz, 16 бита, един канал). При лош звук лицето може да се движи неточно: това е известно ограничение на модела.
- Хранилището съдържа и приставки за програми за 3D (в таблицата с лицензите са Maya и Unreal). Не сме ги пускали и не даваме стъпки; започни от официалното хранилище.
- Не записвай звука на посетители и не пази данните без ясна цел и правно основание: гласът на човек е лични данни.
-
Измери собствените си числа
Ние нямаме измервания за GB10, затова не ти даваме числа. Пусни един и същи запис пет пъти и попълни таблицата си:
Какво мериш Твоето число Време от подаването на звука до първите кадри … Общо време за запис от 30 секунди … Заета памет на графичния процесор ( nvidia-smi)…
04Проверка
- Знаеш, че урокът не е пускан на машина от класа GB10, и си проверил профила за твоята карта.
- Проверката на здравето връща „ready“, а примерният клиент —
SUCCESS. - Имаш папка с
animation_frames.csvи си я разгледал. - Ключът за NGC не е записан в споделен файл.
- Прочел си лицензите за предвидената употреба и не ползваш изхода за разпознаване на емоции.
- Лицето е обявено като ИИ; няма имитация на реален човек без писмено съгласие.
- Имаш собствена таблица с времена.
Тест
1. Какво подаваш на Audio2Face-3D?
2. Защо урокът не дава числа за забавяне и памет на GB10?
3. Какво е изрично забранено по документацията на контейнера?
4. Кога трябва да изградиш двигателите (TensorRT) локално?
05Какво следва
06Източници
- Audio2Face-3D NIM — документация 🔒 локално — стартиране, профили, здраве, примерен клиент, забрана за емоции.
- Страница в каталога на NVIDIA — бележка, че облачната крайна точка е спряна.
- Audio2Face-3D-v3.0 — описание на модела — лиценз, вход и изход, ограничения.
- NVIDIA Audio2Face-3D — хранилище — таблица с лицензите на частите.
- Audio2Face-3D-Samples — примерен клиент.
- EUR-Lex: Регламент (ЕС) 2024/1689 (Регламент за ИИ) — чл. 50 и чл. 113.