Внезапно, на Rust Nation интереснейшее выступление одного из создателей Moshi Laurent Mazare. How Rust helped us building and deploying Moshi, a state-of-the-art speech model

Про Moshi я неоднократно рассказывал здесь в канале и на лекции - это audio foundation model с поддержкой полнодуплексного режима, способная вести диалог с низкой задержкой. С открытым кодом.

Сам Laurent - энтузиаст Rust, участник разработки torch-rs и Candle. Очевидно, в работу над Moshi тоже привнес немного ржавчины.

Как я понял, сейчас inference осуществляется на Candle - это DL framework от huggingface написанный нативно на Rust. Я когда-то пробовал его в своих бенчмарках через экспорт моделей в onnx - это работало хуже, чем onnxruntime или openvino. Но это не удивительно, учитывая что onnx там реализован как динамический граф.

В Moshi, как я понял, подход другой - есть полноценная реализация самой модели на Candle, после тренировки веса экспортируются, средствами Candle квантизуются в Int8. Аудио кодек крутится на CPU, иерархичный трансформер - на GPU.

Все это работает с. end-to-end задержкой в 200мс, что очень круто.

Тренировать модель они продолжают в торче(к сожалению, не сказал почему - по идее, это и в Candle должно быть возможно). Но всякие даталоадеры и прочие утилиты они тоже на Rust спортировали.

В конце еще показали демку аудио переводчика своего, работающего на айфоне без обращения к серверу. Правда, без rust. Но андроид версия - на расте планируется.

#rust #moshi #inference #разработка #audio #asr #tts #llm