Thinking Machines предложили новый тип моделей, которые могут работать в потоке
Они назвали это interaction models. Идея в том, что такая модель изначально обучается для живого взаимодействия с человеком, в отличие от линейных интерфейсов в формате «пользователь написал -> модель ответила», к которым мы привыкли.
Например, она не ждет конца фразы, чтобы начать генерировать ответ; может перебить, если видит ошибку; способна говорить одновременно с пользователем (незаменимо для live-перевода).
Технически, что самое интересное, это делается не через какие-то внешние адаптеры, а вшивается прямо в процесс трейна.
Сама живость диалога достигается за счет разделения входного потока на маленькие чанки примерно по 200 мс, которые поступают в модель в формате стриминга. То есть пока пользователь еще говорит, модель уже видит новые токены и может начать что-то генерировать. За счет этого и становится возможным перебивание, живой перевод и прочее.
Звучит прямо интересно, с такой моделью хотелось бы поболтать. Но с инженерной точки зрения есть проблемы.
Например, большую модель в такой процесс встроить почти невозможно, будет слишком медленно. Так что авторы предлагают делить систему на две части: быструю interaction model, которая поддерживает живой диалог, и background model, которая берет на себя ризонинг, поиск, инструменты и тд. Когда фоновой модели есть что вернуть, interaction model встраивает это в разговор. Идея логичная, но с большими сложностями в реализации и масштабировании.
Плюс, контекст. Для системы в текущем виде длинные сессии вообще неподъемны, авторы это признают. В общем, замысел крайне занятный, но пока что – с большими дырами.
http://thinkingmachines.ai/blog/interaction-models/