Imagine talking to a full-duplex speech assistant for ten minutes: it listens and speaks at the same time, and the first five minutes flow naturally. Then it starts repeating its own words, then it goes silent, then it emits a stream of syllables nobody can make sense of. That is not one model’s bug. It is the shared fate of an entire class of models in long conversations.
A team from KAIST’s Integrated Vision and Language Lab and Kyung Hee University released the Full-Duplex Long-Horizon Benchmark (FD-LHB) on arXiv to force this problem into the open (arXiv:2610.32349, HuggingFace paper page). The benchmark has two complementary tracks. FD-LHB-CANDOR takes the CANDOR corpus of long, natural human conversations, removes the first three turns to exclude greetings and initial silence, ranks what remains by duration, and keeps the longest 40, replaying the same fixed audio to every model for up to 60 minutes. FD-LHB-LLM is interactive: Gemini-2.5-Flash plays the speaking partner, a local facebook/mms-tts-eng VITS model turns its text into 16 kHz speech, and every dialogue model runs 40 sessions of up to 20 minutes across ten everyday topics such as hobbies, travel, family, and work. The replay track guarantees controlled comparison; the interactive track guarantees realism. Each compensates for the other’s weakness.
Five models, two ways to die
The five models evaluated are Moshi, PersonaPlex, Raon-SpeechChat, BayLing-Duplex, and Lychee-FD. The first two use sliding-window caches: a 3,000-frame window at 12.5 Hz fills after roughly four minutes. The other three grow their context until it is full, after about 5, 17.5, and 10.9 minutes respectively.
By the paper’s own numbers, none of them held a conversation together for tens of minutes. On FD-LHB-CANDOR, Moshi and PersonaPlex showed repetition, prolonged silence, and gibberish in 65%/100%/100% and 90%/85%/100% of runs over 60 minutes. BayLing-Duplex hit 55%, 100%, and 90% within 17.5 minutes; Lychee-FD showed repetition and gibberish in 37.5% and 30% of runs within 10.9 minutes; Raon-SpeechChat exhausted its context after about five minutes. On FD-LHB-LLM, where the partner actually responds, the baselines most often failed through gibberish, hitting 97.5%–100% of sessions, and prolonged silence, hitting 70%–87.5%.
One detail matters here: reaching context capacity is counted as the end of a run, not as a collapse event. The sliding-window models therefore fall into the category of “memory is never the bottleneck, and the conversation still falls apart.”
Cause one: the sliding window evicts the first KV entry
The diagnosis is counter-intuitive. During training, samples are split into chunks, and each chunk starts from an empty cache, so every chunk begins with an initialization anchor: the first KV entry, computed without any earlier cached state. At inference the cache is never reset. Once it is full, the oldest entries are evicted, the anchor goes with them, and the model enters a state it never saw in training.
The evidence chain is tight. Varying the attention-window length W, silence onset grows at (1.63±0.49)W and gibberish onset at (2.70±0.20)W. With silence-only input, gibberish still appears and still grows at (2.54±0.19)W, which ties the failure to cache turnover rather than to conversational content. The sharper experiment keeps exactly one early entry, varying only which one: the 1st, 2nd, 3rd, 4th, 5th, 9th, or 17th entry, or the entry at L/4, L/2, or 3L/4. Only the first entry prevents gibberish in all runs; every other choice fails in at least one run. Keeping the first P consecutive entries tells the same story: with P=0 every run reaches gibberish, with any P≥1 no run does, and the curves overlap exactly.
Cause two: the model rehearses its own output
Repetition runs on a separate mechanism. The most repeated words during repetition periods are short, frequent words such as of, then, and you, plus backchannels like yeah and okay. For each run, the word that dominates during repetition starts rising before the onset and keeps climbing afterwards. The authors also inserted purple, a word absent from the prior context, and counted how often the model repeated it over the next 20 seconds: recurrence increased with more insertions, most strongly in PersonaPlex.
Two fixes that need no retraining
Guided by that diagnosis, the paper proposes two inference-time interventions. Initialization-Anchor Pinning keeps the anchor in the cache and updates only that single entry’s position index. Duplex Repetition Penalty penalizes any word that appeared in the model’s last 512 lexical tokens, excluding the PAD and EPAD tokens used for listening and turn-taking, and when the model has been silent for a long time while the user is quiet, it gradually lowers the PAD logit so the model can resume speaking.
The results: on the replay track, Moshi’s three collapse rates fall to 0%, 7.5%, and 0%, and PersonaPlex’s to 2.5%, 47.5%, and 0%. On the interactive track, every failure mode occurs in no more than 10% of sessions. The cost is the measured real-time factor: the baseline sits at 0.5957, the patched version at 0.7525, while a StreamingLLM-style baseline reaches 1.0323 and can no longer keep up with real-time conversation. The ablation shows the two components are complementary. IAP alone keeps every Moshi run free of gibberish while DRP alone does not help; silence-free runs go from 0% to 67.5% with IAP and to 92.5% once DRP is added.
Where the claim stops
The paper is explicit about its limits. The diagnosis covers only the two sliding-window models; growing-context models collapse too, but their cause is unidentified and IAP does not apply to them because they never evict entries. Each model runs only 40 sessions on FD-LHB-LLM, and gibberish is judged by a Gemini-2.5-Flash judge whose blind validation with eight raters showed no false positives but some misses, so the reported gibberish rates may underestimate the truth. The fixes do not eliminate everything either: PersonaPlex still produces a two-minute silence in 19 of 40 replays. And a blinded listening study with fifteen participants shows that early in a conversation, listeners actually prefer the version without DRP (0.31–0.43), with the preference flipping only later on.
So what does it mean for you? If your product has a full-duplex voice agent, the highest-value next step is not swapping in a bigger model. It is replaying twenty minutes of real recorded audio and watching for the minute when the model starts repeating, then going silent, then drifting into gibberish. This collapse is measurable before you ship, and most of it can be fixed without retraining.