Что такое Red Curtain и зачем он нужен
Red Curtain - открытая обвязка, которая запускает TTS-модель Fish Audio Drama 3 на AMD Radeon RX 9070 (gfx1201) с 16 ГБ VRAM. Официально эта модель рассчитана на NVIDIA GPU с 48 ГБ видеопамяти. Разницу в 32 ГБ автор компенсировал не квантованием всей модели, а гибридной схемой размещения весов: эксперты MoE лежат в системной RAM и подгружаются на карту по мере надобности. Отчёт с цифрами и репозиторий github.com/re133/red-curtain энтузиаст под ником fechyyy опубликовал в r/LocalLLaMA, там же собраны замеры и список известных проблем: отчёт автора о запуске Drama 3 на 16 ГБ Radeon.
Что важно знать до запуска: по данным автора, в работе занято ~11-12 ГБ VRAM и ~35 ГБ системной RAM, загрузка модели длится около 17 секунд, а генерация идёт примерно втрое медленнее реального времени. Проект протестирован только на RX 9070, на других картах результат неизвестен. Весов в поставке нет, их нужно скачивать с Hugging Face отдельно. С Fish Audio автор не связан: это сторонняя инициатива, а не официальный порт.
Кто такой fechyyy и при чём тут Claude
fechyyy - энтузиаст, который хотел получить Drama 3 на своей карте и собрал для этого обвязку совместно с Claude. Код открытый, лицензионных обязательств перед Fish Audio у проекта нет, поддержки от вендора тоже. Такой статус задаёт ожидания: документация может отставать от кода, а нестандартные конфигурации придётся отлаживать самому.
Автор прямо приглашает проверить работу на других видеокартах. Это честный сигнал: тестирование ограничено одной моделью GPU, и сообщество пока не накопило статистики по RDNA3, RDNA2 или NVIDIA. Ценность результата такая оговорка не отменяет, но рассчитывать на готовый рецепт под своё железо не стоит.
Чем Red Curtain отличается от официального запуска Drama 3
Официальное требование - NVIDIA GPU с 48 ГБ VRAM. Red Curtain обходит его за счёт оффлоада экспертов: FP8-эксперты объёмом около 32 ГБ остаются в системной памяти, на GPU кэшируются только те, что реально участвуют в вычислениях. Остальная часть модели работает в BF16 на карте. Это конкретная схема размещения весов: никакой магии и никакого квантования всей 35-миллиардной модели в 4 бита.
Практический вывод простой: 16 ГБ VRAM хватает только в паре с достаточным объёмом быстрой системной RAM. Карта на 8 ГБ и 16 ГБ ОЗУ такой сценарий не вытянет. Похожая логика hybrid-памяти уже разбиралась в кейсе запуска DeepSeek-V4-Flash-0731 на RTX 3090 с выгрузкой экспертов на CPU, где всё упирается в те же компромиссы между VRAM, RAM и скоростью.
Почему Drama 3 вообще влезает в 16 ГБ VRAM
Drama 3 - MoE-модель на 35 млрд параметров, из которых на каждом токене активны примерно 3 млрд. Именно расхождение между общим и активным объёмом делает возможным запуск на потребительской карте.
MoE простыми словами: почему 35 млрд параметров - не приговор
В плотной модели все веса участвуют в обработке каждого токена: больше параметров - пропорционально больше вычислений и памяти. В MoE сеть разделена на блоки-эксперты, и роутер на каждом шаге выбирает лишь несколько из них. Остальные на этот шаг простаивают. Отсюда 35 млрд общих параметров при ~3 млрд активных: считать нужно немного, а хранить приходится всё.
Хранение и становится главной проблемой. Если бы все эксперты требовались на GPU одновременно, 16 ГБ не хватило бы при любых настройках. Но раз на токене работает малая доля экспертов, их можно держать в медленной памяти и подтягивать по требованию. Ровно этот приём используют и в других сборках: восемь Radeon Pro V620 на 256 ГБ VRAM понадобились как раз для того, чтобы держать крупную MoE-модель целиком в памяти карт и не платить за подкачку.
FP8-эксперты в RAM и BF16 на GPU: как распределяются веса
Раскладка по данным автора выглядит так:
- FP8-эксперты объёмом около 32 ГБ живут в системной RAM;
- на GPU кэшируются только эксперты, которые реально используются на текущем шаге;
- остальная часть модели работает в BF16 на видеокарте.
Кэш на GPU не статичен. По мере генерации набор нужных экспертов меняется, и карта подгружает новые порции через PCIe. Отсюда два следствия. Первое: объём системной RAM должен быть заметно больше 32 ГБ, иначе экспертам негде лежать, и автор сообщает о ~35 ГБ в работе. Второе: пропускная способность шины и скорость памяти влияют на результат, потому что подкачка не бесплатна.
Итоговое потребление на машине автора - ~11-12 ГБ VRAM и ~35 ГБ RAM (те же цифры приведены в исходном отчёте fechyyy). Модель не помещается на GPU целиком: это гибридная схема, и планировать железо нужно именно под неё.
Сколько это работает по скорости: цифры автора
Замеры с одной конфигурации, других публичных данных по проекту нет:
| Параметр | Значение |
|---|---|
| Загрузка модели | ~17 с |
| Генерация 3,3 с речи | ~13 с |
| Генерация 11,6 с речи | ~37 с |
| Потребление VRAM | ~11-12 ГБ |
| Потребление RAM | ~35 ГБ |
Соотношение времени генерации к длине результата держится около 3-3,5x. Длинный дубль масштабируется почти линейно: 11,6 секунды речи стоят 37 секунд ожидания.
Что значит «медленнее реального времени» на практике
Разница в три раза меняет сценарии использования. Короткую реплику на 3-4 секунды вы получите примерно за 13 секунд, это сопоставимо с тем, как вы правите текст между дублями. Десять таких реплик займут несколько минут, и для черновой озвучки это терпимо.
Длинная начитка на 10 минут превращается в получасовую сессию без учёта правок. Интерактивный диалог с ответом в реальном времени на такой скорости невозможен. Стриминг тоже: пока модель считает, зритель уже ушёл.
От чего зависит скорость и чего автор не проверял
Три фактора определяют результат. Объём и скорость системной RAM: эксперты живут там, и медленная память заметно просадит подкачку. Пропускная способность PCIe: чем чаще меняется набор экспертов, тем больше трафик. И сама карта: её вычислительные блоки и кэш.
Все известные цифры получены на RX 9070 (gfx1201). На RDNA3, на старых RDNA2 и на NVIDIA значения будут другими, но какими именно, автор не сообщает. Обещать «примерно так же» на RX 7800 XT или RTX 4070 нет оснований: объём VRAM и зрелость стека ROCm там отличаются.
Веб-интерфейс: клонирование голоса локально, многоголосые сцены и теги
В комплекте идёт небольшой веб-интерфейс. Функционально он закрывает три задачи: клонирование голоса, распределение реплик между спикерами и управление подачей через теги.
Клонирование голоса по референсному клипу
Вы даёте интерфейсу референсный клип, и модель воспроизводит тембр и манеру на его основе. Обработка идёт локально: клип не нужно отправлять в облако, что для конфиденциального голосового материала бывает решающим аргументом. Конкретных замеров качества клонирования автор не приводит, поэтому оценивать его стоит на своих записях.
Отдельная практическая деталь: назначение референсного голоса каждому спикеру теперь стоит по умолчанию. Это одна из мер против обрыва генерации, о которой ниже.
Многоголосые сценарии и звуковые теги
Многоголосый сценарий позволяет разметить реплики по спикерам и получить диалог за один проход. Подачей управляют теги, совместимые с редактором Fish: [laughing], [sighing], <whisper>…</whisper> и другие. С их помощью задаётся смех, вздох, шёпот.
Правило, которое стоит запомнить сразу: не начинайте строку со звукового тега. Ставьте его после первых слов. В Red Curtain это уже поведение по умолчанию, и на практике оно снижает частоту обрывов.
Проблема с замолканием после первой строки и как её обойти
Симптом простой и раздражающий: дубль произносит первую строку и умолкает, остаток сценария теряется. Проблема известна и воспроизводится не только на AMD.
Почему это не баг AMD-порта
Автор проверил поведение против референсного кода Fish Audio и сопоставил с рецептом для vLLM, где та же особенность упоминается. Вывод: это свойство самой Drama 3, а не следствие запуска на Radeon. Для доверия к проекту деталь важная, потому что чинить нужно настройками генерации, а не ждать патча порта.
Настройки, которые помогают: top-k, референс каждому спикеру, теги
Три меры, которые автор называет работающими в разборе известных проблем Drama 3:
- Отключить top-k вместо значения 30.
- Назначить референсный голос каждому спикеру сценария.
- Не начинать строку со звукового тега.
В Red Curtain всё перечисленное стало настройками по умолчанию, так что вручную повторять не нужно. Оговорка: помогает частично. Полного устранения автор не обещает, и на длинных сценариях обрыв может вернуться. Проверять результат лучше по коротким фрагментам, а не записывать 10 минут вслепую.
Как запустить: веса, Hugging Face и ограничения проекта
Порядок общий: получить обвязку из репозитория github.com/re133/red-curtain, скачать веса Drama 3 с Hugging Face, запустить веб-интерфейс. Детали установки и список зависимостей смотрите в репозитории: пошаговой инструкции в отчёте нет, и придумывать её не стоит.
Что нужно из железа и софта
Конфигурация, на которой всё проверено: AMD Radeon RX 9070 (gfx1201) с 16 ГБ VRAM, около 35 ГБ системной RAM, в работе занято ~11-12 ГБ видеопамяти. Нужен рабочий стек ROCm для gfx1201.
Запас по RAM лучше держать: 32 ГБ - это нижняя граница, при параллельной работе браузера и других приложений её может не хватить. Если сравниваете с другими AMD-сборками, полезно посмотреть, как настраивается запуск Qwen 3.6 35B A3B на Radeon RX 7600 с 8 ГБ VRAM через llama.cpp и ROCm 7: там разобраны флаги и поведение гибридной схемы на слабой карте.
Чего в проекте нет и о чём стоит знать заранее
- Весов в поставке нет, качать с Hugging Face отдельно.
- Официальной поддержки со стороны Fish Audio нет, автор с компанией не связан.
- Тестов на других GPU нет: проверена только RX 9070.
- Скорость ниже реального времени, и это ограничение схемы, а не недосмотр.
- Проект молодой и открытый: возможны шероховатости в документации и несовпадение версий зависимостей.
Кому подходит Red Curtain, а кому проще взять NVIDIA или облако
Трезвая оценка: Red Curtain решает конкретную задачу - дать владельцу RX 9070 локальный TTS с клонированием голоса без покупки карты на 48 ГБ. Всё остальное - компромиссы, о которых лучше знать заранее.
Сценарии, где Red Curtain реально выручает
- Короткие реплики и дубли: 3-5 секунд речи за 10-15 секунд ожидания.
- Тесты голоса и подбор референса перед основной записью.
- Черновая озвучка прототипов игр и видео, где важна скорость итераций, а не студийное качество.
- Работа с конфиденциальным голосовым материалом без отправки клипов в облако.
- Многоголосые сцены с тегами, когда нужно быстро собрать диалог целиком.
Когда лучше не тратить время
- Длинные начитки: три минуты ожидания на каждую минуту речи.
- Стримы и интерактив в реальном времени.
- Продакшн с жёсткими сроками, где задержка в 3x ломает пайплайн.
- Карты кроме RX 9070, если вы не готовы отлаживать всё самостоятельно.
Альтернативы простые. Официальная конфигурация с NVIDIA на 48 ГБ даёт штатный запуск и предсказуемую скорость, но стоит дорого. Облачный TTS Fish Audio снимает вопросы к железу, зато требует отдавать голосовые данные наружу и платить за использование. Другие локальные TTS закрывают часть задач, однако клонирование и звуковые теги придётся сравнивать отдельно.
Если у вас RX 9070 и 32+ ГБ RAM, попробовать стоит: 17 секунд на загрузку и полчаса на первый сценарий дадут более ясную картину, чем любые цифры из отчёта.