2443
A bunch of things that I encounter during my journey as NLP/Audio developer
Готовлю письмо для compliance, чтобы я могла законно писать здесь про tts. Мне конечно приятно, что имя техножрицы тут же выпадает, но я не такая крутая)))
Вот так и путает он людей.
Одна из фичей iOS, которую я очень люблю - рандомные фотографии из пленки. Иногда я даже забываю, что делала эти фотографии сама.
Читать полностью…
Если вы занимаетесь TTS, что вы бы добавили в смесь RL + TTS?
Читать полностью…
В большинстве своем при поиске latency метрик мы находим общую latency = написал текст/сказал текст и получил аудио обратно. Однако за этим стоит не только большая доля инженерии, но и модули модели. Метрики, которые мы здесь рассмотрим:
• FTL - first packet latency
• TPP - first packet decode
• DEC - mean packet decode
• FPL - first packet latency
• RTFx - audio_duration / processing time - общий throughput пайплайна
Чаще всего работаем с пайплайном:
текст -> LM based TTS - - - > audio codebook tokens - - - -> Codebook based Vocoder
FTL - это путь от текста к первому audio codebook token. Это может быть как и один токен, который генерит большая модель, так и sequence токенов, которые генерит какой-то depth transformer, а может быть вообще multi-token generation от главной модели. Так или иначе на выходе только дискретный токен / латентный вектор.
На эту метрику влияют кроме всех прочих приколюх модели и параметры интеренса. Например, сколько буковок вообще нужно ждать, чтобы начать генерить. Или сколько буковок передавать как lookahead, чтобы аудиотокены получались лучше.
TPP - это путь только вокодера. Получили аудио токены - получили первый audio patch. У этого пути может быть отдельный cuda stream. Здесь также главную роль играют "accumulation" параметры. Например, сколько токенов нужно подсобрать чтобы сделать один pass вокодера?
——
Но также именно здесь есть важный дизайнхук, который всегда люди делают по-разному. Как декодировать последовательность, чтобы не было странных звуков между патчами😒 Многие это делают декодируя всю предыдущую последовательность. Кто-то собирает n прошлых секунд и отправляет именно их. Кто-то использует kv cache, что часто идентично. Каждый из них влияет на latency. Именно это design choices отражаются на DEC метрики, так как один пасс через vocoder может потом линейно вырости и будет казаться, что вокодер вместо 50ms почему-то стал тратить 200ms, а все потому что мы передали ему весь предыдущий контекст.
——
Все метрики выше влияют на FPL, как раз то, что большинство юзеров называют latency. Или вот эта задержка между тем как вы что-то сказали и бот ответил вам в ответ (здесь мы считали только TTS часть). Большинство компаний стремятся к тому, чтобы это значение latency было меньшее 100ms 😌 В борьбе за этим что только можно и нельзя использовать. При этом важно и смотреть на общий RTF, так как многие (в том числе и я) могут занижать FPL с помощью более маленького контекста, lookeahead'a и тд, а потом уже кормить модель нормальным контекстом🙂. Ну и конечно мы оставляем за большими скобками хитрые вещи по типу filler words или заготовленные фразы, чтобы не казалось что модель долго думает.
А с каким latency говорите вы? Я иногда с 300ms, а иногда с -100ms (ну знаете когда собеседник уже слишком тянет и ты все уже понял)Читать полностью…
Original post by eleven labs hr
Мне кажется, я так ищу друзей если честно))
Genuine question: везде как один из use case voice ai вижу телефонию и холодные звонки. Неужто кто-то действительно отвечает на звонки в наше время?
Мне вообще никто никогда не звонит, даже какие-то приемы врачей-услуг проходят в сообщениях. Это мой bubble такой или это действительно старый костыль? Если нет, какие у вас истории таких звонков?
MamTra: A Hybrid Mamba-Transformer Backbone for Speech Synthesis
https://arxiv.org/abs/2603.12342
https://mamtratts.github.io/ - audio samples
Проблема LM based TTS в очень многих вещах начиная от дискретных codec, заканчивая большим компьютом. И хотя многие стараются улучшить инференс таких моделей более инженерными модными молодежными штуками из мира LLM (GQA, speculative decoding, sparse attention), latency и rtf сделать меньше от этого не особо получается.
Один из вариантов, который предлагает общество, это отказаться от причины проблемы и попробовать другие архитектуры. Например, mamba - это как rnn только круче.
Тут про mamba с картинками
Авторы этой статьи говорят, что тренировать mamba based сложно и долго, поэтому они попробовали перенести часть слоев от attention в mamba. Для этого они использовали linear mapping. Единственный момент, который не получается также легко перенести это softmax. Чтобы хоть как-то компенсировать потерю они добавили два лосса на KL divergence с logits и на embedding difference. 🥸На мой взгляд это не является полной компенсацией потерянного softmax и я бы рассмотрела какие-то модификации самого модуля у mamba.
Авторы показывают, что в довольно консервативной замене 1:3 quality метрики не особо падают, в то время как flops конечно-же улучшаются (на каждый attention приходится 3 mamba). Однако интересно, что все замены ведут к ухудшению wer. 🥸Что лично для меня red flag. Да, мы получаем меньше memory footprint и лучше flops. Но так и остается непонятным, как можно это переложить на улучшение latency если mamba и attention часто чередуются.
Вы верите в такие гибридные методы или лучше сразу тренировать один тип модели и не морочить себе потом голову мапингами?
Стадия - прыгать от одного интересного занятия к другому и пока делаешь его думать ох вот бы щас другое поделать
Читать полностью…
Я таскаю эти задачки из недели в неделю уже который месяц...
Читать полностью…
Первый хакатон в Европе для меня 🇫🇷
Я скучала по атмосфере хакатанов. Сама мысль наполняла меня эмоциями. И вот я почувствовала в себе (наконец!) жилу амбиций и блеска в глазах от идей.
За последние полгода-год они сильно изменились. И быть честной, это уже перестало быть соревнованием твоих реальных технический скиллов.
Главное - идея. Сейчас чувствую потребность в том, чтобы научиться придумывать что-то просто «для прикола».
Второе главное - уметь вайбкодить. А это действительно навык, даже если эго не дает это принять.
——-
В какой следующий город поедем? Главное условие - наличие вкусных булочек 🥐
Как меня злит tqdm и его обещания о скорости. Лучше уже ничего не говорить, чем так переобуваться в воздухе
Читать полностью…
Тут навайбкодили museum hopping. Можно выбирать музеи, тип искусства и смотреть картинки. Мне понравилось.
https://galleria.work/
Относительно недавно наткнулась на пост с заголовком, от которого уже автоматически закатываются глаза - how to build your second brain 🎹
https://x.com/NickSpisak_/status/2040448463540830705
Конечно, Карпатый стал каким-то гарантом качества и доверия, но скепсис все таки у меня есть.
Что я сделала?
• поставила Claude code на всю папку с какими-то статьями, названия и статьи в полном хаосе.
• оставила такую же схему
• raw contains unprocessed source material.
• Never modify these files.wiki/ contains the organized wiki. AI maintains this entirely.
• outputs/ contains generated reports, answers, and analyses.
Почему-то фраза похвалы от Claude ощущается как неплохо (Nicht schlecht) от немца, а любая фраза похвалы от chatgpt как oh that's so great от американца.
Читать полностью…
• никто абсолютно никто
• каждый релиз любой TTS модели: beats ElevenLabs
Илья и Илья сделали хороший корпус русской речи на 20 часов. Диалоги актеров, правильно выставленные микрофоны, сделаны лейблы эмоций. Ребята большие молодцы! К сожалению, в опенсорсе мало датасетов такого качества, а часто для тренировки лучше меньше, но качественно. Отмечу, что диалоги все таки были scripted, имейте это в виду под свои задачи.
Датасет
Посты Ильи и Ильи (1, 2)
Впервые за весь мой путь в образовании я взяла отпуск, чтобы подготовиться к экзаменам. Причина — я слишком долго ставила работу выше учёбы (как и всегда), поэтому чувствовала, что не особо готова к последним экзаменам.
В этом семестре я сдаю Parsing, Machine Translation, Reinforcement Learning и делаю проект по TTS. Первые два кажутся мне ужасно скучными и неинтересными, но это плата за мою ошибку с бюрократией.
Мысль о том, как я буду рада больше не сдавать экзамены, греет мне душу, а старый девиз «просто надо» как-то помогает продолжать. Ну и мысль наконец-то вернуться к только коду звучит как награда.
Бонус - TTS latency benchmark на разных GPU
https://gigagpu.com/tts-latency-benchmarks/
Мне кажется, или по гитхабу ходят какие-то агенты? Я хз как объяснить, что кто-то попытался заюзать нашего бота 20го года
Читать полностью…
Путь девушки с Phd в openai. Интересные заметки
https://alisawuffles.github.io/blog/job-search/#appendix-learning-resources
Ее же заметки с LLM, краткие и емкие, но их не получится использовать как книгу (inference, post-training, accounting). Отлично использовать как прогон для вопросов.
Ее же заметки по математике
Что мне откликнулось в ее рассказе:
Studying carried enormous side benefits for me. Having a wider breadth of knowledge directly improved my confidence as a researcher. I became more secure in conversations because I was less worried about gaps in my knowledge being exposed, and no longer felt compelled to hide them when they came up.
I also tailored my research pitch depending on the role; interviewers are tired, so hitting the right keywords makes it easier for them to believe that your profile is relevant.
Practice interviews are helpful, but also recognize that your stamina is finite — be careful not to burn out by the time you get to places you really care about!Читать полностью…
Zyphra Zonos2
Blog: http://zyphra.com/our-work/zonos2 тут и аудио примеры
Weights: http://huggingface.co/Zyphra/ZONOS2
Inference code: http://github.com/Zyphra/ZONOS2
Сразу ответ на самый популярный вопрос - русский язык есть.
Про изменения в архитектуре:
• no phonemes, raw utf-8
• две модели, stable and expressive. Появились они из наблюдения о wer и voice cloning: we observe that most TTS models score substantially lower than the ‘natural’ error rate of the evaluating ASR model vs the actual ground truth text. Авторы считают, что идеальный voice cloning не может быть без потери wer если audio prompt без с шумом и не самым четким произношением. Наверное, я могу отчасти согласиться. Да, это крутая идея разделить этот баланс между идеальным voice clone и наоборот очищенным промтом и идеальным wer. Однако здесь мне кажется не задаются вопросом о том, как считается wer. Те же галлюцинации whisper это не проблема идеального voice clone.
• 200,000 hours to over six million hours - вы спросите неужели это все собранные на плантациях кропотливо данные? Конечно, нет - это web-scale audio. С ними приходят и галлюцинации, авторы это решают three stage training, где на каждом из этапов делают wer фильтр строже и строже.
• MoE взамен CFG, Introducing MoE and removing dependence on Classifier Free Guidance (CFG) allows us to grow model size from 1.6B to 8B 😐
Веду notion с 2021 и я хз когда я это писала и откуда я это слышала, но сейчас третий пункт hits hard
Читать полностью…
На хакатоне в Париже это была одна из идей, которую я питчила команде. Но команда выбрала виртуальных агентов.
Пс, я ушла делать не агентов с другой частью команды
Fast Byte Latent Transformer
https://arxiv.org/abs/2605.08044
Модель: bytes of sequence N → small encoder transforms them in patches of length M → patches of sequence M → main decoder → local decoder
Скоуп проблемы: Сама идея byte level обработки текста помогает сгруппировать и тратить соответственно меньше компьюта на менее surprising токены, а в то время как сложные последовательности разбивать на более градуальные блоки и тратить в теории меньше компьюта. Однако такой пайлплайн из трех блоков приносит и свои проблемы: overhead от компьюта у local encoder и decoder = нам все еще нужно предсказать все bytes в local encoder и в local decoder. От этого мы не ушли.
Решение: Авторы предлагают BLT-D: вместо того, чтобы предсказывать авторегрессионно каждый байт в local decoder они предлагают их предсказывать с диффузии. Это отлично подходит под сетап с патчами. Заэнкодили один патч, сделали decode одного патча сразу через diffusion. Если раньше для этого было нужно N степов, то теперь только b для полной unmasking strategy.
Штучки-крючки, которые make a difference, чтобы не потерять качество с диффузией:
• self-speculation на small decoder в autoregressive режиме
• self-speculation но на small decoder в diffusion режиме
Мне понравилось сочетание двух лоссов одновременно в тренировке, было бы интересно рассмотреть это в codebook based tts. Но там либо слишком большая зависимость между кодбуками, либо не такая большая и хз как это тогда в flatten sequence делать.
Пока я коплю прочитанные и неописанные статьи - подскажите какие ресурсы помогли вам в том, чтобы разобраться в RL
Эта сфера является моим слабым местом уже неприлично давно. И я это пытаюсь исправить.
Многие лекции в моем бакалавриате мне не нравились, сейчас у меня есть пара лекций, которые мне нужно закрыть, но мне они тоже не нравятся (что я делаю со своей жизнью?). Благо теперь на это можно тратить меньше времени.
Сделали быстрый сетап с Claude по лекциям аудио-транскрип-просто текст разделенный на абзацы, чтобы я могла это прочитать. Я не делаю summary, так как на мой вкус и цвет с ними всегда уходит куча важной информации.
Дз делаю в overleaf, прошу переформатировать файл и если что спрашиваю по материалу. В конце семестра планирую сделать также и подготовку к экзамену.
А что делаете вы?
Необходимо мыслить нестандартно, но не настолько, чтобы это превращалось в полный бред — хотя и бред иногда может быть революционным.
Читать полностью…
LLaDA-TTS: Unifying
Speech Synthesis and Zero-Shot Editing
via Masked Diffusion Modeling
https://arxiv.org/abs/2603.26364
Используем Autoregressive (AR) modelling для speech editing через masked lm (MSM)
Две проблемы AR:
1. Latency for generation: для 10s с 25 tokens/s нам необходимо ~250 sequential forward passes (page 1). MLM может сделать все в параллельном режиме.
2. AR не обучен напрямую делать исправления 🙅♂️- чтобы поменять или убрать одно слово в сгенерированном предложении нужно что? Перегенерить все сначала?
Авторы показывают, что мы можем взять обученную AR TTS (CosyVoice, в базе qwen0.5), поменять в ней casual attention на full-bidirectional, а также поставить weighted CE. Такой лосс позволит через t параметр контролировать взнос сильно и мало маскированных семлов:
• замаскировали много (t ближе к 1) - скорее всего будет выше росс - делаем меньше влияние
Что важно?
AR природа совпадает с тем, как произносится речь, мы говорим, опираясь только на произнесенные слова. Однако предложенный MDM позволяет отредактировать уже готовый пример.
На инференсе это:
1. predict logits for all masked positions
2. sample candidate tokens with temperature-scaled nucleus sampling
3. compute confidence scores
4. unmask top-K
2. mask the affected regions with context margins
3. regenerate via iterative unmasking with surrounding tokens frozen
Startup idea: filter out all the bullshit on linkedin.
Microsoft just open-sourced a voice AI that was too dangerous to keep alive.
Еще одна speech-enhancement модель теперь уже от Nvidia: RE-USE.
Модель: https://huggingface.co/nvidia/RE-USE
Демо: https://huggingface.co/spaces/nvidia/RE-USE
1. Language-agnostic
2. Multiple sample rates
3. Research only
4. Все равно добавляет мне акцент. (Исходник смотрели в посте тут)